about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.git-blame-ignore-revs2
-rw-r--r--lib/systems/default.nix2
-rw-r--r--maintainers/maintainer-list.nix41
-rw-r--r--maintainers/scripts/luarocks-packages.csv36
-rw-r--r--maintainers/team-list.nix10
-rw-r--r--nixos/doc/manual/release-notes/rl-2405.section.md11
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/programs/_1password-gui.nix16
-rw-r--r--nixos/modules/programs/_1password.nix10
-rw-r--r--nixos/modules/programs/adb.nix10
-rw-r--r--nixos/modules/programs/alvr.nix16
-rw-r--r--nixos/modules/programs/appgate-sdp.nix6
-rw-r--r--nixos/modules/programs/atop.nix54
-rw-r--r--nixos/modules/programs/ausweisapp.nix8
-rw-r--r--nixos/modules/programs/autojump.nix12
-rw-r--r--nixos/modules/programs/bandwhich.nix10
-rw-r--r--nixos/modules/programs/bash-my-aws.nix6
-rw-r--r--nixos/modules/programs/bash/bash-completion.nix6
-rw-r--r--nixos/modules/programs/bash/bash.nix48
-rw-r--r--nixos/modules/programs/bash/blesh.nix9
-rw-r--r--nixos/modules/programs/bash/ls-colors.nix6
-rw-r--r--nixos/modules/programs/bash/undistract-me.nix16
-rw-r--r--nixos/modules/programs/browserpass.nix6
-rw-r--r--nixos/modules/programs/calls.nix6
-rw-r--r--nixos/modules/programs/cdemu.nix24
-rw-r--r--nixos/modules/programs/cfs-zen-tweaks.nix8
-rw-r--r--nixos/modules/programs/chromium.nix44
-rw-r--r--nixos/modules/programs/cnping.nix6
-rw-r--r--nixos/modules/programs/command-not-found/command-not-found.nix12
-rw-r--r--nixos/modules/programs/criu.nix8
-rw-r--r--nixos/modules/programs/digitalbitbox/default.nix10
-rw-r--r--nixos/modules/programs/dmrconfig.nix12
-rw-r--r--nixos/modules/programs/droidcam.nix4
-rw-r--r--nixos/modules/programs/dublin-traceroute.nix10
-rw-r--r--nixos/modules/programs/ecryptfs.nix6
-rw-r--r--nixos/modules/programs/environment.nix10
-rw-r--r--nixos/modules/programs/extra-container.nix5
-rw-r--r--nixos/modules/programs/feedbackd.nix8
-rw-r--r--nixos/modules/programs/firefox.nix52
-rw-r--r--nixos/modules/programs/firejail.nix40
-rw-r--r--nixos/modules/programs/fish.nix78
-rw-r--r--nixos/modules/programs/flashrom.nix10
-rw-r--r--nixos/modules/programs/flexoptix-app.nix8
-rw-r--r--nixos/modules/programs/freetds.nix12
-rw-r--r--nixos/modules/programs/fuse.nix16
-rw-r--r--nixos/modules/programs/gamemode.nix20
-rw-r--r--nixos/modules/programs/gamescope.nix36
-rw-r--r--nixos/modules/programs/geary.nix8
-rw-r--r--nixos/modules/programs/git.nix34
-rw-r--r--nixos/modules/programs/gphoto2.nix10
-rw-r--r--nixos/modules/programs/haguichi.nix6
-rw-r--r--nixos/modules/programs/hamster.nix4
-rw-r--r--nixos/modules/programs/htop.nix24
-rw-r--r--nixos/modules/programs/i3lock.nix14
-rw-r--r--nixos/modules/programs/iftop.nix6
-rw-r--r--nixos/modules/programs/iotop.nix6
-rw-r--r--nixos/modules/programs/java.nix12
-rw-r--r--nixos/modules/programs/joycond-cemuhook.nix3
-rw-r--r--nixos/modules/programs/k3b.nix8
-rw-r--r--nixos/modules/programs/k40-whisperer.nix12
-rw-r--r--nixos/modules/programs/kbdlight.nix6
-rw-r--r--nixos/modules/programs/kclock.nix5
-rw-r--r--nixos/modules/programs/kdeconnect.nix7
-rw-r--r--nixos/modules/programs/less.nix64
-rw-r--r--nixos/modules/programs/liboping.nix8
-rw-r--r--nixos/modules/programs/light.nix20
-rw-r--r--nixos/modules/programs/mdevctl.nix5
-rw-r--r--nixos/modules/programs/mepo.nix17
-rw-r--r--nixos/modules/programs/mininet.nix6
-rw-r--r--nixos/modules/programs/msmtp.nix32
-rw-r--r--nixos/modules/programs/mtr.nix12
-rw-r--r--nixos/modules/programs/nbd.nix6
-rw-r--r--nixos/modules/programs/neovim.nix76
-rw-r--r--nixos/modules/programs/nethoscope.nix10
-rw-r--r--nixos/modules/programs/nncp.nix23
-rw-r--r--nixos/modules/programs/noisetorch.nix8
-rw-r--r--nixos/modules/programs/npm.nix8
-rw-r--r--nixos/modules/programs/oblogout.nix4
-rw-r--r--nixos/modules/programs/openvpn3.nix12
-rw-r--r--nixos/modules/programs/pantheon-tweaks.nix8
-rw-r--r--nixos/modules/programs/plotinus.nix8
-rw-r--r--nixos/modules/programs/proxychains.nix71
-rw-r--r--nixos/modules/programs/qt5ct.nix4
-rw-r--r--nixos/modules/programs/rust-motd.nix34
-rw-r--r--nixos/modules/programs/sedutil.nix6
-rw-r--r--nixos/modules/programs/shadow.nix53
-rw-r--r--nixos/modules/programs/sharing.nix5
-rw-r--r--nixos/modules/programs/singularity.nix35
-rw-r--r--nixos/modules/programs/slock.nix10
-rw-r--r--nixos/modules/programs/soundmodem.nix10
-rw-r--r--nixos/modules/programs/spacefm.nix16
-rw-r--r--nixos/modules/programs/ssh.nix136
-rw-r--r--nixos/modules/programs/steam.nix72
-rw-r--r--nixos/modules/programs/streamdeck-ui.nix18
-rw-r--r--nixos/modules/programs/sysdig.nix6
-rw-r--r--nixos/modules/programs/system-config-printer.nix6
-rw-r--r--nixos/modules/programs/systemtap.nix8
-rw-r--r--nixos/modules/programs/thefuck.nix14
-rw-r--r--nixos/modules/programs/thunar.nix14
-rw-r--r--nixos/modules/programs/traceroute.nix8
-rw-r--r--nixos/modules/programs/turbovnc.nix8
-rw-r--r--nixos/modules/programs/udevil.nix6
-rw-r--r--nixos/modules/programs/usbtop.nix6
-rw-r--r--nixos/modules/programs/vim.nix12
-rw-r--r--nixos/modules/programs/wavemon.nix8
-rw-r--r--nixos/modules/programs/wayland/hyprland.nix42
-rw-r--r--nixos/modules/programs/wayland/river.nix22
-rw-r--r--nixos/modules/programs/wayland/sway.nix50
-rw-r--r--nixos/modules/programs/wayland/waybar.nix10
-rw-r--r--nixos/modules/programs/wayland/wayland-session.nix12
-rw-r--r--nixos/modules/programs/weylus.nix16
-rw-r--r--nixos/modules/programs/wireshark.nix10
-rw-r--r--nixos/modules/programs/xastir.nix8
-rw-r--r--nixos/modules/programs/xfconf.nix8
-rw-r--r--nixos/modules/programs/xfs_quota.nix48
-rw-r--r--nixos/modules/programs/xonsh.nix14
-rw-r--r--nixos/modules/programs/xss-lock.nix29
-rw-r--r--nixos/modules/programs/xwayland.nix20
-rw-r--r--nixos/modules/programs/yabar.nix60
-rw-r--r--nixos/modules/programs/zmap.nix6
-rw-r--r--nixos/modules/programs/zsh/oh-my-zsh.nix52
-rw-r--r--nixos/modules/programs/zsh/zsh-autoenv.nix8
-rw-r--r--nixos/modules/programs/zsh/zsh-autosuggestions.nix32
-rw-r--r--nixos/modules/programs/zsh/zsh-syntax-highlighting.nix52
-rw-r--r--nixos/modules/programs/zsh/zsh.nix86
-rw-r--r--nixos/modules/security/systemd-confinement.nix36
-rw-r--r--nixos/modules/services/misc/private-gpt.nix121
-rw-r--r--nixos/modules/services/networking/radvd.nix13
-rw-r--r--nixos/modules/services/networking/smokeping.nix63
-rw-r--r--nixos/modules/services/networking/tayga.nix26
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix9
-rw-r--r--nixos/modules/services/x11/desktop-managers/mate.nix1
-rw-r--r--nixos/release-combined.nix4
-rw-r--r--nixos/release-small.nix4
-rw-r--r--nixos/tests/all-tests.nix3
-rw-r--r--nixos/tests/avahi.nix2
-rw-r--r--nixos/tests/bittorrent.nix2
-rw-r--r--nixos/tests/containers-bridge.nix2
-rw-r--r--nixos/tests/containers-imperative.nix2
-rw-r--r--nixos/tests/containers-ip.nix2
-rw-r--r--nixos/tests/containers-portforward.nix2
-rw-r--r--nixos/tests/elk.nix2
-rw-r--r--nixos/tests/firefox.nix2
-rw-r--r--nixos/tests/firewall.nix2
-rw-r--r--nixos/tests/initrd-network.nix2
-rw-r--r--nixos/tests/ipv6.nix2
-rw-r--r--nixos/tests/jenkins.nix2
-rw-r--r--nixos/tests/knot.nix4
-rw-r--r--nixos/tests/login.nix2
-rw-r--r--nixos/tests/misc.nix343
-rw-r--r--nixos/tests/mumble.nix2
-rw-r--r--nixos/tests/munin.nix2
-rw-r--r--nixos/tests/nat.nix2
-rw-r--r--nixos/tests/nfs/simple.nix2
-rw-r--r--nixos/tests/openssh.nix2
-rw-r--r--nixos/tests/printing.nix2
-rw-r--r--nixos/tests/private-gpt.nix27
-rw-r--r--nixos/tests/proxy.nix2
-rw-r--r--nixos/tests/quake3.nix2
-rw-r--r--nixos/tests/rabbitmq.nix2
-rw-r--r--nixos/tests/samba.nix2
-rw-r--r--nixos/tests/simple.nix2
-rw-r--r--nixos/tests/smokeping.nix14
-rw-r--r--nixos/tests/systemd-confinement.nix184
-rw-r--r--nixos/tests/systemd-confinement/checkperms.py187
-rw-r--r--nixos/tests/systemd-confinement/default.nix274
-rw-r--r--nixos/tests/tayga.nix19
-rw-r--r--nixos/tests/udisks2.nix3
-rw-r--r--pkgs/applications/audio/feishin/default.nix8
-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/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/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vim/macvim.nix3
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix12
-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/editors/vim/plugins/vim-plugin-names1
-rw-r--r--pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/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/misc/HentaiAtHome/default.nix4
-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/solaar/default.nix4
-rw-r--r--pkgs/applications/misc/taskwarrior-tui/default.nix6
-rw-r--r--pkgs/applications/misc/waypaper/default.nix4
-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/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/mailreaders/thunderbird/packages.nix49
-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/remote/teamviewer/default.nix3
-rw-r--r--pkgs/applications/networking/sync/lcsync/default.nix4
-rw-r--r--pkgs/applications/networking/warp/default.nix17
-rw-r--r--pkgs/applications/networking/weather/meteo/default.nix2
-rw-r--r--pkgs/applications/networking/xpipe/default.nix4
-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/biology/migrate/default.nix34
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/math/pynac/default.nix18
-rw-r--r--pkgs/applications/system/asusctl/Cargo.lock3492
-rw-r--r--pkgs/applications/system/asusctl/default.nix50
-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-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/mpv/scripts/evafast.nix3
-rw-r--r--pkgs/applications/video/mpv/scripts/modernx-zydezu.nix9
-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/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/by-name/ad/adrs/package.nix26
-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/bl/bluez/package.nix7
-rw-r--r--pkgs/by-name/ca/catppuccin-sddm/package.nix80
-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/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/fi/files-cli/package.nix6
-rw-r--r--pkgs/by-name/fo/forbidden/package.nix10
-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/ha/handheld-daemon/package.nix4
-rw-r--r--pkgs/by-name/ho/hoppscotch/package.nix26
-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/in/incus/generic.nix8
-rw-r--r--pkgs/by-name/in/intune-portal/package.nix4
-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/lo/local-ai/package.nix25
-rw-r--r--pkgs/by-name/lo/local-ai/tests.nix17
-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/ma/makejinja/package.nix52
-rw-r--r--pkgs/by-name/ma/matugen/package.nix34
-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.lock4672
-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/no/novops/package.nix6
-rw-r--r--pkgs/by-name/oh/oh-my-posh/package.nix6
-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/private-gpt/package.nix17
-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/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/ti/tinymist/Cargo.lock100
-rw-r--r--pkgs/by-name/ti/tinymist/package.nix6
-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/troubadix/package.nix4
-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/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/wt/wtfis/package.nix4
-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/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/gstreamer/icamerasrc/default.nix2
-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/ipu6-camera-hal/default.nix2
-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/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/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/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/python-modules/accelerate/default.nix3
-rw-r--r--pkgs/development/python-modules/adext/default.nix39
-rw-r--r--pkgs/development/python-modules/albumentations/default.nix21
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix5
-rw-r--r--pkgs/development/python-modules/apprise/default.nix49
-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/btrfs/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/courlan/default.nix56
-rw-r--r--pkgs/development/python-modules/dask-yarn/default.nix27
-rw-r--r--pkgs/development/python-modules/desktop-notifier/default.nix10
-rw-r--r--pkgs/development/python-modules/django/4.nix21
-rw-r--r--pkgs/development/python-modules/docplex/default.nix12
-rw-r--r--pkgs/development/python-modules/docutils/default.nix13
-rw-r--r--pkgs/development/python-modules/dropbox/default.nix12
-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/hatchling/default.nix4
-rw-r--r--pkgs/development/python-modules/hawkauthlib/default.nix37
-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/html-text/default.nix40
-rw-r--r--pkgs/development/python-modules/html2text/default.nix24
-rw-r--r--pkgs/development/python-modules/htseq/default.nix72
-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/igraph/default.nix4
-rw-r--r--pkgs/development/python-modules/ihm/default.nix4
-rw-r--r--pkgs/development/python-modules/jenkins-job-builder/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/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/mdtraj/default.nix30
-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/mindsdb-evaluator/default.nix4
-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/neo/default.nix4
-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/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.nix4
-rw-r--r--pkgs/development/python-modules/pixel-font-builder/default.nix18
-rw-r--r--pkgs/development/python-modules/playwright/default.nix2
-rw-r--r--pkgs/development/python-modules/private-gpt/default.nix119
-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/pybrowserid/default.nix34
-rw-r--r--pkgs/development/python-modules/pyfxa/default.nix8
-rw-r--r--pkgs/development/python-modules/pygraphviz/default.nix6
-rw-r--r--pkgs/development/python-modules/pyinsteon/default.nix48
-rw-r--r--pkgs/development/python-modules/pynmeagps/default.nix6
-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/python-roborock/default.nix4
-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/setuptools-gettext/default.nix8
-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/trafilatura/default.nix72
-rw-r--r--pkgs/development/python-modules/type-infer/default.nix4
-rw-r--r--pkgs/development/python-modules/ufo2ft/default.nix2
-rw-r--r--pkgs/development/python-modules/virtualenv-clone/default.nix2
-rw-r--r--pkgs/development/python-modules/weaviate-client/default.nix4
-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/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/electron/binary/info.json28
-rw-r--r--pkgs/development/tools/electron/info.json32
-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/luarocks/default.nix7
-rw-r--r--pkgs/development/tools/misc/luarocks/luarocks-nix.nix18
-rw-r--r--pkgs/development/tools/misc/terramate/default.nix9
-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/development/tools/yq-go/default.nix6
-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/vassal/default.nix4
-rw-r--r--pkgs/misc/drivers/epsonscan2/default.nix14
-rw-r--r--pkgs/os-specific/bsd/freebsd/default.nix2
-rw-r--r--pkgs/os-specific/bsd/freebsd/package-set.nix28
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/13.1/mtree-Makefile.patch13
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/bmake-no-compiler-rt.patch11
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/compat-fix-typedefs-locations.patch32
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/compat-install-dirs.patch40
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/install-bootstrap-Makefile.patch11
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/libc-msun-arch-subdir.patch11
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/libc-no-force--lcompiler-rt.patch10
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/libnetbsd-do-install.patch32
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/librpcsvc-include-subdir.patch11
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/mtree-Makefile.patch13
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/no-perms-BSD.include.dist.patch11
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/rtld-no-force--lcompiler-rt.patch10
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/sys-gnu-date.patch13
-rw-r--r--pkgs/os-specific/bsd/freebsd/patches/14.0/sys-no-explicit-intrinsics-dep.patch42
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix34
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/csu.nix1
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/ctfconvert.nix23
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/filterSource.nix23
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh11
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/include/package.nix26
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/install.nix20
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/libc/package.nix283
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/libdwarf.nix23
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/libelf.nix35
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix49
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/package.nix7
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix23
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix1
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix3
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/makeMinimal.nix4
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix113
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/mkcsmapper.nix22
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/mkesdb.nix19
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix37
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/package.nix4
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/rpcgen-glibc-hack.patch (renamed from pkgs/os-specific/bsd/freebsd/patches/13.1/rpcgen-glibc-hack.patch)0
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/sed.nix3
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/source.nix1
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix9
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix7
-rw-r--r--pkgs/os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh1
-rw-r--r--pkgs/os-specific/bsd/setup-hook.sh1
-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/ipu6-camera-bins/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix4
-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/ipu6-drivers/default.nix2
-rw-r--r--pkgs/os-specific/linux/ivsc-driver/default.nix2
-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/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/default.nix8
-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/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/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/x11/xorg/xwayland.nix12
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix4
-rw-r--r--pkgs/stdenv/darwin/default.nix41
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix38
-rw-r--r--pkgs/tools/admin/awscli/default.nix133
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix2
-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/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/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/security/aide/default.nix4
-rw-r--r--pkgs/tools/security/cdxgen/default.nix6
-rw-r--r--pkgs/tools/security/ghidra/build.nix4
-rw-r--r--pkgs/tools/security/pcsclite/default.nix3
-rw-r--r--pkgs/tools/security/yara/default.nix9
-rw-r--r--pkgs/tools/system/skeema/default.nix35
-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.nix4
-rw-r--r--pkgs/top-level/all-packages.nix40
-rw-r--r--pkgs/top-level/darwin-aliases.nix4
-rw-r--r--pkgs/top-level/linux-kernels.nix3
-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.nix18
-rw-r--r--pkgs/top-level/stage.nix4
652 files changed, 22088 insertions, 19283 deletions
diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index 74e4fa9ba4eb2..c0a31e826ac04 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -113,4 +113,4 @@ fb0e5be84331188a69b3edd31679ca6576edb75a
 3fe3b055adfc020e6a923c466b6bcd978a13069a
 
 # k3s: format with nixfmt-rfc-style
-0b7900d5e8e0bcac89e14a52d3e840f9201e9f47
+6cfcd3c75428ede517bc6b15a353d704837a2830
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 7e9aadeef72e5..fbd6c323bf425 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -81,6 +81,8 @@ let
         && final.parsed.kernel == platform.parsed.kernel;
       isCompatible = _: throw "2022-05-23: isCompatible has been removed in favor of canExecute, refer to the 22.11 changelog for details";
       # Derived meta-data
+      useLLVM = final.isFreeBSD;
+
       libc =
         /**/ if final.isDarwin              then "libSystem"
         else if final.isMinGW               then "msvcrt"
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index edb4f243cc102..0beb8638f37e1 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -5508,6 +5508,12 @@
       fingerprint = "9484 44FC E03B 05BA 5AB0  591E C37B 1C1D 44C7 86EE";
     }];
   };
+  dvn0 = {
+    email = "git@dvn.me";
+    github = "dvn0";
+    githubId = 10859387;
+    name = "Devan Carpenter";
+  };
   dwarfmaster = {
     email = "nixpkgs@dwarfmaster.net";
     github = "dwarfmaster";
@@ -5919,6 +5925,12 @@
     githubId = 1365692;
     name = "Will Fancher";
   };
+  elysasrc = {
+    name = "Elysa";
+    github = "ElysaSrc";
+    githubId = 101974839;
+    email = "elysasrc@proton.me";
+  };
   emantor = {
     email = "rouven+nixos@czerwinskis.de";
     github = "Emantor";
@@ -7028,15 +7040,6 @@
     githubId = 12715461;
     name = "Anders Bo Rasmussen";
   };
-  fwam = {
-    name = "Legion Orsetti";
-    email = "fwam@queereen.dev";
-    github = "fwam";
-    githubId = 113541944;
-    keys = [{
-      fingerprint = "3822 20B8 57ED 0602 3786  8A7A 18E1 AE22 D704 B4FC";
-    }];
-  };
   fwc = {
     github = "fwc";
     githubId = 29337229;
@@ -8592,6 +8595,12 @@
     githubId = 3948275;
     name = "Harikrishnan R";
   };
+  ilya-epifanov = {
+    email = "mail@ilya.network";
+    github = "ilya-epifanov";
+    githubId = 92526;
+    name = "Ilya";
+  };
   ilya-fedin = {
     email = "fedin-ilja2010@ya.ru";
     github = "ilya-fedin";
@@ -11934,6 +11943,12 @@
       fingerprint = "66D1 3048 2B5F 2069 81A6  6B83 6F98 7CCF 224D 20B9";
     }];
   };
+  luftmensch-luftmensch = {
+    email = "valentinobocchetti59@gmail.com";
+    name = "Valentino Bocchetti";
+    github = "luftmensch-luftmensch";
+    githubId = 65391343;
+  };
   lugarun = {
     email = "lfschmidt.me@gmail.com";
     github = "lugarun";
@@ -17796,6 +17811,14 @@
       fingerprint = "D260 79E3 C2BC 2E43 905B  D057 BB3E FA30 3760 A0DB";
     }];
   };
+  ryze = {
+    name = "Ryze";
+    github = "ryze312";
+    githubId = 50497128;
+    keys = [{
+      fingerprint = "73D5 BFF5 0AD7 F3C1 AF1A  AC24 9B29 6C5C EAEA AAC1";
+    }];
+  };
   rzetterberg = {
     email = "richard.zetterberg@gmail.com";
     github = "rzetterberg";
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index 75c4b687ecac2..08cc75b346eee 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -1,4 +1,4 @@
-name,src,ref,server,version,luaversion,maintainers
+name,rockspec,ref,server,version,luaversion,maintainers
 alt-getopt,,,,,,arobyn
 bit32,,,,5.3.0-1,5.1,lblasc
 argparse,,,,,,
@@ -13,7 +13,7 @@ cosmo,,,,,,
 coxpcall,,,,1.17.0-1,,
 cqueues,,,,,,vcunat
 cyan,,,,,,
-digestif,https://github.com/astoff/digestif.git,,,,5.3,
+digestif,,,,,5.3,
 dkjson,,,,,,
 fennel,,,,,,misterio77
 fidget.nvim,,,,,,mrcjkb
@@ -22,8 +22,8 @@ fluent,,,,,,alerque
 funnyfiles.nvim,,,,,,mrcjkb
 fzf-lua,,,,,,mrcjkb
 fzy,,,,,,mrcjkb
-gitsigns.nvim,https://github.com/lewis6991/gitsigns.nvim.git,,,,5.1,
-haskell-tools.nvim,,,,,,
+gitsigns.nvim,https://raw.githubusercontent.com/lewis6991/gitsigns.nvim/main/gitsigns.nvim-scm-1.rockspec,,,,5.1,
+haskell-tools.nvim,,,,,,mrcjkb
 http,,,,0.3-0,,vcunat
 image.nvim,,,,,,teto
 inspect,,,,,,
@@ -31,7 +31,7 @@ jsregexp,,,,,,
 ldbus,,,http://luarocks.org/dev,,,
 ldoc,,,,,,
 lgi,,,,,,
-linenoise,https://github.com/hoelzro/lua-linenoise.git,,,,,
+linenoise,https://raw.githubusercontent.com/hoelzro/lua-linenoise/master/linenoise-0.9-1.rockspec,,,,,
 ljsyscall,,,,,5.1,lblasc
 lmathx,,,,,5.3,alexshpilkin
 lmpfrlib,,,,,5.3,alexshpilkin
@@ -54,13 +54,13 @@ lua-resty-jwt,,,,,,
 lua-resty-openidc,,,,,,
 lua-resty-openssl,,,,,,
 lua-resty-session,,,,,,
-lua-rtoml,https://github.com/lblasc/lua-rtoml,,,,,lblasc
-lua-subprocess,https://github.com/0x0ade/lua-subprocess,,,,5.1,scoder12
+lua-rtoml,https://raw.githubusercontent.com/lblasc/lua-rtoml/main/lua-rtoml-0.2-0.rockspec,,,,,lblasc
+lua-subprocess,https://raw.githubusercontent.com/0x0ade/lua-subprocess/master/subprocess-scm-1.rockspec,,,,5.1,scoder12
 lua-term,,,,,,
 lua-toml,,,,,,
 lua-zlib,,,,,,koral
 lua_cliargs,,,,,,
-luabitop,https://github.com/teto/luabitop.git,,,,,
+luabitop,https://raw.githubusercontent.com/teto/luabitop/master/luabitop-1.0.2-3.rockspec,,,,,
 luacheck,,,,,,
 luacov,,,,,,
 luadbi,,,,,,
@@ -94,7 +94,7 @@ lua-yajl,,,,,,pstn
 lua-iconv,,,,7.0.0,,
 luuid,,,,20120509-2,,
 luv,,,,1.44.2-1,,
-lush.nvim,https://github.com/rktjmp/lush.nvim,,,,,teto
+lush.nvim,,,https://luarocks.org/dev,,,teto
 lyaml,,,,,,lblasc
 magick,,,,,5.1,donovanglover
 markdown,,,,,,
@@ -102,27 +102,27 @@ mediator_lua,,,,,,
 middleclass,,,,,,
 mimetypes,,,,,,
 mpack,,,,,,
-moonscript,https://github.com/leafo/moonscript.git,dev-1,,,,arobyn
+moonscript,https://raw.githubusercontent.com/leafo/moonscript/master/moonscript-dev-1.rockspec,,,,,arobyn
 neotest,,,,,,mrcjkb
 nlua,,,,,,teto
 nui.nvim,,,,,,mrcjkb
-nvim-cmp,https://github.com/hrsh7th/nvim-cmp,,,,,
+nvim-cmp,https://raw.githubusercontent.com/hrsh7th/nvim-cmp/main/nvim-cmp-scm-1.rockspec,,,,,
 nvim-nio,,,,,,mrcjkb
 pathlib.nvim,,,,,,
-penlight,https://github.com/lunarmodules/Penlight.git,,,,,alerque
-plenary.nvim,https://github.com/nvim-lua/plenary.nvim.git,,,,5.1,
-rapidjson,https://github.com/xpol/lua-rapidjson.git,,,,,
-rocks.nvim,,,,,5.1,teto mrcjkb
+penlight,,,,,,alerque
+plenary.nvim,https://raw.githubusercontent.com/nvim-lua/plenary.nvim/master/plenary.nvim-scm-1.rockspec,,,,5.1,
+rapidjson,,,,,,
 rest.nvim,,,,,5.1,teto
 rocks.nvim,,,,,,mrcjkb
 rocks-git.nvim,,,,,,mrcjkb
 rocks-config.nvim,,,,,,mrcjkb
 rocks-dev.nvim,,,,,,mrcjkb
+rtp.nvim,,,,,,mrcjkb
 rustaceanvim,,,,,,mrcjkb
-say,https://github.com/Olivine-Labs/say.git,,,,,
+say,,,,,,
 serpent,,,,,,lockejan
 sqlite,,,,,,
-std._debug,https://github.com/lua-stdlib/_debug.git,,,,,
+std._debug,,,,,,
 std.normalize,,,,,,
 stdlib,,,,41.2.2,,vyp
 teal-language-server,,,http://luarocks.org/dev,,,
@@ -133,6 +133,6 @@ tl,,,,,,mephistophiles
 toml,,,,,,mrcjkb
 toml-edit,,,,,5.1,mrcjkb
 tree-sitter-norg,,,,,5.1,mrcjkb
-vstruct,https://github.com/ToxicFrog/vstruct.git,,,,,
+vstruct,,,,,,
 vusted,,,,,,figsoda
 xml2lua,,,,,,teto
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 2a50f6f98d095..8b609bce4f269 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -723,6 +723,16 @@ with lib.maintainers; {
     enableFeatureFreezePing = true;
   };
 
+  lix = {
+    members = [
+      raitobezarius
+      qyriad
+    ];
+    scope = "Maintain the Lix package manager inside of Nixpkgs.";
+    shortName = "Lix ecosystem";
+    enableFeatureFreezePing = true;
+  };
+
   module-system = {
     members = [
       infinisil
diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md
index 351a49f18119c..e9d13cc3c2658 100644
--- a/nixos/doc/manual/release-notes/rl-2405.section.md
+++ b/nixos/doc/manual/release-notes/rl-2405.section.md
@@ -209,6 +209,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - [isolate](https://github.com/ioi/isolate), a sandbox for securely executing untrusted programs. Available as [security.isolate](#opt-security.isolate.enable).
 
+- [private-gpt](https://github.com/zylon-ai/private-gpt), a service to interact with your documents using the power of LLMs, 100% privately, no data leaks. Available as [services.private-gpt](#opt-services.private-gpt.enable).
+
 ## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
@@ -254,6 +256,9 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   [v0.31](https://github.com/derailed/k9s/releases/tag/v0.31.0) for details. It is recommended
   to back up your current configuration and let k9s recreate the new base configuration.
 
+- the .csv format used to define lua packages to be updated via
+  `luarocks-packages-updater` has changed: `src` (URL towards a git repository) has now become `rockspec` (URL towards a rockspec) to remove ambiguity regarding which rockspec to use and simplify implementation.
+
 - NixOS AMIs are now uploaded regularly to a new AWS Account.
   Instructions on how to use them can be found on <https://nixos.github.io/amis>.
   We are working on integration the data into the NixOS homepage.
@@ -397,6 +402,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `halloy` package was updated past 2024.5 which introduced a breaking change by switching the config format from YAML to TOML. See https://github.com/squidowl/halloy/releases/tag/2024.5 for details.
 
+- If `services.smokeping.webService` was enabled, smokeping is now served via nginx instead of thttpd. This change brings the following consequences:
+  - The default port for smokeping is now the nginx default port 80 instead of 8081.
+  - The option `services.smokeping.port` has been removed. To customize the port, use `services.nginx.virtualHosts.smokeping.listen.*.port`.
+
 - The `wpaperd` package has a breaking change moving to 1.0.1, previous version 0.3.0 had 2 different configuration files, one for wpaperd and one for the wallpapers. Remove the former and move the latter (`wallpaper.toml`) to `config.toml`.
 
 - Ada packages (libraries and tools) have been moved into the `gnatPackages` scope. `gnatPackages` uses the default GNAT compiler, `gnat12Packages` and `gnat13Packages` use the respective matching compiler version.
@@ -708,6 +717,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 - `documentation.man.mandoc` now by default uses `MANPATH` to set the directories where mandoc will search for manual pages.
   This enables mandoc to find manual pages in Nix profiles. To set the manual search paths via the `mandoc.conf` configuration file like before, use `documentation.man.mandoc.settings.manpath` instead.
 
+- The `systemd-confinement` module extension is now compatible with `DynamicUser=true` and thus `ProtectSystem=strict` too.
+
 - `grafana-loki` package was updated to 3.0.0 which includes [breaking changes](https://github.com/grafana/loki/releases/tag/v3.0.0).
 
 - `programs.fish.package` now allows you to override the package used in the `fish` module.
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 76ccf5a341094..3cbb4617517aa 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -776,6 +776,7 @@
   ./services/misc/polaris.nix
   ./services/misc/portunus.nix
   ./services/misc/preload.nix
+  ./services/misc/private-gpt.nix
   ./services/misc/prowlarr.nix
   ./services/misc/pufferpanel.nix
   ./services/misc/pykms.nix
diff --git a/nixos/modules/programs/_1password-gui.nix b/nixos/modules/programs/_1password-gui.nix
index b21e8783f660e..04f36cf0237ab 100644
--- a/nixos/modules/programs/_1password-gui.nix
+++ b/nixos/modules/programs/_1password-gui.nix
@@ -1,7 +1,5 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
 
   cfg = config.programs._1password-gui;
@@ -9,25 +7,25 @@ let
 in
 {
   imports = [
-    (mkRemovedOptionModule [ "programs" "_1password-gui" "gid" ] ''
+    (lib.mkRemovedOptionModule [ "programs" "_1password-gui" "gid" ] ''
       A preallocated GID will be used instead.
     '')
   ];
 
   options = {
     programs._1password-gui = {
-      enable = mkEnableOption "the 1Password GUI application";
+      enable = lib.mkEnableOption "the 1Password GUI application";
 
-      polkitPolicyOwners = mkOption {
-        type = types.listOf types.str;
+      polkitPolicyOwners = lib.mkOption {
+        type = lib.types.listOf lib.types.str;
         default = [ ];
-        example = literalExpression ''["user1" "user2" "user3"]'';
+        example = lib.literalExpression ''["user1" "user2" "user3"]'';
         description = ''
           A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms.
         '';
       };
 
-      package = mkPackageOption pkgs "1Password GUI" {
+      package = lib.mkPackageOption pkgs "1Password GUI" {
         default = [ "_1password-gui" ];
       };
     };
@@ -39,7 +37,7 @@ in
         polkitPolicyOwners = cfg.polkitPolicyOwners;
       };
     in
-    mkIf cfg.enable {
+    lib.mkIf cfg.enable {
       environment.systemPackages = [ package ];
       users.groups.onepassword.gid = config.ids.gids.onepassword;
 
diff --git a/nixos/modules/programs/_1password.nix b/nixos/modules/programs/_1password.nix
index b87e9b776e85b..5dff199341b94 100644
--- a/nixos/modules/programs/_1password.nix
+++ b/nixos/modules/programs/_1password.nix
@@ -1,7 +1,5 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
 
   cfg = config.programs._1password;
@@ -9,22 +7,22 @@ let
 in
 {
   imports = [
-    (mkRemovedOptionModule [ "programs" "_1password" "gid" ] ''
+    (lib.mkRemovedOptionModule [ "programs" "_1password" "gid" ] ''
       A preallocated GID will be used instead.
     '')
   ];
 
   options = {
     programs._1password = {
-      enable = mkEnableOption "the 1Password CLI tool";
+      enable = lib.mkEnableOption "the 1Password CLI tool";
 
-      package = mkPackageOption pkgs "1Password CLI" {
+      package = lib.mkPackageOption pkgs "1Password CLI" {
         default = [ "_1password" ];
       };
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
     users.groups.onepassword-cli.gid = config.ids.gids.onepassword-cli;
 
diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix
index d8c700bc36b65..62ab6ab4137a1 100644
--- a/nixos/modules/programs/adb.nix
+++ b/nixos/modules/programs/adb.nix
@@ -1,16 +1,14 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 {
-  meta.maintainers = [ maintainers.mic92 ];
+  meta.maintainers = [ lib.maintainers.mic92 ];
 
   ###### interface
   options = {
     programs.adb = {
-      enable = mkOption {
+      enable = lib.mkOption {
         default = false;
-        type = types.bool;
+        type = lib.types.bool;
         description = ''
           Whether to configure system to use Android Debug Bridge (adb).
           To grant access to a user, it must be part of adbusers group:
@@ -21,7 +19,7 @@ with lib;
   };
 
   ###### implementation
-  config = mkIf config.programs.adb.enable {
+  config = lib.mkIf config.programs.adb.enable {
     services.udev.packages = [ pkgs.android-udev-rules ];
     environment.systemPackages = [ pkgs.android-tools ];
     users.groups.adbusers = {};
diff --git a/nixos/modules/programs/alvr.nix b/nixos/modules/programs/alvr.nix
index e5de06f1157ad..da66200cf075b 100644
--- a/nixos/modules/programs/alvr.nix
+++ b/nixos/modules/programs/alvr.nix
@@ -1,19 +1,17 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.alvr;
 in
 {
   options = {
     programs.alvr = {
-      enable = mkEnableOption "ALVR, the VR desktop streamer";
+      enable = lib.mkEnableOption "ALVR, the VR desktop streamer";
 
-      package = mkPackageOption pkgs "alvr" { };
+      package = lib.mkPackageOption pkgs "alvr" { };
 
-      openFirewall = mkOption {
-        type = types.bool;
+      openFirewall = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to open the default ports in the firewall for the ALVR server.
@@ -22,14 +20,14 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
 
-    networking.firewall = mkIf cfg.openFirewall {
+    networking.firewall = lib.mkIf cfg.openFirewall {
       allowedTCPPorts = [ 9943 9944 ];
       allowedUDPPorts = [ 9943 9944 ];
     };
   };
 
-  meta.maintainers = with maintainers; [ passivelemon ];
+  meta.maintainers = with lib.maintainers; [ passivelemon ];
 }
diff --git a/nixos/modules/programs/appgate-sdp.nix b/nixos/modules/programs/appgate-sdp.nix
index 6d61c87eeb612..f4d4140571a64 100644
--- a/nixos/modules/programs/appgate-sdp.nix
+++ b/nixos/modules/programs/appgate-sdp.nix
@@ -1,15 +1,13 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 {
   options = {
     programs.appgate-sdp = {
-      enable = mkEnableOption "the AppGate SDP VPN client";
+      enable = lib.mkEnableOption "the AppGate SDP VPN client";
     };
   };
 
-  config = mkIf config.programs.appgate-sdp.enable {
+  config = lib.mkIf config.programs.appgate-sdp.enable {
     boot.kernelModules = [ "tun" ];
     environment.systemPackages = [ pkgs.appgate-sdp ];
     services.dbus.packages = [ pkgs.appgate-sdp ];
diff --git a/nixos/modules/programs/atop.nix b/nixos/modules/programs/atop.nix
index 618b641143590..be82e432474be 100644
--- a/nixos/modules/programs/atop.nix
+++ b/nixos/modules/programs/atop.nix
@@ -2,8 +2,6 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let cfg = config.programs.atop;
 
 in
@@ -14,31 +12,31 @@ in
 
     programs.atop = rec {
 
-      enable = mkEnableOption "Atop, a tool for monitoring system resources";
+      enable = lib.mkEnableOption "Atop, a tool for monitoring system resources";
 
-      package = mkPackageOption pkgs "atop" { };
+      package = lib.mkPackageOption pkgs "atop" { };
 
       netatop = {
-        enable = mkOption {
-          type = types.bool;
+        enable = lib.mkOption {
+          type = lib.types.bool;
           default = false;
           description = ''
             Whether to install and enable the netatop kernel module.
             Note: this sets the kernel taint flag "O" for loading out-of-tree modules.
           '';
         };
-        package = mkOption {
-          type = types.package;
+        package = lib.mkOption {
+          type = lib.types.package;
           default = config.boot.kernelPackages.netatop;
-          defaultText = literalExpression "config.boot.kernelPackages.netatop";
+          defaultText = lib.literalExpression "config.boot.kernelPackages.netatop";
           description = ''
             Which package to use for netatop.
           '';
         };
       };
 
-      atopgpu.enable = mkOption {
-        type = types.bool;
+      atopgpu.enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to install and enable the atopgpud daemon to get information about
@@ -46,8 +44,8 @@ in
         '';
       };
 
-      setuidWrapper.enable = mkOption {
-        type = types.bool;
+      setuidWrapper.enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to install a setuid wrapper for Atop. This is required to use some of
@@ -56,24 +54,24 @@ in
         '';
       };
 
-      atopService.enable = mkOption {
-        type = types.bool;
+      atopService.enable = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = ''
           Whether to enable the atop service responsible for storing statistics for
           long-term analysis.
         '';
       };
-      atopRotateTimer.enable = mkOption {
-        type = types.bool;
+      atopRotateTimer.enable = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = ''
           Whether to enable the atop-rotate timer, which restarts the atop service
           daily to make sure the data files are rotate.
         '';
       };
-      atopacctService.enable = mkOption {
-        type = types.bool;
+      atopacctService.enable = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = ''
           Whether to enable the atopacct service which manages process accounting.
@@ -81,8 +79,8 @@ in
           two refresh intervals.
         '';
       };
-      settings = mkOption {
-        type = types.attrs;
+      settings = lib.mkOption {
+        type = lib.types.attrs;
         default = { };
         example = {
           flags = "a1f";
@@ -95,7 +93,7 @@ in
     };
   };
 
-  config = mkIf cfg.enable (
+  config = lib.mkIf cfg.enable (
     let
       atop =
         if cfg.atopgpu.enable then
@@ -104,11 +102,11 @@ in
           cfg.package;
     in
     {
-      environment.etc = mkIf (cfg.settings != { }) {
-        atoprc.text = concatStrings
-          (mapAttrsToList
+      environment.etc = lib.mkIf (cfg.settings != { }) {
+        atoprc.text = lib.concatStrings
+          (lib.mapAttrsToList
             (n: v: ''
-              ${n} ${toString v}
+              ${n} ${builtins.toString v}
             '')
             cfg.settings);
       };
@@ -122,8 +120,8 @@ in
               wantedBy = [ (if type == "services" then "multi-user.target" else if type == "timers" then "timers.target" else null) ];
             };
           };
-          mkService = mkSystemd "services";
-          mkTimer = mkSystemd "timers";
+          mkService = lib.mkSystemd "services";
+          mkTimer = lib.mkSystemd "timers";
         in
         {
           packages = [ atop (lib.mkIf cfg.netatop.enable cfg.netatop.package) ];
diff --git a/nixos/modules/programs/ausweisapp.nix b/nixos/modules/programs/ausweisapp.nix
index 0359e58c554ca..ebd6a3e13bf66 100644
--- a/nixos/modules/programs/ausweisapp.nix
+++ b/nixos/modules/programs/ausweisapp.nix
@@ -1,15 +1,13 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg  = config.programs.ausweisapp;
 in
 {
   options.programs.ausweisapp = {
-    enable = mkEnableOption "AusweisApp";
+    enable = lib.mkEnableOption "AusweisApp";
 
-    openFirewall = mkOption {
+    openFirewall = lib.mkOption {
       description = ''
         Whether to open the required firewall ports for the Smartphone as Card Reader (SaC) functionality of AusweisApp.
       '';
@@ -18,7 +16,7 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [ ausweisapp ];
     networking.firewall.allowedUDPPorts = lib.optionals cfg.openFirewall [ 24727 ];
   };
diff --git a/nixos/modules/programs/autojump.nix b/nixos/modules/programs/autojump.nix
index ecfc2f658079d..5011d7e142375 100644
--- a/nixos/modules/programs/autojump.nix
+++ b/nixos/modules/programs/autojump.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.autojump;
   prg = config.programs;
@@ -10,8 +8,8 @@ in
   options = {
     programs.autojump = {
 
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to enable autojump.
@@ -22,12 +20,12 @@ in
 
   ###### implementation
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.pathsToLink = [ "/share/autojump" ];
     environment.systemPackages = [ pkgs.autojump ];
 
     programs.bash.interactiveShellInit = "source ${pkgs.autojump}/share/autojump/autojump.bash";
-    programs.zsh.interactiveShellInit = mkIf prg.zsh.enable "source ${pkgs.autojump}/share/autojump/autojump.zsh";
-    programs.fish.interactiveShellInit = mkIf prg.fish.enable "source ${pkgs.autojump}/share/autojump/autojump.fish";
+    programs.zsh.interactiveShellInit = lib.mkIf prg.zsh.enable "source ${pkgs.autojump}/share/autojump/autojump.zsh";
+    programs.fish.interactiveShellInit = lib.mkIf prg.fish.enable "source ${pkgs.autojump}/share/autojump/autojump.fish";
   };
 }
diff --git a/nixos/modules/programs/bandwhich.nix b/nixos/modules/programs/bandwhich.nix
index 2c78584f2d248..e2c55ca5bea4a 100644
--- a/nixos/modules/programs/bandwhich.nix
+++ b/nixos/modules/programs/bandwhich.nix
@@ -1,15 +1,13 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let cfg = config.programs.bandwhich;
 in {
-  meta.maintainers = with maintainers; [ Br1ght0ne ];
+  meta.maintainers = with lib.maintainers; [ Br1ght0ne ];
 
   options = {
     programs.bandwhich = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to add bandwhich to the global environment and configure a
@@ -19,7 +17,7 @@ in {
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [ bandwhich ];
     security.wrappers.bandwhich = {
       owner = "root";
diff --git a/nixos/modules/programs/bash-my-aws.nix b/nixos/modules/programs/bash-my-aws.nix
index 15e429a754976..85618ad98f080 100644
--- a/nixos/modules/programs/bash-my-aws.nix
+++ b/nixos/modules/programs/bash-my-aws.nix
@@ -1,7 +1,5 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   prg = config.programs;
   cfg = prg.bash-my-aws;
@@ -13,11 +11,11 @@ in
   {
     options = {
       programs.bash-my-aws = {
-        enable = mkEnableOption "bash-my-aws";
+        enable = lib.mkEnableOption "bash-my-aws";
       };
     };
 
-    config = mkIf cfg.enable {
+    config = lib.mkIf cfg.enable {
       environment.systemPackages = with pkgs; [ bash-my-aws ];
 
       programs.bash.interactiveShellInit = initScript;
diff --git a/nixos/modules/programs/bash/bash-completion.nix b/nixos/modules/programs/bash/bash-completion.nix
index b8e5b1bfa336f..c973d36fdfbf0 100644
--- a/nixos/modules/programs/bash/bash-completion.nix
+++ b/nixos/modules/programs/bash/bash-completion.nix
@@ -1,18 +1,16 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   enable = config.programs.bash.enableCompletion;
 in
 {
   options = {
-    programs.bash.enableCompletion = mkEnableOption "Bash completion for all interactive bash shells" // {
+    programs.bash.enableCompletion = lib.mkEnableOption "Bash completion for all interactive bash shells" // {
       default = true;
     };
   };
 
-  config = mkIf enable {
+  config = lib.mkIf enable {
     programs.bash.promptPluginInit = ''
       # Check whether we're running a version of Bash that has support for
       # programmable completion. If we do, enable all modules installed in
diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix
index 21ef8338d8dd8..0f8c40da801b6 100644
--- a/nixos/modules/programs/bash/bash.nix
+++ b/nixos/modules/programs/bash/bash.nix
@@ -3,24 +3,22 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfge = config.environment;
 
   cfg = config.programs.bash;
 
-  bashAliases = concatStringsSep "\n" (
-    mapAttrsFlatten (k: v: "alias -- ${k}=${escapeShellArg v}")
-      (filterAttrs (k: v: v != null) cfg.shellAliases)
+  bashAliases = builtins.concatStringsSep "\n" (
+    lib.mapAttrsFlatten (k: v: "alias -- ${k}=${lib.escapeShellArg v}")
+      (lib.filterAttrs (k: v: v != null) cfg.shellAliases)
   );
 
 in
 
 {
   imports = [
-    (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
+    (lib.mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
   ];
 
   options = {
@@ -28,7 +26,7 @@ in
     programs.bash = {
 
       /*
-      enable = mkOption {
+      enable = lib.mkOption {
         default = true;
         description = ''
           Whenever to configure Bash as an interactive shell.
@@ -38,44 +36,44 @@ in
           set this variable if you have another shell configured
           with NixOS.
         '';
-        type = types.bool;
+        type = lib.types.bool;
       };
       */
 
-      shellAliases = mkOption {
+      shellAliases = lib.mkOption {
         default = {};
         description = ''
           Set of aliases for bash shell, which overrides {option}`environment.shellAliases`.
           See {option}`environment.shellAliases` for an option format description.
         '';
-        type = with types; attrsOf (nullOr (either str path));
+        type = with lib.types; attrsOf (nullOr (either str path));
       };
 
-      shellInit = mkOption {
+      shellInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code called during bash shell initialisation.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      loginShellInit = mkOption {
+      loginShellInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code called during login bash shell initialisation.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      interactiveShellInit = mkOption {
+      interactiveShellInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code called during interactive bash shell initialisation.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      promptInit = mkOption {
+      promptInit = lib.mkOption {
         default = ''
           # Provide a nice prompt if the terminal supports it.
           if [ "$TERM" != "dumb" ] || [ -n "$INSIDE_EMACS" ]; then
@@ -95,15 +93,15 @@ in
         description = ''
           Shell script code used to initialise the bash prompt.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      promptPluginInit = mkOption {
+      promptPluginInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code used to initialise bash prompt plugins.
         '';
-        type = types.lines;
+        type = lib.types.lines;
         internal = true;
       };
 
@@ -111,11 +109,11 @@ in
 
   };
 
-  config = /* mkIf cfg.enable */ {
+  config = /* lib.mkIf cfg.enable */ {
 
     programs.bash = {
 
-      shellAliases = mapAttrs (name: mkDefault) cfge.shellAliases;
+      shellAliases = builtins.mapAttrs (name: lib.mkDefault) cfge.shellAliases;
 
       shellInit = ''
         if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then
@@ -196,11 +194,11 @@ in
 
     # Configuration for readline in bash. We use "option default"
     # priority to allow user override using both .text and .source.
-    environment.etc.inputrc.source = mkOptionDefault ./inputrc;
+    environment.etc.inputrc.source = lib.mkOptionDefault ./inputrc;
 
-    users.defaultUserShell = mkDefault pkgs.bashInteractive;
+    users.defaultUserShell = lib.mkDefault pkgs.bashInteractive;
 
-    environment.pathsToLink = optionals cfg.enableCompletion [
+    environment.pathsToLink = lib.optionals cfg.enableCompletion [
       "/etc/bash_completion.d"
       "/share/bash-completion"
     ];
diff --git a/nixos/modules/programs/bash/blesh.nix b/nixos/modules/programs/bash/blesh.nix
index ea342b0ce3eec..b5ca83a883bb0 100644
--- a/nixos/modules/programs/bash/blesh.nix
+++ b/nixos/modules/programs/bash/blesh.nix
@@ -1,16 +1,15 @@
 { lib, config, pkgs, ... }:
-with lib;
 let
   cfg = config.programs.bash.blesh;
 in {
   options = {
-    programs.bash.blesh.enable = mkEnableOption "blesh, a full-featured line editor written in pure Bash";
+    programs.bash.blesh.enable = lib.mkEnableOption "blesh, a full-featured line editor written in pure Bash";
   };
 
-  config = mkIf cfg.enable {
-    programs.bash.interactiveShellInit = mkBefore ''
+  config = lib.mkIf cfg.enable {
+    programs.bash.interactiveShellInit = lib.mkBefore ''
       source ${pkgs.blesh}/share/blesh/ble.sh
     '';
   };
-  meta.maintainers = with maintainers; [ laalsaas ];
+  meta.maintainers = with lib.maintainers; [ laalsaas ];
 }
diff --git a/nixos/modules/programs/bash/ls-colors.nix b/nixos/modules/programs/bash/ls-colors.nix
index 254ee14c477d6..3ee00e93d4dae 100644
--- a/nixos/modules/programs/bash/ls-colors.nix
+++ b/nixos/modules/programs/bash/ls-colors.nix
@@ -1,18 +1,16 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   enable = config.programs.bash.enableLsColors;
 in
 {
   options = {
-    programs.bash.enableLsColors = mkEnableOption "extra colors in directory listings" // {
+    programs.bash.enableLsColors = lib.mkEnableOption "extra colors in directory listings" // {
       default = true;
     };
   };
 
-  config = mkIf enable {
+  config = lib.mkIf enable {
     programs.bash.promptPluginInit = ''
       eval "$(${pkgs.coreutils}/bin/dircolors -b)"
     '';
diff --git a/nixos/modules/programs/bash/undistract-me.nix b/nixos/modules/programs/bash/undistract-me.nix
index 0e6465e048a10..af4f3a737dabd 100644
--- a/nixos/modules/programs/bash/undistract-me.nix
+++ b/nixos/modules/programs/bash/undistract-me.nix
@@ -1,36 +1,34 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.bash.undistractMe;
 in
 {
   options = {
     programs.bash.undistractMe = {
-      enable = mkEnableOption "notifications when long-running terminal commands complete";
+      enable = lib.mkEnableOption "notifications when long-running terminal commands complete";
 
-      playSound = mkEnableOption "notification sounds when long-running terminal commands complete";
+      playSound = lib.mkEnableOption "notification sounds when long-running terminal commands complete";
 
-      timeout = mkOption {
+      timeout = lib.mkOption {
         default = 10;
         description = ''
           Number of seconds it would take for a command to be considered long-running.
         '';
-        type = types.int;
+        type = lib.types.int;
       };
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     programs.bash.promptPluginInit = ''
-      export LONG_RUNNING_COMMAND_TIMEOUT=${toString cfg.timeout}
+      export LONG_RUNNING_COMMAND_TIMEOUT=${builtins.toString cfg.timeout}
       export UDM_PLAY_SOUND=${if cfg.playSound then "1" else "0"}
       . "${pkgs.undistract-me}/etc/profile.d/undistract-me.sh"
     '';
   };
 
   meta = {
-    maintainers = with maintainers; [ kira-bruneau ];
+    maintainers = with lib.maintainers; [ kira-bruneau ];
   };
 }
diff --git a/nixos/modules/programs/browserpass.nix b/nixos/modules/programs/browserpass.nix
index 2894e237e3d4a..ab6be266ea8d6 100644
--- a/nixos/modules/programs/browserpass.nix
+++ b/nixos/modules/programs/browserpass.nix
@@ -1,12 +1,10 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 {
 
-  options.programs.browserpass.enable = mkEnableOption "Browserpass native messaging host";
+  options.programs.browserpass.enable = lib.mkEnableOption "Browserpass native messaging host";
 
-  config = mkIf config.programs.browserpass.enable {
+  config = lib.mkIf config.programs.browserpass.enable {
     environment.etc = let
       appId = "com.github.browserpass.native.json";
       source = part: "${pkgs.browserpass}/lib/browserpass/${part}/${appId}";
diff --git a/nixos/modules/programs/calls.nix b/nixos/modules/programs/calls.nix
index 0cf05f8a2ea0c..36a4c51ddf438 100644
--- a/nixos/modules/programs/calls.nix
+++ b/nixos/modules/programs/calls.nix
@@ -1,19 +1,17 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.calls;
 in {
   options = {
     programs.calls = {
-      enable = mkEnableOption ''
+      enable = lib.mkEnableOption ''
         GNOME calls: a phone dialer and call handler
       '';
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     programs.dconf.enable = true;
 
     environment.systemPackages = [
diff --git a/nixos/modules/programs/cdemu.nix b/nixos/modules/programs/cdemu.nix
index 3ee8b2d8fcd65..1aac28af1d2ca 100644
--- a/nixos/modules/programs/cdemu.nix
+++ b/nixos/modules/programs/cdemu.nix
@@ -1,36 +1,34 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let cfg = config.programs.cdemu;
 in {
 
   options = {
     programs.cdemu = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           {command}`cdemu` for members of
           {option}`programs.cdemu.group`.
         '';
       };
-      group = mkOption {
-        type = types.str;
+      group = lib.mkOption {
+        type = lib.types.str;
         default = "cdrom";
         description = ''
           Group that users must be in to use {command}`cdemu`.
         '';
       };
-      gui = mkOption {
-        type = types.bool;
+      gui = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = ''
           Whether to install the {command}`cdemu` GUI (gCDEmu).
         '';
       };
-      image-analyzer = mkOption {
-        type = types.bool;
+      image-analyzer = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = ''
           Whether to install the image analyzer.
@@ -39,7 +37,7 @@ in {
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
     boot = {
       extraModulePackages = [ config.boot.kernelPackages.vhba ];
@@ -68,8 +66,8 @@ in {
 
     environment.systemPackages =
       [ pkgs.cdemu-daemon pkgs.cdemu-client ]
-      ++ optional cfg.gui pkgs.gcdemu
-      ++ optional cfg.image-analyzer pkgs.image-analyzer;
+      ++ lib.optional cfg.gui pkgs.gcdemu
+      ++ lib.optional cfg.image-analyzer pkgs.image-analyzer;
   };
 
 }
diff --git a/nixos/modules/programs/cfs-zen-tweaks.nix b/nixos/modules/programs/cfs-zen-tweaks.nix
index 28d1ef5992d7d..bc16264039352 100644
--- a/nixos/modules/programs/cfs-zen-tweaks.nix
+++ b/nixos/modules/programs/cfs-zen-tweaks.nix
@@ -2,8 +2,6 @@
 
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
 
   cfg = config.programs.cfs-zen-tweaks;
@@ -13,14 +11,14 @@ in
 {
 
   meta = {
-    maintainers = with maintainers; [ mkg20001 ];
+    maintainers = with lib.maintainers; [ mkg20001 ];
   };
 
   options = {
-    programs.cfs-zen-tweaks.enable = mkEnableOption "CFS Zen Tweaks";
+    programs.cfs-zen-tweaks.enable = lib.mkEnableOption "CFS Zen Tweaks";
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     systemd.packages = [ pkgs.cfs-zen-tweaks ];
 
     systemd.services.set-cfs-tweaks.wantedBy = [
diff --git a/nixos/modules/programs/chromium.nix b/nixos/modules/programs/chromium.nix
index fa5abe957a904..4d248dbe0945f 100644
--- a/nixos/modules/programs/chromium.nix
+++ b/nixos/modules/programs/chromium.nix
@@ -1,11 +1,9 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.chromium;
 
-  defaultProfile = filterAttrs (k: v: v != null) {
+  defaultProfile = lib.filterAttrs (k: v: v != null) {
     HomepageLocation = cfg.homepageLocation;
     DefaultSearchProviderEnabled = cfg.defaultSearchProviderEnabled;
     DefaultSearchProviderSearchURL = cfg.defaultSearchProviderSearchURL;
@@ -19,14 +17,14 @@ in
 
   options = {
     programs.chromium = {
-      enable = mkEnableOption "{command}`chromium` policies";
+      enable = lib.mkEnableOption "{command}`chromium` policies";
 
-      enablePlasmaBrowserIntegration = mkEnableOption "Native Messaging Host for Plasma Browser Integration";
+      enablePlasmaBrowserIntegration = lib.mkEnableOption "Native Messaging Host for Plasma Browser Integration";
 
-      plasmaBrowserIntegrationPackage = mkPackageOption pkgs [ "plasma5Packages" "plasma-browser-integration" ] { };
+      plasmaBrowserIntegrationPackage = lib.mkPackageOption pkgs [ "plasma5Packages" "plasma-browser-integration" ] { };
 
-      extensions = mkOption {
-        type = with types; nullOr (listOf str);
+      extensions = lib.mkOption {
+        type = with lib.types; nullOr (listOf str);
         description = ''
           List of chromium extensions to install.
           For list of plugins ids see id in url of extensions on
@@ -38,7 +36,7 @@ in
           for additional details.
         '';
         default = null;
-        example = literalExpression ''
+        example = lib.literalExpression ''
           [
             "chlffgpmiacpedhhbkiomidkjlcfhogd" # pushbullet
             "mbniclmhobmnbdlbpiphghaielnnpgdp" # lightshot
@@ -48,36 +46,36 @@ in
         '';
       };
 
-      homepageLocation = mkOption {
-        type = types.nullOr types.str;
+      homepageLocation = lib.mkOption {
+        type = lib.types.nullOr lib.types.str;
         description = "Chromium default homepage";
         default = null;
         example = "https://nixos.org";
       };
 
-      defaultSearchProviderEnabled = mkOption {
-        type = types.nullOr types.bool;
+      defaultSearchProviderEnabled = lib.mkOption {
+        type = lib.types.nullOr lib.types.bool;
         description = "Enable the default search provider.";
         default = null;
         example = true;
       };
 
-      defaultSearchProviderSearchURL = mkOption {
-        type = types.nullOr types.str;
+      defaultSearchProviderSearchURL = lib.mkOption {
+        type = lib.types.nullOr lib.types.str;
         description = "Chromium default search provider url.";
         default = null;
         example = "https://encrypted.google.com/search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:searchClient}{google:sourceId}{google:instantExtendedEnabledParameter}ie={inputEncoding}";
       };
 
-      defaultSearchProviderSuggestURL = mkOption {
-        type = types.nullOr types.str;
+      defaultSearchProviderSuggestURL = lib.mkOption {
+        type = lib.types.nullOr lib.types.str;
         description = "Chromium default search provider url for suggestions.";
         default = null;
         example = "https://encrypted.google.com/complete/search?output=chrome&q={searchTerms}";
       };
 
-      extraOpts = mkOption {
-        type = types.attrs;
+      extraOpts = lib.mkOption {
+        type = lib.types.attrs;
         description = ''
           Extra chromium policy options. A list of available policies
           can be found in the Chrome Enterprise documentation:
@@ -85,7 +83,7 @@ in
           Make sure the selected policy is supported on Linux and your browser version.
         '';
         default = {};
-        example = literalExpression ''
+        example = lib.literalExpression ''
           {
             "BrowserSignin" = 0;
             "SyncDisabled" = true;
@@ -99,8 +97,8 @@ in
         '';
       };
 
-      initialPrefs = mkOption {
-        type = types.attrs;
+      initialPrefs = lib.mkOption {
+        type = lib.types.attrs;
         description = ''
           Initial preferences are used to configure the browser for the first run.
           Unlike {option}`programs.chromium.extraOpts`, initialPrefs can be changed by users in the browser settings.
@@ -108,7 +106,7 @@ in
           <https://www.chromium.org/administrators/configuring-other-preferences/>
         '';
         default = {};
-        example = literalExpression ''
+        example = lib.literalExpression ''
           {
             "first_run_tabs" = [
               "https://nixos.org/"
diff --git a/nixos/modules/programs/cnping.nix b/nixos/modules/programs/cnping.nix
index 77cbf4d82086b..f4b5aa845b5f2 100644
--- a/nixos/modules/programs/cnping.nix
+++ b/nixos/modules/programs/cnping.nix
@@ -1,18 +1,16 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.cnping;
 in
 {
   options = {
     programs.cnping = {
-      enable = mkEnableOption "a setcap wrapper for cnping";
+      enable = lib.mkEnableOption "a setcap wrapper for cnping";
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     security.wrappers.cnping = {
       source = "${pkgs.cnping}/bin/cnping";
       capabilities = "cap_net_raw+ep";
diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix
index 4d2a89b515842..a223e811728dc 100644
--- a/nixos/modules/programs/command-not-found/command-not-found.nix
+++ b/nixos/modules/programs/command-not-found/command-not-found.nix
@@ -5,8 +5,6 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.command-not-found;
   commandNotFound = pkgs.substituteAll {
@@ -23,8 +21,8 @@ in
 {
   options.programs.command-not-found = {
 
-    enable = mkOption {
-      type = types.bool;
+    enable = lib.mkOption {
+      type = lib.types.bool;
       default = true;
       description = ''
         Whether interactive shells should show which Nix package (if
@@ -32,7 +30,7 @@ in
       '';
     };
 
-    dbPath = mkOption {
+    dbPath = lib.mkOption {
       default = "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite" ;
       description = ''
         Absolute path to programs.sqlite.
@@ -40,11 +38,11 @@ in
         By default this file will be provided by your channel
         (nixexprs.tar.xz).
       '';
-      type = types.path;
+      type = lib.types.path;
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     programs.bash.interactiveShellInit =
       ''
         # This function is called whenever a command is not found.
diff --git a/nixos/modules/programs/criu.nix b/nixos/modules/programs/criu.nix
index 9414d0b27f0d2..492a158923cb2 100644
--- a/nixos/modules/programs/criu.nix
+++ b/nixos/modules/programs/criu.nix
@@ -1,14 +1,12 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let cfg = config.programs.criu;
 in {
 
   options = {
     programs.criu = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Install {command}`criu` along with necessary kernel options.
@@ -16,7 +14,7 @@ in {
       };
     };
   };
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     system.requiredKernelConfig = with config.lib.kernelConfig; [
       (isYes "CHECKPOINT_RESTORE")
     ];
diff --git a/nixos/modules/programs/digitalbitbox/default.nix b/nixos/modules/programs/digitalbitbox/default.nix
index 10b5a88171fcd..06d33966b4a07 100644
--- a/nixos/modules/programs/digitalbitbox/default.nix
+++ b/nixos/modules/programs/digitalbitbox/default.nix
@@ -1,29 +1,27 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.digitalbitbox;
 in
 
 {
   options.programs.digitalbitbox = {
-    enable = mkOption {
-      type = types.bool;
+    enable = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Installs the Digital Bitbox application and enables the complementary hardware module.
       '';
     };
 
-    package = mkPackageOption pkgs "digitalbitbox" {
+    package = lib.mkPackageOption pkgs "digitalbitbox" {
       extraDescription = ''
         This can be used to install a package with udev rules that differ from the defaults.
       '';
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
     hardware.digitalbitbox = {
       enable = true;
diff --git a/nixos/modules/programs/dmrconfig.nix b/nixos/modules/programs/dmrconfig.nix
index 15338681e642a..0078ca19f41a1 100644
--- a/nixos/modules/programs/dmrconfig.nix
+++ b/nixos/modules/programs/dmrconfig.nix
@@ -1,19 +1,17 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.dmrconfig;
 
 in {
-  meta.maintainers = with maintainers; [ ];
+  meta.maintainers = with lib.maintainers; [ ];
 
   ###### interface
   options = {
     programs.dmrconfig = {
-      enable = mkOption {
+      enable = lib.mkOption {
         default = false;
-        type = types.bool;
+        type = lib.types.bool;
         description = ''
           Whether to configure system to enable use of dmrconfig. This
           enables the required udev rules and installs the program.
@@ -21,12 +19,12 @@ in {
         relatedPackages = [ "dmrconfig" ];
       };
 
-      package = mkPackageOption pkgs "dmrconfig" { };
+      package = lib.mkPackageOption pkgs "dmrconfig" { };
     };
   };
 
   ###### implementation
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
     services.udev.packages = [ cfg.package ];
   };
diff --git a/nixos/modules/programs/droidcam.nix b/nixos/modules/programs/droidcam.nix
index 9843a1f5be252..eef3997e6b809 100644
--- a/nixos/modules/programs/droidcam.nix
+++ b/nixos/modules/programs/droidcam.nix
@@ -1,10 +1,8 @@
 { lib, pkgs, config, ... }:
 
-with lib;
-
 {
   options.programs.droidcam = {
-    enable = mkEnableOption "DroidCam client";
+    enable = lib.mkEnableOption "DroidCam client";
   };
 
   config = lib.mkIf config.programs.droidcam.enable {
diff --git a/nixos/modules/programs/dublin-traceroute.nix b/nixos/modules/programs/dublin-traceroute.nix
index 6ff8a5bdefc39..de9446ad7377c 100644
--- a/nixos/modules/programs/dublin-traceroute.nix
+++ b/nixos/modules/programs/dublin-traceroute.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.dublin-traceroute;
 
@@ -10,22 +8,22 @@ in {
 
   options = {
     programs.dublin-traceroute = {
-      enable = mkEnableOption ''
+      enable = lib.mkEnableOption ''
       dublin-traceroute, add it to the global environment and configure a setcap wrapper for it.
       '';
 
-      package = mkPackageOption pkgs "dublin-traceroute" { };
+      package = lib.mkPackageOption pkgs "dublin-traceroute" { };
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
 
     security.wrappers.dublin-traceroute = {
       owner = "root";
       group = "root";
       capabilities = "cap_net_raw+p";
-      source = getExe cfg.package;
+      source = lib.getExe cfg.package;
     };
   };
 }
diff --git a/nixos/modules/programs/ecryptfs.nix b/nixos/modules/programs/ecryptfs.nix
index ced5eb26fb9a2..8674f7ec80e0a 100644
--- a/nixos/modules/programs/ecryptfs.nix
+++ b/nixos/modules/programs/ecryptfs.nix
@@ -1,16 +1,14 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.ecryptfs;
 
 in {
   options.programs.ecryptfs = {
-    enable = mkEnableOption "ecryptfs setuid mount wrappers";
+    enable = lib.mkEnableOption "ecryptfs setuid mount wrappers";
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     security.wrappers = {
 
       "mount.ecryptfs_private" = {
diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix
index 8ac723f42f61a..8a565b7bcac46 100644
--- a/nixos/modules/programs/environment.nix
+++ b/nixos/modules/programs/environment.nix
@@ -4,8 +4,6 @@
 
 { config, lib, ... }:
 
-with lib;
-
 let
 
   cfg = config.environment;
@@ -20,14 +18,14 @@ in
       { NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix";
         # note: many programs exec() this directly, so default options for less must not
         # be specified here; do so in the default value of programs.less.envVariables instead
-        PAGER = mkDefault "less";
-        EDITOR = mkDefault "nano";
+        PAGER = lib.mkDefault "less";
+        EDITOR = lib.mkDefault "nano";
       };
 
     # since we set PAGER to this above, make sure it's installed
     programs.less.enable = true;
 
-    environment.profiles = mkAfter
+    environment.profiles = lib.mkAfter
       [ "/nix/var/nix/profiles/default"
         "/run/current-system/sw"
       ];
@@ -53,7 +51,7 @@ in
     environment.extraInit =
       ''
          export NIX_USER_PROFILE_DIR="/nix/var/nix/profiles/per-user/$USER"
-         export NIX_PROFILES="${concatStringsSep " " (reverseList cfg.profiles)}"
+         export NIX_PROFILES="${builtins.concatStringsSep " " (lib.reverseList cfg.profiles)}"
       '';
 
   };
diff --git a/nixos/modules/programs/extra-container.nix b/nixos/modules/programs/extra-container.nix
index c10ccd7691688..6dcfba7971da2 100644
--- a/nixos/modules/programs/extra-container.nix
+++ b/nixos/modules/programs/extra-container.nix
@@ -1,16 +1,15 @@
 { config, pkgs, lib, ... }:
 
-with lib;
 let
   cfg = config.programs.extra-container;
 in {
   options = {
-    programs.extra-container.enable = mkEnableOption ''
+    programs.extra-container.enable = lib.mkEnableOption ''
       extra-container, a tool for running declarative NixOS containers
       without host system rebuilds
     '';
   };
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.extra-container ];
     boot.extraSystemdUnitPaths = [ "/etc/systemd-mutable/system" ];
   };
diff --git a/nixos/modules/programs/feedbackd.nix b/nixos/modules/programs/feedbackd.nix
index 9de604c34a7ea..0c82c7840c8f1 100644
--- a/nixos/modules/programs/feedbackd.nix
+++ b/nixos/modules/programs/feedbackd.nix
@@ -1,21 +1,19 @@
 { pkgs, lib, config, ... }:
 
-with lib;
-
 let
   cfg = config.programs.feedbackd;
 in {
   options = {
     programs.feedbackd = {
-      enable = mkEnableOption ''
+      enable = lib.mkEnableOption ''
         the feedbackd D-BUS service and udev rules.
 
         Your user needs to be in the `feedbackd` group to trigger effects
       '';
-      package = mkPackageOption pkgs "feedbackd" { };
+      package = lib.mkPackageOption pkgs "feedbackd" { };
     };
   };
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
 
     services.dbus.packages = [ cfg.package ];
diff --git a/nixos/modules/programs/firefox.nix b/nixos/modules/programs/firefox.nix
index 39b30be48de9d..f698c3999dc1f 100644
--- a/nixos/modules/programs/firefox.nix
+++ b/nixos/modules/programs/firefox.nix
@@ -1,7 +1,5 @@
 { pkgs, config, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.firefox;
 
@@ -62,13 +60,13 @@ let
 in
 {
   options.programs.firefox = {
-    enable = mkEnableOption "the Firefox web browser";
+    enable = lib.mkEnableOption "the Firefox web browser";
 
-    package = mkOption {
-      type = types.package;
+    package = lib.mkOption {
+      type = lib.types.package;
       default = pkgs.firefox;
       description = "Firefox package to use.";
-      defaultText = literalExpression "pkgs.firefox";
+      defaultText = lib.literalExpression "pkgs.firefox";
       relatedPackages = [
         "firefox"
         "firefox-beta-bin"
@@ -78,13 +76,13 @@ in
       ];
     };
 
-    wrapperConfig = mkOption {
-      type = types.attrs;
+    wrapperConfig = lib.mkOption {
+      type = lib.types.attrs;
       default = {};
       description = "Arguments to pass to Firefox wrapper";
     };
 
-    policies = mkOption {
+    policies = lib.mkOption {
       type = policyFormat.type;
       default = { };
       description = ''
@@ -100,8 +98,8 @@ in
       '';
     };
 
-    preferences = mkOption {
-      type = with types; attrsOf (oneOf [ bool int str ]);
+    preferences = lib.mkOption {
+      type = with lib.types; attrsOf (oneOf [ bool int str ]);
       default = { };
       description = ''
         Preferences to set from `about:config`.
@@ -113,8 +111,8 @@ in
       '';
     };
 
-    preferencesStatus = mkOption {
-      type = types.enum [ "default" "locked" "user" "clear" ];
+    preferencesStatus = lib.mkOption {
+      type = lib.types.enum [ "default" "locked" "user" "clear" ];
       default = "locked";
       description = ''
         The status of `firefox.preferences`.
@@ -127,9 +125,9 @@ in
       '';
     };
 
-    languagePacks = mkOption {
+    languagePacks = lib.mkOption {
       # Available languages can be found in https://releases.mozilla.org/pub/firefox/releases/${cfg.package.version}/linux-x86_64/xpi/
-      type = types.listOf (types.enum ([
+      type = lib.types.listOf (lib.types.enum ([
         "ach"
         "af"
         "an"
@@ -235,8 +233,8 @@ in
       '';
     };
 
-    autoConfig = mkOption {
-      type = types.lines;
+    autoConfig = lib.mkOption {
+      type = lib.types.lines;
       default = "";
       description = ''
         AutoConfig files can be used to set and lock preferences that are not covered
@@ -247,19 +245,19 @@ in
     };
 
     nativeMessagingHosts = ({
-      packages = mkOption {
-        type = types.listOf types.package;
+      packages = lib.mkOption {
+        type = lib.types.listOf lib.types.package;
         default = [];
         description = ''
           Additional packages containing native messaging hosts that should be made available to Firefox extensions.
         '';
       };
-    }) // (mapAttrs (k: v: mkEnableOption "${v.name} support") nmhOptions);
+    }) // (builtins.mapAttrs (k: v: lib.mkEnableOption "${v.name} support") nmhOptions);
   };
 
   config = let
-    forEachEnabledNmh = fn: flatten (mapAttrsToList (k: v: lib.optional cfg.nativeMessagingHosts.${k} (fn k v)) nmhOptions);
-  in mkIf cfg.enable {
+    forEachEnabledNmh = fn: lib.flatten (lib.mapAttrsToList (k: v: lib.optional cfg.nativeMessagingHosts.${k} (fn k v)) nmhOptions);
+  in lib.mkIf cfg.enable {
     warnings = forEachEnabledNmh (k: v:
       "The `programs.firefox.nativeMessagingHosts.${k}` option is deprecated, " +
       "please add `${v.package.pname}` to `programs.firefox.nativeMessagingHosts.packages` instead."
@@ -278,18 +276,18 @@ in
       let
         policiesJSON = policyFormat.generate "firefox-policies.json" { inherit (cfg) policies; };
       in
-      mkIf (cfg.policies != { }) {
+      lib.mkIf (cfg.policies != { }) {
         "firefox/policies/policies.json".source = "${policiesJSON}";
       };
 
     # Preferences are converted into a policy
     programs.firefox.policies = {
       DisableAppUpdate = true;
-      Preferences = (mapAttrs
+      Preferences = (builtins.mapAttrs
         (_: value: { Value = value; Status = cfg.preferencesStatus; })
         cfg.preferences);
-      ExtensionSettings = listToAttrs (map
-        (lang: nameValuePair
+      ExtensionSettings = builtins.listToAttrs (builtins.map
+        (lang: builtins.nameValuePair
           "langpack-${lang}@firefox.mozilla.org"
           {
             installation_mode = "normal_installed";
@@ -300,5 +298,5 @@ in
     };
   };
 
-  meta.maintainers = with maintainers; [ danth ];
+  meta.maintainers = with lib.maintainers; [ danth ];
 }
diff --git a/nixos/modules/programs/firejail.nix b/nixos/modules/programs/firejail.nix
index 0510cf8c610d4..90da938182748 100644
--- a/nixos/modules/programs/firejail.nix
+++ b/nixos/modules/programs/firejail.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.firejail;
 
@@ -21,13 +19,13 @@ let
         else { executable = value; desktop = null; profile = null; extraArgs = []; };
         args = lib.escapeShellArgs (
           opts.extraArgs
-          ++ (optional (opts.profile != null) "--profile=${toString opts.profile}")
+          ++ (lib.optional (opts.profile != null) "--profile=${builtins.toString opts.profile}")
         );
       in
       ''
         cat <<_EOF >$out/bin/${command}
         #! ${pkgs.runtimeShell} -e
-        exec /run/wrappers/bin/firejail ${args} -- ${toString opts.executable} "\$@"
+        exec /run/wrappers/bin/firejail ${args} -- ${builtins.toString opts.executable} "\$@"
         _EOF
         chmod 0755 $out/bin/${command}
 
@@ -40,30 +38,30 @@ let
 
 in {
   options.programs.firejail = {
-    enable = mkEnableOption "firejail, a sandboxing tool for Linux";
+    enable = lib.mkEnableOption "firejail, a sandboxing tool for Linux";
 
-    wrappedBinaries = mkOption {
-      type = types.attrsOf (types.either types.path (types.submodule {
+    wrappedBinaries = lib.mkOption {
+      type = lib.types.attrsOf (lib.types.either lib.types.path (lib.types.submodule {
         options = {
-          executable = mkOption {
-            type = types.path;
+          executable = lib.mkOption {
+            type = lib.types.path;
             description = "Executable to run sandboxed";
-            example = literalExpression ''"''${lib.getBin pkgs.firefox}/bin/firefox"'';
+            example = lib.literalExpression ''"''${lib.getBin pkgs.firefox}/bin/firefox"'';
           };
-          desktop = mkOption {
-            type = types.nullOr types.path;
+          desktop = lib.mkOption {
+            type = lib.types.nullOr lib.types.path;
             default = null;
             description = ".desktop file to modify. Only necessary if it uses the absolute path to the executable.";
-            example = literalExpression ''"''${pkgs.firefox}/share/applications/firefox.desktop"'';
+            example = lib.literalExpression ''"''${pkgs.firefox}/share/applications/firefox.desktop"'';
           };
-          profile = mkOption {
-            type = types.nullOr types.path;
+          profile = lib.mkOption {
+            type = lib.types.nullOr lib.types.path;
             default = null;
             description = "Profile to use";
-            example = literalExpression ''"''${pkgs.firejail}/etc/firejail/firefox.profile"'';
+            example = lib.literalExpression ''"''${pkgs.firejail}/etc/firejail/firefox.profile"'';
           };
-          extraArgs = mkOption {
-            type = types.listOf types.str;
+          extraArgs = lib.mkOption {
+            type = lib.types.listOf lib.types.str;
             default = [];
             description = "Extra arguments to pass to firejail";
             example = [ "--private=~/.firejail_home" ];
@@ -71,7 +69,7 @@ in {
         };
       }));
       default = {};
-      example = literalExpression ''
+      example = lib.literalExpression ''
         {
           firefox = {
             executable = "''${lib.getBin pkgs.firefox}/bin/firefox";
@@ -89,7 +87,7 @@ in {
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     security.wrappers.firejail =
       { setuid = true;
         owner = "root";
@@ -100,5 +98,5 @@ in {
     environment.systemPackages = [ pkgs.firejail ] ++ [ wrappedBins ];
   };
 
-  meta.maintainers = with maintainers; [ peterhoeg ];
+  meta.maintainers = with lib.maintainers; [ peterhoeg ];
 }
diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix
index ebc16f6ff0129..5a6fdb9b5ec5a 100644
--- a/nixos/modules/programs/fish.nix
+++ b/nixos/modules/programs/fish.nix
@@ -1,21 +1,19 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfge = config.environment;
 
   cfg = config.programs.fish;
 
-  fishAbbrs = concatStringsSep "\n" (
-    mapAttrsFlatten (k: v: "abbr -ag ${k} ${escapeShellArg v}")
+  fishAbbrs = lib.concatStringsSep "\n" (
+    lib.mapAttrsFlatten (k: v: "abbr -ag ${k} ${lib.escapeShellArg v}")
       cfg.shellAbbrs
   );
 
-  fishAliases = concatStringsSep "\n" (
-    mapAttrsFlatten (k: v: "alias ${k} ${escapeShellArg v}")
-      (filterAttrs (k: v: v != null) cfg.shellAliases)
+  fishAliases = lib.concatStringsSep "\n" (
+    lib.mapAttrsFlatten (k: v: "alias ${k} ${lib.escapeShellArg v}")
+      (lib.filterAttrs (k: v: v != null) cfg.shellAliases)
   );
 
   envShellInit = pkgs.writeText "shellInit" cfge.shellInit;
@@ -47,18 +45,18 @@ in
 
     programs.fish = {
 
-      enable = mkOption {
+      enable = lib.mkOption {
         default = false;
         description = ''
           Whether to configure fish as an interactive shell.
         '';
-        type = types.bool;
+        type = lib.types.bool;
       };
 
-      package = mkPackageOption pkgs "fish" { };
+      package = lib.mkPackageOption pkgs "fish" { };
 
-      useBabelfish = mkOption {
-        type = types.bool;
+      useBabelfish = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           If enabled, the configured environment will be translated to native fish using [babelfish](https://github.com/bouk/babelfish).
@@ -66,31 +64,31 @@ in
         '';
       };
 
-      vendor.config.enable = mkOption {
-        type = types.bool;
+      vendor.config.enable = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = ''
           Whether fish should source configuration snippets provided by other packages.
         '';
       };
 
-      vendor.completions.enable = mkOption {
-        type = types.bool;
+      vendor.completions.enable = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = ''
           Whether fish should use completion files provided by other packages.
         '';
       };
 
-      vendor.functions.enable = mkOption {
-        type = types.bool;
+      vendor.functions.enable = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = ''
           Whether fish should autoload fish functions provided by other packages.
         '';
       };
 
-      shellAbbrs = mkOption {
+      shellAbbrs = lib.mkOption {
         default = {};
         example = {
           gco = "git checkout";
@@ -99,63 +97,63 @@ in
         description = ''
           Set of fish abbreviations.
         '';
-        type = with types; attrsOf str;
+        type = with lib.types; attrsOf str;
       };
 
-      shellAliases = mkOption {
+      shellAliases = lib.mkOption {
         default = {};
         description = ''
           Set of aliases for fish shell, which overrides {option}`environment.shellAliases`.
           See {option}`environment.shellAliases` for an option format description.
         '';
-        type = with types; attrsOf (nullOr (either str path));
+        type = with lib.types; attrsOf (nullOr (either str path));
       };
 
-      shellInit = mkOption {
+      shellInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code called during fish shell initialisation.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      loginShellInit = mkOption {
+      loginShellInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code called during fish login shell initialisation.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      interactiveShellInit = mkOption {
+      interactiveShellInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code called during interactive fish shell initialisation.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      promptInit = mkOption {
+      promptInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code used to initialise fish prompt.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
     };
 
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
-    programs.fish.shellAliases = mapAttrs (name: mkDefault) cfge.shellAliases;
+    programs.fish.shellAliases = lib.mapAttrs (name: lib.mkDefault) cfge.shellAliases;
 
     # Required for man completions
     documentation.man.generateCaches = lib.mkDefault true;
 
-    environment = mkMerge [
-      (mkIf cfg.useBabelfish
+    environment = lib.mkMerge [
+      (lib.mkIf cfg.useBabelfish
       {
         etc."fish/setEnvironment.fish".source = babelfishTranslate config.system.build.setEnvironment "setEnvironment";
         etc."fish/shellInit.fish".source = babelfishTranslate envShellInit "shellInit";
@@ -163,7 +161,7 @@ in
         etc."fish/interactiveShellInit.fish".source = babelfishTranslate envInteractiveShellInit "interactiveShellInit";
      })
 
-      (mkIf (!cfg.useBabelfish)
+      (lib.mkIf (!cfg.useBabelfish)
       {
         etc."fish/foreign-env/shellInit".source = envShellInit;
         etc."fish/foreign-env/loginShellInit".source = envLoginShellInit;
@@ -266,7 +264,7 @@ in
                 pathName = substring storeLength (stringLength package - storeLength) package;
               in (package.name or pathName) + "_fish-completions")
             ( { inherit package; } //
-              optionalAttrs (package ? meta.priority) { meta.priority = package.meta.priority; })
+              lib.optionalAttrs (package ? meta.priority) { meta.priority = package.meta.priority; })
             ''
               mkdir -p $out
               if [ -d $package/share/man ]; then
@@ -277,16 +275,16 @@ in
           pkgs.buildEnv {
             name = "system_fish-completions";
             ignoreCollisions = true;
-            paths = map generateCompletions config.environment.systemPackages;
+            paths = builtins.map generateCompletions config.environment.systemPackages;
           };
       }
 
       # include programs that bring their own completions
       {
         pathsToLink = []
-        ++ optional cfg.vendor.config.enable "/share/fish/vendor_conf.d"
-        ++ optional cfg.vendor.completions.enable "/share/fish/vendor_completions.d"
-        ++ optional cfg.vendor.functions.enable "/share/fish/vendor_functions.d";
+        ++ lib.optional cfg.vendor.config.enable "/share/fish/vendor_conf.d"
+        ++ lib.optional cfg.vendor.completions.enable "/share/fish/vendor_completions.d"
+        ++ lib.optional cfg.vendor.functions.enable "/share/fish/vendor_functions.d";
       }
 
       { systemPackages = [ cfg.package ]; }
diff --git a/nixos/modules/programs/flashrom.nix b/nixos/modules/programs/flashrom.nix
index 1b9b4493ef201..dd398497c2d0d 100644
--- a/nixos/modules/programs/flashrom.nix
+++ b/nixos/modules/programs/flashrom.nix
@@ -1,14 +1,12 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.flashrom;
 in
 {
   options.programs.flashrom = {
-    enable = mkOption {
-      type = types.bool;
+    enable = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Installs flashrom and configures udev rules for programmers
@@ -16,10 +14,10 @@ in
         group.
       '';
     };
-    package = mkPackageOption pkgs "flashrom" { };
+    package = lib.mkPackageOption pkgs "flashrom" { };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     services.udev.packages = [ cfg.package ];
     environment.systemPackages = [ cfg.package ];
   };
diff --git a/nixos/modules/programs/flexoptix-app.nix b/nixos/modules/programs/flexoptix-app.nix
index 47a76da125f01..baa9e33882cae 100644
--- a/nixos/modules/programs/flexoptix-app.nix
+++ b/nixos/modules/programs/flexoptix-app.nix
@@ -1,19 +1,17 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.flexoptix-app;
 in {
   options = {
     programs.flexoptix-app = {
-      enable = mkEnableOption "FLEXOPTIX app + udev rules";
+      enable = lib.mkEnableOption "FLEXOPTIX app + udev rules";
 
-      package = mkPackageOption pkgs "flexoptix-app" { };
+      package = lib.mkPackageOption pkgs "flexoptix-app" { };
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
     services.udev.packages = [ cfg.package ];
   };
diff --git a/nixos/modules/programs/freetds.nix b/nixos/modules/programs/freetds.nix
index 8b52fc37c5e03..77daaa8fd3985 100644
--- a/nixos/modules/programs/freetds.nix
+++ b/nixos/modules/programs/freetds.nix
@@ -2,8 +2,6 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfg = config.environment.freetds;
@@ -14,10 +12,10 @@ in
 
   options = {
 
-    environment.freetds = mkOption {
-      type = types.attrsOf types.str;
+    environment.freetds = lib.mkOption {
+      type = lib.types.attrsOf lib.types.str;
       default = {};
-      example = literalExpression ''
+      example = lib.literalExpression ''
         { MYDATABASE = '''
             host = 10.0.2.100
             port = 1433
@@ -40,14 +38,14 @@ in
 
   ###### implementation
 
-  config = mkIf (length (attrNames cfg) > 0) {
+  config = lib.mkIf (builtins.length (builtins.attrNames cfg) > 0) {
 
     environment.variables.FREETDSCONF = "/etc/freetds.conf";
     environment.variables.FREETDS = "/etc/freetds.conf";
     environment.variables.SYBASE = "${pkgs.freetds}";
 
     environment.etc."freetds.conf" = { text =
-      (concatStrings (mapAttrsToList (name: value:
+      (lib.concatStrings (lib.mapAttrsToList (name: value:
         ''
         [${name}]
         ${value}
diff --git a/nixos/modules/programs/fuse.nix b/nixos/modules/programs/fuse.nix
index c15896efbb51a..7083194bd9894 100644
--- a/nixos/modules/programs/fuse.nix
+++ b/nixos/modules/programs/fuse.nix
@@ -1,25 +1,23 @@
 { config, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.fuse;
 in {
-  meta.maintainers = with maintainers; [ primeos ];
+  meta.maintainers = with lib.maintainers; [ primeos ];
 
   options.programs.fuse = {
-    mountMax = mkOption {
+    mountMax = lib.mkOption {
       # In the C code it's an "int" (i.e. signed and at least 16 bit), but
       # negative numbers obviously make no sense:
-      type = types.ints.between 0 32767; # 2^15 - 1
+      type = lib.types.ints.between 0 32767; # 2^15 - 1
       default = 1000;
       description = ''
         Set the maximum number of FUSE mounts allowed to non-root users.
       '';
     };
 
-    userAllowOther = mkOption {
-      type = types.bool;
+    userAllowOther = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Allow non-root users to specify the allow_other or allow_root mount
@@ -30,8 +28,8 @@ in {
 
   config =  {
     environment.etc."fuse.conf".text = ''
-      ${optionalString (!cfg.userAllowOther) "#"}user_allow_other
-      mount_max = ${toString cfg.mountMax}
+      ${lib.optionalString (!cfg.userAllowOther) "#"}user_allow_other
+      mount_max = ${builtins.toString cfg.mountMax}
     '';
   };
 }
diff --git a/nixos/modules/programs/gamemode.nix b/nixos/modules/programs/gamemode.nix
index 878f785074f17..14892f9c6eac8 100644
--- a/nixos/modules/programs/gamemode.nix
+++ b/nixos/modules/programs/gamemode.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.gamemode;
   settingsFormat = pkgs.formats.ini { };
@@ -10,20 +8,20 @@ in
 {
   options = {
     programs.gamemode = {
-      enable = mkEnableOption "GameMode to optimise system performance on demand";
+      enable = lib.mkEnableOption "GameMode to optimise system performance on demand";
 
-      enableRenice = mkEnableOption "CAP_SYS_NICE on gamemoded to support lowering process niceness" // {
+      enableRenice = lib.mkEnableOption "CAP_SYS_NICE on gamemoded to support lowering process niceness" // {
         default = true;
       };
 
-      settings = mkOption {
+      settings = lib.mkOption {
         type = settingsFormat.type;
         default = { };
         description = ''
           System-wide configuration for GameMode (/etc/gamemode.ini).
           See gamemoded(8) man page for available settings.
         '';
-        example = literalExpression ''
+        example = lib.literalExpression ''
           {
             general = {
               renice = 10;
@@ -46,7 +44,7 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment = {
       systemPackages = [ pkgs.gamemode ];
       etc."gamemode.ini".source = configFile;
@@ -54,7 +52,7 @@ in
 
     security = {
       polkit.enable = true;
-      wrappers = mkIf cfg.enableRenice {
+      wrappers = lib.mkIf cfg.enableRenice {
         gamemoded = {
           owner = "root";
           group = "root";
@@ -77,14 +75,14 @@ in
         #
         # This uses a link farm to make sure other wrapped executables
         # aren't included in PATH.
-        environment.PATH = mkForce (pkgs.linkFarm "pkexec" [
+        environment.PATH = lib.mkForce (pkgs.linkFarm "pkexec" [
           {
             name = "pkexec";
             path = "${config.security.wrapperDir}/pkexec";
           }
         ]);
 
-        serviceConfig.ExecStart = mkIf cfg.enableRenice [
+        serviceConfig.ExecStart = lib.mkIf cfg.enableRenice [
           "" # Tell systemd to clear the existing ExecStart list, to prevent appending to it.
           "${config.security.wrapperDir}/gamemoded"
         ];
@@ -95,6 +93,6 @@ in
   };
 
   meta = {
-    maintainers = with maintainers; [ kira-bruneau ];
+    maintainers = with lib.maintainers; [ kira-bruneau ];
   };
 }
diff --git a/nixos/modules/programs/gamescope.nix b/nixos/modules/programs/gamescope.nix
index af9ced4715391..6a0b0a8fbdddd 100644
--- a/nixos/modules/programs/gamescope.nix
+++ b/nixos/modules/programs/gamescope.nix
@@ -3,30 +3,30 @@
 , pkgs
 , ...
 }:
-with lib; let
+let
   cfg = config.programs.gamescope;
 
   gamescope =
     let
       wrapperArgs =
-        optional (cfg.args != [ ])
-          ''--add-flags "${toString cfg.args}"''
-        ++ builtins.attrValues (mapAttrs (var: val: "--set-default ${var} ${val}") cfg.env);
+        lib.optional (cfg.args != [ ])
+          ''--add-flags "${builtins.toString cfg.args}"''
+        ++ builtins.attrValues (builtins.mapAttrs (var: val: "--set-default ${var} ${val}") cfg.env);
     in
     pkgs.runCommand "gamescope" { nativeBuildInputs = [ pkgs.makeBinaryWrapper ]; } ''
       mkdir -p $out/bin
       makeWrapper ${cfg.package}/bin/gamescope $out/bin/gamescope --inherit-argv0 \
-        ${toString wrapperArgs}
+        ${builtins.toString wrapperArgs}
     '';
 in
 {
   options.programs.gamescope = {
-    enable = mkEnableOption "gamescope, the SteamOS session compositing window manager";
+    enable = lib.mkEnableOption "gamescope, the SteamOS session compositing window manager";
 
-    package = mkPackageOption pkgs "gamescope" { };
+    package = lib.mkPackageOption pkgs "gamescope" { };
 
-    capSysNice = mkOption {
-      type = types.bool;
+    capSysNice = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Add cap_sys_nice capability to the GameScope
@@ -34,8 +34,8 @@ in
       '';
     };
 
-    args = mkOption {
-      type = types.listOf types.str;
+    args = lib.mkOption {
+      type = lib.types.listOf lib.types.str;
       default = [ ];
       example = [ "--rt" "--prefer-vk-device 8086:9bc4" ];
       description = ''
@@ -43,10 +43,10 @@ in
       '';
     };
 
-    env = mkOption {
-      type = types.attrsOf types.str;
+    env = lib.mkOption {
+      type = lib.types.attrsOf lib.types.str;
       default = { };
-      example = literalExpression ''
+      example = lib.literalExpression ''
         # for Prime render offload on Nvidia laptops.
         # Also requires `hardware.nvidia.prime.offload.enable`.
         {
@@ -61,8 +61,8 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
-    security.wrappers = mkIf cfg.capSysNice {
+  config = lib.mkIf cfg.enable {
+    security.wrappers = lib.mkIf cfg.capSysNice {
       gamescope = {
         owner = "root";
         group = "root";
@@ -71,8 +71,8 @@ in
       };
     };
 
-    environment.systemPackages = mkIf (!cfg.capSysNice) [ gamescope ];
+    environment.systemPackages = lib.mkIf (!cfg.capSysNice) [ gamescope ];
   };
 
-  meta.maintainers = with maintainers; [ nrdxp ];
+  meta.maintainers = with lib.maintainers; [ nrdxp ];
 }
diff --git a/nixos/modules/programs/geary.nix b/nixos/modules/programs/geary.nix
index 6103ee7df8591..cfd5bed78d971 100644
--- a/nixos/modules/programs/geary.nix
+++ b/nixos/modules/programs/geary.nix
@@ -1,20 +1,18 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.geary;
 
 in {
   meta = {
-    maintainers = teams.gnome.members;
+    maintainers = lib.teams.gnome.members;
   };
 
   options = {
-    programs.geary.enable = mkEnableOption "Geary, a Mail client for GNOME";
+    programs.geary.enable = lib.mkEnableOption "Geary, a Mail client for GNOME";
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.gnome.geary ];
     programs.dconf.enable = true;
     services.gnome.gnome-keyring.enable = true;
diff --git a/nixos/modules/programs/git.nix b/nixos/modules/programs/git.nix
index 2a5d52f2d191f..e4f6ce937f04d 100644
--- a/nixos/modules/programs/git.nix
+++ b/nixos/modules/programs/git.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.git;
 in
@@ -9,23 +7,23 @@ in
 {
   options = {
     programs.git = {
-      enable = mkEnableOption "git, a distributed version control system";
+      enable = lib.mkEnableOption "git, a distributed version control system";
 
-      package = mkPackageOption pkgs "git" {
+      package = lib.mkPackageOption pkgs "git" {
         example = "gitFull";
       };
 
-      config = mkOption {
+      config = lib.mkOption {
         type =
-          with types;
+          with lib.types;
           let
             gitini = attrsOf (attrsOf anything);
           in
           either gitini (listOf gitini) // {
             merge = loc: defs:
               let
-                config = foldl'
-                  (acc: { value, ... }@x: acc // (if isList value then {
+                config = builtins.foldl'
+                  (acc: { value, ... }@x: acc // (if builtins.isList value then {
                     ordered = acc.ordered ++ value;
                   } else {
                     unordered = acc.unordered ++ [ x ];
@@ -55,25 +53,25 @@ in
       };
 
       prompt = {
-        enable = mkEnableOption "automatically sourcing git-prompt.sh. This does not change $PS1; it simply provides relevant utility functions";
+        enable = lib.mkEnableOption "automatically sourcing git-prompt.sh. This does not change $PS1; it simply provides relevant utility functions";
       };
 
       lfs = {
-        enable = mkEnableOption "git-lfs (Large File Storage)";
+        enable = lib.mkEnableOption "git-lfs (Large File Storage)";
 
-        package = mkPackageOption pkgs "git-lfs" { };
+        package = lib.mkPackageOption pkgs "git-lfs" { };
       };
     };
   };
 
-  config = mkMerge [
-    (mkIf cfg.enable {
+  config = lib.mkMerge [
+    (lib.mkIf cfg.enable {
       environment.systemPackages = [ cfg.package ];
-      environment.etc.gitconfig = mkIf (cfg.config != [ ]) {
-        text = concatMapStringsSep "\n" generators.toGitINI cfg.config;
+      environment.etc.gitconfig = lib.mkIf (cfg.config != [ ]) {
+        text = lib.concatMapStringsSep "\n" lib.generators.toGitINI cfg.config;
       };
     })
-    (mkIf (cfg.enable && cfg.lfs.enable) {
+    (lib.mkIf (cfg.enable && cfg.lfs.enable) {
       environment.systemPackages = [ cfg.lfs.package ];
       programs.git.config = {
         filter.lfs = {
@@ -84,12 +82,12 @@ in
         };
       };
     })
-    (mkIf (cfg.enable && cfg.prompt.enable) {
+    (lib.mkIf (cfg.enable && cfg.prompt.enable) {
       environment.interactiveShellInit = ''
         source ${cfg.package}/share/bash-completion/completions/git-prompt.sh
       '';
     })
   ];
 
-  meta.maintainers = with maintainers; [ figsoda ];
+  meta.maintainers = with lib.maintainers; [ figsoda ];
 }
diff --git a/nixos/modules/programs/gphoto2.nix b/nixos/modules/programs/gphoto2.nix
index d99259b545825..d9f09483f63c1 100644
--- a/nixos/modules/programs/gphoto2.nix
+++ b/nixos/modules/programs/gphoto2.nix
@@ -1,16 +1,14 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 {
-  meta.maintainers = [ maintainers.league ];
+  meta.maintainers = [ lib.maintainers.league ];
 
   ###### interface
   options = {
     programs.gphoto2 = {
-      enable = mkOption {
+      enable = lib.mkOption {
         default = false;
-        type = types.bool;
+        type = lib.types.bool;
         description = ''
           Whether to configure system to use gphoto2.
           To grant digital camera access to a user, the user must
@@ -22,7 +20,7 @@ with lib;
   };
 
   ###### implementation
-  config = mkIf config.programs.gphoto2.enable {
+  config = lib.mkIf config.programs.gphoto2.enable {
     services.udev.packages = [ pkgs.libgphoto2 ];
     environment.systemPackages = [ pkgs.gphoto2 ];
     users.groups.camera = {};
diff --git a/nixos/modules/programs/haguichi.nix b/nixos/modules/programs/haguichi.nix
index 4f48551cf1dac..fd769ac8d0a03 100644
--- a/nixos/modules/programs/haguichi.nix
+++ b/nixos/modules/programs/haguichi.nix
@@ -1,13 +1,11 @@
 { lib, pkgs, config, ... }:
 
-with lib;
-
 {
   options.programs.haguichi = {
-    enable = mkEnableOption "Haguichi, a Linux GUI frontend to the proprietary LogMeIn Hamachi";
+    enable = lib.mkEnableOption "Haguichi, a Linux GUI frontend to the proprietary LogMeIn Hamachi";
   };
 
-  config = mkIf config.programs.haguichi.enable {
+  config = lib.mkIf config.programs.haguichi.enable {
     environment.systemPackages = with pkgs; [ haguichi ];
 
     services.logmein-hamachi.enable = true;
diff --git a/nixos/modules/programs/hamster.nix b/nixos/modules/programs/hamster.nix
index 0bb56ad7ff36a..90cfc0f86a246 100644
--- a/nixos/modules/programs/hamster.nix
+++ b/nixos/modules/programs/hamster.nix
@@ -1,12 +1,10 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 {
   meta.maintainers = pkgs.hamster.meta.maintainers;
 
   options.programs.hamster.enable =
-    mkEnableOption "hamster, a time tracking program";
+    lib.mkEnableOption "hamster, a time tracking program";
 
   config = lib.mkIf config.programs.hamster.enable {
     environment.systemPackages = [ pkgs.hamster ];
diff --git a/nixos/modules/programs/htop.nix b/nixos/modules/programs/htop.nix
index bf3d851081706..1252b41e8b851 100644
--- a/nixos/modules/programs/htop.nix
+++ b/nixos/modules/programs/htop.nix
@@ -1,29 +1,27 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfg = config.programs.htop;
 
   fmt = value:
-    if isList value then concatStringsSep " " (map fmt value) else
-    if isString value then value else
-    if isBool value then if value then "1" else "0" else
-    if isInt value then toString value else
-    throw "Unrecognized type ${typeOf value} in htop settings";
+    if builtins.isList value then builtins.concatStringsSep " " (builtins.map fmt value) else
+    if builtins.isString value then value else
+    if builtins.isBool value then if value then "1" else "0" else
+    if builtins.isInt value then builtins.toString value else
+    throw "Unrecognized type ${builtins.typeOf value} in htop settings";
 
 in
 
 {
 
   options.programs.htop = {
-    package = mkPackageOption pkgs "htop" { };
+    package = lib.mkPackageOption pkgs "htop" { };
 
-    enable = mkEnableOption "htop process monitor";
+    enable = lib.mkEnableOption "htop process monitor";
 
-    settings = mkOption {
-      type = with types; attrsOf (oneOf [ str int bool (listOf (oneOf [ str int bool ])) ]);
+    settings = lib.mkOption {
+      type = with lib.types; attrsOf (oneOf [ str int bool (listOf (oneOf [ str int bool ])) ]);
       default = {};
       example = {
         hide_kernel_threads = true;
@@ -38,7 +36,7 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [
       cfg.package
     ];
@@ -46,7 +44,7 @@ in
     environment.etc."htoprc".text = ''
       # Global htop configuration
       # To change set: programs.htop.settings.KEY = VALUE;
-    '' + concatStringsSep "\n" (mapAttrsToList (key: value: "${key}=${fmt value}") cfg.settings);
+    '' + builtins.concatStringsSep "\n" (lib.mapAttrsToList (key: value: "${key}=${fmt value}") cfg.settings);
   };
 
 }
diff --git a/nixos/modules/programs/i3lock.nix b/nixos/modules/programs/i3lock.nix
index 8068ecaf08ca7..ff616144e2834 100644
--- a/nixos/modules/programs/i3lock.nix
+++ b/nixos/modules/programs/i3lock.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfg = config.programs.i3lock;
@@ -12,8 +10,8 @@ in {
 
   options = {
     programs.i3lock = {
-      enable = mkEnableOption "i3lock";
-      package = mkPackageOption pkgs "i3lock" {
+      enable = lib.mkEnableOption "i3lock";
+      package = lib.mkPackageOption pkgs "i3lock" {
         example = "i3lock-color";
         extraDescription = ''
           ::: {.note}
@@ -21,8 +19,8 @@ in {
           :::
         '';
       };
-      u2fSupport = mkOption {
-        type        = types.bool;
+      u2fSupport = lib.mkOption {
+        type        = lib.types.bool;
         default     = false;
         example     = true;
         description = ''
@@ -36,11 +34,11 @@ in {
 
   ###### implementation
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
     environment.systemPackages = [ cfg.package ];
 
-    security.wrappers.i3lock = mkIf cfg.u2fSupport {
+    security.wrappers.i3lock = lib.mkIf cfg.u2fSupport {
       setuid = true;
       owner = "root";
       group = "root";
diff --git a/nixos/modules/programs/iftop.nix b/nixos/modules/programs/iftop.nix
index c74714a9a6d64..d6e56c8fded69 100644
--- a/nixos/modules/programs/iftop.nix
+++ b/nixos/modules/programs/iftop.nix
@@ -1,14 +1,12 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.iftop;
 in {
   options = {
-    programs.iftop.enable = mkEnableOption "iftop + setcap wrapper";
+    programs.iftop.enable = lib.mkEnableOption "iftop + setcap wrapper";
   };
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.iftop ];
     security.wrappers.iftop = {
       owner = "root";
diff --git a/nixos/modules/programs/iotop.nix b/nixos/modules/programs/iotop.nix
index b7c1c69f9ddd0..ba8d028f6bb8d 100644
--- a/nixos/modules/programs/iotop.nix
+++ b/nixos/modules/programs/iotop.nix
@@ -1,14 +1,12 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.iotop;
 in {
   options = {
-    programs.iotop.enable = mkEnableOption "iotop + setcap wrapper";
+    programs.iotop.enable = lib.mkEnableOption "iotop + setcap wrapper";
   };
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     security.wrappers.iotop = {
       owner = "root";
       group = "root";
diff --git a/nixos/modules/programs/java.nix b/nixos/modules/programs/java.nix
index f201f67b42e46..784add809682e 100644
--- a/nixos/modules/programs/java.nix
+++ b/nixos/modules/programs/java.nix
@@ -3,8 +3,6 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.java;
 in
@@ -14,7 +12,7 @@ in
 
     programs.java = {
 
-      enable = mkEnableOption "java" // {
+      enable = lib.mkEnableOption "java" // {
         description = ''
           Install and setup the Java development kit.
 
@@ -30,19 +28,19 @@ in
         '';
       };
 
-      package = mkPackageOption pkgs "jdk" {
+      package = lib.mkPackageOption pkgs "jdk" {
         example = "jre";
       };
 
-      binfmt = mkEnableOption "binfmt to execute java jar's and classes";
+      binfmt = lib.mkEnableOption "binfmt to execute java jar's and classes";
 
     };
 
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
-    boot.binfmt.registrations = mkIf cfg.binfmt {
+    boot.binfmt.registrations = lib.mkIf cfg.binfmt {
       java-class = {
         recognitionType = "extension";
         magicOrExtension = "class";
diff --git a/nixos/modules/programs/joycond-cemuhook.nix b/nixos/modules/programs/joycond-cemuhook.nix
index ebb0198ee60c0..6cdd198a7df23 100644
--- a/nixos/modules/programs/joycond-cemuhook.nix
+++ b/nixos/modules/programs/joycond-cemuhook.nix
@@ -1,8 +1,7 @@
 { lib, pkgs, config, ... }:
-with lib;
 {
   options.programs.joycond-cemuhook = {
-    enable = mkEnableOption "joycond-cemuhook, a program to enable support for cemuhook's UDP protocol for joycond devices.";
+    enable = lib.mkEnableOption "joycond-cemuhook, a program to enable support for cemuhook's UDP protocol for joycond devices.";
   };
 
   config = lib.mkIf config.programs.joycond-cemuhook.enable {
diff --git a/nixos/modules/programs/k3b.nix b/nixos/modules/programs/k3b.nix
index 4d6385dab4f07..3e9435d3dc601 100644
--- a/nixos/modules/programs/k3b.nix
+++ b/nixos/modules/programs/k3b.nix
@@ -1,12 +1,10 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 {
   # interface
   options.programs.k3b = {
-    enable = mkOption {
-      type = types.bool;
+    enable = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Whether to enable k3b, the KDE disk burning application.
@@ -22,7 +20,7 @@ with lib;
   };
 
   # implementation
-  config = mkIf config.programs.k3b.enable {
+  config = lib.mkIf config.programs.k3b.enable {
 
     environment.systemPackages = with pkgs; [
       k3b
diff --git a/nixos/modules/programs/k40-whisperer.nix b/nixos/modules/programs/k40-whisperer.nix
index 156ded6c39fe8..0f29c476cbb79 100644
--- a/nixos/modules/programs/k40-whisperer.nix
+++ b/nixos/modules/programs/k40-whisperer.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.k40-whisperer;
   pkg = cfg.package.override {
@@ -10,20 +8,20 @@ let
 in
 {
   options.programs.k40-whisperer = {
-    enable = mkEnableOption "K40-Whisperer";
+    enable = lib.mkEnableOption "K40-Whisperer";
 
-    group = mkOption {
-      type = types.str;
+    group = lib.mkOption {
+      type = lib.types.str;
       description = ''
         Group assigned to the device when connected.
       '';
       default = "k40";
     };
 
-    package = mkPackageOption pkgs "k40-whisperer" { };
+    package = lib.mkPackageOption pkgs "k40-whisperer" { };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     users.groups.${cfg.group} = {};
 
     environment.systemPackages = [ pkg ];
diff --git a/nixos/modules/programs/kbdlight.nix b/nixos/modules/programs/kbdlight.nix
index 8a2a0057cf2da..934bb214c1166 100644
--- a/nixos/modules/programs/kbdlight.nix
+++ b/nixos/modules/programs/kbdlight.nix
@@ -1,15 +1,13 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.kbdlight;
 
 in
 {
-  options.programs.kbdlight.enable = mkEnableOption "kbdlight";
+  options.programs.kbdlight.enable = lib.mkEnableOption "kbdlight";
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.kbdlight ];
     security.wrappers.kbdlight =
       { setuid = true;
diff --git a/nixos/modules/programs/kclock.nix b/nixos/modules/programs/kclock.nix
index c2299a3f1b034..b69f358ec1ff9 100644
--- a/nixos/modules/programs/kclock.nix
+++ b/nixos/modules/programs/kclock.nix
@@ -1,12 +1,11 @@
 { lib, pkgs, config, ... }:
-with lib;
 let
   cfg = config.programs.kclock;
   kclockPkg = pkgs.libsForQt5.kclock;
 in {
-  options.programs.kclock = { enable = mkEnableOption "KClock"; };
+  options.programs.kclock = { enable = lib.mkEnableOption "KClock"; };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     services.dbus.packages = [ kclockPkg ];
     environment.systemPackages = [ kclockPkg ];
   };
diff --git a/nixos/modules/programs/kdeconnect.nix b/nixos/modules/programs/kdeconnect.nix
index 1431281405968..dbdff1e447c5c 100644
--- a/nixos/modules/programs/kdeconnect.nix
+++ b/nixos/modules/programs/kdeconnect.nix
@@ -1,8 +1,7 @@
 { config, pkgs, lib, ... }:
-with lib;
 {
   options.programs.kdeconnect = {
-    enable = mkEnableOption ''
+    enable = lib.mkEnableOption ''
       kdeconnect.
 
       Note that it will open the TCP and UDP port from
@@ -11,7 +10,7 @@ with lib;
       `gnomeExtensions.gsconnect` as an alternative
       implementation if you use Gnome
     '';
-    package = mkPackageOption pkgs [ "plasma5Packages" "kdeconnect-kde" ] {
+    package = lib.mkPackageOption pkgs [ "plasma5Packages" "kdeconnect-kde" ] {
       example = "gnomeExtensions.gsconnect";
     };
   };
@@ -19,7 +18,7 @@ with lib;
     let
       cfg = config.programs.kdeconnect;
     in
-      mkIf cfg.enable {
+      lib.mkIf cfg.enable {
         environment.systemPackages = [
           cfg.package
           pkgs.sshfs
diff --git a/nixos/modules/programs/less.nix b/nixos/modules/programs/less.nix
index 2cb7620075118..c904fc2089aa3 100644
--- a/nixos/modules/programs/less.nix
+++ b/nixos/modules/programs/less.nix
@@ -1,26 +1,24 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfg = config.programs.less;
 
   configText = if (cfg.configFile != null) then (builtins.readFile cfg.configFile) else ''
     #command
-    ${concatStringsSep "\n"
-      (mapAttrsToList (command: action: "${command} ${action}") cfg.commands)
+    ${builtins.concatStringsSep "\n"
+      (lib.mapAttrsToList (command: action: "${command} ${action}") cfg.commands)
     }
-    ${optionalString cfg.clearDefaultCommands "#stop"}
+    ${lib.optionalString cfg.clearDefaultCommands "#stop"}
 
     #line-edit
-    ${concatStringsSep "\n"
-      (mapAttrsToList (command: action: "${command} ${action}") cfg.lineEditingKeys)
+    ${builtins.concatStringsSep "\n"
+      (lib.mapAttrsToList (command: action: "${command} ${action}") cfg.lineEditingKeys)
     }
 
     #env
-    ${concatStringsSep "\n"
-      (mapAttrsToList (variable: values: "${variable}=${values}") cfg.envVariables)
+    ${builtins.concatStringsSep "\n"
+      (lib.mapAttrsToList (variable: values: "${variable}=${values}") cfg.envVariables)
     }
   '';
 
@@ -35,12 +33,12 @@ in
 
       # note that environment.nix sets PAGER=less, and
       # therefore also enables this module
-      enable = mkEnableOption "less, a file pager";
+      enable = lib.mkEnableOption "less, a file pager";
 
-      configFile = mkOption {
-        type = types.nullOr types.path;
+      configFile = lib.mkOption {
+        type = lib.types.nullOr lib.types.path;
         default = null;
-        example = literalExpression ''"''${pkgs.my-configs}/lesskey"'';
+        example = lib.literalExpression ''"''${pkgs.my-configs}/lesskey"'';
         description = ''
           Path to lesskey configuration file.
 
@@ -50,8 +48,8 @@ in
         '';
       };
 
-      commands = mkOption {
-        type = types.attrsOf types.str;
+      commands = lib.mkOption {
+        type = lib.types.attrsOf lib.types.str;
         default = {};
         example = {
           h = "noaction 5\\e(";
@@ -60,8 +58,8 @@ in
         description = "Defines new command keys.";
       };
 
-      clearDefaultCommands = mkOption {
-        type = types.bool;
+      clearDefaultCommands = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Clear all default commands.
@@ -70,8 +68,8 @@ in
         '';
       };
 
-      lineEditingKeys = mkOption {
-        type = types.attrsOf types.str;
+      lineEditingKeys = lib.mkOption {
+        type = lib.types.attrsOf lib.types.str;
         default = {};
         example = {
           e = "abort";
@@ -79,8 +77,8 @@ in
         description = "Defines new line-editing keys.";
       };
 
-      envVariables = mkOption {
-        type = types.attrsOf types.str;
+      envVariables = lib.mkOption {
+        type = lib.types.attrsOf lib.types.str;
         default = {
           LESS = "-R";
         };
@@ -90,17 +88,17 @@ in
         description = "Defines environment variables.";
       };
 
-      lessopen = mkOption {
-        type = types.nullOr types.str;
+      lessopen = lib.mkOption {
+        type = lib.types.nullOr lib.types.str;
         default = "|${pkgs.lesspipe}/bin/lesspipe.sh %s";
-        defaultText = literalExpression ''"|''${pkgs.lesspipe}/bin/lesspipe.sh %s"'';
+        defaultText = lib.literalExpression ''"|''${pkgs.lesspipe}/bin/lesspipe.sh %s"'';
         description = ''
           Before less opens a file, it first gives your input preprocessor a chance to modify the way the contents of the file are displayed.
         '';
       };
 
-      lessclose = mkOption {
-        type = types.nullOr types.str;
+      lessclose = lib.mkOption {
+        type = lib.types.nullOr lib.types.str;
         default = null;
         description = ''
           When less closes a file opened in such a way, it will call another program, called the input postprocessor,
@@ -110,26 +108,26 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
     environment.systemPackages = [ pkgs.less ];
 
     environment.variables = {
-      LESSKEYIN_SYSTEM = toString lessKey;
-    } // optionalAttrs (cfg.lessopen != null) {
+      LESSKEYIN_SYSTEM = builtins.toString lessKey;
+    } // lib.optionalAttrs (cfg.lessopen != null) {
       LESSOPEN = cfg.lessopen;
-    } // optionalAttrs (cfg.lessclose != null) {
+    } // lib.optionalAttrs (cfg.lessclose != null) {
       LESSCLOSE = cfg.lessclose;
     };
 
-    warnings = optional (
-      cfg.clearDefaultCommands && (all (x: x != "quit") (attrValues cfg.commands))
+    warnings = lib.optional (
+      cfg.clearDefaultCommands && (builtins.all (x: x != "quit") (builtins.attrValues cfg.commands))
     ) ''
       config.programs.less.clearDefaultCommands clears all default commands of less but there is no alternative binding for exiting.
       Consider adding a binding for 'quit'.
     '';
   };
 
-  meta.maintainers = with maintainers; [ johnazoidberg ];
+  meta.maintainers = with lib.maintainers; [ johnazoidberg ];
 
 }
diff --git a/nixos/modules/programs/liboping.nix b/nixos/modules/programs/liboping.nix
index 4433f9767d6ee..5ff9ad74b1584 100644
--- a/nixos/modules/programs/liboping.nix
+++ b/nixos/modules/programs/liboping.nix
@@ -1,16 +1,14 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.liboping;
 in {
   options.programs.liboping = {
-    enable = mkEnableOption "liboping";
+    enable = lib.mkEnableOption "liboping";
   };
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [ liboping ];
-    security.wrappers = mkMerge (map (
+    security.wrappers = lib.mkMerge (builtins.map (
       exec: {
         "${exec}" = {
           owner = "root";
diff --git a/nixos/modules/programs/light.nix b/nixos/modules/programs/light.nix
index b1584a1b3d28c..29fcc98a8e0ad 100644
--- a/nixos/modules/programs/light.nix
+++ b/nixos/modules/programs/light.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.light;
 
@@ -10,9 +8,9 @@ in
   options = {
     programs.light = {
 
-      enable = mkOption {
+      enable = lib.mkOption {
         default = false;
-        type = types.bool;
+        type = lib.types.bool;
         description = ''
           Whether to install Light backlight control command
           and udev rules granting access to members of the "video" group.
@@ -20,8 +18,8 @@ in
       };
 
       brightnessKeys = {
-        enable = mkOption {
-          type = types.bool;
+        enable = lib.mkOption {
+          type = lib.types.bool;
           default = false;
           description = ''
             Whether to enable brightness control with keyboard keys.
@@ -38,8 +36,8 @@ in
           '';
         };
 
-        step = mkOption {
-          type = types.int;
+        step = lib.mkOption {
+          type = lib.types.int;
           default = 10;
           description = ''
             The percentage value by which to increase/decrease brightness.
@@ -51,14 +49,14 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.light ];
     services.udev.packages = [ pkgs.light ];
-    services.actkbd = mkIf cfg.brightnessKeys.enable {
+    services.actkbd = lib.mkIf cfg.brightnessKeys.enable {
       enable = true;
       bindings = let
         light = "${pkgs.light}/bin/light";
-        step = toString cfg.brightnessKeys.step;
+        step = builtins.toString cfg.brightnessKeys.step;
       in [
         {
           keys = [ 224 ];
diff --git a/nixos/modules/programs/mdevctl.nix b/nixos/modules/programs/mdevctl.nix
index be33835639d2e..a7e7d01dffdfc 100644
--- a/nixos/modules/programs/mdevctl.nix
+++ b/nixos/modules/programs/mdevctl.nix
@@ -1,14 +1,13 @@
 { config, pkgs, lib, ... }:
 
-with lib;
 let
   cfg = config.programs.mdevctl;
 in {
   options.programs.mdevctl = {
-    enable = mkEnableOption "Mediated Device Management";
+    enable = lib.mkEnableOption "Mediated Device Management";
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [ mdevctl ];
 
     environment.etc."mdevctl.d/scripts.d/notifiers/.keep".text = "";
diff --git a/nixos/modules/programs/mepo.nix b/nixos/modules/programs/mepo.nix
index 22596892ff5dc..783d2ad149626 100644
--- a/nixos/modules/programs/mepo.nix
+++ b/nixos/modules/programs/mepo.nix
@@ -1,15 +1,14 @@
 { pkgs, config, lib, ...}:
-with lib;
 let
   cfg = config.programs.mepo;
 in
 {
   options.programs.mepo = {
-    enable = mkEnableOption "Mepo, a fast, simple and hackable OSM map viewer";
+    enable = lib.mkEnableOption "Mepo, a fast, simple and hackable OSM map viewer";
 
     locationBackends = {
-      gpsd = mkOption {
-        type = types.bool;
+      gpsd = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to enable location detection via gpsd.
@@ -17,21 +16,21 @@ in
         '';
       };
 
-      geoclue = mkOption {
-        type = types.bool;
+      geoclue = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = "Whether to enable location detection via geoclue";
       };
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [
       mepo
     ] ++ lib.optional cfg.locationBackends.geoclue geoclue2-with-demo-agent
     ++ lib.optional cfg.locationBackends.gpsd gpsd;
 
-    services.geoclue2 = mkIf cfg.locationBackends.geoclue {
+    services.geoclue2 = lib.mkIf cfg.locationBackends.geoclue {
       enable = true;
       appConfig.where-am-i = {
         isAllowed = true;
@@ -42,5 +41,5 @@ in
     services.gpsd.enable = cfg.locationBackends.gpsd;
   };
 
-  meta.maintainers = with maintainers; [ laalsaas ];
+  meta.maintainers = with lib.maintainers; [ laalsaas ];
 }
diff --git a/nixos/modules/programs/mininet.nix b/nixos/modules/programs/mininet.nix
index a9190ed989007..ab862b21fe021 100644
--- a/nixos/modules/programs/mininet.nix
+++ b/nixos/modules/programs/mininet.nix
@@ -2,15 +2,13 @@
 # kernel must have NETNS/VETH/SCHED
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.mininet;
 in
 {
-  options.programs.mininet.enable = mkEnableOption "Mininet, an emulator for rapid prototyping of Software Defined Networks";
+  options.programs.mininet.enable = lib.mkEnableOption "Mininet, an emulator for rapid prototyping of Software Defined Networks";
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
     virtualisation.vswitch.enable = true;
 
diff --git a/nixos/modules/programs/msmtp.nix b/nixos/modules/programs/msmtp.nix
index 9c067bdc96957..8a04acb3b7ea6 100644
--- a/nixos/modules/programs/msmtp.nix
+++ b/nixos/modules/programs/msmtp.nix
@@ -1,27 +1,25 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.msmtp;
 
 in {
-  meta.maintainers = with maintainers; [ pacien ];
+  meta.maintainers = with lib.maintainers; [ pacien ];
 
   options = {
     programs.msmtp = {
-      enable = mkEnableOption "msmtp - an SMTP client";
+      enable = lib.mkEnableOption "msmtp - an SMTP client";
 
-      setSendmail = mkOption {
-        type = types.bool;
+      setSendmail = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = ''
           Whether to set the system sendmail to msmtp's.
         '';
       };
 
-      defaults = mkOption {
-        type = types.attrs;
+      defaults = lib.mkOption {
+        type = lib.types.attrs;
         default = {};
         example = {
           aliases = "/etc/aliases";
@@ -34,8 +32,8 @@ in {
         '';
       };
 
-      accounts = mkOption {
-        type = with types; attrsOf attrs;
+      accounts = lib.mkOption {
+        type = with lib.types; attrsOf attrs;
         default = {};
         example = {
           "default" = {
@@ -59,8 +57,8 @@ in {
         '';
       };
 
-      extraConfig = mkOption {
-        type = types.lines;
+      extraConfig = lib.mkOption {
+        type = lib.types.lines;
         default = "";
         description = ''
           Extra lines to add to the msmtp configuration verbatim.
@@ -70,10 +68,10 @@ in {
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.msmtp ];
 
-    services.mail.sendmailSetuidWrapper = mkIf cfg.setSendmail {
+    services.mail.sendmailSetuidWrapper = lib.mkIf cfg.setSendmail {
       program = "sendmail";
       source = "${pkgs.msmtp}/bin/sendmail";
       setuid = false;
@@ -86,10 +84,10 @@ in {
       mkValueString = v:
         if v == true then "on"
         else if v == false then "off"
-        else generators.mkValueStringDefault {} v;
+        else lib.generators.mkValueStringDefault {} v;
       mkKeyValueString = k: v: "${k} ${mkValueString v}";
       mkInnerSectionString =
-        attrs: concatStringsSep "\n" (mapAttrsToList mkKeyValueString attrs);
+        attrs: builtins.concatStringsSep "\n" (lib.mapAttrsToList mkKeyValueString attrs);
       mkAccountString = name: attrs: ''
         account ${name}
         ${mkInnerSectionString attrs}
@@ -98,7 +96,7 @@ in {
       defaults
       ${mkInnerSectionString cfg.defaults}
 
-      ${concatStringsSep "\n" (mapAttrsToList mkAccountString cfg.accounts)}
+      ${builtins.concatStringsSep "\n" (lib.mapAttrsToList mkAccountString cfg.accounts)}
 
       ${cfg.extraConfig}
     '';
diff --git a/nixos/modules/programs/mtr.nix b/nixos/modules/programs/mtr.nix
index 6a767df15f098..1a9deba989663 100644
--- a/nixos/modules/programs/mtr.nix
+++ b/nixos/modules/programs/mtr.nix
@@ -1,15 +1,13 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.mtr;
 
 in {
   options = {
     programs.mtr = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to add mtr to the global environment and configure a
@@ -17,12 +15,12 @@ in {
         '';
       };
 
-      package = mkPackageOption pkgs "mtr" { };
+      package = lib.mkPackageOption pkgs "mtr" { };
     };
   };
 
-  config = mkIf cfg.enable {
-    environment.systemPackages = with pkgs; [ cfg.package ];
+  config = lib.mkIf cfg.enable {
+    environment.systemPackages = [ cfg.package ];
 
     security.wrappers.mtr-packet = {
       owner = "root";
diff --git a/nixos/modules/programs/nbd.nix b/nixos/modules/programs/nbd.nix
index fea9bc1ff71a1..1e319f0273455 100644
--- a/nixos/modules/programs/nbd.nix
+++ b/nixos/modules/programs/nbd.nix
@@ -1,18 +1,16 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.nbd;
 in
 {
   options = {
     programs.nbd = {
-      enable = mkEnableOption "Network Block Device (nbd) support";
+      enable = lib.mkEnableOption "Network Block Device (nbd) support";
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [ nbd ];
     boot.kernelModules = [ "nbd" ];
   };
diff --git a/nixos/modules/programs/neovim.nix b/nixos/modules/programs/neovim.nix
index 6f6829444a641..8fe6a664b675a 100644
--- a/nixos/modules/programs/neovim.nix
+++ b/nixos/modules/programs/neovim.nix
@@ -1,14 +1,12 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.neovim;
 in
 {
   options.programs.neovim = {
-    enable = mkOption {
-      type = types.bool;
+    enable = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       example = true;
       description = ''
@@ -21,8 +19,8 @@ in
       '';
     };
 
-    defaultEditor = mkOption {
-      type = types.bool;
+    defaultEditor = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         When enabled, installs neovim and configures neovim to be the default editor
@@ -30,44 +28,44 @@ in
       '';
     };
 
-    viAlias = mkOption {
-      type = types.bool;
+    viAlias = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Symlink {command}`vi` to {command}`nvim` binary.
       '';
     };
 
-    vimAlias = mkOption {
-      type = types.bool;
+    vimAlias = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Symlink {command}`vim` to {command}`nvim` binary.
       '';
     };
 
-    withRuby = mkOption {
-      type = types.bool;
+    withRuby = lib.mkOption {
+      type = lib.types.bool;
       default = true;
       description = "Enable Ruby provider.";
     };
 
-    withPython3 = mkOption {
-      type = types.bool;
+    withPython3 = lib.mkOption {
+      type = lib.types.bool;
       default = true;
       description = "Enable Python 3 provider.";
     };
 
-    withNodeJs = mkOption {
-      type = types.bool;
+    withNodeJs = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = "Enable Node provider.";
     };
 
-    configure = mkOption {
-      type = types.attrs;
+    configure = lib.mkOption {
+      type = lib.types.attrs;
       default = { };
-      example = literalExpression ''
+      example = lib.literalExpression ''
         {
           customRC = '''
             " here your custom configuration goes!
@@ -86,31 +84,31 @@ in
       '';
     };
 
-    package = mkPackageOption pkgs "neovim-unwrapped" { };
+    package = lib.mkPackageOption pkgs "neovim-unwrapped" { };
 
-    finalPackage = mkOption {
-      type = types.package;
+    finalPackage = lib.mkOption {
+      type = lib.types.package;
       visible = false;
       readOnly = true;
       description = "Resulting customized neovim package.";
     };
 
-    runtime = mkOption {
+    runtime = lib.mkOption {
       default = { };
-      example = literalExpression ''
+      example = lib.literalExpression ''
         { "ftplugin/c.vim".text = "setlocal omnifunc=v:lua.vim.lsp.omnifunc"; }
       '';
       description = ''
         Set of files that have to be linked in {file}`runtime`.
       '';
 
-      type = with types; attrsOf (submodule (
+      type = with lib.types; attrsOf (submodule (
         { name, config, ... }:
         {
           options = {
 
-            enable = mkOption {
-              type = types.bool;
+            enable = lib.mkOption {
+              type = lib.types.bool;
               default = true;
               description = ''
                 Whether this runtime directory should be generated.  This
@@ -118,49 +116,49 @@ in
               '';
             };
 
-            target = mkOption {
-              type = types.str;
+            target = lib.mkOption {
+              type = lib.types.str;
               description = ''
                 Name of symlink.  Defaults to the attribute
                 name.
               '';
             };
 
-            text = mkOption {
+            text = lib.mkOption {
               default = null;
-              type = types.nullOr types.lines;
+              type = lib.types.nullOr lib.types.lines;
               description = "Text of the file.";
             };
 
-            source = mkOption {
+            source = lib.mkOption {
               default = null;
-              type = types.nullOr types.path;
+              type = lib.types.nullOr lib.types.path;
               description = "Path of the source file.";
             };
 
           };
 
-          config.target = mkDefault name;
+          config.target = lib.mkDefault name;
         }
       ));
 
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [
       cfg.finalPackage
     ];
-    environment.variables.EDITOR = mkIf cfg.defaultEditor (mkOverride 900 "nvim");
+    environment.variables.EDITOR = lib.mkIf cfg.defaultEditor (lib.mkOverride 900 "nvim");
 
-    environment.etc = listToAttrs (attrValues (mapAttrs
+    environment.etc = builtins.listToAttrs (builtins.attrValues (builtins.mapAttrs
       (name: value: {
         name = "xdg/nvim/${name}";
-        value = removeAttrs
+        value = builtins.removeAttrs
           (value // {
             target = "xdg/nvim/${value.target}";
           })
-          (optionals (isNull value.source) [ "source" ]);
+          (lib.optionals (builtins.isNull value.source) [ "source" ]);
       })
       cfg.runtime));
 
diff --git a/nixos/modules/programs/nethoscope.nix b/nixos/modules/programs/nethoscope.nix
index 495548e9c6561..7bc1f61b31eae 100644
--- a/nixos/modules/programs/nethoscope.nix
+++ b/nixos/modules/programs/nethoscope.nix
@@ -1,16 +1,14 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let cfg = config.programs.nethoscope;
 in
 {
-  meta.maintainers = with maintainers; [ _0x4A6F ];
+  meta.maintainers = with lib.maintainers; [ _0x4A6F ];
 
   options = {
     programs.nethoscope = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to add nethoscope to the global environment and configure a
@@ -20,7 +18,7 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [ nethoscope ];
     security.wrappers.nethoscope = {
       source = "${pkgs.nethoscope}/bin/nethoscope";
diff --git a/nixos/modules/programs/nncp.nix b/nixos/modules/programs/nncp.nix
index aa2e7c7a6e5b5..3feccef4cf11e 100644
--- a/nixos/modules/programs/nncp.nix
+++ b/nixos/modules/programs/nncp.nix
@@ -1,6 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
 let
   nncpCfgFile = "/run/nncp.hjson";
   programCfg = config.programs.nncp;
@@ -11,10 +10,10 @@ in {
   options.programs.nncp = {
 
     enable =
-      mkEnableOption "NNCP (Node to Node copy) utilities and configuration";
+      lib.mkEnableOption "NNCP (Node to Node copy) utilities and configuration";
 
-    group = mkOption {
-      type = types.str;
+    group = lib.mkOption {
+      type = lib.types.str;
       default = "uucp";
       description = ''
         The group under which NNCP files shall be owned.
@@ -23,10 +22,10 @@ in {
       '';
     };
 
-    package = mkPackageOption pkgs "nncp" { };
+    package = lib.mkPackageOption pkgs "nncp" { };
 
-    secrets = mkOption {
-      type = with types; listOf str;
+    secrets = lib.mkOption {
+      type = with lib.types; listOf str;
       example = [ "/run/keys/nncp.hjson" ];
       description = ''
         A list of paths to NNCP configuration files that should not be
@@ -35,7 +34,7 @@ in {
       '';
     };
 
-    settings = mkOption {
+    settings = lib.mkOption {
       type = settingsFormat.type;
       description = ''
         NNCP configuration, see
@@ -52,7 +51,7 @@ in {
 
   };
 
-  config = mkIf programCfg.enable {
+  config = lib.mkIf programCfg.enable {
 
     environment = {
       systemPackages = [ pkg ];
@@ -60,8 +59,8 @@ in {
     };
 
     programs.nncp.settings = {
-      spool = mkDefault "/var/spool/nncp";
-      log = mkDefault "/var/spool/nncp/log";
+      spool = lib.mkDefault "/var/spool/nncp";
+      log = lib.mkDefault "/var/spool/nncp/log";
     };
 
     systemd.tmpfiles.rules = [
@@ -77,7 +76,7 @@ in {
       script = ''
         umask u=rw
         nncpCfgDir=$(mktemp --directory nncp.XXX)
-        for f in ${jsonCfgFile} ${toString config.programs.nncp.secrets}; do
+        for f in ${jsonCfgFile} ${builtins.toString config.programs.nncp.secrets}; do
           tmpdir=$(mktemp --directory nncp.XXX)
           nncp-cfgdir -cfg $f -dump $tmpdir
           find $tmpdir -size 1c -delete
diff --git a/nixos/modules/programs/noisetorch.nix b/nixos/modules/programs/noisetorch.nix
index 70a0441bd7677..5e37061d9a1d4 100644
--- a/nixos/modules/programs/noisetorch.nix
+++ b/nixos/modules/programs/noisetorch.nix
@@ -1,17 +1,15 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let cfg = config.programs.noisetorch;
 in
 {
   options.programs.noisetorch = {
-    enable = mkEnableOption "noisetorch (+ setcap wrapper), a virtual microphone device with noise suppression";
+    enable = lib.mkEnableOption "noisetorch (+ setcap wrapper), a virtual microphone device with noise suppression";
 
-    package = mkPackageOption pkgs "noisetorch" { };
+    package = lib.mkPackageOption pkgs "noisetorch" { };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     security.wrappers.noisetorch = {
       owner = "root";
       group = "root";
diff --git a/nixos/modules/programs/npm.nix b/nixos/modules/programs/npm.nix
index b379f0165bfed..470188b879b6a 100644
--- a/nixos/modules/programs/npm.nix
+++ b/nixos/modules/programs/npm.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.npm;
 in
@@ -11,13 +9,13 @@ in
 
   options = {
     programs.npm = {
-      enable = mkEnableOption "{command}`npm` global config";
+      enable = lib.mkEnableOption "{command}`npm` global config";
 
-      package = mkPackageOption pkgs [ "nodePackages" "npm" ] {
+      package = lib.mkPackageOption pkgs [ "nodePackages" "npm" ] {
         example = "nodePackages_13_x.npm";
       };
 
-      npmrc = mkOption {
+      npmrc = lib.mkOption {
         type = lib.types.lines;
         description = ''
           The system-wide npm configuration.
diff --git a/nixos/modules/programs/oblogout.nix b/nixos/modules/programs/oblogout.nix
index a039b0623b52c..f09fbdc062423 100644
--- a/nixos/modules/programs/oblogout.nix
+++ b/nixos/modules/programs/oblogout.nix
@@ -1,11 +1,9 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 {
 
   imports = [
-    (mkRemovedOptionModule [ "programs" "oblogout" ] "programs.oblogout has been removed from NixOS. This is because the oblogout repository has been archived upstream.")
+    (lib.mkRemovedOptionModule [ "programs" "oblogout" ] "programs.oblogout has been removed from NixOS. This is because the oblogout repository has been archived upstream.")
   ];
 
 }
diff --git a/nixos/modules/programs/openvpn3.nix b/nixos/modules/programs/openvpn3.nix
index 6415cccecb4ff..10042b44471ff 100644
--- a/nixos/modules/programs/openvpn3.nix
+++ b/nixos/modules/programs/openvpn3.nix
@@ -1,19 +1,17 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.openvpn3;
 in
 {
   options.programs.openvpn3 = {
-    enable = mkEnableOption "the openvpn3 client";
-    package = mkOption {
-      type = types.package;
+    enable = lib.mkEnableOption "the openvpn3 client";
+    package = lib.mkOption {
+      type = lib.types.package;
       default = pkgs.openvpn3.override {
         enableSystemdResolved = config.services.resolved.enable;
       };
-      defaultText = literalExpression ''pkgs.openvpn3.override {
+      defaultText = lib.literalExpression ''pkgs.openvpn3.override {
         enableSystemdResolved = config.services.resolved.enable;
       }'';
       description = ''
@@ -22,7 +20,7 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     services.dbus.packages = [
       cfg.package
     ];
diff --git a/nixos/modules/programs/pantheon-tweaks.nix b/nixos/modules/programs/pantheon-tweaks.nix
index 0b8a19ea22c01..b7258e2eb4bfe 100644
--- a/nixos/modules/programs/pantheon-tweaks.nix
+++ b/nixos/modules/programs/pantheon-tweaks.nix
@@ -1,19 +1,17 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 {
   meta = {
-    maintainers = teams.pantheon.members;
+    maintainers = lib.teams.pantheon.members;
   };
 
   ###### interface
   options = {
-    programs.pantheon-tweaks.enable = mkEnableOption "Pantheon Tweaks, an unofficial system settings panel for Pantheon";
+    programs.pantheon-tweaks.enable = lib.mkEnableOption "Pantheon Tweaks, an unofficial system settings panel for Pantheon";
   };
 
   ###### implementation
-  config = mkIf config.programs.pantheon-tweaks.enable {
+  config = lib.mkIf config.programs.pantheon-tweaks.enable {
     services.xserver.desktopManager.pantheon.extraSwitchboardPlugs = [ pkgs.pantheon-tweaks ];
   };
 }
diff --git a/nixos/modules/programs/plotinus.nix b/nixos/modules/programs/plotinus.nix
index 41c75b69a2d2f..835db049d8628 100644
--- a/nixos/modules/programs/plotinus.nix
+++ b/nixos/modules/programs/plotinus.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.plotinus;
 in
@@ -15,21 +13,21 @@ in
 
   options = {
     programs.plotinus = {
-      enable = mkOption {
+      enable = lib.mkOption {
         default = false;
         description = ''
           Whether to enable the Plotinus GTK 3 plugin. Plotinus provides a
           popup (triggered by Ctrl-Shift-P) to search the menus of a
           compatible application.
         '';
-        type = types.bool;
+        type = lib.types.bool;
       };
     };
   };
 
   ###### implementation
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.sessionVariables.XDG_DATA_DIRS = [ "${pkgs.plotinus}/share/gsettings-schemas/${pkgs.plotinus.name}" ];
     environment.variables.GTK3_MODULES = [ "${pkgs.plotinus}/lib/libplotinus.so" ];
   };
diff --git a/nixos/modules/programs/proxychains.nix b/nixos/modules/programs/proxychains.nix
index b15475dac075b..86bbf16a64ce1 100644
--- a/nixos/modules/programs/proxychains.nix
+++ b/nixos/modules/programs/proxychains.nix
@@ -1,15 +1,14 @@
 { config, lib, pkgs, ... }:
-with lib;
 let
 
   cfg = config.programs.proxychains;
 
   configFile = ''
     ${cfg.chain.type}_chain
-    ${optionalString (cfg.chain.type == "random")
+    ${lib.optionalString (cfg.chain.type == "random")
     "chain_len = ${builtins.toString cfg.chain.length}"}
-    ${optionalString cfg.proxyDNS "proxy_dns"}
-    ${optionalString cfg.quietMode "quiet_mode"}
+    ${lib.optionalString cfg.proxyDNS "proxy_dns"}
+    ${lib.optionalString cfg.quietMode "quiet_mode"}
     remote_dns_subnet ${builtins.toString cfg.remoteDNSSubnet}
     tcp_read_time_out ${builtins.toString cfg.tcpReadTimeOut}
     tcp_connect_time_out ${builtins.toString cfg.tcpConnectTimeOut}
@@ -22,20 +21,20 @@ let
 
   proxyOptions = {
     options = {
-      enable = mkEnableOption "this proxy";
+      enable = lib.mkEnableOption "this proxy";
 
-      type = mkOption {
-        type = types.enum [ "http" "socks4" "socks5" ];
+      type = lib.mkOption {
+        type = lib.types.enum [ "http" "socks4" "socks5" ];
         description = "Proxy type.";
       };
 
-      host = mkOption {
-        type = types.str;
+      host = lib.mkOption {
+        type = lib.types.str;
         description = "Proxy host or IP address.";
       };
 
-      port = mkOption {
-        type = types.port;
+      port = lib.mkOption {
+        type = lib.types.port;
         description = "Proxy port";
       };
     };
@@ -49,15 +48,15 @@ in {
 
     programs.proxychains = {
 
-      enable = mkEnableOption "proxychains configuration";
+      enable = lib.mkEnableOption "proxychains configuration";
 
-      package = mkPackageOption pkgs "proxychains" {
+      package = lib.mkPackageOption pkgs "proxychains" {
         example = "proxychains-ng";
       };
 
       chain = {
-        type = mkOption {
-          type = types.enum [ "dynamic" "strict" "random" ];
+        type = lib.mkOption {
+          type = lib.types.enum [ "dynamic" "strict" "random" ];
           default = "strict";
           description = ''
             `dynamic` - Each connection will be done via chained proxies
@@ -75,8 +74,8 @@ in {
             (or proxy chain, see {option}`programs.proxychains.chain.length`) from the list.
           '';
         };
-        length = mkOption {
-          type = types.nullOr types.int;
+        length = lib.mkOption {
+          type = lib.types.nullOr lib.types.int;
           default = null;
           description = ''
             Chain length for random chain.
@@ -84,47 +83,47 @@ in {
         };
       };
 
-      proxyDNS = mkOption {
-        type = types.bool;
+      proxyDNS = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = "Proxy DNS requests - no leak for DNS data.";
       };
 
-      quietMode = mkEnableOption "Quiet mode (no output from the library)";
+      quietMode = lib.mkEnableOption "Quiet mode (no output from the library)";
 
-      remoteDNSSubnet = mkOption {
-        type = types.enum [ 10 127 224 ];
+      remoteDNSSubnet = lib.mkOption {
+        type = lib.types.enum [ 10 127 224 ];
         default = 224;
         description = ''
           Set the class A subnet number to use for the internal remote DNS mapping, uses the reserved 224.x.x.x range by default.
         '';
       };
 
-      tcpReadTimeOut = mkOption {
-        type = types.int;
+      tcpReadTimeOut = lib.mkOption {
+        type = lib.types.int;
         default = 15000;
         description = "Connection read time-out in milliseconds.";
       };
 
-      tcpConnectTimeOut = mkOption {
-        type = types.int;
+      tcpConnectTimeOut = lib.mkOption {
+        type = lib.types.int;
         default = 8000;
         description = "Connection time-out in milliseconds.";
       };
 
-      localnet = mkOption {
-        type = types.str;
+      localnet = lib.mkOption {
+        type = lib.types.str;
         default = "127.0.0.0/255.0.0.0";
         description = "By default enable localnet for loopback address ranges.";
       };
 
-      proxies = mkOption {
-        type = types.attrsOf (types.submodule proxyOptions);
+      proxies = lib.mkOption {
+        type = lib.types.attrsOf (lib.types.submodule proxyOptions);
         description = ''
           Proxies to be used by proxychains.
         '';
 
-        example = literalExpression ''
+        example = lib.literalExpression ''
           { myproxy =
             { type = "socks4";
               host = "127.0.0.1";
@@ -140,11 +139,11 @@ in {
 
   ###### implementation
 
-  meta.maintainers = with maintainers; [ sorki ];
+  meta.maintainers = with lib.maintainers; [ sorki ];
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
-    assertions = singleton {
+    assertions = lib.singleton {
       assertion = cfg.chain.type != "random" && cfg.chain.length == null;
       message = ''
         Option `programs.proxychains.chain.length`
@@ -152,9 +151,9 @@ in {
       '';
     };
 
-    programs.proxychains.proxies = mkIf config.services.tor.client.enable
+    programs.proxychains.proxies = lib.mkIf config.services.tor.client.enable
       {
-        torproxy = mkDefault {
+        torproxy = lib.mkDefault {
           enable = true;
           type = "socks4";
           host = "127.0.0.1";
diff --git a/nixos/modules/programs/qt5ct.nix b/nixos/modules/programs/qt5ct.nix
index 3ff47b355915b..bc7b28b9c6e92 100644
--- a/nixos/modules/programs/qt5ct.nix
+++ b/nixos/modules/programs/qt5ct.nix
@@ -1,9 +1,7 @@
 { lib, ... }:
 
-with lib;
-
 {
   imports = [
-    (mkRemovedOptionModule [ "programs" "qt5ct" "enable" ] "Use qt5.platformTheme = \"qt5ct\" instead.")
+    (lib.mkRemovedOptionModule [ "programs" "qt5ct" "enable" ] "Use qt5.platformTheme = \"qt5ct\" instead.")
   ];
 }
diff --git a/nixos/modules/programs/rust-motd.nix b/nixos/modules/programs/rust-motd.nix
index 93240fcdd85ee..301b7cebb7f8a 100644
--- a/nixos/modules/programs/rust-motd.nix
+++ b/nixos/modules/programs/rust-motd.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.rust-motd;
   format = pkgs.formats.toml { };
@@ -24,10 +22,10 @@ let
     '';
 in {
   options.programs.rust-motd = {
-    enable = mkEnableOption "rust-motd, a Message Of The Day (MOTD) generator";
-    enableMotdInSSHD = mkOption {
+    enable = lib.mkEnableOption "rust-motd, a Message Of The Day (MOTD) generator";
+    enableMotdInSSHD = lib.mkOption {
       default = true;
-      type = types.bool;
+      type = lib.types.bool;
       description = ''
         Whether to let `openssh` print the
         result when entering a new `ssh`-session.
@@ -36,18 +34,18 @@ in {
         the latter option is incompatible with this module.
       '';
     };
-    refreshInterval = mkOption {
+    refreshInterval = lib.mkOption {
       default = "*:0/5";
-      type = types.str;
+      type = lib.types.str;
       description = ''
         Interval in which the {manpage}`motd(5)` file is refreshed.
         For possible formats, please refer to {manpage}`systemd.time(7)`.
       '';
     };
-    order = mkOption {
-      type = types.listOf types.str;
-      default = attrNames cfg.settings;
-      defaultText = literalExpression "attrNames cfg.settings";
+    order = lib.mkOption {
+      type = lib.types.listOf lib.types.str;
+      default = builtins.attrNames cfg.settings;
+      defaultText = lib.literalExpression "attrNames cfg.settings";
       description = ''
         The order of the sections in [](#opt-programs.rust-motd.settings).
         By default they are ordered alphabetically.
@@ -79,8 +77,8 @@ in {
         makes sure that `uptime` is placed before `banner` in the motd.
       '';
     };
-    settings = mkOption {
-      type = types.attrsOf format.type;
+    settings = lib.mkOption {
+      type = lib.types.attrsOf format.type;
       description = ''
         Settings on what to generate. Please read the
         [upstream documentation](https://github.com/rust-motd/rust-motd/blob/main/README.md#configuration)
@@ -88,14 +86,14 @@ in {
       '';
     };
   };
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     assertions = [
       { assertion = config.users.motd == null;
         message = ''
           `programs.rust-motd` is incompatible with `users.motd`!
         '';
       }
-      { assertion = sort (a: b: a < b) cfg.order == attrNames cfg.settings;
+      { assertion = builtins.sort (a: b: a < b) cfg.order == builtins.attrNames cfg.settings;
         message = ''
           Please ensure that every section from `programs.rust-motd.settings` is present in
           `programs.rust-motd.order`.
@@ -138,12 +136,12 @@ in {
       wantedBy = [ "timers.target" ];
       timerConfig.OnCalendar = cfg.refreshInterval;
     };
-    security.pam.services.sshd.text = mkIf cfg.enableMotdInSSHD (mkDefault (mkAfter ''
+    security.pam.services.sshd.text = lib.mkIf cfg.enableMotdInSSHD (lib.mkDefault (lib.mkAfter ''
       session optional ${pkgs.pam}/lib/security/pam_motd.so motd=/var/lib/rust-motd/motd
     ''));
-    services.openssh.extraConfig = mkIf (cfg.settings ? last_login && cfg.settings.last_login != {}) ''
+    services.openssh.extraConfig = lib.mkIf (cfg.settings ? last_login && cfg.settings.last_login != {}) ''
       PrintLastLog no
     '';
   };
-  meta.maintainers = with maintainers; [ ma27 ];
+  meta.maintainers = with lib.maintainers; [ ma27 ];
 }
diff --git a/nixos/modules/programs/sedutil.nix b/nixos/modules/programs/sedutil.nix
index c62ca24eaa012..978aaa5c82d5a 100644
--- a/nixos/modules/programs/sedutil.nix
+++ b/nixos/modules/programs/sedutil.nix
@@ -1,14 +1,12 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.sedutil;
 
 in {
-  options.programs.sedutil.enable = mkEnableOption "sedutil, to manage self encrypting drives that conform to the Trusted Computing Group OPAL 2.0 SSC specification";
+  options.programs.sedutil.enable = lib.mkEnableOption "sedutil, to manage self encrypting drives that conform to the Trusted Computing Group OPAL 2.0 SSC specification";
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     boot.kernelParams = [
       "libata.allow_tpm=1"
     ];
diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix
index 2d20644ec51ed..f09bfaa5393d7 100644
--- a/nixos/modules/programs/shadow.nix
+++ b/nixos/modules/programs/shadow.nix
@@ -1,15 +1,14 @@
 # Configuration for the pwdutils suite of tools: passwd, useradd, etc.
 { config, lib, utils, pkgs, ... }:
-with lib;
 let
   cfg = config.security.loginDefs;
 in
 {
-  options = with types; {
+  options = with lib.types; {
     security.loginDefs = {
-      package = mkPackageOption pkgs "shadow" { };
+      package = lib.mkPackageOption pkgs "shadow" { };
 
-      chfnRestrict = mkOption {
+      chfnRestrict = lib.mkOption {
         description = ''
           Use chfn SUID to allow non-root users to change their account GECOS information.
         '';
@@ -17,7 +16,7 @@ in
         default = null;
       };
 
-      settings = mkOption {
+      settings = lib.mkOption {
         description = ''
           Config options for the /etc/login.defs file, that defines
           the site-specific configuration for the shadow password suite.
@@ -35,68 +34,68 @@ in
                by systemd for features like ConditionUser=@system and systemd-sysusers
               */
           options = {
-            DEFAULT_HOME = mkOption {
+            DEFAULT_HOME = lib.mkOption {
               description = "Indicate if login is allowed if we can't cd to the home directory.";
               default = "yes";
               type = enum [ "yes" "no" ];
             };
 
-            ENCRYPT_METHOD = mkOption {
+            ENCRYPT_METHOD = lib.mkOption {
               description = "This defines the system default encryption algorithm for encrypting passwords.";
               # The default crypt() method, keep in sync with the PAM default
               default = "YESCRYPT";
               type = enum [ "YESCRYPT" "SHA512" "SHA256" "MD5" "DES"];
             };
 
-            SYS_UID_MIN = mkOption {
+            SYS_UID_MIN = lib.mkOption {
               description = "Range of user IDs used for the creation of system users by useradd or newusers.";
               default = 400;
               type = int;
             };
 
-            SYS_UID_MAX = mkOption {
+            SYS_UID_MAX = lib.mkOption {
               description = "Range of user IDs used for the creation of system users by useradd or newusers.";
               default = 999;
               type = int;
             };
 
-            UID_MIN = mkOption {
+            UID_MIN = lib.mkOption {
               description = "Range of user IDs used for the creation of regular users by useradd or newusers.";
               default = 1000;
               type = int;
             };
 
-            UID_MAX = mkOption {
+            UID_MAX = lib.mkOption {
               description = "Range of user IDs used for the creation of regular users by useradd or newusers.";
               default = 29999;
               type = int;
             };
 
-            SYS_GID_MIN = mkOption {
+            SYS_GID_MIN = lib.mkOption {
               description = "Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers";
               default = 400;
               type = int;
             };
 
-            SYS_GID_MAX = mkOption {
+            SYS_GID_MAX = lib.mkOption {
               description = "Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers";
               default = 999;
               type = int;
             };
 
-            GID_MIN = mkOption {
+            GID_MIN = lib.mkOption {
               description = "Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.";
               default = 1000;
               type = int;
             };
 
-            GID_MAX = mkOption {
+            GID_MAX = lib.mkOption {
               description = "Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.";
               default = 29999;
               type = int;
             };
 
-            TTYGROUP = mkOption {
+            TTYGROUP = lib.mkOption {
               description = ''
                 The terminal permissions: the login tty will be owned by the TTYGROUP group,
                 and the permissions will be set to TTYPERM'';
@@ -104,7 +103,7 @@ in
               type = str;
             };
 
-            TTYPERM = mkOption {
+            TTYPERM = lib.mkOption {
               description = ''
                 The terminal permissions: the login tty will be owned by the TTYGROUP group,
                 and the permissions will be set to TTYPERM'';
@@ -113,7 +112,7 @@ in
             };
 
             # Ensure privacy for newly created home directories.
-            UMASK = mkOption {
+            UMASK = lib.mkOption {
               description = "The file mode creation mask is initialized to this value.";
               default = "077";
               type = str;
@@ -124,7 +123,7 @@ in
       };
     };
 
-    users.defaultUserShell = mkOption {
+    users.defaultUserShell = lib.mkOption {
       description = ''
         This option defines the default shell assigned to user
         accounts. This can be either a full system path or a shell package.
@@ -132,7 +131,7 @@ in
         This must not be a store path, since the path is
         used outside the store (in particular in /etc/passwd).
       '';
-      example = literalExpression "pkgs.zsh";
+      example = lib.literalExpression "pkgs.zsh";
       type = either path shellPackage;
     };
   };
@@ -160,18 +159,18 @@ in
     ];
 
     security.loginDefs.settings.CHFN_RESTRICT =
-      mkIf (cfg.chfnRestrict != null) cfg.chfnRestrict;
+      lib.mkIf (cfg.chfnRestrict != null) cfg.chfnRestrict;
 
-    environment.systemPackages = optional config.users.mutableUsers cfg.package
-      ++ optional (types.shellPackage.check config.users.defaultUserShell) config.users.defaultUserShell
-      ++ optional (cfg.chfnRestrict != null) pkgs.util-linux;
+    environment.systemPackages = lib.optional config.users.mutableUsers cfg.package
+      ++ lib.optional (lib.types.shellPackage.check config.users.defaultUserShell) config.users.defaultUserShell
+      ++ lib.optional (cfg.chfnRestrict != null) pkgs.util-linux;
 
     environment.etc =
       # Create custom toKeyValue generator
       # see https://man7.org/linux/man-pages/man5/login.defs.5.html for config specification
       let
-        toKeyValue = generators.toKeyValue {
-          mkKeyValue = generators.mkKeyValueDefault { } " ";
+        toKeyValue = lib.generators.toKeyValue {
+          mkKeyValue = lib.generators.mkKeyValueDefault { } " ";
         };
       in
       {
@@ -231,7 +230,7 @@ in
         newuidmap = mkSetuidRoot "${cfg.package.out}/bin/newuidmap";
         newgidmap = mkSetuidRoot "${cfg.package.out}/bin/newgidmap";
       }
-      // optionalAttrs config.users.mutableUsers {
+      // lib.optionalAttrs config.users.mutableUsers {
         chsh = mkSetuidRoot "${cfg.package.out}/bin/chsh";
         passwd = mkSetuidRoot "${cfg.package.out}/bin/passwd";
       };
diff --git a/nixos/modules/programs/sharing.nix b/nixos/modules/programs/sharing.nix
index 211dc9815166e..0fe8100bbc569 100644
--- a/nixos/modules/programs/sharing.nix
+++ b/nixos/modules/programs/sharing.nix
@@ -1,8 +1,7 @@
 { config, pkgs, lib, ... }:
-with lib;
 {
   options.programs.sharing = {
-    enable = mkEnableOption ''
+    enable = lib.mkEnableOption ''
       sharing, a CLI tool for sharing files.
 
       Note that it will opens the 7478 port for TCP in the firewall, which is needed for it to function properly
@@ -12,7 +11,7 @@ with lib;
     let
       cfg = config.programs.sharing;
     in
-      mkIf cfg.enable {
+      lib.mkIf cfg.enable {
         environment.systemPackages = [ pkgs.sharing ];
         networking.firewall.allowedTCPPorts = [ 7478 ];
       };
diff --git a/nixos/modules/programs/singularity.nix b/nixos/modules/programs/singularity.nix
index f4c0a6fe487e6..bc989ad2dbaf5 100644
--- a/nixos/modules/programs/singularity.nix
+++ b/nixos/modules/programs/singularity.nix
@@ -5,21 +5,20 @@
   ...
 }:
 
-with lib;
 let
   cfg = config.programs.singularity;
 in
 {
 
   options.programs.singularity = {
-    enable = mkEnableOption "singularity" // {
+    enable = lib.mkEnableOption "singularity" // {
       description = ''
         Whether to install Singularity/Apptainer with system-level overriding such as SUID support.
       '';
     };
-    package = mkPackageOption pkgs "singularity" { example = "apptainer"; };
-    packageOverriden = mkOption {
-      type = types.nullOr types.package;
+    package = lib.mkPackageOption pkgs "singularity" { example = "apptainer"; };
+    packageOverriden = lib.mkOption {
+      type = lib.types.nullOr lib.types.package;
       default = null;
       description = ''
         This option provides access to the overridden result of `programs.singularity.package`.
@@ -42,8 +41,8 @@ in
         Use `lib.mkForce` to forcefully specify the overridden package.
       '';
     };
-    enableExternalLocalStateDir = mkOption {
-      type = types.bool;
+    enableExternalLocalStateDir = lib.mkOption {
+      type = lib.types.bool;
       default = true;
       example = false;
       description = ''
@@ -54,22 +53,22 @@ in
         `/var/lib/''${projectName}/mnt/session`.
       '';
     };
-    enableFakeroot = mkOption {
-      type = types.bool;
+    enableFakeroot = lib.mkOption {
+      type = lib.types.bool;
       default = true;
       example = false;
       description = ''
         Whether to enable the `--fakeroot` support of Singularity/Apptainer.
       '';
     };
-    enableSuid = mkOption {
-      type = types.bool;
+    enableSuid = lib.mkOption {
+      type = lib.types.bool;
       # SingularityCE requires SETUID for most things. Apptainer prefers user
       # namespaces, e.g. `apptainer exec --nv` would fail if built
       # `--with-suid`:
       # > `FATAL: nvidia-container-cli not allowed in setuid mode`
       default = cfg.package.projectName != "apptainer";
-      defaultText = literalExpression ''config.services.singularity.package.projectName != "apptainer"'';
+      defaultText = lib.literalExpression ''config.services.singularity.package.projectName != "apptainer"'';
       example = false;
       description = ''
         Whether to enable the SUID support of Singularity/Apptainer.
@@ -77,28 +76,28 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     programs.singularity.packageOverriden = (
       cfg.package.override (
-        optionalAttrs cfg.enableExternalLocalStateDir { externalLocalStateDir = "/var/lib"; }
-        // optionalAttrs cfg.enableFakeroot {
+        lib.optionalAttrs cfg.enableExternalLocalStateDir { externalLocalStateDir = "/var/lib"; }
+        // lib.optionalAttrs cfg.enableFakeroot {
           newuidmapPath = "/run/wrappers/bin/newuidmap";
           newgidmapPath = "/run/wrappers/bin/newgidmap";
         }
-        // optionalAttrs cfg.enableSuid {
+        // lib.optionalAttrs cfg.enableSuid {
           enableSuid = true;
           starterSuidPath = "/run/wrappers/bin/${cfg.package.projectName}-suid";
         }
       )
     );
     environment.systemPackages = [ cfg.packageOverriden ];
-    security.wrappers."${cfg.packageOverriden.projectName}-suid" = mkIf cfg.enableSuid {
+    security.wrappers."${cfg.packageOverriden.projectName}-suid" = lib.mkIf cfg.enableSuid {
       setuid = true;
       owner = "root";
       group = "root";
       source = "${cfg.packageOverriden}/libexec/${cfg.packageOverriden.projectName}/bin/starter-suid.orig";
     };
-    systemd.tmpfiles.rules = mkIf cfg.enableExternalLocalStateDir [
+    systemd.tmpfiles.rules = lib.mkIf cfg.enableExternalLocalStateDir [
       "d /var/lib/${cfg.packageOverriden.projectName}/mnt/session 0770 root root -"
     ];
   };
diff --git a/nixos/modules/programs/slock.nix b/nixos/modules/programs/slock.nix
index f39b4d5e9280e..ce24f662f218c 100644
--- a/nixos/modules/programs/slock.nix
+++ b/nixos/modules/programs/slock.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.slock;
 
@@ -9,18 +7,18 @@ in
 {
   options = {
     programs.slock = {
-      enable = mkOption {
+      enable = lib.mkOption {
         default = false;
-        type = types.bool;
+        type = lib.types.bool;
         description = ''
           Whether to install slock screen locker with setuid wrapper.
         '';
       };
-      package = mkPackageOption pkgs "slock" {};
+      package = lib.mkPackageOption pkgs "slock" {};
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
     security.wrappers.slock =
       { setuid = true;
diff --git a/nixos/modules/programs/soundmodem.nix b/nixos/modules/programs/soundmodem.nix
index ab992c63c6088..5f57e24a4524a 100644
--- a/nixos/modules/programs/soundmodem.nix
+++ b/nixos/modules/programs/soundmodem.nix
@@ -1,26 +1,24 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.soundmodem;
 in
 {
   options = {
     programs.soundmodem = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to add Soundmodem to the global environment and configure a
           wrapper for 'soundmodemconfig' for users in the 'soundmodem' group.
         '';
       };
-      package = mkPackageOption pkgs "soundmodem" { };
+      package = lib.mkPackageOption pkgs "soundmodem" { };
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
     users.groups.soundmodem = { };
 
diff --git a/nixos/modules/programs/spacefm.nix b/nixos/modules/programs/spacefm.nix
index fec14fca48e1e..73d48cf6a3a83 100644
--- a/nixos/modules/programs/spacefm.nix
+++ b/nixos/modules/programs/spacefm.nix
@@ -2,8 +2,6 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let cfg = config.programs.spacefm;
 
 in
@@ -14,21 +12,21 @@ in
 
     programs.spacefm = {
 
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to install SpaceFM and create {file}`/etc/spacefm/spacefm.conf`.
         '';
       };
 
-      settings = mkOption {
-        type = types.attrs;
+      settings = lib.mkOption {
+        type = lib.types.attrs;
         default = {
           tmp_dir = "/tmp";
           terminal_su = "${pkgs.sudo}/bin/sudo";
         };
-        defaultText = literalExpression ''
+        defaultText = lib.literalExpression ''
           {
             tmp_dir = "/tmp";
             terminal_su = "''${pkgs.sudo}/bin/sudo";
@@ -46,10 +44,10 @@ in
 
   ###### implementation
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.spaceFM ];
 
     environment.etc."spacefm/spacefm.conf".text =
-      concatStrings (mapAttrsToList (n: v: "${n}=${toString v}\n") cfg.settings);
+      lib.concatStrings (lib.mapAttrsToList (n: v: "${n}=${builtins.toString v}\n") cfg.settings);
   };
 }
diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix
index 2d25c7a936623..0692dd46f7d04 100644
--- a/nixos/modules/programs/ssh.nix
+++ b/nixos/modules/programs/ssh.nix
@@ -2,8 +2,6 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfg  = config.programs.ssh;
@@ -17,16 +15,16 @@ let
       exec ${cfg.askPassword} "$@"
     '';
 
-  knownHosts = attrValues cfg.knownHosts;
+  knownHosts = builtins.attrValues cfg.knownHosts;
 
-  knownHostsText = (flip (concatMapStringsSep "\n") knownHosts
+  knownHostsText = (lib.flip (lib.concatMapStringsSep "\n") knownHosts
     (h: assert h.hostNames != [];
-      optionalString h.certAuthority "@cert-authority " + concatStringsSep "," h.hostNames + " "
-      + (if h.publicKey != null then h.publicKey else readFile h.publicKeyFile)
+      lib.optionalString h.certAuthority "@cert-authority " + builtins.concatStringsSep "," h.hostNames + " "
+      + (if h.publicKey != null then h.publicKey else builtins.readFile h.publicKeyFile)
     )) + "\n";
 
   knownHostsFiles = [ "/etc/ssh/ssh_known_hosts" ]
-    ++ map pkgs.copyPathToStore cfg.knownHostsFiles;
+    ++ builtins.map pkgs.copyPathToStore cfg.knownHostsFiles;
 
 in
 {
@@ -36,21 +34,21 @@ in
 
     programs.ssh = {
 
-      enableAskPassword = mkOption {
-        type = types.bool;
+      enableAskPassword = lib.mkOption {
+        type = lib.types.bool;
         default = config.services.xserver.enable;
-        defaultText = literalExpression "config.services.xserver.enable";
+        defaultText = lib.literalExpression "config.services.xserver.enable";
         description = "Whether to configure SSH_ASKPASS in the environment.";
       };
 
-      askPassword = mkOption {
-        type = types.str;
+      askPassword = lib.mkOption {
+        type = lib.types.str;
         default = "${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass";
-        defaultText = literalExpression ''"''${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass"'';
+        defaultText = lib.literalExpression ''"''${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass"'';
         description = "Program used by SSH to ask for passwords.";
       };
 
-      forwardX11 = mkOption {
+      forwardX11 = lib.mkOption {
         type = with lib.types; nullOr bool;
         default = false;
         description = ''
@@ -65,25 +63,25 @@ in
         '';
       };
 
-      setXAuthLocation = mkOption {
-        type = types.bool;
+      setXAuthLocation = lib.mkOption {
+        type = lib.types.bool;
         description = ''
           Whether to set the path to {command}`xauth` for X11-forwarded connections.
           This causes a dependency on X11 packages.
         '';
       };
 
-      pubkeyAcceptedKeyTypes = mkOption {
-        type = types.listOf types.str;
+      pubkeyAcceptedKeyTypes = lib.mkOption {
+        type = lib.types.listOf lib.types.str;
         default = [];
         example = [ "ssh-ed25519" "ssh-rsa" ];
         description = ''
-          Specifies the key types that will be used for public key authentication.
+          Specifies the key lib.types that will be used for public key authentication.
         '';
       };
 
-      hostKeyAlgorithms = mkOption {
-        type = types.listOf types.str;
+      hostKeyAlgorithms = lib.mkOption {
+        type = lib.types.listOf lib.types.str;
         default = [];
         example = [ "ssh-ed25519" "ssh-rsa" ];
         description = ''
@@ -91,8 +89,8 @@ in
         '';
       };
 
-      extraConfig = mkOption {
-        type = types.lines;
+      extraConfig = lib.mkOption {
+        type = lib.types.lines;
         default = "";
         description = ''
           Extra configuration text prepended to {file}`ssh_config`. Other generated
@@ -102,8 +100,8 @@ in
         '';
       };
 
-      startAgent = mkOption {
-        type = types.bool;
+      startAgent = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to start the OpenSSH agent when you log in.  The OpenSSH agent
@@ -113,8 +111,8 @@ in
         '';
       };
 
-      agentTimeout = mkOption {
-        type = types.nullOr types.str;
+      agentTimeout = lib.mkOption {
+        type = lib.types.nullOr lib.types.str;
         default = null;
         example = "1h";
         description = ''
@@ -122,34 +120,34 @@ in
         '';
       };
 
-      agentPKCS11Whitelist = mkOption {
-        type = types.nullOr types.str;
+      agentPKCS11Whitelist = lib.mkOption {
+        type = lib.types.nullOr lib.types.str;
         default = null;
-        example = literalExpression ''"''${pkgs.opensc}/lib/opensc-pkcs11.so"'';
+        example = lib.literalExpression ''"''${pkgs.opensc}/lib/opensc-pkcs11.so"'';
         description = ''
           A pattern-list of acceptable paths for PKCS#11 shared libraries
           that may be used with the -s option to ssh-add.
         '';
       };
 
-      package = mkPackageOption pkgs "openssh" { };
+      package = lib.mkPackageOption pkgs "openssh" { };
 
-      knownHosts = mkOption {
+      knownHosts = lib.mkOption {
         default = {};
-        type = types.attrsOf (types.submodule ({ name, config, options, ... }: {
+        type = lib.types.attrsOf (lib.types.submodule ({ name, config, options, ... }: {
           options = {
-            certAuthority = mkOption {
-              type = types.bool;
+            certAuthority = lib.mkOption {
+              type = lib.types.bool;
               default = false;
               description = ''
                 This public key is an SSH certificate authority, rather than an
                 individual host's key.
               '';
             };
-            hostNames = mkOption {
-              type = types.listOf types.str;
+            hostNames = lib.mkOption {
+              type = lib.types.listOf lib.types.str;
               default = [ name ] ++ config.extraHostNames;
-              defaultText = literalExpression "[ ${name} ] ++ config.${options.extraHostNames}";
+              defaultText = lib.literalExpression "[ ${name} ] ++ config.${options.extraHostNames}";
               description = ''
                 A list of host names and/or IP numbers used for accessing
                 the host's ssh service. This list includes the name of the
@@ -160,8 +158,8 @@ in
                 `hostNames` list.
               '';
             };
-            extraHostNames = mkOption {
-              type = types.listOf types.str;
+            extraHostNames = lib.mkOption {
+              type = lib.types.listOf lib.types.str;
               default = [];
               description = ''
                 A list of additional host names and/or IP numbers used for
@@ -169,9 +167,9 @@ in
                 `hostNames` is set explicitly.
               '';
             };
-            publicKey = mkOption {
+            publicKey = lib.mkOption {
               default = null;
-              type = types.nullOr types.str;
+              type = lib.types.nullOr lib.types.str;
               example = "ecdsa-sha2-nistp521 AAAAE2VjZHN...UEPg==";
               description = ''
                 The public key data for the host. You can fetch a public key
@@ -180,9 +178,9 @@ in
                 the key type and the key itself.
               '';
             };
-            publicKeyFile = mkOption {
+            publicKeyFile = lib.mkOption {
               default = null;
-              type = types.nullOr types.path;
+              type = lib.types.nullOr lib.types.path;
               description = ''
                 The path to the public key file for the host. The public
                 key file is read at build time and saved in the Nix store.
@@ -204,7 +202,7 @@ in
           `extraHostNames` to add additional host names without
           disabling this default.
         '';
-        example = literalExpression ''
+        example = lib.literalExpression ''
           {
             myhost = {
               extraHostNames = [ "myhost.mydomain.com" "10.10.1.4" ];
@@ -219,16 +217,16 @@ in
         '';
       };
 
-      knownHostsFiles = mkOption {
+      knownHostsFiles = lib.mkOption {
         default = [];
-        type = with types; listOf path;
+        type = with lib.types; listOf path;
         description = ''
           Files containing SSH host keys to set as global known hosts.
           `/etc/ssh/ssh_known_hosts` (which is
           generated by {option}`programs.ssh.knownHosts`) is
           always included.
         '';
-        example = literalExpression ''
+        example = lib.literalExpression ''
           [
             ./known_hosts
             (writeText "github.keys" '''
@@ -240,8 +238,8 @@ in
         '';
       };
 
-      kexAlgorithms = mkOption {
-        type = types.nullOr (types.listOf types.str);
+      kexAlgorithms = lib.mkOption {
+        type = lib.types.nullOr (lib.types.listOf lib.types.str);
         default = null;
         example = [ "curve25519-sha256@libssh.org" "diffie-hellman-group-exchange-sha256" ];
         description = ''
@@ -249,8 +247,8 @@ in
         '';
       };
 
-      ciphers = mkOption {
-        type = types.nullOr (types.listOf types.str);
+      ciphers = lib.mkOption {
+        type = lib.types.nullOr (lib.types.listOf lib.types.str);
         default = null;
         example = [ "chacha20-poly1305@openssh.com" "aes256-gcm@openssh.com" ];
         description = ''
@@ -258,8 +256,8 @@ in
         '';
       };
 
-      macs = mkOption {
-        type = types.nullOr (types.listOf types.str);
+      macs = lib.mkOption {
+        type = lib.types.nullOr (lib.types.listOf lib.types.str);
         default = null;
         example = [ "hmac-sha2-512-etm@openssh.com" "hmac-sha1" ];
         description = ''
@@ -274,13 +272,13 @@ in
   config = {
 
     programs.ssh.setXAuthLocation =
-      mkDefault (config.services.xserver.enable || config.programs.ssh.forwardX11 == true || config.services.openssh.settings.X11Forwarding);
+      lib.mkDefault (config.services.xserver.enable || config.programs.ssh.forwardX11 == true || config.services.openssh.settings.X11Forwarding);
 
     assertions =
       [ { assertion = cfg.forwardX11 == true -> cfg.setXAuthLocation;
           message = "cannot enable X11 forwarding without setting XAuth location";
         }
-      ] ++ flip mapAttrsToList cfg.knownHosts (name: data: {
+      ] ++ lib.flip lib.mapAttrsToList cfg.knownHosts (name: data: {
         assertion = (data.publicKey == null && data.publicKeyFile != null) ||
                     (data.publicKey != null && data.publicKeyFile == null);
         message = "knownHost ${name} must contain either a publicKey or publicKeyFile";
@@ -296,22 +294,22 @@ in
         # Generated options from other settings
         Host *
         AddressFamily ${if config.networking.enableIPv6 then "any" else "inet"}
-        GlobalKnownHostsFile ${concatStringsSep " " knownHostsFiles}
+        GlobalKnownHostsFile ${builtins.concatStringsSep " " knownHostsFiles}
 
-        ${optionalString cfg.setXAuthLocation "XAuthLocation ${pkgs.xorg.xauth}/bin/xauth"}
+        ${lib.optionalString cfg.setXAuthLocation "XAuthLocation ${pkgs.xorg.xauth}/bin/xauth"}
         ${lib.optionalString (cfg.forwardX11 != null) "ForwardX11 ${if cfg.forwardX11 then "yes" else "no"}"}
 
-        ${optionalString (cfg.pubkeyAcceptedKeyTypes != []) "PubkeyAcceptedKeyTypes ${concatStringsSep "," cfg.pubkeyAcceptedKeyTypes}"}
-        ${optionalString (cfg.hostKeyAlgorithms != []) "HostKeyAlgorithms ${concatStringsSep "," cfg.hostKeyAlgorithms}"}
-        ${optionalString (cfg.kexAlgorithms != null) "KexAlgorithms ${concatStringsSep "," cfg.kexAlgorithms}"}
-        ${optionalString (cfg.ciphers != null) "Ciphers ${concatStringsSep "," cfg.ciphers}"}
-        ${optionalString (cfg.macs != null) "MACs ${concatStringsSep "," cfg.macs}"}
+        ${lib.optionalString (cfg.pubkeyAcceptedKeyTypes != []) "PubkeyAcceptedKeyTypes ${builtins.concatStringsSep "," cfg.pubkeyAcceptedKeyTypes}"}
+        ${lib.optionalString (cfg.hostKeyAlgorithms != []) "HostKeyAlgorithms ${builtins.concatStringsSep "," cfg.hostKeyAlgorithms}"}
+        ${lib.optionalString (cfg.kexAlgorithms != null) "KexAlgorithms ${builtins.concatStringsSep "," cfg.kexAlgorithms}"}
+        ${lib.optionalString (cfg.ciphers != null) "Ciphers ${builtins.concatStringsSep "," cfg.ciphers}"}
+        ${lib.optionalString (cfg.macs != null) "MACs ${builtins.concatStringsSep "," cfg.macs}"}
       '';
 
     environment.etc."ssh/ssh_known_hosts".text = knownHostsText;
 
     # FIXME: this should really be socket-activated for über-awesomeness.
-    systemd.user.services.ssh-agent = mkIf cfg.startAgent
+    systemd.user.services.ssh-agent = lib.mkIf cfg.startAgent
       { description = "SSH Agent";
         wantedBy = [ "default.target" ];
         unitConfig.ConditionUser = "!@system";
@@ -319,8 +317,8 @@ in
           { ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent";
             ExecStart =
                 "${cfg.package}/bin/ssh-agent " +
-                optionalString (cfg.agentTimeout != null) ("-t ${cfg.agentTimeout} ") +
-                optionalString (cfg.agentPKCS11Whitelist != null) ("-P ${cfg.agentPKCS11Whitelist} ") +
+                lib.optionalString (cfg.agentTimeout != null) ("-t ${cfg.agentTimeout} ") +
+                lib.optionalString (cfg.agentPKCS11Whitelist != null) ("-P ${cfg.agentPKCS11Whitelist} ") +
                 "-a %t/ssh-agent";
             StandardOutput = "null";
             Type = "forking";
@@ -330,18 +328,18 @@ in
         # Allow ssh-agent to ask for confirmation. This requires the
         # unit to know about the user's $DISPLAY (via ‘systemctl
         # import-environment’).
-        environment.SSH_ASKPASS = optionalString cfg.enableAskPassword askPasswordWrapper;
+        environment.SSH_ASKPASS = lib.optionalString cfg.enableAskPassword askPasswordWrapper;
         environment.DISPLAY = "fake"; # required to make ssh-agent start $SSH_ASKPASS
       };
 
-    environment.extraInit = optionalString cfg.startAgent
+    environment.extraInit = lib.optionalString cfg.startAgent
       ''
         if [ -z "$SSH_AUTH_SOCK" -a -n "$XDG_RUNTIME_DIR" ]; then
           export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent"
         fi
       '';
 
-    environment.variables.SSH_ASKPASS = optionalString cfg.enableAskPassword cfg.askPassword;
+    environment.variables.SSH_ASKPASS = lib.optionalString cfg.enableAskPassword cfg.askPassword;
 
   };
 }
diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix
index 58aa0aa25b082..d317398495f54 100644
--- a/nixos/modules/programs/steam.nix
+++ b/nixos/modules/programs/steam.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.steam;
   gamescopeCfg = config.programs.gamescope;
@@ -11,7 +9,7 @@ let
   in
     pkgs.writeShellScriptBin "steam-gamescope" ''
       ${builtins.concatStringsSep "\n" exports}
-      gamescope --steam ${toString cfg.gamescopeSession.args} -- steam -tenfoot -pipewire-dmabuf
+      gamescope --steam ${builtins.toString cfg.gamescopeSession.args} -- steam -tenfoot -pipewire-dmabuf
     '';
 
   gamescopeSessionFile =
@@ -24,13 +22,13 @@ let
     '').overrideAttrs (_: { passthru.providedSessions = [ "steam" ]; });
 in {
   options.programs.steam = {
-    enable = mkEnableOption "steam";
+    enable = lib.mkEnableOption "steam";
 
-    package = mkOption {
-      type = types.package;
+    package = lib.mkOption {
+      type = lib.types.package;
       default = pkgs.steam;
-      defaultText = literalExpression "pkgs.steam";
-      example = literalExpression ''
+      defaultText = lib.literalExpression "pkgs.steam";
+      example = lib.literalExpression ''
         pkgs.steam-small.override {
           extraEnv = {
             MANGOHUD = true;
@@ -44,8 +42,8 @@ in {
       '';
       apply = steam: steam.override (prev: {
         extraEnv = (lib.optionalAttrs (cfg.extraCompatPackages != [ ]) {
-          STEAM_EXTRA_COMPAT_TOOLS_PATHS = makeSearchPathOutput "steamcompattool" "" cfg.extraCompatPackages;
-        }) // (optionalAttrs cfg.extest.enable {
+          STEAM_EXTRA_COMPAT_TOOLS_PATHS = lib.makeSearchPathOutput "steamcompattool" "" cfg.extraCompatPackages;
+        }) // (lib.optionalAttrs cfg.extest.enable {
           LD_PRELOAD = "${pkgs.pkgsi686Linux.extest}/lib/libextest.so";
         }) // (prev.extraEnv or {});
         extraLibraries = pkgs: let
@@ -55,7 +53,7 @@ in {
             then [ package ] ++ extraPackages
             else [ package32 ] ++ extraPackages32;
         in prevLibs ++ additionalLibs;
-      } // optionalAttrs (cfg.gamescopeSession.enable && gamescopeCfg.capSysNice)
+      } // lib.optionalAttrs (cfg.gamescopeSession.enable && gamescopeCfg.capSysNice)
       {
         buildFHSEnv = pkgs.buildFHSEnv.override {
           # use the setuid wrapped bubblewrap
@@ -71,10 +69,10 @@ in {
       '';
     };
 
-    extraCompatPackages = mkOption {
-      type = types.listOf types.package;
+    extraCompatPackages = lib.mkOption {
+      type = lib.types.listOf lib.types.package;
       default = [ ];
-      example = literalExpression ''
+      example = lib.literalExpression ''
         with pkgs; [
           proton-ge-bin
         ]
@@ -88,46 +86,46 @@ in {
       '';
     };
 
-    remotePlay.openFirewall = mkOption {
-      type = types.bool;
+    remotePlay.openFirewall = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Open ports in the firewall for Steam Remote Play.
       '';
     };
 
-    dedicatedServer.openFirewall = mkOption {
-      type = types.bool;
+    dedicatedServer.openFirewall = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Open ports in the firewall for Source Dedicated Server.
       '';
     };
 
-    localNetworkGameTransfers.openFirewall = mkOption {
-      type = types.bool;
+    localNetworkGameTransfers.openFirewall = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         Open ports in the firewall for Steam Local Network Game Transfers.
       '';
     };
 
-    gamescopeSession = mkOption {
+    gamescopeSession = lib.mkOption {
       description = "Run a GameScope driven Steam session from your display-manager";
       default = {};
-      type = types.submodule {
+      type = lib.types.submodule {
         options = {
-          enable = mkEnableOption "GameScope Session";
-          args = mkOption {
-            type = types.listOf types.str;
+          enable = lib.mkEnableOption "GameScope Session";
+          args = lib.mkOption {
+            type = lib.types.listOf lib.types.str;
             default = [ ];
             description = ''
               Arguments to be passed to GameScope for the session.
             '';
           };
 
-          env = mkOption {
-            type = types.attrsOf types.str;
+          env = lib.mkOption {
+            type = lib.types.attrsOf lib.types.str;
             default = { };
             description = ''
               Environmental variables to be passed to GameScope for the session.
@@ -137,20 +135,20 @@ in {
       };
     };
 
-    extest.enable = mkEnableOption ''
+    extest.enable = lib.mkEnableOption ''
       Load the extest library into Steam, to translate X11 input events to
       uinput events (e.g. for using Steam Input on Wayland)
     '';
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     hardware.opengl = { # this fixes the "glXChooseVisual failed" bug, context: https://github.com/NixOS/nixpkgs/issues/47932
       enable = true;
       driSupport = true;
       driSupport32Bit = true;
     };
 
-    security.wrappers = mkIf (cfg.gamescopeSession.enable && gamescopeCfg.capSysNice) {
+    security.wrappers = lib.mkIf (cfg.gamescopeSession.enable && gamescopeCfg.capSysNice) {
       # needed or steam fails
       bwrap = {
         owner = "root";
@@ -160,8 +158,8 @@ in {
       };
     };
 
-    programs.gamescope.enable = mkDefault cfg.gamescopeSession.enable;
-    services.displayManager.sessionPackages = mkIf cfg.gamescopeSession.enable [ gamescopeSessionFile ];
+    programs.gamescope.enable = lib.mkDefault cfg.gamescopeSession.enable;
+    services.displayManager.sessionPackages = lib.mkIf cfg.gamescopeSession.enable [ gamescopeSessionFile ];
 
     # optionally enable 32bit pulseaudio support if pulseaudio is enabled
     hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.enable;
@@ -174,25 +172,25 @@ in {
     ] ++ lib.optional cfg.gamescopeSession.enable steam-gamescope;
 
     networking.firewall = lib.mkMerge [
-      (mkIf (cfg.remotePlay.openFirewall || cfg.localNetworkGameTransfers.openFirewall) {
+      (lib.mkIf (cfg.remotePlay.openFirewall || cfg.localNetworkGameTransfers.openFirewall) {
         allowedUDPPorts = [ 27036 ]; # Peer discovery
       })
 
-      (mkIf cfg.remotePlay.openFirewall {
+      (lib.mkIf cfg.remotePlay.openFirewall {
         allowedTCPPorts = [ 27036 ];
         allowedUDPPortRanges = [ { from = 27031; to = 27035; } ];
       })
 
-      (mkIf cfg.dedicatedServer.openFirewall {
+      (lib.mkIf cfg.dedicatedServer.openFirewall {
         allowedTCPPorts = [ 27015 ]; # SRCDS Rcon port
         allowedUDPPorts = [ 27015 ]; # Gameplay traffic
       })
 
-      (mkIf cfg.localNetworkGameTransfers.openFirewall {
+      (lib.mkIf cfg.localNetworkGameTransfers.openFirewall {
         allowedTCPPorts = [ 27040 ]; # Data transfers
       })
     ];
   };
 
-  meta.maintainers = teams.steam;
+  meta.maintainers = lib.teams.steam;
 }
diff --git a/nixos/modules/programs/streamdeck-ui.nix b/nixos/modules/programs/streamdeck-ui.nix
index 6bec2abdfbec6..a1366c42181c2 100644
--- a/nixos/modules/programs/streamdeck-ui.nix
+++ b/nixos/modules/programs/streamdeck-ui.nix
@@ -1,34 +1,32 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.streamdeck-ui;
 in
 {
   options.programs.streamdeck-ui = {
-    enable = mkEnableOption "streamdeck-ui";
+    enable = lib.mkEnableOption "streamdeck-ui";
 
-    autoStart = mkOption {
+    autoStart = lib.mkOption {
       default = true;
-      type = types.bool;
+      type = lib.types.bool;
       description = "Whether streamdeck-ui should be started automatically.";
     };
 
-    package = mkPackageOption pkgs "streamdeck-ui" {
+    package = lib.mkPackageOption pkgs "streamdeck-ui" {
       default = [ "streamdeck-ui" ];
     };
 
   };
 
-  config = mkIf cfg.enable {
-    environment.systemPackages = with pkgs; [
+  config = lib.mkIf cfg.enable {
+    environment.systemPackages = [
       cfg.package
-      (mkIf cfg.autoStart (makeAutostartItem { name = "streamdeck-ui-noui"; package = cfg.package; }))
+      (lib.mkIf cfg.autoStart (pkgs.makeAutostartItem { name = "streamdeck-ui-noui"; package = cfg.package; }))
     ];
 
     services.udev.packages = [ cfg.package ];
   };
 
-  meta.maintainers = with maintainers; [ majiir ];
+  meta.maintainers = with lib.maintainers; [ majiir ];
 }
diff --git a/nixos/modules/programs/sysdig.nix b/nixos/modules/programs/sysdig.nix
index cf2cbab5cf6e5..47b95ef64e97f 100644
--- a/nixos/modules/programs/sysdig.nix
+++ b/nixos/modules/programs/sysdig.nix
@@ -1,13 +1,11 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.sysdig;
 in {
-  options.programs.sysdig.enable = mkEnableOption "sysdig, a tracing tool";
+  options.programs.sysdig.enable = lib.mkEnableOption "sysdig, a tracing tool";
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.sysdig ];
     boot.extraModulePackages = [ config.boot.kernelPackages.sysdig ];
   };
diff --git a/nixos/modules/programs/system-config-printer.nix b/nixos/modules/programs/system-config-printer.nix
index 34592dd7064b4..68b7897d64c24 100644
--- a/nixos/modules/programs/system-config-printer.nix
+++ b/nixos/modules/programs/system-config-printer.nix
@@ -1,7 +1,5 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 {
 
   ###### interface
@@ -10,7 +8,7 @@ with lib;
 
     programs.system-config-printer = {
 
-      enable = mkEnableOption "system-config-printer, a Graphical user interface for CUPS administration";
+      enable = lib.mkEnableOption "system-config-printer, a Graphical user interface for CUPS administration";
 
     };
 
@@ -19,7 +17,7 @@ with lib;
 
   ###### implementation
 
-  config = mkIf config.programs.system-config-printer.enable {
+  config = lib.mkIf config.programs.system-config-printer.enable {
 
     environment.systemPackages = [
       pkgs.system-config-printer
diff --git a/nixos/modules/programs/systemtap.nix b/nixos/modules/programs/systemtap.nix
index d23bd13fdd85d..e61e255e52217 100644
--- a/nixos/modules/programs/systemtap.nix
+++ b/nixos/modules/programs/systemtap.nix
@@ -1,14 +1,12 @@
 { config, lib, ... }:
 
-with lib;
-
 let cfg = config.programs.systemtap;
 in {
 
   options = {
     programs.systemtap = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Install {command}`systemtap` along with necessary kernel options.
@@ -16,7 +14,7 @@ in {
       };
     };
   };
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     system.requiredKernelConfig = with config.lib.kernelConfig; [
       (isYes "DEBUG")
     ];
diff --git a/nixos/modules/programs/thefuck.nix b/nixos/modules/programs/thefuck.nix
index ba2e39c013aeb..0e65352a1f216 100644
--- a/nixos/modules/programs/thefuck.nix
+++ b/nixos/modules/programs/thefuck.nix
@@ -1,7 +1,5 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   prg = config.programs;
   cfg = prg.thefuck;
@@ -16,11 +14,11 @@ in
   {
     options = {
       programs.thefuck = {
-        enable = mkEnableOption "thefuck, an app which corrects your previous console command";
+        enable = lib.mkEnableOption "thefuck, an app which corrects your previous console command";
 
-        alias = mkOption {
+        alias = lib.mkOption {
           default = "fuck";
-          type = types.str;
+          type = lib.types.str;
 
           description = ''
             `thefuck` needs an alias to be configured.
@@ -30,11 +28,11 @@ in
       };
     };
 
-    config = mkIf cfg.enable {
+    config = lib.mkIf cfg.enable {
       environment.systemPackages = with pkgs; [ thefuck ];
 
       programs.bash.interactiveShellInit = bashAndZshInitScript;
-      programs.zsh.interactiveShellInit = mkIf prg.zsh.enable bashAndZshInitScript;
-      programs.fish.interactiveShellInit = mkIf prg.fish.enable fishInitScript;
+      programs.zsh.interactiveShellInit = lib.mkIf prg.zsh.enable bashAndZshInitScript;
+      programs.fish.interactiveShellInit = lib.mkIf prg.fish.enable fishInitScript;
     };
   }
diff --git a/nixos/modules/programs/thunar.nix b/nixos/modules/programs/thunar.nix
index 5ea2982dd93cf..76fcc9d8298f4 100644
--- a/nixos/modules/programs/thunar.nix
+++ b/nixos/modules/programs/thunar.nix
@@ -1,29 +1,27 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let cfg = config.programs.thunar;
 
 in {
   meta = {
-    maintainers = teams.xfce.members;
+    maintainers = lib.teams.xfce.members;
   };
 
   options = {
     programs.thunar = {
-      enable = mkEnableOption "Thunar, the Xfce file manager";
+      enable = lib.mkEnableOption "Thunar, the Xfce file manager";
 
-      plugins = mkOption {
+      plugins = lib.mkOption {
         default = [];
-        type = types.listOf types.package;
+        type = lib.types.listOf lib.types.package;
         description = "List of thunar plugins to install.";
-        example = literalExpression "with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]";
+        example = lib.literalExpression "with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]";
       };
 
     };
   };
 
-  config = mkIf cfg.enable (
+  config = lib.mkIf cfg.enable (
     let package = pkgs.xfce.thunar.override { thunarPlugins = cfg.plugins; };
 
     in {
diff --git a/nixos/modules/programs/traceroute.nix b/nixos/modules/programs/traceroute.nix
index 6e04057ac5034..0864dbe79db6b 100644
--- a/nixos/modules/programs/traceroute.nix
+++ b/nixos/modules/programs/traceroute.nix
@@ -1,14 +1,12 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.traceroute;
 in {
   options = {
     programs.traceroute = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to configure a setcap wrapper for traceroute.
@@ -17,7 +15,7 @@ in {
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     security.wrappers.traceroute = {
       owner = "root";
       group = "root";
diff --git a/nixos/modules/programs/turbovnc.nix b/nixos/modules/programs/turbovnc.nix
index fbb3a7bf22e99..c28b7f7d79910 100644
--- a/nixos/modules/programs/turbovnc.nix
+++ b/nixos/modules/programs/turbovnc.nix
@@ -2,8 +2,6 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.turbovnc;
 in
@@ -12,8 +10,8 @@ in
 
     programs.turbovnc = {
 
-      ensureHeadlessSoftwareOpenGL = mkOption {
-        type = types.bool;
+      ensureHeadlessSoftwareOpenGL = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to set up NixOS such that TurboVNC's built-in software OpenGL
@@ -36,7 +34,7 @@ in
 
   };
 
-  config = mkIf cfg.ensureHeadlessSoftwareOpenGL {
+  config = lib.mkIf cfg.ensureHeadlessSoftwareOpenGL {
 
     # TurboVNC has builtin support for Mesa llvmpipe's `swrast`
     # software rendering to implement GLX (OpenGL on Xorg).
diff --git a/nixos/modules/programs/udevil.nix b/nixos/modules/programs/udevil.nix
index 44b9dd9234b38..e4c0daea72c1b 100644
--- a/nixos/modules/programs/udevil.nix
+++ b/nixos/modules/programs/udevil.nix
@@ -1,14 +1,12 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.udevil;
 
 in {
-  options.programs.udevil.enable = mkEnableOption "udevil, to mount filesystems without password";
+  options.programs.udevil.enable = lib.mkEnableOption "udevil, to mount filesystems without password";
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     security.wrappers.udevil =
       { setuid = true;
         owner = "root";
diff --git a/nixos/modules/programs/usbtop.nix b/nixos/modules/programs/usbtop.nix
index 4f13ce5f6262d..8b77b2bf51c43 100644
--- a/nixos/modules/programs/usbtop.nix
+++ b/nixos/modules/programs/usbtop.nix
@@ -1,15 +1,13 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.usbtop;
 in {
   options = {
-    programs.usbtop.enable = mkEnableOption "usbtop and required kernel module, to show estimated USB bandwidth";
+    programs.usbtop.enable = lib.mkEnableOption "usbtop and required kernel module, to show estimated USB bandwidth";
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [
       usbtop
     ];
diff --git a/nixos/modules/programs/vim.nix b/nixos/modules/programs/vim.nix
index eb3499fd243f5..8232340ddebbf 100644
--- a/nixos/modules/programs/vim.nix
+++ b/nixos/modules/programs/vim.nix
@@ -1,13 +1,11 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.vim;
 in {
   options.programs.vim = {
-    defaultEditor = mkOption {
-      type = types.bool;
+    defaultEditor = lib.mkOption {
+      type = lib.types.bool;
       default = false;
       description = ''
         When enabled, installs vim and configures vim to be the default editor
@@ -15,13 +13,13 @@ in {
       '';
     };
 
-    package = mkPackageOption pkgs "vim" {
+    package = lib.mkPackageOption pkgs "vim" {
       example = "vim-full";
     };
   };
 
-  config = mkIf cfg.defaultEditor {
+  config = lib.mkIf cfg.defaultEditor {
     environment.systemPackages = [ cfg.package ];
-    environment.variables = { EDITOR = mkOverride 900 "vim"; };
+    environment.variables = { EDITOR = lib.mkOverride 900 "vim"; };
   };
 }
diff --git a/nixos/modules/programs/wavemon.nix b/nixos/modules/programs/wavemon.nix
index e5ccacba75d4a..86bc7cc097954 100644
--- a/nixos/modules/programs/wavemon.nix
+++ b/nixos/modules/programs/wavemon.nix
@@ -1,14 +1,12 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.wavemon;
 in {
   options = {
     programs.wavemon = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to add wavemon to the global environment and configure a
@@ -18,7 +16,7 @@ in {
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [ wavemon ];
     security.wrappers.wavemon = {
       owner = "root";
diff --git a/nixos/modules/programs/wayland/hyprland.nix b/nixos/modules/programs/wayland/hyprland.nix
index 5891ff25e4375..c963429f2e2a9 100644
--- a/nixos/modules/programs/wayland/hyprland.nix
+++ b/nixos/modules/programs/wayland/hyprland.nix
@@ -3,7 +3,7 @@
 , pkgs
 , ...
 }:
-with lib; let
+let
   cfg = config.programs.hyprland;
 
   finalPortalPackage = cfg.portalPackage.override {
@@ -12,7 +12,7 @@ with lib; let
 in
 {
   options.programs.hyprland = {
-    enable = mkEnableOption null // {
+    enable = lib.mkEnableOption null // {
       description = ''
         Whether to enable Hyprland, the dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
 
@@ -23,26 +23,26 @@ in
       '';
     };
 
-    package = mkPackageOption pkgs "hyprland" { };
+    package = lib.mkPackageOption pkgs "hyprland" { };
 
-    finalPackage = mkOption {
-      type = types.package;
+    finalPackage = lib.mkOption {
+      type = lib.types.package;
       readOnly = true;
       default = cfg.package.override {
         enableXWayland = cfg.xwayland.enable;
       };
-      defaultText = literalExpression
+      defaultText = lib.literalExpression
         "`programs.hyprland.package` with applied configuration";
       description = ''
         The Hyprland package after applying configuration.
       '';
     };
 
-    portalPackage = mkPackageOption pkgs "xdg-desktop-portal-hyprland" { };
+    portalPackage = lib.mkPackageOption pkgs "xdg-desktop-portal-hyprland" { };
 
-    xwayland.enable = mkEnableOption ("XWayland") // { default = true; };
+    xwayland.enable = lib.mkEnableOption ("XWayland") // { default = true; };
 
-    systemd.setPath.enable = mkEnableOption null // {
+    systemd.setPath.enable = lib.mkEnableOption null // {
       default = true;
       example = false;
       description = ''
@@ -53,15 +53,15 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.finalPackage ];
 
-    fonts.enableDefaultPackages = mkDefault true;
-    hardware.opengl.enable = mkDefault true;
+    fonts.enableDefaultPackages = lib.mkDefault true;
+    hardware.opengl.enable = lib.mkDefault true;
 
     programs = {
-      dconf.enable = mkDefault true;
-      xwayland.enable = mkDefault cfg.xwayland.enable;
+      dconf.enable = lib.mkDefault true;
+      xwayland.enable = lib.mkDefault cfg.xwayland.enable;
     };
 
     security.polkit.enable = true;
@@ -69,28 +69,28 @@ in
     services.displayManager.sessionPackages = [ cfg.finalPackage ];
 
     xdg.portal = {
-      enable = mkDefault true;
+      enable = lib.mkDefault true;
       extraPortals = [ finalPortalPackage ];
-      configPackages = mkDefault [ cfg.finalPackage ];
+      configPackages = lib.mkDefault [ cfg.finalPackage ];
     };
 
-    systemd = mkIf cfg.systemd.setPath.enable {
+    systemd = lib.mkIf cfg.systemd.setPath.enable {
       user.extraConfig = ''
         DefaultEnvironment="PATH=$PATH:/run/current-system/sw/bin:/etc/profiles/per-user/%u/bin:/run/wrappers/bin"
       '';
     };
   };
 
-  imports = with lib; [
-    (mkRemovedOptionModule
+  imports = [
+    (lib.mkRemovedOptionModule
       [ "programs" "hyprland" "xwayland" "hidpi" ]
       "XWayland patches are deprecated. Refer to https://wiki.hyprland.org/Configuring/XWayland"
     )
-    (mkRemovedOptionModule
+    (lib.mkRemovedOptionModule
       [ "programs" "hyprland" "enableNvidiaPatches" ]
       "Nvidia patches are no longer needed"
     )
-    (mkRemovedOptionModule
+    (lib.mkRemovedOptionModule
       [ "programs" "hyprland" "nvidiaPatches" ]
       "Nvidia patches are no longer needed"
     )
diff --git a/nixos/modules/programs/wayland/river.nix b/nixos/modules/programs/wayland/river.nix
index d0e309646b0ef..6f8bafb155064 100644
--- a/nixos/modules/programs/wayland/river.nix
+++ b/nixos/modules/programs/wayland/river.nix
@@ -4,13 +4,13 @@
   lib,
   ...
 }:
-with lib; let
+let
   cfg = config.programs.river;
 in {
   options.programs.river = {
-    enable = mkEnableOption "river, a dynamic tiling Wayland compositor";
+    enable = lib.mkEnableOption "river, a dynamic tiling Wayland compositor";
 
-    package = mkPackageOption pkgs "river" {
+    package = lib.mkPackageOption pkgs "river" {
       nullable = true;
       extraDescription = ''
         Set to `null` to not add any River package to your path.
@@ -18,17 +18,17 @@ in {
       '';
     };
 
-    extraPackages = mkOption {
-      type = with types; listOf package;
+    extraPackages = lib.mkOption {
+      type = with lib.types; listOf package;
       default = with pkgs; [
         swaylock
         foot
         dmenu
       ];
-      defaultText = literalExpression ''
+      defaultText = lib.literalExpression ''
         with pkgs; [ swaylock foot dmenu ];
       '';
-      example = literalExpression ''
+      example = lib.literalExpression ''
         with pkgs; [
           termite rofi light
         ]
@@ -42,15 +42,15 @@ in {
   };
 
   config =
-    mkIf cfg.enable (mkMerge [
+    lib.mkIf cfg.enable (lib.mkMerge [
       {
-        environment.systemPackages = optional (cfg.package != null) cfg.package ++ cfg.extraPackages;
+        environment.systemPackages = lib.optional (cfg.package != null) cfg.package ++ cfg.extraPackages;
 
         # To make a river session available if a display manager like SDDM is enabled:
-        services.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ];
+        services.displayManager.sessionPackages = lib.optionals (cfg.package != null) [ cfg.package ];
 
         # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
-        xdg.portal.config.river.default = mkDefault [ "wlr" "gtk" ];
+        xdg.portal.config.river.default = lib.mkDefault [ "wlr" "gtk" ];
       }
       (import ./wayland-session.nix { inherit lib pkgs; })
     ]);
diff --git a/nixos/modules/programs/wayland/sway.nix b/nixos/modules/programs/wayland/sway.nix
index 348e1db7cdc1c..cec634b6b0338 100644
--- a/nixos/modules/programs/wayland/sway.nix
+++ b/nixos/modules/programs/wayland/sway.nix
@@ -1,15 +1,13 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.sway;
 
-  wrapperOptions = types.submodule {
+  wrapperOptions = lib.types.submodule {
     options =
       let
-        mkWrapperFeature  = default: description: mkOption {
-          type = types.bool;
+        mkWrapperFeature  = default: description: lib.mkOption {
+          type = lib.types.bool;
           inherit default;
           example = !default;
           description = "Whether to make use of the ${description}";
@@ -50,18 +48,18 @@ let
       };
 in {
   options.programs.sway = {
-    enable = mkEnableOption ''
+    enable = lib.mkEnableOption ''
       Sway, the i3-compatible tiling Wayland compositor. You can manually launch
       Sway by executing "exec sway" on a TTY. Copy /etc/sway/config to
       ~/.config/sway/config to modify the default configuration. See
       <https://github.com/swaywm/sway/wiki> and
       "man 5 sway" for more information'';
 
-    package = mkOption {
-      type = with types; nullOr package;
+    package = lib.mkOption {
+      type = with lib.types; nullOr package;
       default = pkgs.sway;
       apply = p: if p == null then null else genFinalPackage p;
-      defaultText = literalExpression "pkgs.sway";
+      defaultText = lib.literalExpression "pkgs.sway";
       description = ''
         Sway package to use. If the package does not contain the override arguments
         `extraSessionCommands`, `extraOptions`, `withBaseWrapper`, `withGtkWrapper`,
@@ -72,7 +70,7 @@ in {
       '';
     };
 
-    wrapperFeatures = mkOption {
+    wrapperFeatures = lib.mkOption {
       type = wrapperOptions;
       default = { };
       example = { gtk = true; };
@@ -81,8 +79,8 @@ in {
       '';
     };
 
-    extraSessionCommands = mkOption {
-      type = types.lines;
+    extraSessionCommands = lib.mkOption {
+      type = lib.types.lines;
       default = "";
       example = ''
         # SDL:
@@ -102,8 +100,8 @@ in {
       '';
     };
 
-    extraOptions = mkOption {
-      type = types.listOf types.str;
+    extraOptions = lib.mkOption {
+      type = lib.types.listOf lib.types.str;
       default = [];
       example = [
         "--verbose"
@@ -116,15 +114,15 @@ in {
       '';
     };
 
-    extraPackages = mkOption {
-      type = with types; listOf package;
+    extraPackages = lib.mkOption {
+      type = with lib.types; listOf package;
       default = with pkgs; [
         swaylock swayidle foot dmenu wmenu
       ];
-      defaultText = literalExpression ''
+      defaultText = lib.literalExpression ''
         with pkgs; [ swaylock swayidle foot dmenu wmenu ];
       '';
-      example = literalExpression ''
+      example = lib.literalExpression ''
         with pkgs; [
           i3status i3status-rust
           termite rofi light
@@ -140,8 +138,8 @@ in {
 
   };
 
-  config = mkIf cfg.enable
-    (mkMerge [
+  config = lib.mkIf cfg.enable
+    (lib.mkMerge [
       {
         assertions = [
           {
@@ -154,27 +152,27 @@ in {
         ];
 
         environment = {
-          systemPackages = optional (cfg.package != null) cfg.package ++ cfg.extraPackages;
+          systemPackages = lib.optional (cfg.package != null) cfg.package ++ cfg.extraPackages;
           # Needed for the default wallpaper:
-          pathsToLink = optionals (cfg.package != null) [ "/share/backgrounds/sway" ];
+          pathsToLink = lib.optionals (cfg.package != null) [ "/share/backgrounds/sway" ];
           etc = {
             "sway/config.d/nixos.conf".source = pkgs.writeText "nixos.conf" ''
               # Import the most important environment variables into the D-Bus and systemd
               # user environments (e.g. required for screen sharing and Pinentry prompts):
               exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
             '';
-          } // optionalAttrs (cfg.package != null) {
-            "sway/config".source = mkOptionDefault "${cfg.package}/etc/sway/config";
+          } // lib.optionalAttrs (cfg.package != null) {
+            "sway/config".source = lib.mkOptionDefault "${cfg.package}/etc/sway/config";
           };
         };
 
         programs.gnupg.agent.pinentryPackage = lib.mkDefault pkgs.pinentry-gnome3;
 
         # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
-        xdg.portal.config.sway.default = mkDefault [ "wlr" "gtk" ];
+        xdg.portal.config.sway.default = lib.mkDefault [ "wlr" "gtk" ];
 
         # To make a Sway session available if a display manager like SDDM is enabled:
-        services.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; }
+        services.displayManager.sessionPackages = lib.optionals (cfg.package != null) [ cfg.package ]; }
       (import ./wayland-session.nix { inherit lib pkgs; })
     ]);
 
diff --git a/nixos/modules/programs/wayland/waybar.nix b/nixos/modules/programs/wayland/waybar.nix
index ffe889504cd39..ab811994be073 100644
--- a/nixos/modules/programs/wayland/waybar.nix
+++ b/nixos/modules/programs/wayland/waybar.nix
@@ -1,17 +1,15 @@
 { lib, pkgs, config, ... }:
 
-with lib;
-
 let
   cfg = config.programs.waybar;
 in
 {
   options.programs.waybar = {
-    enable = mkEnableOption "waybar, a highly customizable Wayland bar for Sway and Wlroots based compositors";
-    package = mkPackageOption pkgs "waybar" { };
+    enable = lib.mkEnableOption "waybar, a highly customizable Wayland bar for Sway and Wlroots based compositors";
+    package = lib.mkPackageOption pkgs "waybar" { };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
     systemd.user.services.waybar = {
       description = "Waybar as systemd service";
@@ -21,5 +19,5 @@ in
     };
   };
 
-  meta.maintainers = [ maintainers.FlorianFranzen ];
+  meta.maintainers = [ lib.maintainers.FlorianFranzen ];
 }
diff --git a/nixos/modules/programs/wayland/wayland-session.nix b/nixos/modules/programs/wayland/wayland-session.nix
index da117ceae0ad6..47ee0788e0f38 100644
--- a/nixos/modules/programs/wayland/wayland-session.nix
+++ b/nixos/modules/programs/wayland/wayland-session.nix
@@ -1,19 +1,19 @@
-{ lib, pkgs, ... }: with lib; {
+{ lib, pkgs, ... }: {
     security = {
       polkit.enable = true;
       pam.services.swaylock = {};
     };
 
-    hardware.opengl.enable = mkDefault true;
-    fonts.enableDefaultPackages = mkDefault true;
+    hardware.opengl.enable = lib.mkDefault true;
+    fonts.enableDefaultPackages = lib.mkDefault true;
 
     programs = {
-      dconf.enable = mkDefault true;
-      xwayland.enable = mkDefault true;
+      dconf.enable = lib.mkDefault true;
+      xwayland.enable = lib.mkDefault true;
     };
 
     xdg.portal = {
-      enable = mkDefault true;
+      enable = lib.mkDefault true;
 
       extraPortals = [
         # For screen sharing
diff --git a/nixos/modules/programs/weylus.nix b/nixos/modules/programs/weylus.nix
index a47dccb95cd98..d76e2f81b2c94 100644
--- a/nixos/modules/programs/weylus.nix
+++ b/nixos/modules/programs/weylus.nix
@@ -1,15 +1,13 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.weylus;
 in
 {
-  options.programs.weylus = with types; {
-    enable = mkEnableOption "weylus, which turns your smart phone into a graphic tablet/touch screen for your computer";
+  options.programs.weylus = with lib.types; {
+    enable = lib.mkEnableOption "weylus, which turns your smart phone into a graphic tablet/touch screen for your computer";
 
-    openFirewall = mkOption {
+    openFirewall = lib.mkOption {
       type = bool;
       default = false;
       description = ''
@@ -17,7 +15,7 @@ in
       '';
     };
 
-     users = mkOption {
+     users = lib.mkOption {
       type = listOf str;
       default = [ ];
       description = ''
@@ -26,10 +24,10 @@ in
       '';
     };
 
-    package = mkPackageOption pkgs "weylus" { };
+    package = lib.mkPackageOption pkgs "weylus" { };
   };
-  config = mkIf cfg.enable {
-    networking.firewall = mkIf cfg.openFirewall {
+  config = lib.mkIf cfg.enable {
+    networking.firewall = lib.mkIf cfg.openFirewall {
       allowedTCPPorts = [ 1701 9001 ];
     };
 
diff --git a/nixos/modules/programs/wireshark.nix b/nixos/modules/programs/wireshark.nix
index 2d947154e8224..f5673e5940fea 100644
--- a/nixos/modules/programs/wireshark.nix
+++ b/nixos/modules/programs/wireshark.nix
@@ -1,28 +1,26 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.wireshark;
   wireshark = cfg.package;
 in {
   options = {
     programs.wireshark = {
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = ''
           Whether to add Wireshark to the global environment and configure a
           setcap wrapper for 'dumpcap' for users in the 'wireshark' group.
         '';
       };
-      package = mkPackageOption pkgs "wireshark-cli" {
+      package = lib.mkPackageOption pkgs "wireshark-cli" {
         example = "wireshark";
       };
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ wireshark ];
     users.groups.wireshark = {};
 
diff --git a/nixos/modules/programs/xastir.nix b/nixos/modules/programs/xastir.nix
index d9c687289ec2c..96201eb5455d0 100644
--- a/nixos/modules/programs/xastir.nix
+++ b/nixos/modules/programs/xastir.nix
@@ -1,17 +1,15 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.xastir;
 in {
-  meta.maintainers = with maintainers; [ melling ];
+  meta.maintainers = with lib.maintainers; [ melling ];
 
   options.programs.xastir = {
-    enable = mkEnableOption "Xastir Graphical APRS client";
+    enable = lib.mkEnableOption "Xastir Graphical APRS client";
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = with pkgs; [ xastir ];
     security.wrappers.xastir = {
       source = "${pkgs.xastir}/bin/xastir";
diff --git a/nixos/modules/programs/xfconf.nix b/nixos/modules/programs/xfconf.nix
index 8e854b40e513d..f2fda3b692d37 100644
--- a/nixos/modules/programs/xfconf.nix
+++ b/nixos/modules/programs/xfconf.nix
@@ -1,21 +1,19 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let cfg = config.programs.xfconf;
 
 in {
   meta = {
-    maintainers = teams.xfce.members;
+    maintainers = lib.teams.xfce.members;
   };
 
   options = {
     programs.xfconf = {
-      enable = mkEnableOption "Xfconf, the Xfce configuration storage system";
+      enable = lib.mkEnableOption "Xfconf, the Xfce configuration storage system";
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [
       pkgs.xfce.xfconf
     ];
diff --git a/nixos/modules/programs/xfs_quota.nix b/nixos/modules/programs/xfs_quota.nix
index 8f70cc2d94163..5ca05f4dc297e 100644
--- a/nixos/modules/programs/xfs_quota.nix
+++ b/nixos/modules/programs/xfs_quota.nix
@@ -2,15 +2,13 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfg = config.programs.xfs_quota;
 
-  limitOptions = opts: concatStringsSep " " [
-    (optionalString (opts.sizeSoftLimit != null) "bsoft=${opts.sizeSoftLimit}")
-    (optionalString (opts.sizeHardLimit != null) "bhard=${opts.sizeHardLimit}")
+  limitOptions = opts: builtins.concatStringsSep " " [
+    (lib.optionalString (opts.sizeSoftLimit != null) "bsoft=${opts.sizeSoftLimit}")
+    (lib.optionalString (opts.sizeHardLimit != null) "bhard=${opts.sizeHardLimit}")
   ];
 
 in
@@ -22,35 +20,35 @@ in
   options = {
 
     programs.xfs_quota = {
-      projects = mkOption {
+      projects = lib.mkOption {
         default = {};
-        type = types.attrsOf (types.submodule {
+        type = lib.types.attrsOf (lib.types.submodule {
           options = {
-            id = mkOption {
-              type = types.int;
+            id = lib.mkOption {
+              type = lib.types.int;
               description = "Project ID.";
             };
 
-            fileSystem = mkOption {
-              type = types.str;
+            fileSystem = lib.mkOption {
+              type = lib.types.str;
               description = "XFS filesystem hosting the xfs_quota project.";
               default = "/";
             };
 
-            path = mkOption {
-              type = types.str;
+            path = lib.mkOption {
+              type = lib.types.str;
               description = "Project directory.";
             };
 
-            sizeSoftLimit = mkOption {
-              type = types.nullOr types.str;
+            sizeSoftLimit = lib.mkOption {
+              type = lib.types.nullOr lib.types.str;
               default = null;
               example = "30g";
               description = "Soft limit of the project size";
             };
 
-            sizeHardLimit = mkOption {
-              type = types.nullOr types.str;
+            sizeHardLimit = lib.mkOption {
+              type = lib.types.nullOr lib.types.str;
               default = null;
               example = "50g";
               description = "Hard limit of the project size.";
@@ -75,18 +73,18 @@ in
 
   ###### implementation
 
-  config = mkIf (cfg.projects != {}) {
+  config = lib.mkIf (cfg.projects != {}) {
 
     environment.etc.projects.source = pkgs.writeText "etc-project"
-      (concatStringsSep "\n" (mapAttrsToList
-        (name: opts: "${toString opts.id}:${opts.path}") cfg.projects));
+      (builtins.concatStringsSep "\n" (lib.mapAttrsToList
+        (name: opts: "${builtins.toString opts.id}:${opts.path}") cfg.projects));
 
     environment.etc.projid.source = pkgs.writeText "etc-projid"
-      (concatStringsSep "\n" (mapAttrsToList
-        (name: opts: "${name}:${toString opts.id}") cfg.projects));
+      (builtins.concatStringsSep "\n" (lib.mapAttrsToList
+        (name: opts: "${name}:${builtins.toString opts.id}") cfg.projects));
 
-    systemd.services = mapAttrs' (name: opts:
-      nameValuePair "xfs_quota-${name}" {
+    systemd.services = lib.mapAttrs' (name: opts:
+      lib.nameValuePair "xfs_quota-${name}" {
         description = "Setup xfs_quota for project ${name}";
         script = ''
           ${pkgs.xfsprogs.bin}/bin/xfs_quota -x -c 'project -s ${name}' ${opts.fileSystem}
@@ -94,7 +92,7 @@ in
         '';
 
         wantedBy = [ "multi-user.target" ];
-        after = [ ((replaceStrings [ "/" ] [ "-" ] opts.fileSystem) + ".mount") ];
+        after = [ ((builtins.replaceStrings [ "/" ] [ "-" ] opts.fileSystem) + ".mount") ];
 
         restartTriggers = [ config.environment.etc.projects.source ];
 
diff --git a/nixos/modules/programs/xonsh.nix b/nixos/modules/programs/xonsh.nix
index fefe6b456c960..eed5152ba69a5 100644
--- a/nixos/modules/programs/xonsh.nix
+++ b/nixos/modules/programs/xonsh.nix
@@ -2,8 +2,6 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfg = config.programs.xonsh;
@@ -16,29 +14,29 @@ in
 
     programs.xonsh = {
 
-      enable = mkOption {
+      enable = lib.mkOption {
         default = false;
         description = ''
           Whether to configure xonsh as an interactive shell.
         '';
-        type = types.bool;
+        type = lib.types.bool;
       };
 
-      package = mkPackageOption pkgs "xonsh" {
+      package = lib.mkPackageOption pkgs "xonsh" {
         example = "xonsh.override { extraPackages = ps: [ ps.requests ]; }";
       };
 
-      config = mkOption {
+      config = lib.mkOption {
         default = "";
         description = "Control file to customize your shell behavior.";
-        type = types.lines;
+        type = lib.types.lines;
       };
 
     };
 
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
     environment.etc."xonsh/xonshrc".text = ''
       # /etc/xonsh/xonshrc: DO NOT EDIT -- this file has been generated automatically.
diff --git a/nixos/modules/programs/xss-lock.nix b/nixos/modules/programs/xss-lock.nix
index 1bb73905599f8..b818c52e1442d 100644
--- a/nixos/modules/programs/xss-lock.nix
+++ b/nixos/modules/programs/xss-lock.nix
@@ -1,26 +1,24 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.xss-lock;
 in
 {
   options.programs.xss-lock = {
-    enable = mkEnableOption "xss-lock";
+    enable = lib.mkEnableOption "xss-lock";
 
-    lockerCommand = mkOption {
+    lockerCommand = lib.mkOption {
       default = "${pkgs.i3lock}/bin/i3lock";
-      defaultText = literalExpression ''"''${pkgs.i3lock}/bin/i3lock"'';
-      example = literalExpression ''"''${pkgs.i3lock-fancy}/bin/i3lock-fancy"'';
-      type = types.separatedString " ";
+      defaultText = lib.literalExpression ''"''${pkgs.i3lock}/bin/i3lock"'';
+      example = lib.literalExpression ''"''${pkgs.i3lock-fancy}/bin/i3lock-fancy"'';
+      type = lib.types.separatedString " ";
       description = "Locker to be used with xsslock";
     };
 
-    extraOptions = mkOption {
+    extraOptions = lib.mkOption {
       default = [ ];
       example = [ "--ignore-sleep" ];
-      type = types.listOf types.str;
+      type = lib.types.listOf lib.types.str;
       description = ''
         Additional command-line arguments to pass to
         {command}`xss-lock`.
@@ -28,19 +26,24 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     systemd.user.services.xss-lock = {
       description = "XSS Lock Daemon";
       wantedBy = [ "graphical-session.target" ];
       partOf = [ "graphical-session.target" ];
-      serviceConfig.ExecStart = with lib;
-        strings.concatStringsSep " " ([
+      serviceConfig.ExecStart =
+        builtins.concatStringsSep " " ([
             "${pkgs.xss-lock}/bin/xss-lock" "--session \${XDG_SESSION_ID}"
-          ] ++ (map escapeShellArg cfg.extraOptions) ++ [
+          ] ++ (builtins.map lib.escapeShellArg cfg.extraOptions) ++ [
             "--"
             cfg.lockerCommand
         ]);
       serviceConfig.Restart = "always";
     };
+
+    warnings = lib.mkIf (config.services.xserver.displayManager.startx.enable) [
+      "xss-lock service only works if a displayManager is set; it doesn't work when services.xserver.displayManager.startx.enable = true"
+    ];
+
   };
 }
diff --git a/nixos/modules/programs/xwayland.nix b/nixos/modules/programs/xwayland.nix
index 3a8080fa4c4d8..3df3dbf3783f3 100644
--- a/nixos/modules/programs/xwayland.nix
+++ b/nixos/modules/programs/xwayland.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.xwayland;
 
@@ -10,13 +8,13 @@ in
 {
   options.programs.xwayland = {
 
-    enable = mkEnableOption "Xwayland (an X server for interfacing X11 apps with the Wayland protocol)";
+    enable = lib.mkEnableOption "Xwayland (an X server for interfacing X11 apps with the Wayland protocol)";
 
-    defaultFontPath = mkOption {
-      type = types.str;
-      default = optionalString config.fonts.fontDir.enable
+    defaultFontPath = lib.mkOption {
+      type = lib.types.str;
+      default = lib.optionalString config.fonts.fontDir.enable
         "/run/current-system/sw/share/X11/fonts";
-      defaultText = literalExpression ''
+      defaultText = lib.literalExpression ''
         optionalString config.fonts.fontDir.enable "/run/current-system/sw/share/X11/fonts"
       '';
       description = ''
@@ -24,12 +22,12 @@ in
       '';
     };
 
-    package = mkOption {
-      type = types.path;
+    package = lib.mkOption {
+      type = lib.types.path;
       default = pkgs.xwayland.override (oldArgs: {
         inherit (cfg) defaultFontPath;
       });
-      defaultText = literalExpression ''
+      defaultText = lib.literalExpression ''
         pkgs.xwayland.override (oldArgs: {
           inherit (config.programs.xwayland) defaultFontPath;
         })
@@ -39,7 +37,7 @@ in
 
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
     # Needed by some applications for fonts and default settings
     environment.pathsToLink = [ "/share/X11" ];
diff --git a/nixos/modules/programs/yabar.nix b/nixos/modules/programs/yabar.nix
index 6e117506a2dc4..0457f8e76655b 100644
--- a/nixos/modules/programs/yabar.nix
+++ b/nixos/modules/programs/yabar.nix
@@ -1,18 +1,16 @@
 { lib, pkgs, config, ... }:
 
-with lib;
-
 let
   cfg = config.programs.yabar;
 
-  mapExtra = v: lib.concatStringsSep "\n" (mapAttrsToList (
-    key: val: "${key} = ${if (isString val) then "\"${val}\"" else "${builtins.toString val}"};"
+  mapExtra = v: lib.concatStringsSep "\n" (lib.mapAttrsToList (
+    key: val: "${key} = ${if (builtins.isString val) then "\"${val}\"" else "${builtins.toString val}"};"
   ) v);
 
-  listKeys = r: concatStringsSep "," (map (n: "\"${n}\"") (attrNames r));
+  listKeys = r: builtins.concatStringsSep "," (builtins.map (n: "\"${n}\"") (builtins.attrNames r));
 
   configFile = let
-    bars = mapAttrsToList (
+    bars = lib.mapAttrsToList (
       name: cfg: ''
         ${name}: {
           font: "${cfg.font}";
@@ -22,7 +20,7 @@ let
 
           block-list: [${listKeys cfg.indicators}]
 
-          ${concatStringsSep "\n" (mapAttrsToList (
+          ${builtins.concatStringsSep "\n" (lib.mapAttrsToList (
             name: cfg: ''
               ${name}: {
                 exec: "${cfg.exec}";
@@ -36,21 +34,21 @@ let
     ) cfg.bars;
   in pkgs.writeText "yabar.conf" ''
     bar-list = [${listKeys cfg.bars}];
-    ${concatStringsSep "\n" bars}
+    ${builtins.concatStringsSep "\n" bars}
   '';
 in
   {
     options.programs.yabar = {
-      enable = mkEnableOption "yabar, a status bar for X window managers";
+      enable = lib.mkEnableOption "yabar, a status bar for X window managers";
 
-      package = mkOption {
+      package = lib.mkOption {
         default = pkgs.yabar-unstable;
-        defaultText = literalExpression "pkgs.yabar-unstable";
-        example = literalExpression "pkgs.yabar";
-        type = types.package;
+        defaultText = lib.literalExpression "pkgs.yabar-unstable";
+        example = lib.literalExpression "pkgs.yabar";
+        type = lib.types.package;
 
         # `yabar-stable` segfaults under certain conditions.
-        apply = x: if x == pkgs.yabar-unstable then x else flip warn x ''
+        apply = x: if x == pkgs.yabar-unstable then x else lib.flip lib.warn x ''
           It's not recommended to use `yabar' with `programs.yabar', the (old) stable release
           tends to segfault under certain circumstances:
 
@@ -70,63 +68,63 @@ in
         '';
       };
 
-      bars = mkOption {
+      bars = lib.mkOption {
         default = {};
-        type = types.attrsOf(types.submodule {
+        type = lib.types.attrsOf(lib.types.submodule {
           options = {
-            font = mkOption {
+            font = lib.mkOption {
               default = "sans bold 9";
               example = "Droid Sans, FontAwesome Bold 9";
-              type = types.str;
+              type = lib.types.str;
 
               description = ''
                 The font that will be used to draw the status bar.
               '';
             };
 
-            position = mkOption {
+            position = lib.mkOption {
               default = "top";
               example = "bottom";
-              type = types.enum [ "top" "bottom" ];
+              type = lib.types.enum [ "top" "bottom" ];
 
               description = ''
                 The position where the bar will be rendered.
               '';
             };
 
-            extra = mkOption {
+            extra = lib.mkOption {
               default = {};
-              type = types.attrsOf types.str;
+              type = lib.types.attrsOf lib.types.str;
 
               description = ''
                 An attribute set which contains further attributes of a bar.
               '';
             };
 
-            indicators = mkOption {
+            indicators = lib.mkOption {
               default = {};
-              type = types.attrsOf(types.submodule {
-                options.exec = mkOption {
+              type = lib.types.attrsOf(lib.types.submodule {
+                options.exec = lib.mkOption {
                   example = "YABAR_DATE";
-                  type = types.str;
+                  type = lib.types.str;
                   description = ''
                      The type of the indicator to be executed.
                   '';
                 };
 
-                options.align = mkOption {
+                options.align = lib.mkOption {
                   default = "left";
                   example = "right";
-                  type = types.enum [ "left" "center" "right" ];
+                  type = lib.types.enum [ "left" "center" "right" ];
 
                   description = ''
                     Whether to align the indicator at the left or right of the bar.
                   '';
                 };
 
-                options.extra = mkOption {
+                options.extra = lib.mkOption {
                   default = {};
-                  type = types.attrsOf (types.either types.str types.int);
+                  type = lib.types.attrsOf (lib.types.either lib.types.str lib.types.int);
 
                   description = ''
                     An attribute set which contains further attributes of a indicator.
@@ -147,7 +145,7 @@ in
       };
     };
 
-    config = mkIf cfg.enable {
+    config = lib.mkIf cfg.enable {
       systemd.user.services.yabar = {
         description = "yabar service";
         wantedBy = [ "graphical-session.target" ];
diff --git a/nixos/modules/programs/zmap.nix b/nixos/modules/programs/zmap.nix
index 827d9bedca13e..4f31d42c4add7 100644
--- a/nixos/modules/programs/zmap.nix
+++ b/nixos/modules/programs/zmap.nix
@@ -1,15 +1,13 @@
 { pkgs, config, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.zmap;
 in {
   options.programs.zmap = {
-    enable = mkEnableOption "ZMap, a network scanner designed for Internet-wide network surveys";
+    enable = lib.mkEnableOption "ZMap, a network scanner designed for Internet-wide network surveys";
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     environment.systemPackages = [ pkgs.zmap ];
 
     environment.etc."zmap/blacklist.conf".source = "${pkgs.zmap}/etc/zmap/blacklist.conf";
diff --git a/nixos/modules/programs/zsh/oh-my-zsh.nix b/nixos/modules/programs/zsh/oh-my-zsh.nix
index f2a5a7560e409..2120cf1af07e1 100644
--- a/nixos/modules/programs/zsh/oh-my-zsh.nix
+++ b/nixos/modules/programs/zsh/oh-my-zsh.nix
@@ -1,7 +1,5 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfg = config.programs.zsh.ohMyZsh;
@@ -20,7 +18,7 @@ let
 
   custom =
     if cfg.custom != null then cfg.custom
-    else if length cfg.customPkgs == 0 then null
+    else if builtins.length cfg.customPkgs == 0 then null
     else pkgs.linkFarm "oh-my-zsh-custom" [
       (mkLinkFarmEntry' "themes")
       (mkLinkFarmEntry "completions" "site-functions")
@@ -30,60 +28,60 @@ let
 in
   {
     imports = [
-      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "enable" ] [ "programs" "zsh" "ohMyZsh" "enable" ])
-      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
-      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
-      (mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
+      (lib.mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "enable" ] [ "programs" "zsh" "ohMyZsh" "enable" ])
+      (lib.mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
+      (lib.mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
+      (lib.mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
     ];
 
     options = {
       programs.zsh.ohMyZsh = {
-        enable = mkOption {
-          type = types.bool;
+        enable = lib.mkOption {
+          type = lib.types.bool;
           default = false;
           description = ''
             Enable oh-my-zsh.
           '';
         };
 
-        package = mkPackageOption pkgs "oh-my-zsh" { };
+        package = lib.mkPackageOption pkgs "oh-my-zsh" { };
 
-        plugins = mkOption {
+        plugins = lib.mkOption {
           default = [];
-          type = types.listOf(types.str);
+          type = lib.types.listOf(lib.types.str);
           description = ''
             List of oh-my-zsh plugins
           '';
         };
 
-        custom = mkOption {
+        custom = lib.mkOption {
           default = null;
-          type = with types; nullOr str;
+          type = with lib.types; nullOr str;
           description = ''
             Path to a custom oh-my-zsh package to override config of oh-my-zsh.
             (Can't be used along with `customPkgs`).
           '';
         };
 
-        customPkgs = mkOption {
+        customPkgs = lib.mkOption {
           default = [];
-          type = types.listOf types.package;
+          type = lib.types.listOf lib.types.package;
           description = ''
             List of custom packages that should be loaded into `oh-my-zsh`.
           '';
         };
 
-        theme = mkOption {
+        theme = lib.mkOption {
           default = "";
-          type = types.str;
+          type = lib.types.str;
           description = ''
             Name of the theme to be used by oh-my-zsh.
           '';
         };
 
-        cacheDir = mkOption {
+        cacheDir = lib.mkOption {
           default = "$HOME/.cache/oh-my-zsh";
-          type = types.str;
+          type = lib.types.str;
           description = ''
             Cache directory to be used by `oh-my-zsh`.
             Without this option it would default to the read-only nix store.
@@ -92,10 +90,10 @@ in
       };
     };
 
-    config = mkIf cfg.enable {
+    config = lib.mkIf cfg.enable {
 
       # Prevent zsh from overwriting oh-my-zsh's prompt
-      programs.zsh.promptInit = mkDefault "";
+      programs.zsh.promptInit = lib.mkDefault "";
 
       environment.systemPackages = [ cfg.package ];
 
@@ -103,19 +101,19 @@ in
         # oh-my-zsh configuration generated by NixOS
         export ZSH=${cfg.package}/share/oh-my-zsh
 
-        ${optionalString (length(cfg.plugins) > 0)
-          "plugins=(${concatStringsSep " " cfg.plugins})"
+        ${lib.optionalString (builtins.length(cfg.plugins) > 0)
+          "plugins=(${builtins.concatStringsSep " " cfg.plugins})"
         }
 
-        ${optionalString (custom != null)
+        ${lib.optionalString (custom != null)
           "ZSH_CUSTOM=\"${custom}\""
         }
 
-        ${optionalString (stringLength(cfg.theme) > 0)
+        ${lib.optionalString (builtins.stringLength(cfg.theme) > 0)
           "ZSH_THEME=\"${cfg.theme}\""
         }
 
-        ${optionalString (cfg.cacheDir != null) ''
+        ${lib.optionalString (cfg.cacheDir != null) ''
           if [[ ! -d "${cfg.cacheDir}" ]]; then
             mkdir -p "${cfg.cacheDir}"
           fi
diff --git a/nixos/modules/programs/zsh/zsh-autoenv.nix b/nixos/modules/programs/zsh/zsh-autoenv.nix
index f07fb5c24d7b3..8e0c19f1afea0 100644
--- a/nixos/modules/programs/zsh/zsh-autoenv.nix
+++ b/nixos/modules/programs/zsh/zsh-autoenv.nix
@@ -1,18 +1,16 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.zsh.zsh-autoenv;
 in {
   options = {
     programs.zsh.zsh-autoenv = {
-      enable = mkEnableOption "zsh-autoenv";
-      package = mkPackageOption pkgs "zsh-autoenv" { };
+      enable = lib.mkEnableOption "zsh-autoenv";
+      package = lib.mkPackageOption pkgs "zsh-autoenv" { };
     };
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
     programs.zsh.interactiveShellInit = ''
       source ${cfg.package}/share/zsh-autoenv/autoenv.zsh
     '';
diff --git a/nixos/modules/programs/zsh/zsh-autosuggestions.nix b/nixos/modules/programs/zsh/zsh-autosuggestions.nix
index 2e53e907d547a..e046c21025002 100644
--- a/nixos/modules/programs/zsh/zsh-autosuggestions.nix
+++ b/nixos/modules/programs/zsh/zsh-autosuggestions.nix
@@ -1,28 +1,26 @@
 { config, pkgs, lib, ... }:
 
-with lib;
-
 let
   cfg = config.programs.zsh.autosuggestions;
 in
 {
   imports = [
-    (mkRenamedOptionModule [ "programs" "zsh" "enableAutosuggestions" ] [ "programs" "zsh" "autosuggestions" "enable" ])
+    (lib.mkRenamedOptionModule [ "programs" "zsh" "enableAutosuggestions" ] [ "programs" "zsh" "autosuggestions" "enable" ])
   ];
 
   options.programs.zsh.autosuggestions = {
 
-    enable = mkEnableOption "zsh-autosuggestions";
+    enable = lib.mkEnableOption "zsh-autosuggestions";
 
-    highlightStyle = mkOption {
-      type = types.str;
+    highlightStyle = lib.mkOption {
+      type = lib.types.str;
       default = "fg=8"; # https://github.com/zsh-users/zsh-autosuggestions/tree/v0.4.3#suggestion-highlight-style
       description = "Highlight style for suggestions ({fore,back}ground color)";
       example = "fg=cyan";
     };
 
-    strategy = mkOption {
-      type = types.listOf (types.enum [ "history" "completion" "match_prev_cmd" ]);
+    strategy = lib.mkOption {
+      type = lib.types.listOf (lib.types.enum [ "history" "completion" "match_prev_cmd" ]);
       default = [ "history" ];
       description = ''
         `ZSH_AUTOSUGGEST_STRATEGY` is an array that specifies how suggestions should be generated.
@@ -37,18 +35,18 @@ in
       '';
     };
 
-    async = mkOption {
-      type = types.bool;
+    async = lib.mkOption {
+      type = lib.types.bool;
       default = true;
       description = "Whether to fetch suggestions asynchronously";
       example = false;
     };
 
-    extraConfig = mkOption {
-      type = with types; attrsOf str;
+    extraConfig = lib.mkOption {
+      type = lib.types.attrsOf lib.types.str;
       default = {};
       description = "Attribute set with additional configuration values";
-      example = literalExpression ''
+      example = lib.literalExpression ''
         {
           "ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" = "20";
         }
@@ -57,16 +55,16 @@ in
 
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
     programs.zsh.interactiveShellInit = ''
       source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh
 
       export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="${cfg.highlightStyle}"
-      export ZSH_AUTOSUGGEST_STRATEGY=(${concatStringsSep " " cfg.strategy})
-      ${optionalString (!cfg.async) "unset ZSH_AUTOSUGGEST_USE_ASYNC"}
+      export ZSH_AUTOSUGGEST_STRATEGY=(${builtins.concatStringsSep " " cfg.strategy})
+      ${lib.optionalString (!cfg.async) "unset ZSH_AUTOSUGGEST_USE_ASYNC"}
 
-      ${concatStringsSep "\n" (mapAttrsToList (key: value: ''export ${key}="${value}"'') cfg.extraConfig)}
+      ${builtins.concatStringsSep "\n" (lib.mapAttrsToList (key: value: ''export ${key}="${value}"'') cfg.extraConfig)}
     '';
 
   };
diff --git a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
index 46bc4fcb87f4f..e6036fc39d3e5 100644
--- a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
+++ b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
@@ -1,27 +1,25 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.programs.zsh.syntaxHighlighting;
 in
 {
   imports = [
-    (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ])
-    (mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ])
+    (lib.mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
+    (lib.mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "enable" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
+    (lib.mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "highlighters" ] [ "programs" "zsh" "syntaxHighlighting" "highlighters" ])
+    (lib.mkRenamedOptionModule [ "programs" "zsh" "syntax-highlighting" "patterns" ] [ "programs" "zsh" "syntaxHighlighting" "patterns" ])
   ];
 
   options = {
     programs.zsh.syntaxHighlighting = {
-      enable = mkEnableOption "zsh-syntax-highlighting";
+      enable = lib.mkEnableOption "zsh-syntax-highlighting";
 
-      highlighters = mkOption {
+      highlighters = lib.mkOption {
         default = [ "main" ];
 
         # https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md
-        type = types.listOf(types.enum([
+        type = lib.types.listOf(lib.types.enum([
           "main"
           "brackets"
           "pattern"
@@ -39,11 +37,11 @@ in
         '';
       };
 
-      patterns = mkOption {
+      patterns = lib.mkOption {
         default = {};
-        type = types.attrsOf types.str;
+        type = lib.types.attrsOf lib.types.str;
 
-        example = literalExpression ''
+        example = lib.literalExpression ''
           {
             "rm -rf *" = "fg=white,bold,bg=red";
           }
@@ -56,11 +54,11 @@ in
           https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/pattern.md
         '';
       };
-      styles = mkOption {
+      styles = lib.mkOption {
         default = {};
-        type = types.attrsOf types.str;
+        type = lib.types.attrsOf lib.types.str;
 
-        example = literalExpression ''
+        example = lib.literalExpression ''
           {
             "alias" = "fg=magenta,bold";
           }
@@ -76,30 +74,30 @@ in
     };
   };
 
-  config = mkIf cfg.enable {
-    environment.systemPackages = with pkgs; [ zsh-syntax-highlighting ];
+  config = lib.mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.zsh-syntax-highlighting ];
 
     assertions = [
       {
-        assertion = length(attrNames cfg.patterns) > 0 -> elem "pattern" cfg.highlighters;
+        assertion = builtins.length(builtins.attrNames cfg.patterns) > 0 -> builtins.elem "pattern" cfg.highlighters;
         message = ''
           When highlighting patterns, "pattern" needs to be included in the list of highlighters.
         '';
       }
     ];
 
-    programs.zsh.interactiveShellInit = with pkgs;
-      lib.mkAfter (lib.concatStringsSep "\n" ([
-        "source ${zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
-      ] ++ optional (length(cfg.highlighters) > 0)
-        "ZSH_HIGHLIGHT_HIGHLIGHTERS=(${concatStringsSep " " cfg.highlighters})"
-        ++ optionals (length(attrNames cfg.patterns) > 0)
-          (mapAttrsToList (
+    programs.zsh.interactiveShellInit =
+      lib.lib.mkAfter (lib.concatStringsSep "\n" ([
+        "source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
+      ] ++ lib.optional (builtins.length(cfg.highlighters) > 0)
+        "ZSH_HIGHLIGHT_HIGHLIGHTERS=(${builtins.concatStringsSep " " cfg.highlighters})"
+        ++ lib.optionals (builtins.length(builtins.attrNames cfg.patterns) > 0)
+          (lib.mapAttrsToList (
             pattern: design:
             "ZSH_HIGHLIGHT_PATTERNS+=('${pattern}' '${design}')"
           ) cfg.patterns)
-        ++ optionals (length(attrNames cfg.styles) > 0)
-          (mapAttrsToList (
+        ++ lib.optionals (builtins.length(builtins.attrNames cfg.styles) > 0)
+          (lib.mapAttrsToList (
             styles: design:
             "ZSH_HIGHLIGHT_STYLES[${styles}]='${design}'"
           ) cfg.styles)
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index d7e300b50136a..35d2cf4610563 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -2,8 +2,6 @@
 
 { config, lib, options, pkgs, ... }:
 
-with lib;
-
 let
 
   cfge = config.environment;
@@ -11,9 +9,9 @@ let
   cfg = config.programs.zsh;
   opt = options.programs.zsh;
 
-  zshAliases = concatStringsSep "\n" (
-    mapAttrsFlatten (k: v: "alias -- ${k}=${escapeShellArg v}")
-      (filterAttrs (k: v: v != null) cfg.shellAliases)
+  zshAliases = builtins.concatStringsSep "\n" (
+    lib.mapAttrsFlatten (k: v: "alias -- ${k}=${lib.escapeShellArg v}")
+      (lib.filterAttrs (k: v: v != null) cfg.shellAliases)
   );
 
   zshStartupNotes = ''
@@ -42,7 +40,7 @@ in
 
     programs.zsh = {
 
-      enable = mkOption {
+      enable = lib.mkOption {
         default = false;
         description = ''
           Whether to configure zsh as an interactive shell. To enable zsh for
@@ -50,43 +48,43 @@ in
           option for that user. To enable zsh system-wide use the
           {option}`users.defaultUserShell` option.
         '';
-        type = types.bool;
+        type = lib.types.bool;
       };
 
-      shellAliases = mkOption {
+      shellAliases = lib.mkOption {
         default = { };
         description = ''
           Set of aliases for zsh shell, which overrides {option}`environment.shellAliases`.
           See {option}`environment.shellAliases` for an option format description.
         '';
-        type = with types; attrsOf (nullOr (either str path));
+        type = with lib.types; attrsOf (nullOr (either str path));
       };
 
-      shellInit = mkOption {
+      shellInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code called during zsh shell initialisation.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      loginShellInit = mkOption {
+      loginShellInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code called during zsh login shell initialisation.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      interactiveShellInit = mkOption {
+      interactiveShellInit = lib.mkOption {
         default = "";
         description = ''
           Shell script code called during interactive zsh shell initialisation.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      promptInit = mkOption {
+      promptInit = lib.mkOption {
         default = ''
           # Note that to manually override this in ~/.zshrc you should run `prompt off`
           # before setting your PS1 and etc. Otherwise this will likely to interact with
@@ -97,27 +95,27 @@ in
         description = ''
           Shell script code used to initialise the zsh prompt.
         '';
-        type = types.lines;
+        type = lib.types.lines;
       };
 
-      histSize = mkOption {
+      histSize = lib.mkOption {
         default = 2000;
         description = ''
           Change history size.
         '';
-        type = types.int;
+        type = lib.types.int;
       };
 
-      histFile = mkOption {
+      histFile = lib.mkOption {
         default = "$HOME/.zsh_history";
         description = ''
           Change history file.
         '';
-        type = types.str;
+        type = lib.types.str;
       };
 
-      setOptions = mkOption {
-        type = types.listOf types.str;
+      setOptions = lib.mkOption {
+        type = lib.types.listOf lib.types.str;
         default = [
           "HIST_IGNORE_DUPS"
           "SHARE_HISTORY"
@@ -130,25 +128,25 @@ in
         '';
       };
 
-      enableCompletion = mkOption {
+      enableCompletion = lib.mkOption {
         default = true;
         description = ''
           Enable zsh completion for all interactive zsh shells.
         '';
-        type = types.bool;
+        type = lib.types.bool;
       };
 
-      enableBashCompletion = mkOption {
+      enableBashCompletion = lib.mkOption {
         default = false;
         description = ''
           Enable compatibility with bash's programmable completion system.
         '';
-        type = types.bool;
+        type = lib.types.bool;
       };
 
-      enableGlobalCompInit = mkOption {
+      enableGlobalCompInit = lib.mkOption {
         default = cfg.enableCompletion;
-        defaultText = literalExpression "config.${opt.enableCompletion}";
+        defaultText = lib.literalExpression "config.${opt.enableCompletion}";
         description = ''
           Enable execution of compinit call for all interactive zsh shells.
 
@@ -156,24 +154,24 @@ in
           `fpath` and a custom `compinit`
           call in the local config is required.
         '';
-        type = types.bool;
+        type = lib.types.bool;
       };
 
-      enableLsColors = mkOption {
+      enableLsColors = lib.mkOption {
         default = true;
         description = ''
           Enable extra colors in directory listings (used by `ls` and `tree`).
         '';
-        type = types.bool;
+        type = lib.types.bool;
       };
 
     };
 
   };
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
-    programs.zsh.shellAliases = mapAttrs (name: mkDefault) cfge.shellAliases;
+    programs.zsh.shellAliases = builtins.mapAttrs (name: lib.mkDefault) cfge.shellAliases;
 
     environment.etc.zshenv.text =
       ''
@@ -239,9 +237,9 @@ in
         if [ -n "$__ETC_ZSHRC_SOURCED" -o -n "$NOSYSZSHRC" ]; then return; fi
         __ETC_ZSHRC_SOURCED=1
 
-        ${optionalString (cfg.setOptions != []) ''
+        ${lib.optionalString (cfg.setOptions != []) ''
           # Set zsh options.
-          setopt ${concatStringsSep " " cfg.setOptions}
+          setopt ${builtins.concatStringsSep " " cfg.setOptions}
         ''}
 
         # Alternative method of determining short and full hostname.
@@ -249,19 +247,19 @@ in
 
         # Setup command line history.
         # Don't export these, otherwise other shells (bash) will try to use same HISTFILE.
-        SAVEHIST=${toString cfg.histSize}
-        HISTSIZE=${toString cfg.histSize}
+        SAVEHIST=${builtins.toString cfg.histSize}
+        HISTSIZE=${builtins.toString cfg.histSize}
         HISTFILE=${cfg.histFile}
 
         # Configure sane keyboard defaults.
         . /etc/zinputrc
 
-        ${optionalString cfg.enableGlobalCompInit ''
+        ${lib.optionalString cfg.enableGlobalCompInit ''
           # Enable autocompletion.
           autoload -U compinit && compinit
         ''}
 
-        ${optionalString cfg.enableBashCompletion ''
+        ${lib.optionalString cfg.enableBashCompletion ''
           # Enable compatibility with bash's completion system.
           autoload -U bashcompinit && bashcompinit
         ''}
@@ -271,7 +269,7 @@ in
 
         ${cfg.interactiveShellInit}
 
-        ${optionalString cfg.enableLsColors ''
+        ${lib.optionalString cfg.enableLsColors ''
           # Extra colors for directory listings.
           eval "$(${pkgs.coreutils}/bin/dircolors -b)"
         ''}
@@ -302,11 +300,11 @@ in
     environment.etc.zinputrc.text = builtins.readFile ./zinputrc;
 
     environment.systemPackages = [ pkgs.zsh ]
-      ++ optional cfg.enableCompletion pkgs.nix-zsh-completions;
+      ++ lib.optional cfg.enableCompletion pkgs.nix-zsh-completions;
 
-    environment.pathsToLink = optional cfg.enableCompletion "/share/zsh";
+    environment.pathsToLink = lib.optional cfg.enableCompletion "/share/zsh";
 
-    #users.defaultUserShell = mkDefault "/run/current-system/sw/bin/zsh";
+    #users.defaultUserShell = lib.mkDefault "/run/current-system/sw/bin/zsh";
 
     environment.shells =
       [
diff --git a/nixos/modules/security/systemd-confinement.nix b/nixos/modules/security/systemd-confinement.nix
index 0304749b8d109..041c900338864 100644
--- a/nixos/modules/security/systemd-confinement.nix
+++ b/nixos/modules/security/systemd-confinement.nix
@@ -79,13 +79,20 @@ in {
         description = ''
           The value `full-apivfs` (the default) sets up
           private {file}`/dev`, {file}`/proc`,
-          {file}`/sys` and {file}`/tmp` file systems in a separate user
-          name space.
+          {file}`/sys`, {file}`/tmp` and {file}`/var/tmp` file systems
+          in a separate user name space.
 
           If this is set to `chroot-only`, only the file
           system name space is set up along with the call to
           {manpage}`chroot(2)`.
 
+          In all cases, unless `serviceConfig.PrivateTmp=true` is set,
+          both {file}`/tmp` and {file}`/var/tmp` paths are added to `InaccessiblePaths=`.
+          This is to overcome options like `DynamicUser=true`
+          implying `PrivateTmp=true` without letting it being turned off.
+          Beware however that giving processes the `CAP_SYS_ADMIN` and `@mount` privileges
+          can let them undo the effects of `InaccessiblePaths=`.
+
           ::: {.note}
           This doesn't cover network namespaces and is solely for
           file system level isolation.
@@ -98,8 +105,12 @@ in {
         wantsAPIVFS = lib.mkDefault (config.confinement.mode == "full-apivfs");
       in lib.mkIf config.confinement.enable {
         serviceConfig = {
-          RootDirectory = "/var/empty";
-          TemporaryFileSystem = "/";
+          ReadOnlyPaths = [ "+/" ];
+          RuntimeDirectory = [ "confinement/${mkPathSafeName name}" ];
+          RootDirectory = "/run/confinement/${mkPathSafeName name}";
+          InaccessiblePaths = [
+            "-+/run/confinement/${mkPathSafeName name}"
+          ];
           PrivateMounts = lib.mkDefault true;
 
           # https://github.com/NixOS/nixpkgs/issues/14645 is a future attempt
@@ -148,16 +159,6 @@ in {
               + " Please either define a separate service or find a way to run"
               + " commands other than ExecStart within the chroot.";
     }
-    { assertion = !cfg.serviceConfig.DynamicUser or false;
-      message = "${whatOpt "DynamicUser"}. Please create a dedicated user via"
-              + " the 'users.users' option instead as this combination is"
-              + " currently not supported.";
-    }
-    { assertion = cfg.serviceConfig ? ProtectSystem -> cfg.serviceConfig.ProtectSystem == false;
-      message = "${whatOpt "ProtectSystem"}. ProtectSystem is not compatible"
-              + " with service confinement as it fails to remount /usr within"
-              + " our chroot. Please disable the option.";
-    }
   ]) config.systemd.services);
 
   config.systemd.packages = lib.concatLists (lib.mapAttrsToList (name: cfg: let
@@ -183,6 +184,13 @@ in {
         echo "BindReadOnlyPaths=$realprog:/bin/sh" >> "$serviceFile"
       ''}
 
+      # If DynamicUser= is enabled, PrivateTmp=true is implied (and cannot be turned off).
+      # so disable them unless PrivateTmp=true is explicitely set.
+      ${lib.optionalString (!cfg.serviceConfig.PrivateTmp) ''
+        echo "InaccessiblePaths=-+/tmp" >> "$serviceFile"
+        echo "InaccessiblePaths=-+/var/tmp" >> "$serviceFile"
+      ''}
+
       while read storePath; do
         if [ -L "$storePath" ]; then
           # Currently, systemd can't cope with symlinks in Bind(ReadOnly)Paths,
diff --git a/nixos/modules/services/misc/private-gpt.nix b/nixos/modules/services/misc/private-gpt.nix
new file mode 100644
index 0000000000000..9a3e5317cdb14
--- /dev/null
+++ b/nixos/modules/services/misc/private-gpt.nix
@@ -0,0 +1,121 @@
+{ config
+, lib
+, pkgs
+, ...
+}:
+let
+  inherit (lib) types;
+
+  format = pkgs.formats.yaml { };
+  cfg = config.services.private-gpt;
+in
+{
+  options = {
+    services.private-gpt = {
+      enable = lib.mkEnableOption "private-gpt for local large language models";
+      package = lib.mkPackageOption pkgs "private-gpt" { };
+
+      stateDir = lib.mkOption {
+        type = types.path;
+        default = "/var/lib/private-gpt";
+        description = "State directory of private-gpt.";
+      };
+
+      settings = lib.mkOption {
+        type = format.type;
+        default = {
+          llm = {
+            mode = "ollama";
+            tokenizer = "";
+          };
+          embedding = {
+            mode = "ollama";
+          };
+          ollama = {
+            llm_model = "llama3";
+            embedding_model = "nomic-embed-text";
+            api_base = "http://localhost:11434";
+            embedding_api_base = "http://localhost:11434";
+            keep_alive = "5m";
+            tfs_z = 1;
+            top_k = 40;
+            top_p = 0.9;
+            repeat_last_n = 64;
+            repeat_penalty = 1.2;
+            request_timeout = 120;
+          };
+          vectorstore = {
+            database = "qdrant";
+          };
+          qdrant = {
+            path = "/var/lib/private-gpt/vectorstore/qdrant";
+          };
+          data = {
+            local_data_folder = "/var/lib/private-gpt";
+          };
+          openai = { };
+          azopenai = { };
+        };
+        description = ''
+          settings-local.yaml for private-gpt
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    systemd.services.private-gpt = {
+      description = "Interact with your documents using the power of GPT, 100% privately, no data leaks";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      preStart =
+        let
+          config = format.generate "settings-local.yaml" (cfg.settings // { server.env_name = "local"; });
+        in
+        ''
+          mkdir -p ${cfg.stateDir}/{settings,huggingface,matplotlib,tiktoken_cache}
+          cp ${cfg.package.cl100k_base.tiktoken} ${cfg.stateDir}/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4
+          cp ${pkgs.python3Packages.private-gpt}/${pkgs.python3.sitePackages}/private_gpt/settings.yaml ${cfg.stateDir}/settings/settings.yaml
+          cp "${config}" "${cfg.stateDir}/settings/settings-local.yaml"
+          chmod 600 "${cfg.stateDir}/settings/settings-local.yaml"
+        '';
+
+      environment = {
+        PGPT_PROFILES = "local";
+        PGPT_SETTINGS_FOLDER = "${cfg.stateDir}/settings";
+        HF_HOME = "${cfg.stateDir}/huggingface";
+        TRANSFORMERS_OFFLINE = "1";
+        HF_DATASETS_OFFLINE = "1";
+        MPLCONFIGDIR = "${cfg.stateDir}/matplotlib";
+      };
+
+      serviceConfig = {
+        ExecStart = lib.getExe cfg.package;
+        WorkingDirectory = cfg.stateDir;
+        StateDirectory = "private-gpt";
+        RuntimeDirectory = "private-gpt";
+        RuntimeDirectoryMode = "0755";
+        PrivateTmp = true;
+        DynamicUser = true;
+        DevicePolicy = "closed";
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        PrivateUsers = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectControlGroups = true;
+        ProcSubset = "pid";
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        SystemCallArchitectures = "native";
+        UMask = "0077";
+      };
+    };
+  };
+
+  meta.maintainers = with lib.maintainers; [ drupol ];
+}
diff --git a/nixos/modules/services/networking/radvd.nix b/nixos/modules/services/networking/radvd.nix
index 4e3e501d2f593..0143324a78155 100644
--- a/nixos/modules/services/networking/radvd.nix
+++ b/nixos/modules/services/networking/radvd.nix
@@ -33,6 +33,17 @@ in
 
     package = mkPackageOption pkgs "radvd" { };
 
+    debugLevel = mkOption {
+      type = types.int;
+      default = 0;
+      example = 5;
+      description = ''
+          The debugging level is an integer in the range from 1 to 5,
+          from quiet to very verbose. A debugging level of 0 completely
+          turns off debugging.
+        '';
+    };
+
     config = mkOption {
       type = types.lines;
       example =
@@ -67,7 +78,7 @@ in
         wantedBy = [ "multi-user.target" ];
         after = [ "network.target" ];
         serviceConfig =
-          { ExecStart = "@${cfg.package}/bin/radvd radvd -n -u radvd -C ${confFile}";
+          { ExecStart = "@${cfg.package}/bin/radvd radvd -n -u radvd -d ${toString cfg.debugLevel} -C ${confFile}";
             Restart = "always";
           };
       };
diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix
index 38d6e4452c97b..3fb3eac45cc82 100644
--- a/nixos/modules/services/networking/smokeping.nix
+++ b/nixos/modules/services/networking/smokeping.nix
@@ -47,6 +47,13 @@ let
 in
 
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "smokeping" "port" ] ''
+      The smokeping web service is now served by nginx.
+      In order to change the port, you need to change the nginx configuration under `services.nginx.virtualHosts.smokeping.listen.*.port`.
+    '')
+  ];
+
   options = {
     services.smokeping = {
       enable = mkEnableOption "smokeping service";
@@ -71,8 +78,8 @@ in
       };
       cgiUrl = mkOption {
         type = types.str;
-        default = "http://${cfg.hostName}:${toString cfg.port}/smokeping.cgi";
-        defaultText = literalExpression ''"http://''${hostName}:''${toString port}/smokeping.cgi"'';
+        default = "http://${cfg.hostName}/smokeping.cgi";
+        defaultText = literalExpression ''"http://''${hostName}/smokeping.cgi"'';
         example = "https://somewhere.example.com/smokeping.cgi";
         description = "URL to the smokeping cgi.";
       };
@@ -177,11 +184,6 @@ in
           which makes it bind to all interfaces.
         '';
       };
-      port = mkOption {
-        type = types.port;
-        default = 8081;
-        description = "TCP port to use for the web server.";
-      };
       presentationConfig = mkOption {
         type = types.lines;
         default = ''
@@ -312,17 +314,8 @@ in
       description = "smokeping daemon user";
       home = smokepingHome;
       createHome = true;
-      # When `cfg.webService` is enabled, `thttpd` makes SmokePing available
-      # under `${cfg.host}:${cfg.port}/smokeping.fcgi` as per the `ln -s` below.
-      # We also want that going to `${cfg.host}:${cfg.port}` without `smokeping.fcgi`
-      # makes it easy for the user to find SmokePing.
-      # However `thttpd` does not seem to support easy redirections from `/` to `smokeping.fcgi`
-      # and only allows directory listings or `/` -> `index.html` resolution if the directory
-      # has `chmod 755` (see https://acme.com/software/thttpd/thttpd_man.html#PERMISSIONS,
-      # " directories should be 755 if you want to allow indexing").
-      # Otherwise it shows `403 Forbidden` on `/`.
-      # Thus, we need to make `smokepingHome` (which is given to `thttpd -d` below) `755`.
-      homeMode = "755";
+      # When `cfg.webService` is enabled, `nginx` requires read permissions on the home directory.
+      homeMode = "711";
     };
     users.groups.${cfg.user} = { };
     systemd.services.smokeping = {
@@ -342,21 +335,25 @@ in
         ${cfg.package}/bin/smokeping --static --config=${configPath}
       '';
     };
-    systemd.services.thttpd = mkIf cfg.webService {
-      requiredBy = [ "multi-user.target" ];
-      requires = [ "smokeping.service" ];
-      path = with pkgs; [ bash rrdtool smokeping thttpd ];
-      serviceConfig = {
-        Restart = "always";
-        ExecStart = lib.concatStringsSep " " (lib.concatLists [
-          [ "${pkgs.thttpd}/bin/thttpd" ]
-          [ "-u ${cfg.user}" ]
-          [ ''-c "**.fcgi"'' ]
-          [ "-d ${smokepingHome}" ]
-          (lib.optional (cfg.host != null) "-h ${cfg.host}")
-          [ "-p ${builtins.toString cfg.port}" ]
-          [ "-D -nos" ]
-        ]);
+
+    # use nginx to serve the smokeping web service
+    services.fcgiwrap.enable = mkIf cfg.webService true;
+    services.nginx = mkIf cfg.webService {
+      enable = true;
+      virtualHosts."smokeping" = {
+        serverName = mkDefault cfg.host;
+        locations."/" = {
+          root = smokepingHome;
+          index = "smokeping.fcgi";
+        };
+        locations."/smokeping.fcgi" = {
+          extraConfig = ''
+            include ${config.services.nginx.package}/conf/fastcgi_params;
+            fastcgi_pass unix:${config.services.fcgiwrap.socketAddress};
+            fastcgi_param SCRIPT_FILENAME ${smokepingHome}/smokeping.fcgi;
+            fastcgi_param DOCUMENT_ROOT ${smokepingHome};
+          '';
+        };
       };
     };
   };
diff --git a/nixos/modules/services/networking/tayga.nix b/nixos/modules/services/networking/tayga.nix
index 1a0df33fe883d..9f118b243e90c 100644
--- a/nixos/modules/services/networking/tayga.nix
+++ b/nixos/modules/services/networking/tayga.nix
@@ -16,6 +16,8 @@ let
     prefix ${strAddr cfg.ipv6.pool}
     dynamic-pool ${strAddr cfg.ipv4.pool}
     data-dir ${cfg.dataDir}
+
+    ${concatStringsSep "\n" (mapAttrsToList (ipv4: ipv6: "map " + ipv4 + " " + ipv6) cfg.mappings)}
   '';
 
   addrOpts = v:
@@ -103,18 +105,38 @@ in
       dataDir = mkOption {
         type = types.path;
         default = "/var/lib/tayga";
-        description = "Directory for persistent data";
+        description = "Directory for persistent data.";
       };
 
       tunDevice = mkOption {
         type = types.str;
         default = "nat64";
-        description = "Name of the nat64 tun device";
+        description = "Name of the nat64 tun device.";
+      };
+
+      mappings = mkOption {
+        type = types.attrsOf types.str;
+        default = {};
+        description = "Static IPv4 -> IPv6 host mappings.";
+        example = literalExpression ''
+          {
+            "192.168.5.42" = "2001:db8:1:4444::1";
+            "192.168.5.43" = "2001:db8:1:4444::2";
+            "192.168.255.2" = "2001:db8:1:569::143";
+          }
+        '';
       };
     };
   };
 
   config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = allUnique (attrValues cfg.mappings);
+        message = "Neither the IPv4 nor the IPv6 addresses must be entered twice in the mappings.";
+      }
+    ];
+
     networking.interfaces."${cfg.tunDevice}" = {
       virtual = true;
       virtualType = "tun";
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index fd940cfe459ab..f9720c3629353 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -142,7 +142,11 @@ let
       default_type application/octet-stream;
   '';
 
-  configFile = pkgs.writers.writeNginxConfig "nginx.conf" ''
+  configFile = (
+      if cfg.validateConfigFile
+      then pkgs.writers.writeNginxConfig
+      else pkgs.writeText
+    ) "nginx.conf" ''
     pid /run/nginx/nginx.pid;
     error_log ${cfg.logError};
     daemon off;
@@ -1082,6 +1086,9 @@ in
         '';
         description = "Declarative vhost config";
       };
+      validateConfigFile = lib.mkEnableOption ''
+        Validate configuration with pkgs.writeNginxConfig.
+      '' // { default = true; };
     };
   };
 
diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix
index beae07b70dbfe..19235be4aa8d5 100644
--- a/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -84,6 +84,7 @@ in
       programs.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
 
       services.gnome.at-spi2-core.enable = true;
+      services.gnome.glib-networking.enable = true;
       services.gnome.gnome-keyring.enable = true;
       services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
       services.gvfs.enable = true;
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index d1773da9afa6f..19223d46f6b9e 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -43,7 +43,7 @@ in rec {
       name = "nixos-${nixos.channel.version}";
       meta = {
         description = "Release-critical builds for the NixOS channel";
-        maintainers = with pkgs.lib.maintainers; [ eelco ];
+        maintainers = with pkgs.lib.maintainers; [ ];
       };
       constituents = pkgs.lib.concatLists [
         [ "nixos.channel" ]
@@ -112,7 +112,7 @@ in rec {
         (onFullSupported "nixos.tests.latestKernel.login")
         (onFullSupported "nixos.tests.lightdm")
         (onFullSupported "nixos.tests.login")
-        (onFullSupported "nixos.tests.misc")
+        (onFullSupported "nixos.tests.misc.default")
         (onFullSupported "nixos.tests.mutableUsers")
         (onFullSupported "nixos.tests.nat.firewall")
         (onFullSupported "nixos.tests.nat.standalone")
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
index 091c2b1f305be..b87a58f5eee83 100644
--- a/nixos/release-small.nix
+++ b/nixos/release-small.nix
@@ -98,7 +98,7 @@ in rec {
     name = "nixos-${nixos.channel.version}";
     meta = {
       description = "Release-critical builds for the NixOS channel";
-      maintainers = [ lib.maintainers.eelco ];
+      maintainers = [ ];
     };
     constituents = lib.flatten [
       [
@@ -124,7 +124,7 @@ in rec {
         "nixos.tests.firewall"
         "nixos.tests.ipv6"
         "nixos.tests.login"
-        "nixos.tests.misc"
+        "nixos.tests.misc.default"
         "nixos.tests.nat.firewall"
         "nixos.tests.nat.standalone"
         "nixos.tests.nfs4.simple"
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 9af07688c03cb..a8f8c470e6e29 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -757,6 +757,7 @@ in {
   pretix = runTest ./web-apps/pretix.nix;
   printing-socket = handleTest ./printing.nix { socket = true; };
   printing-service = handleTest ./printing.nix { socket = false; };
+  private-gpt = handleTest ./private-gpt.nix {};
   privoxy = handleTest ./privoxy.nix {};
   prometheus = handleTest ./prometheus.nix {};
   prometheus-exporters = handleTest ./prometheus-exporters.nix {};
@@ -884,7 +885,7 @@ in {
   systemd-binfmt = handleTestOn ["x86_64-linux"] ./systemd-binfmt.nix {};
   systemd-boot = handleTest ./systemd-boot.nix {};
   systemd-bpf = handleTest ./systemd-bpf.nix {};
-  systemd-confinement = handleTest ./systemd-confinement.nix {};
+  systemd-confinement = handleTest ./systemd-confinement {};
   systemd-coredump = handleTest ./systemd-coredump.nix {};
   systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {};
   systemd-credentials-tpm2 = handleTest ./systemd-credentials-tpm2.nix {};
diff --git a/nixos/tests/avahi.nix b/nixos/tests/avahi.nix
index d8f4d13340fbc..4ae2f919f2f7d 100644
--- a/nixos/tests/avahi.nix
+++ b/nixos/tests/avahi.nix
@@ -9,7 +9,7 @@
 import ./make-test-python.nix {
   name = "avahi";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco ];
+    maintainers = [ ];
   };
 
   nodes = let
diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix
index 473b05d4c98e8..b5f5982743a13 100644
--- a/nixos/tests/bittorrent.nix
+++ b/nixos/tests/bittorrent.nix
@@ -36,7 +36,7 @@ in
 {
   name = "bittorrent";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ domenkozar eelco rob bobvanderlinden ];
+    maintainers = [ domenkozar rob bobvanderlinden ];
   };
 
   nodes = {
diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix
index d2e16299edaad..3001db33ba5a3 100644
--- a/nixos/tests/containers-bridge.nix
+++ b/nixos/tests/containers-bridge.nix
@@ -8,7 +8,7 @@ in
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-bridge";
   meta = {
-    maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ];
+    maintainers = with lib.maintainers; [ aristid aszlig kampfschlaefer ];
   };
 
   nodes.machine =
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index fff00e4f73a85..ea1046b40354e 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-imperative";
   meta = {
-    maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ];
+    maintainers = with lib.maintainers; [ aristid aszlig kampfschlaefer ];
   };
 
   nodes.machine =
diff --git a/nixos/tests/containers-ip.nix b/nixos/tests/containers-ip.nix
index ecff99a3f0c25..034e5d660415a 100644
--- a/nixos/tests/containers-ip.nix
+++ b/nixos/tests/containers-ip.nix
@@ -14,7 +14,7 @@ let
 in import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-ipv4-ipv6";
   meta = {
-    maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ];
+    maintainers = with lib.maintainers; [ aristid aszlig kampfschlaefer ];
   };
 
   nodes.machine =
diff --git a/nixos/tests/containers-portforward.nix b/nixos/tests/containers-portforward.nix
index b8c7aabc5a50b..1a9880fe93133 100644
--- a/nixos/tests/containers-portforward.nix
+++ b/nixos/tests/containers-portforward.nix
@@ -8,7 +8,7 @@ in
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-portforward";
   meta = {
-    maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ianwookim ];
+    maintainers = with lib.maintainers; [ aristid aszlig kampfschlaefer ianwookim ];
   };
 
   nodes.machine =
diff --git a/nixos/tests/elk.nix b/nixos/tests/elk.nix
index b5a8cb532ae0a..87c82877fe109 100644
--- a/nixos/tests/elk.nix
+++ b/nixos/tests/elk.nix
@@ -16,7 +16,7 @@ let
     import ./make-test-python.nix ({
     inherit name;
     meta = with pkgs.lib.maintainers; {
-      maintainers = [ eelco offline basvandijk ];
+      maintainers = [ offline basvandijk ];
     };
     nodes = {
       one =
diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix
index 1915761b96056..6418e029f80d9 100644
--- a/nixos/tests/firefox.nix
+++ b/nixos/tests/firefox.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({ lib, pkgs, firefoxPackage, ... }:
   name = firefoxPackage.pname;
 
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco shlevy ];
+    maintainers = [ shlevy ];
   };
 
   nodes.machine =
diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix
index dd7551f143a5e..34e8bda60eef5 100644
--- a/nixos/tests/firewall.nix
+++ b/nixos/tests/firewall.nix
@@ -3,7 +3,7 @@
 import ./make-test-python.nix ( { pkgs, nftables, ... } : {
   name = "firewall" + pkgs.lib.optionalString nftables "-nftables";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco ];
+    maintainers = [ ];
   };
 
   nodes =
diff --git a/nixos/tests/initrd-network.nix b/nixos/tests/initrd-network.nix
index f2483b7393de4..abbc3d0fce822 100644
--- a/nixos/tests/initrd-network.nix
+++ b/nixos/tests/initrd-network.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "initrd-network";
 
-  meta.maintainers = [ pkgs.lib.maintainers.eelco ];
+  meta.maintainers = [ ];
 
   nodes.machine = { ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
diff --git a/nixos/tests/ipv6.nix b/nixos/tests/ipv6.nix
index 75faa6f602010..7f91457fa5ea8 100644
--- a/nixos/tests/ipv6.nix
+++ b/nixos/tests/ipv6.nix
@@ -4,7 +4,7 @@
 import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "ipv6";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco ];
+    maintainers = [ ];
   };
 
   nodes =
diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix
index a8f6210006547..d7394c866c143 100644
--- a/nixos/tests/jenkins.nix
+++ b/nixos/tests/jenkins.nix
@@ -7,7 +7,7 @@
 import ./make-test-python.nix ({ pkgs, ...} : {
   name = "jenkins";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ bjornfor coconnor domenkozar eelco ];
+    maintainers = [ bjornfor coconnor domenkozar ];
   };
 
   nodes = {
diff --git a/nixos/tests/knot.nix b/nixos/tests/knot.nix
index eec94a22f2fa7..4441fed6ef507 100644
--- a/nixos/tests/knot.nix
+++ b/nixos/tests/knot.nix
@@ -190,6 +190,10 @@ in {
     primary.wait_for_unit("knot.service")
     secondary.wait_for_unit("knot.service")
 
+    for zone in ("example.com.", "sub.example.com."):
+        secondary.wait_until_succeeds(
+          f"knotc zone-status {zone} | grep -q 'serial: 2019031302'"
+        )
 
     def test(host, query_type, query, pattern):
         out = client.succeed(f"khost -t {query_type} {query} {host}").strip()
diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix
index 67f5764a0a162..bcaee03175ad3 100644
--- a/nixos/tests/login.nix
+++ b/nixos/tests/login.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
 {
   name = "login";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco ];
+    maintainers = [ ];
   };
 
   nodes.machine =
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index e7842debba7a2..83e0f46be3ecf 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -1,164 +1,185 @@
 # Miscellaneous small tests that don't warrant their own VM run.
-
-import ./make-test-python.nix ({ lib, pkgs, ...} : let
-  foo = pkgs.writeText "foo" "Hello World";
-in {
-  name = "misc";
-  meta.maintainers = with lib.maintainers; [ eelco ];
-
-  nodes.machine =
-    { lib, ... }:
-    { swapDevices = lib.mkOverride 0
-        [ { device = "/root/swapfile"; size = 128; } ];
-      environment.variables.EDITOR = lib.mkOverride 0 "emacs";
-      documentation.nixos.enable = lib.mkOverride 0 true;
-      systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ];
-      systemd.tmpfiles.settings."10-test"."/tmp/somefile".d = {};
-      virtualisation.fileSystems = { "/tmp2" =
-        { fsType = "tmpfs";
-          options = [ "mode=1777" "noauto" ];
-        };
-        # Tests https://discourse.nixos.org/t/how-to-make-a-derivations-executables-have-the-s-permission/8555
-        "/user-mount/point" = {
-          device = "/user-mount/source";
-          fsType = "none";
-          options = [ "bind" "rw" "user" "noauto" ];
-        };
-        "/user-mount/denied-point" = {
-          device = "/user-mount/denied-source";
-          fsType = "none";
-          options = [ "bind" "rw" "noauto" ];
+{ pkgs, ... }:
+
+let
+  inherit (pkgs) lib;
+  tests = {
+    default = testsForPackage { nixPackage = pkgs.nix; };
+    lix = testsForPackage { nixPackage = pkgs.lix; };
+  };
+
+  testsForPackage = args: lib.recurseIntoAttrs {
+    # If the attribute is not named 'test'
+    # You will break all the universe on the release-*.nix side of things.
+    # `discoverTests` relies on `test` existence to perform a `callTest`.
+    test = testMiscFeatures args;
+    passthru.override = args': testsForPackage (args // args');
+  };
+
+  testMiscFeatures = { nixPackage, ... }: pkgs.testers.nixosTest (
+  let
+    foo = pkgs.writeText "foo" "Hello World";
+  in {
+    name = "misc";
+    meta.maintainers = with lib.maintainers; [ raitobezarius ];
+
+    nodes.machine =
+      { lib, ... }:
+      { swapDevices = lib.mkOverride 0
+          [ { device = "/root/swapfile"; size = 128; } ];
+        environment.variables.EDITOR = lib.mkOverride 0 "emacs";
+        documentation.nixos.enable = lib.mkOverride 0 true;
+        systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ];
+        systemd.tmpfiles.settings."10-test"."/tmp/somefile".d = {};
+        virtualisation.fileSystems = { "/tmp2" =
+          { fsType = "tmpfs";
+            options = [ "mode=1777" "noauto" ];
+          };
+          # Tests https://discourse.nixos.org/t/how-to-make-a-derivations-executables-have-the-s-permission/8555
+          "/user-mount/point" = {
+            device = "/user-mount/source";
+            fsType = "none";
+            options = [ "bind" "rw" "user" "noauto" ];
+          };
+          "/user-mount/denied-point" = {
+            device = "/user-mount/denied-source";
+            fsType = "none";
+            options = [ "bind" "rw" "noauto" ];
+          };
         };
+        systemd.automounts = lib.singleton
+          { wantedBy = [ "multi-user.target" ];
+            where = "/tmp2";
+          };
+        users.users.sybil = { isNormalUser = true; group = "wheel"; };
+        users.users.alice = { isNormalUser = true; };
+        security.sudo = { enable = true; wheelNeedsPassword = false; };
+        boot.kernel.sysctl."vm.swappiness" = 1;
+        boot.kernelParams = [ "vsyscall=emulate" ];
+        system.extraDependencies = [ foo ];
+
+        nix.package = nixPackage;
       };
-      systemd.automounts = lib.singleton
-        { wantedBy = [ "multi-user.target" ];
-          where = "/tmp2";
-        };
-      users.users.sybil = { isNormalUser = true; group = "wheel"; };
-      users.users.alice = { isNormalUser = true; };
-      security.sudo = { enable = true; wheelNeedsPassword = false; };
-      boot.kernel.sysctl."vm.swappiness" = 1;
-      boot.kernelParams = [ "vsyscall=emulate" ];
-      system.extraDependencies = [ foo ];
-    };
-
-  testScript =
-    ''
-      import json
-
-
-      def get_path_info(path):
-          result = machine.succeed(f"nix --option experimental-features nix-command path-info --json {path}")
-          parsed = json.loads(result)
-          return parsed
-
-
-      with subtest("nix-db"):
-          info = get_path_info("${foo}")
-          print(info)
-
-          if (
-              info[0]["narHash"]
-              != "sha256-BdMdnb/0eWy3EddjE83rdgzWWpQjfWPAj3zDIFMD3Ck="
-          ):
-              raise Exception("narHash not set")
-
-          if info[0]["narSize"] != 128:
-              raise Exception("narSize not set")
-
-      with subtest("nixos-version"):
-          machine.succeed("[ `nixos-version | wc -w` = 2 ]")
-
-      with subtest("nixos-rebuild"):
-          assert "NixOS module" in machine.succeed("nixos-rebuild --help")
-
-      with subtest("Sanity check for uid/gid assignment"):
-          assert "4" == machine.succeed("id -u messagebus").strip()
-          assert "4" == machine.succeed("id -g messagebus").strip()
-          assert "users:x:100:" == machine.succeed("getent group users").strip()
-
-      with subtest("Regression test for GMP aborts on QEMU."):
-          machine.succeed("expr 1 + 2")
-
-      with subtest("the swap file got created"):
-          machine.wait_for_unit("root-swapfile.swap")
-          machine.succeed("ls -l /root/swapfile | grep 134217728")
-
-      with subtest("whether kernel.poweroff_cmd is set"):
-          machine.succeed('[ -x "$(cat /proc/sys/kernel/poweroff_cmd)" ]')
-
-      with subtest("whether the io cgroupv2 controller is properly enabled"):
-          machine.succeed("grep -q '\\bio\\b' /sys/fs/cgroup/cgroup.controllers")
-
-      with subtest("whether we have a reboot record in wtmp"):
-          machine.shutdown
-          machine.wait_for_unit("multi-user.target")
-          machine.succeed("last | grep reboot >&2")
-
-      with subtest("whether we can override environment variables"):
-          machine.succeed('[ "$EDITOR" = emacs ]')
-
-      with subtest("whether hostname (and by extension nss_myhostname) works"):
-          assert "machine" == machine.succeed("hostname").strip()
-          assert "machine" == machine.succeed("hostname -s").strip()
-
-      with subtest("whether systemd-udevd automatically loads modules for our hardware"):
-          machine.succeed("systemctl start systemd-udev-settle.service")
-          machine.wait_for_unit("systemd-udev-settle.service")
-          assert "mousedev" in machine.succeed("lsmod")
-
-      with subtest("whether systemd-tmpfiles-clean works"):
-          machine.succeed(
-              "touch /tmp/foo", "systemctl start systemd-tmpfiles-clean", "[ -e /tmp/foo ]"
-          )
-          # move into the future
-          machine.succeed(
-              'date -s "@$(($(date +%s) + 1000000))"',
-              "systemctl start systemd-tmpfiles-clean",
-          )
-          machine.fail("[ -e /tmp/foo ]")
-
-      with subtest("whether systemd-tmpfiles settings works"):
-          machine.succeed("[ -e /tmp/somefile ]")
-
-      with subtest("whether automounting works"):
-          machine.fail("grep '/tmp2 tmpfs' /proc/mounts")
-          machine.succeed("touch /tmp2/x")
-          machine.succeed("grep '/tmp2 tmpfs' /proc/mounts")
-
-      with subtest(
-          "Whether mounting by a user is possible with the `user` option in fstab (#95444)"
-      ):
-          machine.succeed("mkdir -p /user-mount/source")
-          machine.succeed("touch /user-mount/source/file")
-          machine.succeed("chmod -R a+Xr /user-mount/source")
-          machine.succeed("mkdir /user-mount/point")
-          machine.succeed("chown alice:users /user-mount/point")
-          machine.succeed("su - alice -c 'mount /user-mount/point'")
-          machine.succeed("su - alice -c 'ls /user-mount/point/file'")
-      with subtest(
-          "Whether mounting by a user is denied without the `user` option in  fstab"
-      ):
-          machine.succeed("mkdir -p /user-mount/denied-source")
-          machine.succeed("touch /user-mount/denied-source/file")
-          machine.succeed("chmod -R a+Xr /user-mount/denied-source")
-          machine.succeed("mkdir /user-mount/denied-point")
-          machine.succeed("chown alice:users /user-mount/denied-point")
-          machine.fail("su - alice -c 'mount /user-mount/denied-point'")
-
-      with subtest("shell-vars"):
-          machine.succeed('[ -n "$NIX_PATH" ]')
-
-      with subtest("nix-db"):
-          machine.succeed("nix-store -qR /run/current-system | grep nixos-")
-
-      with subtest("Test sysctl"):
-          machine.wait_for_unit("systemd-sysctl.service")
-          assert "1" == machine.succeed("sysctl -ne vm.swappiness").strip()
-          machine.execute("sysctl vm.swappiness=60")
-          assert "60" == machine.succeed("sysctl -ne vm.swappiness").strip()
-
-      with subtest("Test boot parameters"):
-          assert "vsyscall=emulate" in machine.succeed("cat /proc/cmdline")
-    '';
-})
+
+    testScript =
+      ''
+        import json
+
+
+        def get_path_info(path):
+            result = machine.succeed(f"nix --option experimental-features nix-command path-info --json {path}")
+            parsed = json.loads(result)
+            return parsed
+
+
+        with subtest("nix-db"):
+            info = get_path_info("${foo}")
+            print(info)
+
+            if (
+                info[0]["narHash"]
+                != "sha256-BdMdnb/0eWy3EddjE83rdgzWWpQjfWPAj3zDIFMD3Ck="
+            ):
+                raise Exception("narHash not set")
+
+            if info[0]["narSize"] != 128:
+                raise Exception("narSize not set")
+
+        with subtest("nixos-version"):
+            machine.succeed("[ `nixos-version | wc -w` = 2 ]")
+
+        with subtest("nixos-rebuild"):
+            assert "NixOS module" in machine.succeed("nixos-rebuild --help")
+
+        with subtest("Sanity check for uid/gid assignment"):
+            assert "4" == machine.succeed("id -u messagebus").strip()
+            assert "4" == machine.succeed("id -g messagebus").strip()
+            assert "users:x:100:" == machine.succeed("getent group users").strip()
+
+        with subtest("Regression test for GMP aborts on QEMU."):
+            machine.succeed("expr 1 + 2")
+
+        with subtest("the swap file got created"):
+            machine.wait_for_unit("root-swapfile.swap")
+            machine.succeed("ls -l /root/swapfile | grep 134217728")
+
+        with subtest("whether kernel.poweroff_cmd is set"):
+            machine.succeed('[ -x "$(cat /proc/sys/kernel/poweroff_cmd)" ]')
+
+        with subtest("whether the io cgroupv2 controller is properly enabled"):
+            machine.succeed("grep -q '\\bio\\b' /sys/fs/cgroup/cgroup.controllers")
+
+        with subtest("whether we have a reboot record in wtmp"):
+            machine.shutdown
+            machine.wait_for_unit("multi-user.target")
+            machine.succeed("last | grep reboot >&2")
+
+        with subtest("whether we can override environment variables"):
+            machine.succeed('[ "$EDITOR" = emacs ]')
+
+        with subtest("whether hostname (and by extension nss_myhostname) works"):
+            assert "machine" == machine.succeed("hostname").strip()
+            assert "machine" == machine.succeed("hostname -s").strip()
+
+        with subtest("whether systemd-udevd automatically loads modules for our hardware"):
+            machine.succeed("systemctl start systemd-udev-settle.service")
+            machine.wait_for_unit("systemd-udev-settle.service")
+            assert "mousedev" in machine.succeed("lsmod")
+
+        with subtest("whether systemd-tmpfiles-clean works"):
+            machine.succeed(
+                "touch /tmp/foo", "systemctl start systemd-tmpfiles-clean", "[ -e /tmp/foo ]"
+            )
+            # move into the future
+            machine.succeed(
+                'date -s "@$(($(date +%s) + 1000000))"',
+                "systemctl start systemd-tmpfiles-clean",
+            )
+            machine.fail("[ -e /tmp/foo ]")
+
+        with subtest("whether systemd-tmpfiles settings works"):
+            machine.succeed("[ -e /tmp/somefile ]")
+
+        with subtest("whether automounting works"):
+            machine.fail("grep '/tmp2 tmpfs' /proc/mounts")
+            machine.succeed("touch /tmp2/x")
+            machine.succeed("grep '/tmp2 tmpfs' /proc/mounts")
+
+        with subtest(
+            "Whether mounting by a user is possible with the `user` option in fstab (#95444)"
+        ):
+            machine.succeed("mkdir -p /user-mount/source")
+            machine.succeed("touch /user-mount/source/file")
+            machine.succeed("chmod -R a+Xr /user-mount/source")
+            machine.succeed("mkdir /user-mount/point")
+            machine.succeed("chown alice:users /user-mount/point")
+            machine.succeed("su - alice -c 'mount /user-mount/point'")
+            machine.succeed("su - alice -c 'ls /user-mount/point/file'")
+        with subtest(
+            "Whether mounting by a user is denied without the `user` option in  fstab"
+        ):
+            machine.succeed("mkdir -p /user-mount/denied-source")
+            machine.succeed("touch /user-mount/denied-source/file")
+            machine.succeed("chmod -R a+Xr /user-mount/denied-source")
+            machine.succeed("mkdir /user-mount/denied-point")
+            machine.succeed("chown alice:users /user-mount/denied-point")
+            machine.fail("su - alice -c 'mount /user-mount/denied-point'")
+
+        with subtest("shell-vars"):
+            machine.succeed('[ -n "$NIX_PATH" ]')
+
+        with subtest("nix-db"):
+            machine.succeed("nix-store -qR /run/current-system | grep nixos-")
+
+        with subtest("Test sysctl"):
+            machine.wait_for_unit("systemd-sysctl.service")
+            assert "1" == machine.succeed("sysctl -ne vm.swappiness").strip()
+            machine.execute("sysctl vm.swappiness=60")
+            assert "60" == machine.succeed("sysctl -ne vm.swappiness").strip()
+
+        with subtest("Test boot parameters"):
+            assert "vsyscall=emulate" in machine.succeed("cat /proc/cmdline")
+      '';
+  });
+  in
+  tests
diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix
index 8eee454721a13..12fa00b79bbf8 100644
--- a/nixos/tests/mumble.nix
+++ b/nixos/tests/mumble.nix
@@ -15,7 +15,7 @@ in
 {
   name = "mumble";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ thoughtpolice eelco ];
+    maintainers = [ thoughtpolice ];
   };
 
   nodes = {
diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix
index e371b2dffa6b8..7b7bf6f41c046 100644
--- a/nixos/tests/munin.nix
+++ b/nixos/tests/munin.nix
@@ -4,7 +4,7 @@
 import ./make-test-python.nix ({ pkgs, ...} : {
   name = "munin";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ domenkozar eelco ];
+    maintainers = [ domenkozar ];
   };
 
   nodes = {
diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix
index 0b617cea7774c..8b682a8b3aa7c 100644
--- a/nixos/tests/nat.nix
+++ b/nixos/tests/nat.nix
@@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, lib, withFirewall, nftables ? false, ...
     name = "nat" + (lib.optionalString nftables "Nftables")
                  + (if withFirewall then "WithFirewall" else "Standalone");
     meta = with pkgs.lib.maintainers; {
-      maintainers = [ eelco rob ];
+      maintainers = [ rob ];
     };
 
     nodes =
diff --git a/nixos/tests/nfs/simple.nix b/nixos/tests/nfs/simple.nix
index 026da9563bc03..077c1d4109356 100644
--- a/nixos/tests/nfs/simple.nix
+++ b/nixos/tests/nfs/simple.nix
@@ -20,7 +20,7 @@ in
 {
   name = "nfs";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco ];
+    maintainers = [ ];
   };
 
   nodes =
diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix
index 2684b6f45e84e..140723a2df810 100644
--- a/nixos/tests/openssh.nix
+++ b/nixos/tests/openssh.nix
@@ -5,7 +5,7 @@ let inherit (import ./ssh-keys.nix pkgs)
 in {
   name = "openssh";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ aszlig eelco ];
+    maintainers = [ aszlig ];
   };
 
   nodes = {
diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix
index 29c5d810f215a..b413996c67db8 100644
--- a/nixos/tests/printing.nix
+++ b/nixos/tests/printing.nix
@@ -9,7 +9,7 @@ import ./make-test-python.nix (
 {
   name = "printing";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ domenkozar eelco matthewbauer ];
+    maintainers = [ domenkozar matthewbauer ];
   };
 
   nodes.server = { ... }: {
diff --git a/nixos/tests/private-gpt.nix b/nixos/tests/private-gpt.nix
new file mode 100644
index 0000000000000..d19e167cc303c
--- /dev/null
+++ b/nixos/tests/private-gpt.nix
@@ -0,0 +1,27 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+let
+  mainPort = "8001";
+in
+{
+  name = "private-gpt";
+  meta = with lib.maintainers; {
+    maintainers = [ drupol ];
+  };
+
+  nodes = {
+    machine = { ... }: {
+      services.private-gpt = {
+        enable = true;
+      };
+    };
+  };
+
+  testScript = ''
+    machine.start()
+
+    machine.wait_for_unit("private-gpt.service")
+    machine.wait_for_open_port(${mainPort})
+
+    machine.succeed("curl http://127.0.0.1:${mainPort}")
+  '';
+})
diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix
index f8a3d576903e3..ce7131b09a8ab 100644
--- a/nixos/tests/proxy.nix
+++ b/nixos/tests/proxy.nix
@@ -12,7 +12,7 @@ let
 in {
   name = "proxy";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco ];
+    maintainers = [ ];
   };
 
   nodes = {
diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix
index 2d8c5207001cb..4b7ca03b365b5 100644
--- a/nixos/tests/quake3.nix
+++ b/nixos/tests/quake3.nix
@@ -32,7 +32,7 @@ in
 rec {
   name = "quake3";
   meta = with lib.maintainers; {
-    maintainers = [ domenkozar eelco ];
+    maintainers = [ domenkozar ];
   };
 
   # TODO: lcov doesn't work atm
diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix
index 040679e68d989..4b8921662b7f4 100644
--- a/nixos/tests/rabbitmq.nix
+++ b/nixos/tests/rabbitmq.nix
@@ -9,7 +9,7 @@ in
 {
   name = "rabbitmq";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco offline ];
+    maintainers = [ offline ];
   };
 
   nodes.machine = {
diff --git a/nixos/tests/samba.nix b/nixos/tests/samba.nix
index 252c3dd9c76e9..53cdbbe1c40f1 100644
--- a/nixos/tests/samba.nix
+++ b/nixos/tests/samba.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "samba";
 
-  meta.maintainers = [ pkgs.lib.maintainers.eelco ];
+  meta.maintainers = [ ];
 
   nodes =
     { client =
diff --git a/nixos/tests/simple.nix b/nixos/tests/simple.nix
index c36287b4e843b..afd49d481a65d 100644
--- a/nixos/tests/simple.nix
+++ b/nixos/tests/simple.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ...} : {
   name = "simple";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco ];
+    maintainers = [ ];
   };
 
   nodes.machine = { ... }: {
diff --git a/nixos/tests/smokeping.nix b/nixos/tests/smokeping.nix
index 04f8139642918..fe1ecad9969b0 100644
--- a/nixos/tests/smokeping.nix
+++ b/nixos/tests/smokeping.nix
@@ -11,7 +11,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
         networking.domain = "example.com"; # FQDN: sm.example.com
         services.smokeping = {
           enable = true;
-          port = 8081;
           mailHost = "127.0.0.2";
           probeConfig = ''
             + FPing
@@ -25,12 +24,19 @@ import ./make-test-python.nix ({ pkgs, ...} : {
   testScript = ''
     start_all()
     sm.wait_for_unit("smokeping")
-    sm.wait_for_unit("thttpd")
+    sm.wait_for_unit("nginx")
     sm.wait_for_file("/var/lib/smokeping/data/Local/LocalMachine.rrd")
-    sm.succeed("curl -s -f localhost:8081/smokeping.fcgi?target=Local")
+    sm.succeed("curl -s -f localhost/smokeping.fcgi?target=Local")
     # Check that there's a helpful page without explicit path as well.
-    sm.succeed("curl -s -f localhost:8081")
+    sm.succeed("curl -s -f localhost")
     sm.succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png")
     sm.succeed("ls /var/lib/smokeping/cache/index.html")
+
+    # stop and start the service like nixos-rebuild would do
+    # see https://github.com/NixOS/nixpkgs/issues/265953)
+    sm.succeed("systemctl stop smokeping")
+    sm.succeed("systemctl start smokeping")
+    # ensure all services restarted properly
+    sm.succeed("systemctl --failed | grep -q '0 loaded units listed'")
   '';
 })
diff --git a/nixos/tests/systemd-confinement.nix b/nixos/tests/systemd-confinement.nix
deleted file mode 100644
index bde5b770ea50d..0000000000000
--- a/nixos/tests/systemd-confinement.nix
+++ /dev/null
@@ -1,184 +0,0 @@
-import ./make-test-python.nix {
-  name = "systemd-confinement";
-
-  nodes.machine = { pkgs, lib, ... }: let
-    testServer = pkgs.writeScript "testserver.sh" ''
-      #!${pkgs.runtimeShell}
-      export PATH=${lib.escapeShellArg "${pkgs.coreutils}/bin"}
-      ${lib.escapeShellArg pkgs.runtimeShell} 2>&1
-      echo "exit-status:$?"
-    '';
-
-    testClient = pkgs.writeScriptBin "chroot-exec" ''
-      #!${pkgs.runtimeShell} -e
-      output="$(echo "$@" | nc -NU "/run/test$(< /teststep).sock")"
-      ret="$(echo "$output" | sed -nre '$s/^exit-status:([0-9]+)$/\1/p')"
-      echo "$output" | head -n -1
-      exit "''${ret:-1}"
-    '';
-
-    mkTestStep = num: {
-      testScript,
-      config ? {},
-      serviceName ? "test${toString num}",
-    }: {
-      systemd.sockets.${serviceName} = {
-        description = "Socket for Test Service ${toString num}";
-        wantedBy = [ "sockets.target" ];
-        socketConfig.ListenStream = "/run/test${toString num}.sock";
-        socketConfig.Accept = true;
-      };
-
-      systemd.services."${serviceName}@" = {
-        description = "Confined Test Service ${toString num}";
-        confinement = (config.confinement or {}) // { enable = true; };
-        serviceConfig = (config.serviceConfig or {}) // {
-          ExecStart = testServer;
-          StandardInput = "socket";
-        };
-      } // removeAttrs config [ "confinement" "serviceConfig" ];
-
-      __testSteps = lib.mkOrder num (''
-        machine.succeed("echo ${toString num} > /teststep")
-      '' + testScript);
-    };
-
-  in {
-    imports = lib.imap1 mkTestStep [
-      { config.confinement.mode = "chroot-only";
-        testScript = ''
-          with subtest("chroot-only confinement"):
-              paths = machine.succeed('chroot-exec ls -1 / | paste -sd,').strip()
-              assert_eq(paths, "bin,nix,run")
-              uid = machine.succeed('chroot-exec id -u').strip()
-              assert_eq(uid, "0")
-              machine.succeed("chroot-exec chown 65534 /bin")
-        '';
-      }
-      { testScript = ''
-          with subtest("full confinement with APIVFS"):
-              machine.fail("chroot-exec ls -l /etc")
-              machine.fail("chroot-exec chown 65534 /bin")
-              assert_eq(machine.succeed('chroot-exec id -u').strip(), "0")
-              machine.succeed("chroot-exec chown 0 /bin")
-        '';
-      }
-      { config.serviceConfig.BindReadOnlyPaths = [ "/etc" ];
-        testScript = ''
-          with subtest("check existence of bind-mounted /etc"):
-              passwd = machine.succeed('chroot-exec cat /etc/passwd').strip()
-              assert len(passwd) > 0, "/etc/passwd must not be empty"
-        '';
-      }
-      { config.serviceConfig.User = "chroot-testuser";
-        config.serviceConfig.Group = "chroot-testgroup";
-        testScript = ''
-          with subtest("check if User/Group really runs as non-root"):
-              machine.succeed("chroot-exec ls -l /dev")
-              uid = machine.succeed('chroot-exec id -u').strip()
-              assert uid != "0", "UID of chroot-testuser shouldn't be 0"
-              machine.fail("chroot-exec touch /bin/test")
-        '';
-      }
-      (let
-        symlink = pkgs.runCommand "symlink" {
-          target = pkgs.writeText "symlink-target" "got me\n";
-        } "ln -s \"$target\" \"$out\"";
-      in {
-        config.confinement.packages = lib.singleton symlink;
-        testScript = ''
-          with subtest("check if symlinks are properly bind-mounted"):
-              machine.fail("chroot-exec test -e /etc")
-              text = machine.succeed('chroot-exec cat ${symlink}').strip()
-              assert_eq(text, "got me")
-        '';
-      })
-      { config.serviceConfig.User = "chroot-testuser";
-        config.serviceConfig.Group = "chroot-testgroup";
-        config.serviceConfig.StateDirectory = "testme";
-        testScript = ''
-          with subtest("check if StateDirectory works"):
-              machine.succeed("chroot-exec touch /tmp/canary")
-              machine.succeed('chroot-exec "echo works > /var/lib/testme/foo"')
-              machine.succeed('test "$(< /var/lib/testme/foo)" = works')
-              machine.succeed("test ! -e /tmp/canary")
-        '';
-      }
-      { testScript = ''
-          with subtest("check if /bin/sh works"):
-              machine.succeed(
-                  "chroot-exec test -e /bin/sh",
-                  'test "$(chroot-exec \'/bin/sh -c "echo bar"\')" = bar',
-              )
-        '';
-      }
-      { config.confinement.binSh = null;
-        testScript = ''
-          with subtest("check if suppressing /bin/sh works"):
-              machine.succeed("chroot-exec test ! -e /bin/sh")
-              machine.succeed('test "$(chroot-exec \'/bin/sh -c "echo foo"\')" != foo')
-        '';
-      }
-      { config.confinement.binSh = "${pkgs.hello}/bin/hello";
-        testScript = ''
-          with subtest("check if we can set /bin/sh to something different"):
-              machine.succeed("chroot-exec test -e /bin/sh")
-              machine.succeed('test "$(chroot-exec /bin/sh -g foo)" = foo')
-        '';
-      }
-      { config.environment.FOOBAR = pkgs.writeText "foobar" "eek\n";
-        testScript = ''
-          with subtest("check if only Exec* dependencies are included"):
-              machine.succeed('test "$(chroot-exec \'cat "$FOOBAR"\')" != eek')
-        '';
-      }
-      { config.environment.FOOBAR = pkgs.writeText "foobar" "eek\n";
-        config.confinement.fullUnit = true;
-        testScript = ''
-          with subtest("check if all unit dependencies are included"):
-              machine.succeed('test "$(chroot-exec \'cat "$FOOBAR"\')" = eek')
-        '';
-      }
-      { serviceName = "shipped-unitfile";
-        config.confinement.mode = "chroot-only";
-        testScript = ''
-          with subtest("check if shipped unit file still works"):
-              machine.succeed(
-                  'chroot-exec \'kill -9 $$ 2>&1 || :\' | '
-                  'grep -q "Too many levels of symbolic links"'
-              )
-        '';
-      }
-    ];
-
-    options.__testSteps = lib.mkOption {
-      type = lib.types.lines;
-      description = "All of the test steps combined as a single script.";
-    };
-
-    config.environment.systemPackages = lib.singleton testClient;
-    config.systemd.packages = lib.singleton (pkgs.writeTextFile {
-      name = "shipped-unitfile";
-      destination = "/etc/systemd/system/shipped-unitfile@.service";
-      text = ''
-        [Service]
-        SystemCallFilter=~kill
-        SystemCallErrorNumber=ELOOP
-      '';
-    });
-
-    config.users.groups.chroot-testgroup = {};
-    config.users.users.chroot-testuser = {
-      isSystemUser = true;
-      description = "Chroot Test User";
-      group = "chroot-testgroup";
-    };
-  };
-
-  testScript = { nodes, ... }: ''
-    def assert_eq(a, b):
-        assert a == b, f"{a} != {b}"
-
-    machine.wait_for_unit("multi-user.target")
-  '' + nodes.machine.config.__testSteps;
-}
diff --git a/nixos/tests/systemd-confinement/checkperms.py b/nixos/tests/systemd-confinement/checkperms.py
new file mode 100644
index 0000000000000..3c7ba279a3d20
--- /dev/null
+++ b/nixos/tests/systemd-confinement/checkperms.py
@@ -0,0 +1,187 @@
+import errno
+import os
+
+from enum import IntEnum
+from pathlib import Path
+
+
+class Accessibility(IntEnum):
+    """
+    The level of accessibility we have on a file or directory.
+
+    This is needed to assess the attack surface on the file system namespace we
+    have within a confined service. Higher levels mean more permissions for the
+    user and thus a bigger attack surface.
+    """
+    NONE = 0
+
+    # Directories can be listed or files can be read.
+    READABLE = 1
+
+    # This is for special file systems such as procfs and for stuff such as
+    # FIFOs or character special files. The reason why this has a lower value
+    # than WRITABLE is because those files are more restricted on what and how
+    # they can be written to.
+    SPECIAL = 2
+
+    # Another special case are sticky directories, which do allow write access
+    # but restrict deletion. This does *not* apply to sticky directories that
+    # are read-only.
+    STICKY = 3
+
+    # Essentially full permissions, the kind of accessibility we want to avoid
+    # in most cases.
+    WRITABLE = 4
+
+    def assert_on(self, path: Path) -> None:
+        """
+        Raise an AssertionError if the given 'path' allows for more
+        accessibility than 'self'.
+        """
+        actual = self.NONE
+
+        if path.is_symlink():
+            actual = self.READABLE
+        elif path.is_dir():
+            writable = True
+
+            dummy_file = path / 'can_i_write'
+            try:
+                dummy_file.touch()
+            except OSError as e:
+                if e.errno in [errno.EROFS, errno.EACCES]:
+                    writable = False
+                else:
+                    raise
+            else:
+                dummy_file.unlink()
+
+            if writable:
+                # The reason why we test this *after* we made sure it's
+                # writable is because we could have a sticky directory where
+                # the current user doesn't have write access.
+                if path.stat().st_mode & 0o1000 == 0o1000:
+                    actual = self.STICKY
+                else:
+                    actual = self.WRITABLE
+            else:
+                actual = self.READABLE
+        elif path.is_file():
+            try:
+                with path.open('rb') as fp:
+                    fp.read(1)
+                actual = self.READABLE
+            except PermissionError:
+                pass
+
+            writable = True
+            try:
+                with path.open('ab') as fp:
+                    fp.write('x')
+                    size = fp.tell()
+                    fp.truncate(size)
+            except PermissionError:
+                writable = False
+            except OSError as e:
+                if e.errno == errno.ETXTBSY:
+                    writable = os.access(path, os.W_OK)
+                elif e.errno == errno.EROFS:
+                    writable = False
+                else:
+                    raise
+
+            # Let's always try to fail towards being writable, so if *either*
+            # access(2) or a real write is successful it's writable. This is to
+            # make sure we don't accidentally introduce no-ops if we have bugs
+            # in the more complicated real write code above.
+            if writable or os.access(path, os.W_OK):
+                actual = self.WRITABLE
+        else:
+            # We need to be very careful when writing to or reading from
+            # special files (eg.  FIFOs), since they can possibly block. So if
+            # it's not a file, just trust that access(2) won't lie.
+            if os.access(path, os.R_OK):
+                actual = self.READABLE
+
+            if os.access(path, os.W_OK):
+                actual = self.SPECIAL
+
+        if actual > self:
+            stat = path.stat()
+            details = ', '.join([
+                f'permissions: {stat.st_mode & 0o7777:o}',
+                f'uid: {stat.st_uid}',
+                f'group: {stat.st_gid}',
+            ])
+
+            raise AssertionError(
+                f'Expected at most {self!r} but got {actual!r} for path'
+                f' {path} ({details}).'
+            )
+
+
+def is_special_fs(path: Path) -> bool:
+    """
+    Check whether the given path truly is a special file system such as procfs
+    or sysfs.
+    """
+    try:
+        if path == Path('/proc'):
+            return (path / 'version').read_text().startswith('Linux')
+        elif path == Path('/sys'):
+            return b'Linux' in (path / 'kernel' / 'notes').read_bytes()
+    except FileNotFoundError:
+        pass
+    return False
+
+
+def is_empty_dir(path: Path) -> bool:
+    try:
+        next(path.iterdir())
+        return False
+    except (StopIteration, PermissionError):
+        return True
+
+
+def _assert_permissions_in_directory(
+    directory: Path,
+    accessibility: Accessibility,
+    subdirs: dict[Path, Accessibility],
+) -> None:
+    accessibility.assert_on(directory)
+
+    for file in directory.iterdir():
+        if is_special_fs(file):
+            msg = f'Got unexpected special filesystem at {file}.'
+            assert subdirs.pop(file) == Accessibility.SPECIAL, msg
+        elif not file.is_symlink() and file.is_dir():
+            subdir_access = subdirs.pop(file, accessibility)
+            if is_empty_dir(file):
+                # Whenever we got an empty directory, we check the permission
+                # constraints on the current directory (except if specified
+                # explicitly in subdirs) because for example if we're non-root
+                # (the constraints of the current directory are thus
+                # Accessibility.READABLE), we really have to make sure that
+                # empty directories are *never* writable.
+                subdir_access.assert_on(file)
+            else:
+                _assert_permissions_in_directory(file, subdir_access, subdirs)
+        else:
+            subdirs.pop(file, accessibility).assert_on(file)
+
+
+def assert_permissions(subdirs: dict[str, Accessibility]) -> None:
+    """
+    Recursively check whether the file system conforms to the accessibility
+    specification we specified via 'subdirs'.
+    """
+    root = Path('/')
+    absolute_subdirs = {root / p: a for p, a in subdirs.items()}
+    _assert_permissions_in_directory(
+        root,
+        Accessibility.WRITABLE if os.getuid() == 0 else Accessibility.READABLE,
+        absolute_subdirs,
+    )
+    for file in absolute_subdirs.keys():
+        msg = f'Expected {file} to exist, but it was nowwhere to be found.'
+        raise AssertionError(msg)
diff --git a/nixos/tests/systemd-confinement/default.nix b/nixos/tests/systemd-confinement/default.nix
new file mode 100644
index 0000000000000..15d442d476b08
--- /dev/null
+++ b/nixos/tests/systemd-confinement/default.nix
@@ -0,0 +1,274 @@
+import ../make-test-python.nix {
+  name = "systemd-confinement";
+
+  nodes.machine = { pkgs, lib, ... }: let
+    testLib = pkgs.python3Packages.buildPythonPackage {
+      name = "confinement-testlib";
+      unpackPhase = ''
+        cat > setup.py <<EOF
+        from setuptools import setup
+        setup(name='confinement-testlib', py_modules=["checkperms"])
+        EOF
+        cp ${./checkperms.py} checkperms.py
+      '';
+    };
+
+    mkTest = name: testScript: pkgs.writers.writePython3 "${name}.py" {
+      libraries = [ pkgs.python3Packages.pytest testLib ];
+    } ''
+      # This runs our test script by using pytest's assertion rewriting, so
+      # that whenever we use "assert <something>", the actual values are
+      # printed rather than getting a generic AssertionError or the need to
+      # pass an explicit assertion error message.
+      import ast
+      from pathlib import Path
+      from _pytest.assertion.rewrite import rewrite_asserts
+
+      script = Path('${pkgs.writeText "${name}-main.py" ''
+        import errno, os, pytest, signal
+        from subprocess import run
+        from checkperms import Accessibility, assert_permissions
+
+        ${testScript}
+      ''}') # noqa
+      filename = str(script)
+      source = script.read_bytes()
+
+      tree = ast.parse(source, filename=filename)
+      rewrite_asserts(tree, source, filename)
+      exec(compile(tree, filename, 'exec', dont_inherit=True))
+    '';
+
+    mkTestStep = num: {
+      description,
+      testScript,
+      config ? {},
+      serviceName ? "test${toString num}",
+      rawUnit ? null,
+    }: {
+      systemd.packages = lib.optional (rawUnit != null) (pkgs.writeTextFile {
+        name = serviceName;
+        destination = "/etc/systemd/system/${serviceName}.service";
+        text = rawUnit;
+      });
+
+      systemd.services.${serviceName} = {
+        inherit description;
+        requiredBy = [ "multi-user.target" ];
+        confinement = (config.confinement or {}) // { enable = true; };
+        serviceConfig = (config.serviceConfig or {}) // {
+          ExecStart = mkTest serviceName testScript;
+          Type = "oneshot";
+        };
+      } // removeAttrs config [ "confinement" "serviceConfig" ];
+    };
+
+    parametrisedTests = lib.concatMap ({ user, privateTmp }: let
+      withTmp = if privateTmp then "with PrivateTmp" else "without PrivateTmp";
+
+      serviceConfig = if user == "static-user" then {
+        User = "chroot-testuser";
+        Group = "chroot-testgroup";
+      } else if user == "dynamic-user" then {
+        DynamicUser = true;
+      } else {};
+
+    in [
+      { description = "${user}, chroot-only confinement ${withTmp}";
+        config = {
+          confinement.mode = "chroot-only";
+          # Only set if privateTmp is true to ensure that the default is false.
+          serviceConfig = serviceConfig // lib.optionalAttrs privateTmp {
+            PrivateTmp = true;
+          };
+        };
+        testScript = if user == "root" then ''
+          assert os.getuid() == 0
+          assert os.getgid() == 0
+
+          assert_permissions({
+            'bin': Accessibility.READABLE,
+            'nix': Accessibility.READABLE,
+            'run': Accessibility.READABLE,
+            ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"}
+            ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"}
+            ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"}
+          })
+        '' else ''
+          assert os.getuid() != 0
+          assert os.getgid() != 0
+
+          assert_permissions({
+            'bin': Accessibility.READABLE,
+            'nix': Accessibility.READABLE,
+            'run': Accessibility.READABLE,
+            ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"}
+            ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"}
+            ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"}
+          })
+        '';
+      }
+      { description = "${user}, full APIVFS confinement ${withTmp}";
+        config = {
+          # Only set if privateTmp is false to ensure that the default is true.
+          serviceConfig = serviceConfig // lib.optionalAttrs (!privateTmp) {
+            PrivateTmp = false;
+          };
+        };
+        testScript = if user == "root" then ''
+          assert os.getuid() == 0
+          assert os.getgid() == 0
+
+          assert_permissions({
+            'bin': Accessibility.READABLE,
+            'nix': Accessibility.READABLE,
+            ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"}
+            'run': Accessibility.WRITABLE,
+
+            'proc': Accessibility.SPECIAL,
+            'sys': Accessibility.SPECIAL,
+            'dev': Accessibility.WRITABLE,
+
+            ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"}
+            ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"}
+          })
+        '' else ''
+          assert os.getuid() != 0
+          assert os.getgid() != 0
+
+          assert_permissions({
+            'bin': Accessibility.READABLE,
+            'nix': Accessibility.READABLE,
+            ${lib.optionalString privateTmp "'tmp': Accessibility.STICKY,"}
+            'run': Accessibility.STICKY,
+
+            'proc': Accessibility.SPECIAL,
+            'sys': Accessibility.SPECIAL,
+            'dev': Accessibility.SPECIAL,
+            'dev/shm': Accessibility.STICKY,
+            'dev/mqueue': Accessibility.STICKY,
+
+            ${lib.optionalString privateTmp "'var': Accessibility.READABLE,"}
+            ${lib.optionalString privateTmp "'var/tmp': Accessibility.STICKY,"}
+          })
+        '';
+      }
+    ]) (lib.cartesianProductOfSets {
+      user = [ "root" "dynamic-user" "static-user" ];
+      privateTmp = [ true false ];
+    });
+
+  in {
+    imports = lib.imap1 mkTestStep (parametrisedTests ++ [
+      { description = "existence of bind-mounted /etc";
+        config.serviceConfig.BindReadOnlyPaths = [ "/etc" ];
+        testScript = ''
+          assert Path('/etc/passwd').read_text()
+        '';
+      }
+      (let
+        symlink = pkgs.runCommand "symlink" {
+          target = pkgs.writeText "symlink-target" "got me";
+        } "ln -s \"$target\" \"$out\"";
+      in {
+        description = "check if symlinks are properly bind-mounted";
+        config.confinement.packages = lib.singleton symlink;
+        testScript = ''
+          assert Path('${symlink}').read_text() == 'got me'
+        '';
+      })
+      { description = "check if StateDirectory works";
+        config.serviceConfig.User = "chroot-testuser";
+        config.serviceConfig.Group = "chroot-testgroup";
+        config.serviceConfig.StateDirectory = "testme";
+
+        # We restart on purpose here since we want to check whether the state
+        # directory actually persists.
+        config.serviceConfig.Restart = "on-failure";
+        config.serviceConfig.RestartMode = "direct";
+
+        testScript = ''
+          assert not Path('/tmp/canary').exists()
+          Path('/tmp/canary').touch()
+
+          if (foo := Path('/var/lib/testme/foo')).exists():
+            assert Path('/var/lib/testme/foo').read_text() == 'works'
+          else:
+            Path('/var/lib/testme/foo').write_text('works')
+            print('<4>Exiting with failure to check persistence on restart.')
+            raise SystemExit(1)
+        '';
+      }
+      { description = "check if /bin/sh works";
+        testScript = ''
+          assert Path('/bin/sh').exists()
+
+          result = run(
+            ['/bin/sh', '-c', 'echo -n bar'],
+            capture_output=True,
+            check=True,
+          )
+          assert result.stdout == b'bar'
+        '';
+      }
+      { description = "check if suppressing /bin/sh works";
+        config.confinement.binSh = null;
+        testScript = ''
+          assert not Path('/bin/sh').exists()
+          with pytest.raises(FileNotFoundError):
+            run(['/bin/sh', '-c', 'echo foo'])
+        '';
+      }
+      { description = "check if we can set /bin/sh to something different";
+        config.confinement.binSh = "${pkgs.hello}/bin/hello";
+        testScript = ''
+          assert Path('/bin/sh').exists()
+          result = run(
+            ['/bin/sh', '-g', 'foo'],
+            capture_output=True,
+            check=True,
+          )
+          assert result.stdout == b'foo\n'
+        '';
+      }
+      { description = "check if only Exec* dependencies are included";
+        config.environment.FOOBAR = pkgs.writeText "foobar" "eek";
+        testScript = ''
+          with pytest.raises(FileNotFoundError):
+            Path(os.environ['FOOBAR']).read_text()
+        '';
+      }
+      { description = "check if fullUnit includes all dependencies";
+        config.environment.FOOBAR = pkgs.writeText "foobar" "eek";
+        config.confinement.fullUnit = true;
+        testScript = ''
+          assert Path(os.environ['FOOBAR']).read_text() == 'eek'
+        '';
+      }
+      { description = "check if shipped unit file still works";
+        config.confinement.mode = "chroot-only";
+        rawUnit = ''
+          [Service]
+          SystemCallFilter=~kill
+          SystemCallErrorNumber=ELOOP
+        '';
+        testScript = ''
+          with pytest.raises(OSError) as excinfo:
+            os.kill(os.getpid(), signal.SIGKILL)
+          assert excinfo.value.errno == errno.ELOOP
+        '';
+      }
+    ]);
+
+    config.users.groups.chroot-testgroup = {};
+    config.users.users.chroot-testuser = {
+      isSystemUser = true;
+      description = "Chroot Test User";
+      group = "chroot-testgroup";
+    };
+  };
+
+  testScript = ''
+    machine.wait_for_unit("multi-user.target")
+  '';
+}
diff --git a/nixos/tests/tayga.nix b/nixos/tests/tayga.nix
index 4aade67d74d0d..204391d1312f2 100644
--- a/nixos/tests/tayga.nix
+++ b/nixos/tests/tayga.nix
@@ -59,6 +59,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
           ];
         };
       };
+      programs.mtr.enable = true;
     };
 
     # The router is configured with static IPv4 addresses towards the server
@@ -120,6 +121,9 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
             prefixLength = 96;
           };
         };
+        mappings = {
+          "192.0.2.42" = "2001:db8::2";
+        };
       };
     };
 
@@ -171,6 +175,9 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
             prefixLength = 96;
           };
         };
+        mappings = {
+          "192.0.2.42" = "2001:db8::2";
+        };
       };
     };
 
@@ -199,7 +206,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
           ];
         };
       };
-      environment.systemPackages = [ pkgs.mtr ];
+      programs.mtr.enable = true;
     };
   };
 
@@ -225,10 +232,16 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
       with subtest("Wait for tayga"):
         router.wait_for_unit("tayga.service")
 
-      with subtest("Test ICMP"):
+      with subtest("Test ICMP server -> client"):
+        server.wait_until_succeeds("ping -c 3 192.0.2.42 >&2")
+
+      with subtest("Test ICMP and show a traceroute server -> client"):
+        server.wait_until_succeeds("mtr --show-ips --report-wide 192.0.2.42 >&2")
+
+      with subtest("Test ICMP client -> server"):
         client.wait_until_succeeds("ping -c 3 64:ff9b::100.64.0.2 >&2")
 
-      with subtest("Test ICMP and show a traceroute"):
+      with subtest("Test ICMP and show a traceroute client -> server"):
         client.wait_until_succeeds("mtr --show-ips --report-wide 64:ff9b::100.64.0.2 >&2")
 
       router.log(router.execute("systemd-analyze security tayga.service")[1])
diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix
index 8cc148750c7bc..b934f0b951562 100644
--- a/nixos/tests/udisks2.nix
+++ b/nixos/tests/udisks2.nix
@@ -2,6 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
 
 let
 
+  # FIXME: 404s
   stick = pkgs.fetchurl {
     url = "https://nixos.org/~eelco/nix/udisks-test.img.xz";
     sha256 = "0was1xgjkjad91nipzclaz5biv3m4b2nk029ga6nk7iklwi19l8b";
@@ -12,7 +13,7 @@ in
 {
   name = "udisks2";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ eelco ];
+    maintainers = [ ];
   };
 
   nodes.machine =
diff --git a/pkgs/applications/audio/feishin/default.nix b/pkgs/applications/audio/feishin/default.nix
index e0e35bae6df09..90561314fec90 100644
--- a/pkgs/applications/audio/feishin/default.nix
+++ b/pkgs/applications/audio/feishin/default.nix
@@ -11,13 +11,13 @@
 }:
 let
   pname = "feishin";
-  version = "0.6.1";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "jeffvli";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Nj8GwrH49ph14xvJldj5GQR4mlt9unCPEcgLrsH/sx8=";
+    hash = "sha256-eNGHrSF/MgRHh0CVc0l8denZIbAnPXwFCZJZcvF+Xtc=";
   };
 
   electron = electron_27;
@@ -26,7 +26,7 @@ buildNpmPackage {
   inherit pname version;
 
   inherit src;
-  npmDepsHash = "sha256-+pr9fWg/9kxkYMmthtqhjgF6MOomSQxVCO5V8tHHRdE=";
+  npmDepsHash = "sha256-7oh5bl5APAvzb/TxHMUP/saRWLwuP9xqGvn7/RDhFk8=";
 
   npmFlags = [ "--legacy-peer-deps" ];
   makeCacheWritable = true;
@@ -60,7 +60,7 @@ buildNpmPackage {
         inherit version;
 
         src = "${src}/release/app";
-        npmDepsHash = "sha256-MRwKxe1hoFs5bPXT6K/UspSDs9XBdcRJGvxGlTKExp4=";
+        npmDepsHash = "sha256-NgWPr3mctn7f6X2JFsbdNNHkN84RRlLAywqfbyahCQw=";
 
         npmFlags = [ "--ignore-scripts" ];
         dontNpmBuild = true;
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/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/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/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 616d46e65190f..5bd533dd11fcc 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -15376,6 +15376,18 @@ final: prev:
     meta.homepage = "https://github.com/mhinz/vim-signify/";
   };
 
+  vim-sile = buildVimPlugin {
+    pname = "vim-sile";
+    version = "2022-09-03";
+    src = fetchFromGitHub {
+      owner = "sile-typesetter";
+      repo = "vim-sile";
+      rev = "7856f66d5e552eb18596f0162b81d8d14a4cbc16";
+      sha256 = "0xik91854jqmv3sa8af988w8xirm1vqql1ifjqxi61v00z0z00j7";
+    };
+    meta.homepage = "https://github.com/sile-typesetter/vim-sile/";
+  };
+
   vim-simpledb = buildVimPlugin {
     pname = "vim-simpledb";
     version = "2020-10-02";
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/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 71da655f81ad1..acdd809e54387 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -1295,6 +1295,7 @@ https://github.com/tpope/vim-sexp-mappings-for-regular-people/,,
 https://github.com/itspriddle/vim-shellcheck/,,
 https://github.com/kshenoy/vim-signature/,,
 https://github.com/mhinz/vim-signify/,,
+https://github.com/sile-typesetter/vim-sile/,HEAD,
 https://github.com/ivalkeen/vim-simpledb/,,
 https://github.com/junegunn/vim-slash/,,
 https://github.com/tpope/vim-sleuth/,,
diff --git a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix
index b3f9d1916835a..b8281e83c564b 100644
--- a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix
@@ -12,8 +12,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
     publisher = "myriad-dreamin";
     # Please update the corresponding binary (tinymist) when updating
     # this extension.
-    version = "0.11.7";
-    hash = "sha256-pL61pu8xTsjOOn4vYBwrWc6JKhrzRyNjQmJmrezUcyk=";
+    version = "0.11.8";
+    hash = "sha256-ELqk94xhPJwHlxQ0ie9DMBNOiqszpi3mYF+wHxoY2xw=";
   };
 
   nativeBuildInputs = [
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/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/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/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/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/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/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/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 5a55476d4b9e4..bb987de7326c3 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -1,56 +1,17 @@
-{ stdenv, lib, buildMozillaMach, callPackage, fetchurl, fetchpatch, nixosTests, icu, fetchpatch2 }:
+{ stdenv, lib, buildMozillaMach, callPackage, fetchurl, fetchpatch, nixosTests, icu, fetchpatch2, config }:
 
 rec {
   thunderbird = thunderbird-115;
 
-  thunderbird-102 = (buildMozillaMach rec {
-    pname = "thunderbird";
-    version = "102.14.0";
-    application = "comm/mail";
-    applicationName = "Mozilla Thunderbird";
-    binaryName = pname;
-    src = fetchurl {
-      url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-      hash = "sha512-SuPyFoM67FVCH4J9VbwbX8LwrU/v7LJ3JKW+MxjDUd8k0wpIl7kk5zPtLjmVvihLbRNQSdRgARQ/sclh/vwYMA==";
-    };
-    extraPatches = [
-      # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
-      ./no-buildconfig.patch
-    ];
-
-    meta = with lib; {
-      changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/";
-      description = "A full-featured e-mail client";
-      homepage = "https://thunderbird.net/";
-      mainProgram = "thunderbird";
-      maintainers = with maintainers; [ eelco lovesegfault pierron vcunat ];
-      platforms = platforms.unix;
-      badPlatforms = platforms.darwin;
-      broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
-                                             # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
-      license = licenses.mpl20;
-      knownVulnerabilities = [ "Thunderbird 102 support has ended" ];
-    };
-    updateScript = callPackage ./update.nix {
-      attrPath = "thunderbird-unwrapped";
-      versionPrefix = "102";
-    };
-  }).override {
-    geolocationSupport = false;
-    webrtcSupport = false;
-
-    pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable"
-  };
-
   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`.
@@ -91,3 +52,7 @@ rec {
     });
   };
 }
+ // lib.optionalAttrs config.allowAliases {
+  thunderbird-102 = throw "Thunderbird 102 support ended in September 2023";
+}
+
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/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/warp/default.nix b/pkgs/applications/networking/warp/default.nix
index 52994f63e18c9..0861e72906db7 100644
--- a/pkgs/applications/networking/warp/default.nix
+++ b/pkgs/applications/networking/warp/default.nix
@@ -15,20 +15,22 @@
 , glib
 , gtk4
 , libadwaita
+, zbar
+, gst_all_1
 , Security
 , Foundation
 }:
 
 stdenv.mkDerivation rec {
   pname = "warp";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
-    repo = pname;
+    repo = "warp";
     rev = "v${version}";
-    hash = "sha256-pntHIY0cScDKhWR6kXp6YrEbBQiQjUId3MrJzy5l+K8=";
+    hash = "sha256-GRxZ3y1PdJpBDnGCfmOmZgN8n1aaYf9IhyszRwo3MjQ=";
   };
 
   postPatch = ''
@@ -38,7 +40,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-Go/a7aVHF1Yt3yIccKJIVeFy5rckXhSKfd13hdhlLUQ=";
+    hash = "sha256-v/MhVcQmMYD/n/8wmPCYUy4YpXhL0v4fq8h6cllo/pw=";
   };
 
   nativeBuildInputs = [
@@ -59,7 +61,12 @@ stdenv.mkDerivation rec {
     glib
     gtk4
     libadwaita
-  ] ++ lib.optionals stdenv.isDarwin [
+    zbar
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-bad
+  ]) ++ lib.optionals stdenv.isDarwin [
     Security
     Foundation
   ];
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/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/biology/migrate/default.nix b/pkgs/applications/science/biology/migrate/default.nix
index 31e4eb2fcb42b..7820f177bfb7b 100644
--- a/pkgs/applications/science/biology/migrate/default.nix
+++ b/pkgs/applications/science/biology/migrate/default.nix
@@ -1,18 +1,31 @@
-{ stdenv, lib, gccStdenv, fetchurl, zlib, mpi }:
+{
+  stdenv,
+  lib,
+  fetchurl,
+  zlib,
+  mpi,
+}:
 
-gccStdenv.mkDerivation rec {
-  version = "3.7.2";
+stdenv.mkDerivation (finalAttrs: {
+  version = "5.0.6";
   pname = "migrate";
 
   src = fetchurl {
-    url = "https://peterbeerli.com/migrate-html5/download_version3/${pname}-${version}.src.tar.gz";
-    sha256 = "1p2364ffjc56i82snzvjpy6pkf6wvqwvlvlqxliscx2c303fxs8v";
+    url = "https://peterbeerli.com/migrate-html5/download_version4/${finalAttrs.pname}-${finalAttrs.version}.src.tar.gz";
+    hash = "sha256-twkoR9L6VPUye12OC0B5w0PxcxyKain6RkhCswLEdwg=";
   };
 
-  buildInputs = [ zlib mpi ];
-  setSourceRoot = "sourceRoot=$(echo */src)";
-  buildFlags = [ "thread" "mpis" ];
-  preInstall = "mkdir -p $out/man/man1";
+  sourceRoot = "migrate-${finalAttrs.version}/src";
+
+  buildInputs = [
+    zlib
+    mpi
+  ];
+
+  buildFlags = [
+    "thread"
+    "mpis"
+  ];
 
   meta = with lib; {
     broken = stdenv.isDarwin;
@@ -21,5 +34,6 @@ gccStdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.bzizou ];
     platforms = platforms.unix;
+    mainProgram = "migrate-n";
   };
-}
+})
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/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/system/asusctl/Cargo.lock b/pkgs/applications/system/asusctl/Cargo.lock
index 65c286d0219e5..b7658ab895d4e 100644
--- a/pkgs/applications/system/asusctl/Cargo.lock
+++ b/pkgs/applications/system/asusctl/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "ab_glyph"
-version = "0.2.23"
+version = "0.2.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
+checksum = "6f90148830dac590fac7ccfe78ec4a8ea404c60f75a24e16407a71f0f40de775"
 dependencies = [
  "ab_glyph_rasterizer",
  "owned_ttf_parser",
@@ -19,75 +19,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046"
 
 [[package]]
-name = "accesskit"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "704d532b1cd3d912bb37499c55a81ac748cc1afa737eedd100ba441acdd47d38"
-
-[[package]]
-name = "accesskit_consumer"
-version = "0.14.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48ba8b23cfca3944012ee2e5c71c02077a400e034c720eed6bd927cb6b4d1fd9"
-dependencies = [
- "accesskit",
-]
-
-[[package]]
-name = "accesskit_macos"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58d062544d6cc36f4213323b7cb3a0d74ddff4b0d2311ab5e7596f4278bb2cc9"
-dependencies = [
- "accesskit",
- "accesskit_consumer",
- "objc2",
- "once_cell",
-]
-
-[[package]]
-name = "accesskit_unix"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f8df4021f31969877b295fa80c4b07fcc7eb83f1985b0d3aa4f889c3427c3d5"
-dependencies = [
- "accesskit",
- "accesskit_consumer",
- "async-channel 1.9.0",
- "atspi",
- "futures-lite 1.13.0",
- "serde",
- "zbus",
-]
-
-[[package]]
-name = "accesskit_windows"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf5b3c3828397ee832ba4a72fb1a4ace10f781e31885f774cbd531014059115"
-dependencies = [
- "accesskit",
- "accesskit_consumer",
- "arrayvec",
- "once_cell",
- "paste",
- "windows 0.44.0",
-]
-
-[[package]]
-name = "accesskit_winit"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbcb615217efc79c4bed3094c4ca76c4bc554751d1da16f3ed4ba0459b1e8f31"
-dependencies = [
- "accesskit",
- "accesskit_macos",
- "accesskit_unix",
- "accesskit_windows",
- "winit",
-]
-
-[[package]]
 name = "addr2line"
 version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -104,11 +35,12 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.8.7"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
+ "getrandom",
  "once_cell",
  "version_check",
  "zerocopy",
@@ -116,29 +48,38 @@ 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",
 ]
 
 [[package]]
+name = "allocator-api2"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
+
+[[package]]
 name = "android-activity"
-version = "0.4.3"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0"
+checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289"
 dependencies = [
  "android-properties",
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "cc",
+ "cesu8",
+ "jni",
  "jni-sys",
  "libc",
  "log",
  "ndk",
  "ndk-context",
  "ndk-sys",
- "num_enum 0.6.1",
+ "num_enum",
+ "thiserror",
 ]
 
 [[package]]
@@ -163,29 +104,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "anyhow"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
-
-[[package]]
-name = "arboard"
-version = "3.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aafb29b107435aa276664c1db8954ac27a6e105cdad3c88287a199eb0e313c08"
-dependencies = [
- "clipboard-win",
- "log",
- "objc",
- "objc-foundation",
- "objc_id",
- "parking_lot",
- "thiserror",
- "winapi",
- "x11rb",
-]
-
-[[package]]
 name = "arrayref"
 version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -199,27 +117,25 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
 name = "asusctl"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "asusd",
  "cargo-husky",
  "dmi_id",
- "gif",
- "glam",
  "gumdrop",
  "rog_anime",
  "rog_aura",
  "rog_dbus",
  "rog_platform",
  "rog_profiles",
- "tinybmp",
- "tokio",
- "toml 0.5.11",
+ "rog_slash",
+ "ron",
+ "zbus",
 ]
 
 [[package]]
 name = "asusd"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "cargo-husky",
  "concat-idents",
@@ -230,46 +146,48 @@ dependencies = [
  "inotify",
  "log",
  "logind-zbus",
+ "mio",
  "rog_anime",
  "rog_aura",
  "rog_platform",
  "rog_profiles",
+ "rog_slash",
  "serde",
  "serde_derive",
- "systemd-zbus",
  "tokio",
- "udev",
+ "udev 0.8.0",
  "zbus",
 ]
 
 [[package]]
 name = "asusd-user"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "cargo-husky",
  "config-traits",
  "dirs",
  "env_logger",
- "log",
  "rog_anime",
  "rog_aura",
  "rog_dbus",
  "rog_platform",
+ "ron",
  "serde",
  "serde_derive",
- "serde_json",
  "smol",
  "zbus",
 ]
 
 [[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.3.0",
+ "event-listener-strategy 0.5.2",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
@@ -285,28 +203,27 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.1.1"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928"
 dependencies = [
  "concurrent-queue",
- "event-listener 4.0.3",
- "event-listener-strategy",
+ "event-listener 5.3.0",
+ "event-listener-strategy 0.5.2",
  "futures-core",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "async-executor"
-version = "1.8.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
+checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a"
 dependencies = [
- "async-lock 3.3.0",
  "async-task",
  "concurrent-queue",
- "fastrand 2.0.1",
- "futures-lite 2.2.0",
+ "fastrand 2.1.0",
+ "futures-lite 2.3.0",
  "slab",
 ]
 
@@ -323,6 +240,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-fs"
+version = "2.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a"
+dependencies = [
+ "async-lock 3.3.0",
+ "blocking",
+ "futures-lite 2.3.0",
+]
+
+[[package]]
 name = "async-io"
 version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -344,18 +272,18 @@ dependencies = [
 
 [[package]]
 name = "async-io"
-version = "2.3.0"
+version = "2.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb41eb19024a91746eba0773aa5e16036045bbf45733766661099e182ea6a744"
+checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884"
 dependencies = [
  "async-lock 3.3.0",
  "cfg-if",
  "concurrent-queue",
  "futures-io",
- "futures-lite 2.2.0",
+ "futures-lite 2.3.0",
  "parking",
- "polling 3.3.2",
- "rustix 0.38.30",
+ "polling 3.7.0",
+ "rustix 0.38.34",
  "slab",
  "tracing",
  "windows-sys 0.52.0",
@@ -377,7 +305,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
 dependencies = [
  "event-listener 4.0.3",
- "event-listener-strategy",
+ "event-listener-strategy 0.4.0",
  "pin-project-lite",
 ]
 
@@ -405,78 +333,74 @@ dependencies = [
  "cfg-if",
  "event-listener 3.1.0",
  "futures-lite 1.13.0",
- "rustix 0.38.30",
+ "rustix 0.38.34",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
+name = "async-process"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a53fc6301894e04a92cb2584fedde80cb25ba8e02d9dc39d4a87d036e22f397d"
+dependencies = [
+ "async-channel 2.2.1",
+ "async-io 2.3.2",
+ "async-lock 3.3.0",
+ "async-signal",
+ "async-task",
+ "blocking",
+ "cfg-if",
+ "event-listener 5.3.0",
+ "futures-lite 2.3.0",
+ "rustix 0.38.34",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "async-recursion"
-version = "1.0.5"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
 ]
 
 [[package]]
 name = "async-signal"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
+checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda"
 dependencies = [
- "async-io 2.3.0",
- "async-lock 2.8.0",
+ "async-io 2.3.2",
+ "async-lock 3.3.0",
  "atomic-waker",
  "cfg-if",
  "futures-core",
  "futures-io",
- "rustix 0.38.30",
+ "rustix 0.38.34",
  "signal-hook-registry",
  "slab",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "async-task"
-version = "4.7.0"
+version = "4.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
+checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
 
 [[package]]
 name = "async-trait"
-version = "0.1.77"
+version = "0.1.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
-]
-
-[[package]]
-name = "atk"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39991bc421ddf72f70159011b323ff49b0f783cc676a7287c59453da2e2531cf"
-dependencies = [
- "atk-sys",
- "bitflags 1.3.2",
- "glib",
- "libc",
-]
-
-[[package]]
-name = "atk-sys"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11ad703eb64dc058024f0e57ccfa069e15a413b98dbd50a1a950e743b7f11148"
-dependencies = [
- "glib-sys",
- "gobject-sys",
- "libc",
- "system-deps",
+ "syn 2.0.61",
 ]
 
 [[package]]
@@ -486,61 +410,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
-name = "atomic_refcell"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c"
-
-[[package]]
-name = "atspi"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "674e7a3376837b2e7d12d34d58ac47073c491dc3bf6f71a7adaf687d4d817faa"
-dependencies = [
- "async-recursion",
- "async-trait",
- "atspi-macros",
- "enumflags2",
- "futures-lite 1.13.0",
- "serde",
- "tracing",
- "zbus",
- "zbus_names",
-]
-
-[[package]]
-name = "atspi-macros"
-version = "0.2.0"
+name = "auto_enums"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97fb4870a32c0eaa17e35bca0e6b16020635157121fb7d45593d242c295bc768"
+checksum = "1899bfcfd9340ceea3533ea157360ba8fa864354eccbceab58e1006ecab35393"
 dependencies = [
+ "derive_utils",
+ "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.61",
 ]
 
 [[package]]
 name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "az"
-version = "1.2.1"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973"
+checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
 
 [[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.1",
+ "miniz_oxide 0.7.2",
  "object",
  "rustc-demangle",
 ]
@@ -552,26 +449,60 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
+name = "base64"
+version = "0.22.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+
+[[package]]
+name = "betrayer"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88df312fbb13c845a05ede7e91ab7b9fea442d9176d092bbdb954ae6db55ad5d"
+dependencies = [
+ "async-io 2.3.2",
+ "block2 0.4.0",
+ "flume",
+ "icrate 0.1.2",
+ "log",
+ "objc2 0.5.1",
+ "once_cell",
+ "parking_lot",
+ "png",
+ "windows 0.56.0",
+ "zbus",
+]
+
+[[package]]
 name = "bindgen"
-version = "0.69.2"
+version = "0.69.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4c69fae65a523209d34240b60abe0c42d33d1045d445c0839d8a4894a736e2d"
+checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "cexpr",
  "clang-sys",
+ "itertools",
  "lazy_static",
  "lazycell",
- "peeking_take_while",
+ "log",
+ "prettyplease",
  "proc-macro2",
  "quote",
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.48",
+ "syn 2.0.61",
+ "which",
 ]
 
 [[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"
@@ -579,9 +510,9 @@ 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"
 dependencies = [
  "serde",
 ]
@@ -603,63 +534,77 @@ dependencies = [
 
 [[package]]
 name = "block-sys"
-version = "0.1.0-beta.1"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146"
+checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
 dependencies = [
  "objc-sys",
 ]
 
 [[package]]
 name = "block2"
-version = "0.2.0-alpha.6"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42"
+checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68"
 dependencies = [
  "block-sys",
- "objc2-encode",
+ "objc2 0.4.1",
+]
+
+[[package]]
+name = "block2"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e58aa60e59d8dbfcc36138f5f18be5f24394d33b38b24f7fd0b1caa33095f22f"
+dependencies = [
+ "block-sys",
+ "objc2 0.5.1",
 ]
 
 [[package]]
 name = "blocking"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
+checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88"
 dependencies = [
- "async-channel 2.1.1",
+ "async-channel 2.2.1",
  "async-lock 3.3.0",
  "async-task",
- "fastrand 2.0.1",
  "futures-io",
- "futures-lite 2.2.0",
+ "futures-lite 2.3.0",
  "piper",
- "tracing",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "by_address"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
 dependencies = [
  "bytemuck_derive",
 ]
 
 [[package]]
 name = "bytemuck_derive"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
+checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
 ]
 
 [[package]]
@@ -670,47 +615,34 @@ 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.16.7"
+name = "calloop"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3125b15ec28b84c238f6f476c6034016a5f6cc0221cb514ca46c532139fc97d"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
 dependencies = [
- "bitflags 1.3.2",
- "cairo-sys-rs",
- "glib",
- "libc",
- "once_cell",
+ "bitflags 2.5.0",
+ "log",
+ "polling 3.7.0",
+ "rustix 0.38.34",
+ "slab",
  "thiserror",
 ]
 
 [[package]]
-name = "cairo-sys-rs"
-version = "0.16.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c48f4af05fabdcfa9658178e1326efa061853f040ce7d72e33af6885196f421"
-dependencies = [
- "glib-sys",
- "libc",
- "system-deps",
-]
-
-[[package]]
-name = "calloop"
-version = "0.10.6"
+name = "calloop-wayland-source"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8"
+checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
 dependencies = [
- "bitflags 1.3.2",
- "log",
- "nix 0.25.1",
- "slotmap",
- "thiserror",
- "vec_map",
+ "calloop",
+ "rustix 0.38.34",
+ "wayland-backend",
+ "wayland-client",
 ]
 
 [[package]]
@@ -721,12 +653,13 @@ checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad"
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.97"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4"
 dependencies = [
  "jobserver",
  "libc",
+ "once_cell",
 ]
 
 [[package]]
@@ -745,16 +678,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "cfg-expr"
-version = "0.15.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a"
-dependencies = [
- "smallvec",
- "target-lexicon",
-]
-
-[[package]]
 name = "cfg-if"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -767,6 +690,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
 [[package]]
+name = "cfg_aliases"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f"
+
+[[package]]
 name = "cgl"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -777,16 +706,16 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "js-sys",
  "num-traits",
  "wasm-bindgen",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -797,20 +726,72 @@ checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1"
 dependencies = [
  "glob",
  "libc",
+ "libloading",
 ]
 
 [[package]]
 name = "clipboard-win"
-version = "4.5.0"
+version = "3.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362"
+checksum = "9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342"
 dependencies = [
- "error-code",
- "str-buf",
+ "lazy-bytes-cast",
  "winapi",
 ]
 
 [[package]]
+name = "clru"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59"
+
+[[package]]
+name = "cocoa"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
+dependencies = [
+ "bitflags 1.3.2",
+ "block",
+ "cocoa-foundation",
+ "core-foundation",
+ "core-graphics",
+ "foreign-types",
+ "libc",
+ "objc",
+]
+
+[[package]]
+name = "cocoa-foundation"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
+dependencies = [
+ "bitflags 1.3.2",
+ "block",
+ "core-foundation",
+ "core-graphics-types",
+ "libc",
+ "objc",
+]
+
+[[package]]
+name = "codemap"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e769b5c8c8283982a987c6e948e540254f1058d5a74b8794914d4ef5fc2a24"
+
+[[package]]
+name = "codemap-diagnostic"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc20770be05b566a963bf91505e60412c4a2d016d1ef95c5512823bb085a8122"
+dependencies = [
+ "codemap",
+ "termcolor",
+]
+
+[[package]]
 name = "color_quant"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -818,9 +799,9 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
 name = "combine"
-version = "4.6.6"
+version = "4.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
 dependencies = [
  "bytes",
  "memchr",
@@ -833,29 +814,64 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d"
 dependencies = [
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
 ]
 
 [[package]]
 name = "concurrent-queue"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
 dependencies = [
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "config-traits"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "cargo-husky",
  "log",
  "ron",
  "serde",
- "serde_derive",
- "serde_json",
- "toml 0.5.11",
+]
+
+[[package]]
+name = "const-field-offset"
+version = "0.1.5"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "const-field-offset-macro",
+ "field-offset",
+]
+
+[[package]]
+name = "const-field-offset-macro"
+version = "0.1.5"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.61",
+]
+
+[[package]]
+name = "convert_case"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+
+[[package]]
+name = "copypasta"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "deb85422867ca93da58b7f95fb5c0c10f6183ed6e1ef8841568968a896d3a858"
+dependencies = [
+ "clipboard-win",
+ "objc",
+ "objc-foundation",
+ "objc_id",
+ "smithay-clipboard",
 ]
 
 [[package]]
@@ -876,9 +892,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "core-graphics"
-version = "0.22.3"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
+checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -899,8 +915,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "core-text"
+version = "20.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5"
+dependencies = [
+ "core-foundation",
+ "core-graphics",
+ "foreign-types",
+ "libc",
+]
+
+[[package]]
+name = "countme"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636"
+
+[[package]]
 name = "cpuctl"
-version = "5.0.10"
+version = "6.0.6"
 
 [[package]]
 name = "cpufeatures"
@@ -913,20 +947,51 @@ dependencies = [
 
 [[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",
 ]
 
 [[package]]
+name = "critical-section"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216"
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
 name = "crossbeam-utils"
 version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
+name = "crunchy"
+version = "0.2.2"
+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"
@@ -937,6 +1002,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "css-color-parser2"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf8ed1639f4b56ec6f31d007ff66ce4a13099dce5a9995d48368a30d62bf04bd"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "cursor-icon"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+
+[[package]]
+name = "data-url"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
+
+[[package]]
 name = "deranged"
 version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -957,6 +1043,30 @@ dependencies = [
 ]
 
 [[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 = "derive_utils"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61bb5a1014ce6dfc2a378578509abe775a5aa06bff584a547555d9efdb81b926"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.61",
+]
+
+[[package]]
 name = "digest"
 version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1024,132 +1134,87 @@ dependencies = [
 
 [[package]]
 name = "dmi_id"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "log",
- "udev",
+ "udev 0.8.0",
 ]
 
 [[package]]
 name = "downcast-rs"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
-
-[[package]]
-name = "ecolor"
-version = "0.21.0"
-source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def"
-dependencies = [
- "bytemuck",
-]
+checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
 
 [[package]]
-name = "eframe"
-version = "0.21.3"
-source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def"
+name = "drm"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edf9159ef4bcecd0c5e4cbeb573b8d0037493403d542780dba5d840bbf9df56f"
 dependencies = [
+ "bitflags 1.3.2",
  "bytemuck",
- "egui",
- "egui-winit",
- "egui_glow",
- "glow",
- "glutin",
- "glutin-winit",
- "js-sys",
- "log",
- "percent-encoding",
- "raw-window-handle",
- "thiserror",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "winit",
+ "drm-ffi",
+ "drm-fourcc",
+ "nix 0.26.4",
 ]
 
 [[package]]
-name = "egui"
-version = "0.21.0"
-source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def"
+name = "drm-ffi"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1352481b7b90e27a8a1bf8ef6b33cf18b98dba7c410e75c24bb3eef2f0d8d525"
 dependencies = [
- "accesskit",
- "ahash",
- "epaint",
- "log",
- "nohash-hasher",
+ "drm-sys",
+ "nix 0.26.4",
 ]
 
 [[package]]
-name = "egui-winit"
-version = "0.21.1"
-source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def"
-dependencies = [
- "accesskit_winit",
- "arboard",
- "egui",
- "instant",
- "log",
- "smithay-clipboard",
- "webbrowser",
- "winit",
-]
+name = "drm-fourcc"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
 
 [[package]]
-name = "egui_glow"
-version = "0.21.0"
-source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def"
+name = "drm-sys"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1369f1679d6b706d234c4c1e0613c415c2c74b598a09ad28080ba2474b72e42d"
 dependencies = [
- "bytemuck",
- "egui",
- "glow",
- "log",
- "memoffset 0.6.5",
- "wasm-bindgen",
- "web-sys",
+ "libc",
 ]
 
 [[package]]
-name = "either"
-version = "1.9.0"
+name = "dwrote"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
-
-[[package]]
-name = "emath"
-version = "0.21.0"
-source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def"
+checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b"
 dependencies = [
- "bytemuck",
+ "lazy_static",
+ "libc",
+ "serde",
+ "serde_derive",
+ "winapi",
+ "wio",
 ]
 
 [[package]]
-name = "embedded-graphics"
-version = "0.7.1"
+name = "either"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "750082c65094fbcc4baf9ba31583ce9a8bb7f52cadfb96f6164b1bc7f922f32b"
-dependencies = [
- "az",
- "byteorder",
- "embedded-graphics-core",
- "float-cmp",
- "micromath",
-]
+checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
 
 [[package]]
-name = "embedded-graphics-core"
-version = "0.3.3"
+name = "endi"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8b1239db5f3eeb7e33e35bd10bd014e7b2537b17e071f726a09351431337cfa"
-dependencies = [
- "az",
- "byteorder",
-]
+checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
 
 [[package]]
 name = "enumflags2"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
 dependencies = [
  "enumflags2_derive",
  "serde",
@@ -1157,13 +1222,13 @@ dependencies = [
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
 ]
 
 [[package]]
@@ -1180,22 +1245,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "epaint"
-version = "0.21.0"
-source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def"
-dependencies = [
- "ab_glyph",
- "ahash",
- "atomic_refcell",
- "bytemuck",
- "ecolor",
- "emath",
- "log",
- "nohash-hasher",
- "parking_lot",
-]
-
-[[package]]
 name = "equivalent"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1203,22 +1252,21 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.8"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
 dependencies = [
  "libc",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
-name = "error-code"
-version = "2.3.1"
+name = "euclid"
+version = "0.22.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21"
+checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787"
 dependencies = [
- "libc",
- "str-buf",
+ "num-traits",
 ]
 
 [[package]]
@@ -1250,6 +1298,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener"
+version = "5.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "event-listener-strategy"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1260,6 +1319,32 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener-strategy"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
+dependencies = [
+ "event-listener 5.3.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "exr"
+version = "1.72.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
+dependencies = [
+ "bit_field",
+ "flume",
+ "half",
+ "lebe",
+ "miniz_oxide 0.7.2",
+ "rayon-core",
+ "smallvec",
+ "zune-inflate",
+]
+
+[[package]]
 name = "fastrand"
 version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1270,9 +1355,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.1"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
 
 [[package]]
 name = "fdeflate"
@@ -1284,48 +1369,142 @@ dependencies = [
 ]
 
 [[package]]
+name = "femtovg"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a056992c3a862ef9d4452bad8b6b455780382502b38b93540fb17773a54ca092"
+dependencies = [
+ "bitflags 2.5.0",
+ "fnv",
+ "glow",
+ "image",
+ "imgref",
+ "log",
+ "lru",
+ "rgb",
+ "rustybuzz",
+ "slotmap",
+ "unicode-bidi",
+ "unicode-segmentation",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
 name = "field-offset"
 version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
 dependencies = [
- "memoffset 0.9.0",
+ "memoffset",
  "rustc_version",
 ]
 
 [[package]]
+name = "filetime"
+version = "0.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.4.1",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "flate2"
-version = "1.0.28"
+version = "1.0.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"
 dependencies = [
  "crc32fast",
- "miniz_oxide 0.7.1",
+ "miniz_oxide 0.7.2",
 ]
 
 [[package]]
 name = "float-cmp"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
+
+[[package]]
+name = "flume"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "nanorand",
+ "spin",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "fontconfig-parser"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d"
+dependencies = [
+ "roxmltree",
+]
+
+[[package]]
+name = "fontdb"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3"
+dependencies = [
+ "fontconfig-parser",
+ "log",
+ "memmap2 0.9.4",
+ "slotmap",
+ "tinyvec",
+ "ttf-parser",
+]
+
+[[package]]
+name = "fontdue"
 version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4"
+checksum = "9099a2f86b8e674b75d03ff154b3fe4c5208ed249ced8d69cc313a9fa40bb488"
 dependencies = [
- "num-traits",
+ "hashbrown",
+ "ttf-parser",
 ]
 
 [[package]]
 name = "foreign-types"
-version = "0.3.2"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
 dependencies = [
+ "foreign-types-macros",
  "foreign-types-shared",
 ]
 
 [[package]]
+name = "foreign-types-macros"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.61",
+]
+
+[[package]]
 name = "foreign-types-shared"
-version = "0.1.1"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
 
 [[package]]
 name = "form_urlencoded"
@@ -1337,32 +1516,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "futures-channel"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
-dependencies = [
- "futures-core",
-]
-
-[[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"
@@ -1385,11 +1544,11 @@ dependencies = [
 
 [[package]]
 name = "futures-lite"
-version = "2.2.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
+checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
 dependencies = [
- "fastrand 2.0.1",
+ "fastrand 2.1.0",
  "futures-core",
  "futures-io",
  "parking",
@@ -1397,17 +1556,6 @@ dependencies = [
 ]
 
 [[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.48",
-]
-
-[[package]]
 name = "futures-sink"
 version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1427,7 +1575,6 @@ checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-core",
  "futures-io",
- "futures-macro",
  "futures-sink",
  "futures-task",
  "memchr",
@@ -1437,100 +1584,85 @@ dependencies = [
 ]
 
 [[package]]
-name = "gdk"
-version = "0.16.2"
+name = "gbm"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa9cb33da481c6c040404a11f8212d193889e9b435db2c14fd86987f630d3ce1"
+checksum = "f2ec389cda876966cf824111bf6e533fb934c711d473498279964a990853b3c6"
 dependencies = [
  "bitflags 1.3.2",
- "cairo-rs",
- "gdk-pixbuf",
- "gdk-sys",
- "gio",
- "glib",
+ "drm",
+ "drm-fourcc",
+ "gbm-sys",
  "libc",
- "pango",
 ]
 
 [[package]]
-name = "gdk-pixbuf"
-version = "0.16.7"
+name = "gbm-sys"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3578c60dee9d029ad86593ed88cb40f35c1b83360e12498d055022385dd9a05"
+checksum = "b63eba9b9b7a231514482deb08759301c9f9f049ac6869403f381834ebfeaf67"
 dependencies = [
- "bitflags 1.3.2",
- "gdk-pixbuf-sys",
- "gio",
- "glib",
  "libc",
 ]
 
 [[package]]
-name = "gdk-pixbuf-sys"
-version = "0.16.3"
+name = "generic-array"
+version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3092cf797a5f1210479ea38070d9ae8a5b8e9f8f1be9f32f4643c529c7d70016"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
 dependencies = [
- "gio-sys",
- "glib-sys",
- "gobject-sys",
- "libc",
- "system-deps",
+ "typenum",
+ "version_check",
 ]
 
 [[package]]
-name = "gdk-sys"
-version = "0.16.0"
+name = "getrandom"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76354f97a913e55b984759a997b693aa7dc71068c9e98bcce51aa167a0a5c5a"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
 dependencies = [
- "cairo-sys-rs",
- "gdk-pixbuf-sys",
- "gio-sys",
- "glib-sys",
- "gobject-sys",
+ "cfg-if",
+ "js-sys",
  "libc",
- "pango-sys",
- "pkg-config",
- "system-deps",
+ "wasi",
+ "wasm-bindgen",
 ]
 
 [[package]]
-name = "generic-array"
-version = "0.14.7"
+name = "gettext-rs"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+checksum = "e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364"
 dependencies = [
- "typenum",
- "version_check",
+ "gettext-sys",
+ "locale_config",
 ]
 
 [[package]]
-name = "gethostname"
-version = "0.3.0"
+name = "gettext-sys"
+version = "0.21.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177"
+checksum = "c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d"
 dependencies = [
- "libc",
- "winapi",
+ "cc",
+ "temp-dir",
 ]
 
 [[package]]
-name = "getrandom"
-version = "0.2.12"
+name = "gif"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
 dependencies = [
- "cfg-if",
- "libc",
- "wasi",
+ "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",
@@ -1543,39 +1675,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
-name = "gio"
-version = "0.16.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a1c84b4534a290a29160ef5c6eff2a9c95833111472e824fc5cb78b513dd092"
-dependencies = [
- "bitflags 1.3.2",
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-util",
- "gio-sys",
- "glib",
- "libc",
- "once_cell",
- "pin-project-lite",
- "smallvec",
- "thiserror",
-]
-
-[[package]]
-name = "gio-sys"
-version = "0.16.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229"
-dependencies = [
- "glib-sys",
- "gobject-sys",
- "libc",
- "system-deps",
- "winapi",
-]
-
-[[package]]
 name = "gl_generator"
 version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1596,53 +1695,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "glib"
-version = "0.16.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16aa2475c9debed5a32832cb5ff2af5a3f9e1ab9e69df58eaadc1ab2004d6eba"
-dependencies = [
- "bitflags 1.3.2",
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-task",
- "futures-util",
- "gio-sys",
- "glib-macros",
- "glib-sys",
- "gobject-sys",
- "libc",
- "once_cell",
- "smallvec",
- "thiserror",
-]
-
-[[package]]
-name = "glib-macros"
-version = "0.16.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb1a9325847aa46f1e96ffea37611b9d51fc4827e67f79e7de502a297560a67b"
-dependencies = [
- "anyhow",
- "heck",
- "proc-macro-crate",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "glib-sys"
-version = "0.16.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a4f46316d06bfa33a7ac22df6f0524c8be58e3db2d9ca99ccb1f357b62a65"
-dependencies = [
- "libc",
- "system-deps",
-]
-
-[[package]]
 name = "glob"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1650,9 +1702,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "glow"
-version = "0.12.3"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -1662,135 +1714,58 @@ dependencies = [
 
 [[package]]
 name = "glutin"
-version = "0.30.10"
+version = "0.31.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe"
+checksum = "18fcd4ae4e86d991ad1300b8f57166e5be0c95ef1f63f3f5b827f8a164548746"
 dependencies = [
- "bitflags 1.3.2",
- "cfg_aliases",
+ "bitflags 2.5.0",
+ "cfg_aliases 0.1.1",
  "cgl",
  "core-foundation",
  "dispatch",
  "glutin_egl_sys",
- "glutin_glx_sys",
  "glutin_wgl_sys",
+ "icrate 0.0.4",
  "libloading",
- "objc2",
+ "objc2 0.4.1",
  "once_cell",
- "raw-window-handle",
- "wayland-sys 0.30.1",
- "windows-sys 0.45.0",
- "x11-dl",
+ "raw-window-handle 0.5.2",
+ "wayland-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "glutin-winit"
-version = "0.3.0"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4"
+checksum = "1ebcdfba24f73b8412c5181e56f092b5eff16671c514ce896b258a0a64bd7735"
 dependencies = [
- "cfg_aliases",
+ "cfg_aliases 0.1.1",
  "glutin",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "winit",
 ]
 
 [[package]]
 name = "glutin_egl_sys"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5"
-dependencies = [
- "gl_generator",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "glutin_glx_sys"
-version = "0.4.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494"
+checksum = "77cc5623f5309ef433c3dd4ca1223195347fe62c413da8e2fdd0eb76db2d9bcd"
 dependencies = [
  "gl_generator",
- "x11-dl",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "glutin_wgl_sys"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165"
+checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead"
 dependencies = [
  "gl_generator",
 ]
 
 [[package]]
-name = "gobject-sys"
-version = "0.16.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1"
-dependencies = [
- "glib-sys",
- "libc",
- "system-deps",
-]
-
-[[package]]
-name = "gtk"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4d3507d43908c866c805f74c9dd593c0ce7ba5c38e576e41846639cdcd4bee6"
-dependencies = [
- "atk",
- "bitflags 1.3.2",
- "cairo-rs",
- "field-offset",
- "futures-channel",
- "gdk",
- "gdk-pixbuf",
- "gio",
- "glib",
- "gtk-sys",
- "gtk3-macros",
- "libc",
- "once_cell",
- "pango",
- "pkg-config",
-]
-
-[[package]]
-name = "gtk-sys"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b5f8946685d5fe44497007786600c2f368ff6b1e61a16251c89f72a97520a3"
-dependencies = [
- "atk-sys",
- "cairo-sys-rs",
- "gdk-pixbuf-sys",
- "gdk-sys",
- "gio-sys",
- "glib-sys",
- "gobject-sys",
- "libc",
- "pango-sys",
- "system-deps",
-]
-
-[[package]]
-name = "gtk3-macros"
-version = "0.16.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "096eb63c6fedf03bafe65e5924595785eaf1bcb7200dac0f2cbe9c9738f05ad8"
-dependencies = [
- "anyhow",
- "proc-macro-crate",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "gumdrop"
 version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1811,10 +1786,24 @@ dependencies = [
 ]
 
 [[package]]
+name = "half"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
+
+[[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"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+]
 
 [[package]]
 name = "heck"
@@ -1824,9 +1813,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.4"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -1850,10 +1839,228 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
+name = "i-slint-backend-linuxkms"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "calloop",
+ "drm",
+ "gbm",
+ "gbm-sys",
+ "glutin",
+ "i-slint-common",
+ "i-slint-core",
+ "i-slint-renderer-femtovg",
+ "input",
+ "libseat",
+ "nix 0.27.1",
+ "raw-window-handle 0.5.2",
+ "xkbcommon",
+]
+
+[[package]]
+name = "i-slint-backend-selector"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "cfg-if",
+ "i-slint-backend-linuxkms",
+ "i-slint-backend-winit",
+ "i-slint-common",
+ "i-slint-core",
+]
+
+[[package]]
+name = "i-slint-backend-winit"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "cfg-if",
+ "cfg_aliases 0.2.0",
+ "cocoa",
+ "const-field-offset",
+ "copypasta",
+ "derive_more",
+ "glutin",
+ "glutin-winit",
+ "i-slint-common",
+ "i-slint-core",
+ "i-slint-core-macros",
+ "i-slint-renderer-femtovg",
+ "i-slint-renderer-skia",
+ "lyon_path",
+ "once_cell",
+ "pin-weak",
+ "raw-window-handle 0.5.2",
+ "scoped-tls-hkt",
+ "scopeguard",
+ "softbuffer",
+ "wasm-bindgen",
+ "web-sys",
+ "winit",
+]
+
+[[package]]
+name = "i-slint-common"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "cfg-if",
+ "derive_more",
+ "fontdb",
+ "libloading",
+]
+
+[[package]]
+name = "i-slint-compiler"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "by_address",
+ "codemap",
+ "codemap-diagnostic",
+ "css-color-parser2",
+ "derive_more",
+ "fontdue",
+ "i-slint-common",
+ "image",
+ "itertools",
+ "linked_hash_set",
+ "lyon_extra",
+ "lyon_path",
+ "num_enum",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "resvg",
+ "rowan",
+ "smol_str",
+ "strum",
+ "thiserror",
+ "url",
+]
+
+[[package]]
+name = "i-slint-core"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "auto_enums",
+ "bitflags 2.5.0",
+ "cfg-if",
+ "clru",
+ "const-field-offset",
+ "derive_more",
+ "euclid",
+ "gettext-rs",
+ "i-slint-common",
+ "i-slint-core-macros",
+ "image",
+ "integer-sqrt",
+ "lyon_algorithms",
+ "lyon_extra",
+ "lyon_geom",
+ "lyon_path",
+ "num-traits",
+ "once_cell",
+ "pin-project",
+ "pin-weak",
+ "portable-atomic",
+ "raw-window-handle 0.6.1",
+ "resvg",
+ "rgb",
+ "scoped-tls-hkt",
+ "scopeguard",
+ "slab",
+ "static_assertions",
+ "strum",
+ "unicode-linebreak",
+ "unicode-script",
+ "unicode-segmentation",
+ "vtable",
+ "wasm-bindgen",
+ "web-sys",
+ "web-time 1.1.0",
+]
+
+[[package]]
+name = "i-slint-core-macros"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "quote",
+ "syn 2.0.61",
+]
+
+[[package]]
+name = "i-slint-renderer-femtovg"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "cfg-if",
+ "const-field-offset",
+ "core-foundation",
+ "core-text",
+ "derive_more",
+ "dwrote",
+ "femtovg",
+ "glow",
+ "i-slint-common",
+ "i-slint-core",
+ "i-slint-core-macros",
+ "imgref",
+ "lyon_path",
+ "once_cell",
+ "pin-weak",
+ "raw-window-handle 0.5.2",
+ "rgb",
+ "scoped-tls-hkt",
+ "ttf-parser",
+ "unicode-script",
+ "unicode-segmentation",
+ "wasm-bindgen",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "i-slint-renderer-skia"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "bytemuck",
+ "cfg-if",
+ "cfg_aliases 0.2.0",
+ "cocoa",
+ "const-field-offset",
+ "core-foundation",
+ "core-graphics-types",
+ "derive_more",
+ "foreign-types",
+ "glow",
+ "glutin",
+ "i-slint-common",
+ "i-slint-core",
+ "i-slint-core-macros",
+ "lyon_path",
+ "metal",
+ "objc",
+ "once_cell",
+ "pin-weak",
+ "raw-window-handle 0.5.2",
+ "scoped-tls-hkt",
+ "skia-safe",
+ "softbuffer",
+ "unicode-segmentation",
+ "vtable",
+ "windows 0.54.0",
+]
+
+[[package]]
 name = "iana-time-zone"
-version = "0.1.59"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -1873,6 +2080,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "icrate"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319"
+dependencies = [
+ "block2 0.3.0",
+ "dispatch",
+ "objc2 0.4.1",
+]
+
+[[package]]
+name = "icrate"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fb69199826926eb864697bddd27f73d9fddcffc004f5733131e15b465e30642"
+dependencies = [
+ "block2 0.4.0",
+ "objc2 0.5.1",
+]
+
+[[package]]
 name = "idna"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1883,10 +2111,40 @@ dependencies = [
 ]
 
 [[package]]
+name = "image"
+version = "0.24.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "exr",
+ "gif 0.13.1",
+ "jpeg-decoder",
+ "num-traits",
+ "png",
+ "qoi",
+ "tiff",
+]
+
+[[package]]
+name = "imagesize"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284"
+
+[[package]]
+name = "imgref"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44feda355f4159a7c757171a77de25daf6411e217b4cabd03bd6650690468126"
+
+[[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -1915,15 +2173,41 @@ dependencies = [
 ]
 
 [[package]]
+name = "input"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6e74cd82cedcd66db78742a8337bdc48f188c4d2c12742cbc5cd85113f0b059"
+dependencies = [
+ "bitflags 1.3.2",
+ "input-sys",
+ "io-lifetimes",
+ "libc",
+ "log",
+ "udev 0.7.0",
+]
+
+[[package]]
+name = "input-sys"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd4f5b4d1c00331c5245163aacfe5f20be75b564c7112d45893d4ae038119eb0"
+
+[[package]]
 name = "instant"
 version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 dependencies = [
  "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
+]
+
+[[package]]
+name = "integer-sqrt"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770"
+dependencies = [
+ "num-traits",
 ]
 
 [[package]]
@@ -1939,29 +2223,29 @@ dependencies = [
 
 [[package]]
 name = "is-terminal"
-version = "0.4.10"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
 dependencies = [
  "hermit-abi",
- "rustix 0.38.30",
+ "libc",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "itertools"
-version = "0.10.5"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+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 = "jni"
@@ -1987,18 +2271,27 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "jobserver"
-version = "0.1.27"
+version = "0.1.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"
 dependencies = [
  "libc",
 ]
 
 [[package]]
+name = "jpeg-decoder"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
+dependencies = [
+ "rayon",
+]
+
+[[package]]
 name = "js-sys"
-version = "0.3.61"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2010,6 +2303,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
 
 [[package]]
+name = "kurbo"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e5aa9f0f96a938266bdb12928a67169e8d22c6a786fda8ed984b85e6ba93c3c"
+dependencies = [
+ "arrayvec",
+ "smallvec",
+]
+
+[[package]]
+name = "lazy-bytes-cast"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b"
+
+[[package]]
 name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2022,65 +2331,72 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
-name = "libappindicator"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89e1edfdc9b0853358306c6dfb4b77c79c779174256fe93d80c0b5ebca451a2f"
-dependencies = [
- "glib",
- "gtk",
- "gtk-sys",
- "libappindicator-sys",
- "log",
-]
-
-[[package]]
-name = "libappindicator-sys"
-version = "0.8.0"
+name = "lebe"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08fcb2bea89cee9613982501ec83eaa2d09256b24540ae463c52a28906163918"
-dependencies = [
- "gtk-sys",
- "libloading",
- "once_cell",
-]
+checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 
 [[package]]
 name = "libc"
-version = "0.2.152"
+version = "0.2.154"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
+checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
 
 [[package]]
 name = "libloading"
-version = "0.7.4"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
 dependencies = [
  "cfg-if",
- "winapi",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
 name = "libredox"
-version = "0.0.1"
+version = "0.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "libc",
  "redox_syscall 0.4.1",
 ]
 
 [[package]]
 name = "libredox"
-version = "0.0.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "libc",
- "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libseat"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54a0adf8d8607a73a5b74cbe4132f57cb349e4bf860103cd089461bbcbc9907e"
+dependencies = [
+ "errno",
+ "libseat-sys",
+ "log",
+]
+
+[[package]]
+name = "libseat-sys"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3671cb5e03871f1d6bf0b3b5daa9275549e348fa6359e0f9adb910ca163d4c34"
+dependencies = [
+ "pkg-config",
 ]
 
 [[package]]
@@ -2095,9 +2411,9 @@ dependencies = [
 
 [[package]]
 name = "libusb1-sys"
-version = "0.6.4"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d0e2afce4245f2c9a418511e5af8718bcaf2fa408aefb259504d1a9cb25f27"
+checksum = "da050ade7ac4ff1ba5379af847a10a10a8e284181e060105bf8d86960ce9ce0f"
 dependencies = [
  "cc",
  "libc",
@@ -2106,6 +2422,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "linked-hash-map"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+[[package]]
+name = "linked_hash_set"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588"
+dependencies = [
+ "linked-hash-map",
+]
+
+[[package]]
 name = "linux-raw-sys"
 version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2118,10 +2449,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
+name = "locale_config"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
+dependencies = [
+ "lazy_static",
+ "objc",
+ "objc-foundation",
+ "regex",
+ "winapi",
+]
+
+[[package]]
 name = "lock_api"
-version = "0.4.11"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -2129,21 +2473,68 @@ 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 = "logind-zbus"
-version = "3.1.2"
+version = "4.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c07a2542f6e91ea92780158654852190edb2ba0b232d9d00d649d0c691cb7eb3"
+checksum = "15b2375aeabe771d0774a333bf20aa89ea1805f4f9d094fc45e7390bfc7da42a"
 dependencies = [
  "serde",
  "zbus",
 ]
 
 [[package]]
+name = "lru"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc"
+
+[[package]]
+name = "lyon_algorithms"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3bca95f9a4955b3e4a821fbbcd5edfbd9be2a9a50bb5758173e5358bfb4c623"
+dependencies = [
+ "lyon_path",
+ "num-traits",
+]
+
+[[package]]
+name = "lyon_extra"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c4a243ce61e7e5f3ae6c72a88d8fb081b6c69f13500c15e99cfd1159a833b20"
+dependencies = [
+ "lyon_path",
+ "thiserror",
+]
+
+[[package]]
+name = "lyon_geom"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edecfb8d234a2b0be031ab02ebcdd9f3b9ee418fb35e265f7a540a48d197bff9"
+dependencies = [
+ "arrayvec",
+ "euclid",
+ "num-traits",
+]
+
+[[package]]
+name = "lyon_path"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca507745ba7ccbc76e5c44e7b63b1a29d2b0d6126f375806a5bbaf657c7d6c45"
+dependencies = [
+ "lyon_geom",
+ "num-traits",
+]
+
+[[package]]
 name = "mac-notification-sys"
 version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2167,53 +2558,53 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.7.1"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "memmap2"
-version = "0.5.10"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
 dependencies = [
  "libc",
 ]
 
 [[package]]
-name = "memoffset"
-version = "0.6.5"
+name = "memmap2"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
- "autocfg",
+ "libc",
 ]
 
 [[package]]
 name = "memoffset"
-version = "0.7.1"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
-name = "memoffset"
-version = "0.9.0"
+name = "metal"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
 dependencies = [
- "autocfg",
+ "bitflags 2.5.0",
+ "block",
+ "core-graphics-types",
+ "foreign-types",
+ "log",
+ "objc",
+ "paste",
 ]
 
 [[package]]
-name = "micromath"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc4010833aea396656c2f91ee704d51a6f1329ec2ab56ffd00bfd56f7481ea94"
-
-[[package]]
 name = "minimal-lexical"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2231,9 +2622,9 @@ dependencies = [
 
 [[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",
  "simd-adler32",
@@ -2241,9 +2632,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",
  "log",
@@ -2252,16 +2643,26 @@ dependencies = [
 ]
 
 [[package]]
-name = "ndk"
+name = "nanorand"
 version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
+checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
 dependencies = [
- "bitflags 1.3.2",
+ "getrandom",
+]
+
+[[package]]
+name = "ndk"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
+dependencies = [
+ "bitflags 2.5.0",
  "jni-sys",
+ "log",
  "ndk-sys",
- "num_enum 0.5.11",
- "raw-window-handle",
+ "num_enum",
+ "raw-window-handle 0.5.2",
  "thiserror",
 ]
 
@@ -2273,58 +2674,49 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
 
 [[package]]
 name = "ndk-sys"
-version = "0.4.1+23.1.7779620"
+version = "0.5.0+25.2.9519653"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3"
+checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
 dependencies = [
  "jni-sys",
 ]
 
 [[package]]
 name = "nix"
-version = "0.24.3"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
  "libc",
- "memoffset 0.6.5",
 ]
 
 [[package]]
 name = "nix"
-version = "0.25.1"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
 dependencies = [
- "autocfg",
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "cfg-if",
  "libc",
- "memoffset 0.6.5",
 ]
 
 [[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 0.1.1",
  "libc",
- "memoffset 0.7.1",
- "pin-utils",
+ "memoffset",
 ]
 
 [[package]]
-name = "nohash-hasher"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
-
-[[package]]
 name = "nom"
 version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2336,8 +2728,8 @@ dependencies = [
 
 [[package]]
 name = "notify-rust"
-version = "4.6.0"
-source = "git+https://github.com/flukejones/notify-rust.git#c83082a2549932bde52a4ec449b9981fc39e9a0d"
+version = "4.7.0"
+source = "git+https://github.com/flukejones/notify-rust.git?rev=54176413b81189a3e4edbdc20a0b4f7e2e35c063#54176413b81189a3e4edbdc20a0b4f7e2e35c063"
 dependencies = [
  "mac-notification-sys",
  "serde",
@@ -2346,12 +2738,19 @@ dependencies = [
 ]
 
 [[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.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
 dependencies = [
  "autocfg",
+ "libm",
 ]
 
 [[package]]
@@ -2366,44 +2765,23 @@ dependencies = [
 
 [[package]]
 name = "num_enum"
-version = "0.5.11"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
 dependencies = [
- "num_enum_derive 0.5.11",
-]
-
-[[package]]
-name = "num_enum"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1"
-dependencies = [
- "num_enum_derive 0.6.1",
-]
-
-[[package]]
-name = "num_enum_derive"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
-dependencies = [
- "proc-macro-crate",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "num_enum_derive",
 ]
 
 [[package]]
 name = "num_enum_derive"
-version = "0.6.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
 ]
 
 [[package]]
@@ -2413,6 +2791,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
 dependencies = [
  "malloc_buf",
+ "objc_exception",
 ]
 
 [[package]]
@@ -2428,28 +2807,49 @@ dependencies = [
 
 [[package]]
 name = "objc-sys"
-version = "0.2.0-beta.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7"
+checksum = "da284c198fb9b7b0603f8635185e85fbd5b64ee154b1ed406d489077de2d6d60"
 
 [[package]]
 name = "objc2"
-version = "0.3.0-beta.3.patch-leaks.3"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468"
+checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d"
 dependencies = [
- "block2",
  "objc-sys",
- "objc2-encode",
+ "objc2-encode 3.0.0",
 ]
 
 [[package]]
-name = "objc2-encode"
-version = "2.0.0-pre.2"
+name = "objc2"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512"
+checksum = "b4b25e1034d0e636cd84707ccdaa9f81243d399196b8a773946dcffec0401659"
 dependencies = [
  "objc-sys",
+ "objc2-encode 4.0.1",
+]
+
+[[package]]
+name = "objc2-encode"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666"
+
+[[package]]
+name = "objc2-encode"
+version = "4.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88658da63e4cc2c8adb1262902cd6af51094df0488b760d6fd27194269c0950a"
+
+[[package]]
+name = "objc_exception"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4"
+dependencies = [
+ "cc",
 ]
 
 [[package]]
@@ -2475,6 +2875,10 @@ name = "once_cell"
 version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+dependencies = [
+ "critical-section",
+ "portable-atomic",
+]
 
 [[package]]
 name = "orbclient"
@@ -2505,32 +2909,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "pango"
-version = "0.16.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdff66b271861037b89d028656184059e03b0b6ccb36003820be19f7200b1e94"
-dependencies = [
- "bitflags 1.3.2",
- "gio",
- "glib",
- "libc",
- "once_cell",
- "pango-sys",
-]
-
-[[package]]
-name = "pango-sys"
-version = "0.16.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e134909a9a293e04d2cc31928aa95679c5e4df954d0b85483159bd20d8f047f"
-dependencies = [
- "glib-sys",
- "gobject-sys",
- "libc",
- "system-deps",
-]
-
-[[package]]
 name = "parking"
 version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2538,9 +2916,9 @@ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
-version = "0.12.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb"
 dependencies = [
  "lock_api",
  "parking_lot_core",
@@ -2548,28 +2926,22 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.9"
+version = "0.9.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.4.1",
+ "redox_syscall 0.5.1",
  "smallvec",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
 name = "paste"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
-
-[[package]]
-name = "peeking_take_while"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
 
 [[package]]
 name = "percent-encoding"
@@ -2578,10 +2950,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
+name = "pico-args"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
+
+[[package]]
+name = "pin-project"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+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.61",
+]
+
+[[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"
@@ -2590,13 +2988,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
+name = "pin-weak"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b330c9d1b92dfe68442ca20b009c717d5f0b1e3cf4965e62f704c3c6e95a1305"
+
+[[package]]
 name = "piper"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
 dependencies = [
  "atomic-waker",
- "fastrand 2.0.1",
+ "fastrand 2.1.0",
  "futures-io",
 ]
 
@@ -2608,21 +3012,21 @@ checksum = "5de5067af0cd27add969cdb4ef2eecc955f59235f3b7a75a3c6ac9562cfb6b81"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "png"
-version = "0.17.11"
+version = "0.17.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
+checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
  "fdeflate",
  "flate2",
- "miniz_oxide 0.7.1",
+ "miniz_oxide 0.7.2",
 ]
 
 [[package]]
@@ -2653,19 +3057,29 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.3.2"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41"
+checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
+ "hermit-abi",
  "pin-project-lite",
- "rustix 0.38.30",
+ "rustix 0.38.34",
  "tracing",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
+name = "portable-atomic"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+dependencies = [
+ "critical-section",
+]
+
+[[package]]
 name = "powerfmt"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2678,46 +3092,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
-name = "proc-macro-crate"
-version = "1.3.1"
+name = "prettyplease"
+version = "0.2.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e"
 dependencies = [
- "once_cell",
- "toml_edit 0.19.15",
+ "proc-macro2",
+ "syn 2.0.61",
 ]
 
 [[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 1.0.109",
- "version_check",
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
+name = "proc-macro2"
+version = "1.0.82"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b"
 dependencies = [
- "proc-macro2",
- "quote",
- "version_check",
+ "unicode-ident",
 ]
 
 [[package]]
-name = "proc-macro2"
-version = "1.0.78"
+name = "qoi"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
 dependencies = [
- "unicode-ident",
+ "bytemuck",
 ]
 
 [[package]]
@@ -2730,10 +3138,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "quote"
-version = "1.0.35"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 dependencies = [
  "proc-macro2",
 ]
@@ -2775,6 +3192,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
+name = "raw-window-handle"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cc3bcbdb1ddfc11e700e62968e6b4cc9c75bb466464ad28fb61c5b2c964418b"
+
+[[package]]
+name = "rayon"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
 name = "redox_syscall"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2793,21 +3236,30 @@ dependencies = [
 ]
 
 [[package]]
+name = "redox_syscall"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e"
+dependencies = [
+ "bitflags 2.5.0",
+]
+
+[[package]]
 name = "redox_users"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
 dependencies = [
  "getrandom",
- "libredox 0.0.1",
+ "libredox 0.1.3",
  "thiserror",
 ]
 
 [[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",
@@ -2817,9 +3269,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.4"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2828,27 +3280,49 @@ dependencies = [
 
 [[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 = "resvg"
+version = "0.41.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2327ced609dadeed3e9702fec3e6b2ddd208758a9268d13e06566c6101ba533"
+dependencies = [
+ "log",
+ "pico-args",
+ "rgb",
+ "svgtypes",
+ "tiny-skia",
+ "usvg",
+]
+
+[[package]]
+name = "rgb"
+version = "0.8.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8"
+dependencies = [
+ "bytemuck",
+]
 
 [[package]]
 name = "rog-control-center"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "asusd",
+ "betrayer",
  "cargo-husky",
+ "concat-idents",
+ "config-traits",
  "dirs",
- "eframe",
- "egui",
+ "dmi_id",
  "env_logger",
- "gtk",
  "gumdrop",
- "libappindicator",
  "log",
- "nix 0.26.4",
+ "nix 0.28.0",
  "notify-rust",
- "png_pong",
  "rog_anime",
  "rog_aura",
  "rog_dbus",
@@ -2856,22 +3330,22 @@ dependencies = [
  "rog_profiles",
  "serde",
  "serde_derive",
- "serde_json",
+ "slint",
+ "slint-build",
  "supergfxctl",
  "tempfile",
  "tokio",
- "toml 0.5.11",
  "versions",
  "zbus",
 ]
 
 [[package]]
 name = "rog_anime"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "cargo-husky",
  "dmi_id",
- "gif",
+ "gif 0.12.0",
  "glam",
  "log",
  "pix",
@@ -2884,7 +3358,7 @@ dependencies = [
 
 [[package]]
 name = "rog_aura"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "cargo-husky",
  "dmi_id",
@@ -2898,7 +3372,7 @@ dependencies = [
 
 [[package]]
 name = "rog_dbus"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "asusd",
  "cargo-husky",
@@ -2906,29 +3380,28 @@ dependencies = [
  "rog_aura",
  "rog_platform",
  "rog_profiles",
+ "rog_slash",
  "zbus",
 ]
 
 [[package]]
 name = "rog_platform"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "cargo-husky",
  "concat-idents",
  "inotify",
  "log",
- "rog_aura",
  "rusb",
  "serde",
- "serde_derive",
  "typeshare",
- "udev",
+ "udev 0.8.0",
  "zbus",
 ]
 
 [[package]]
 name = "rog_profiles"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
  "cargo-husky",
  "log",
@@ -2936,15 +3409,14 @@ dependencies = [
  "serde",
  "serde_derive",
  "typeshare",
- "udev",
+ "udev 0.8.0",
  "zbus",
 ]
 
 [[package]]
 name = "rog_simulators"
-version = "5.0.10"
+version = "6.0.6"
 dependencies = [
- "glam",
  "log",
  "rog_anime",
  "sdl2",
@@ -2952,22 +3424,53 @@ dependencies = [
 ]
 
 [[package]]
+name = "rog_slash"
+version = "6.0.6"
+dependencies = [
+ "cargo-husky",
+ "dmi_id",
+ "serde",
+ "serde_derive",
+ "typeshare",
+ "zbus",
+]
+
+[[package]]
 name = "ron"
 version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
 dependencies = [
- "base64",
- "bitflags 2.4.2",
+ "base64 0.21.7",
+ "bitflags 2.5.0",
  "serde",
  "serde_derive",
 ]
 
 [[package]]
+name = "rowan"
+version = "0.15.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a58fa8a7ccff2aec4f39cc45bf5f985cec7125ab271cf681c279fd00192b49"
+dependencies = [
+ "countme",
+ "hashbrown",
+ "memoffset",
+ "rustc-hash",
+ "text-size",
+]
+
+[[package]]
+name = "roxmltree"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
+
+[[package]]
 name = "rusb"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45fff149b6033f25e825cbb7b2c625a11ee8e6dac09264d49beb125e39aa97bf"
+checksum = "ab9f9ff05b63a786553a4c02943b74b34a988448671001e9a27e2f0565cc05a4"
 dependencies = [
  "libc",
  "libusb1-sys",
@@ -2975,9 +3478,9 @@ dependencies = [
 
 [[package]]
 name = "rustc-demangle"
-version = "0.1.23"
+version = "0.1.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
 
 [[package]]
 name = "rustc-hash"
@@ -3010,11 +3513,11 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.30"
+version = "0.38.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "errno",
  "libc",
  "linux-raw-sys 0.4.13",
@@ -3022,10 +3525,32 @@ dependencies = [
 ]
 
 [[package]]
-name = "ryu"
+name = "rustversion"
 version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0"
+
+[[package]]
+name = "rustybuzz"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88117946aa1bfb53c2ae0643ceac6506337f44887f8c9fbfb43587b1cc52ba49"
+dependencies = [
+ "bitflags 2.5.0",
+ "bytemuck",
+ "smallvec",
+ "ttf-parser",
+ "unicode-bidi-mirroring",
+ "unicode-ccc",
+ "unicode-properties",
+ "unicode-script",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
 
 [[package]]
 name = "same-file"
@@ -3043,6 +3568,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
 
 [[package]]
+name = "scoped-tls-hkt"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ddc765d3410d9f6c6ca071bf0b67f6b01e3ec4595dc3892f02677e75819dddc"
+
+[[package]]
 name = "scopeguard"
 version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3050,22 +3581,22 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "sctk-adwaita"
-version = "0.5.4"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09"
+checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550"
 dependencies = [
  "ab_glyph",
  "log",
- "memmap2",
+ "memmap2 0.9.4",
  "smithay-client-toolkit",
  "tiny-skia",
 ]
 
 [[package]]
 name = "sdl2"
-version = "0.35.2"
+version = "0.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7959277b623f1fb9e04aea73686c3ca52f01b2145f8ea16f4ff30d8b7623b1a"
+checksum = "8356b2697d1ead5a34f40bcc3c5d3620205fe0c7be0a14656223bfeec0258891"
 dependencies = [
  "bitflags 1.3.2",
  "lazy_static",
@@ -3075,9 +3606,9 @@ dependencies = [
 
 [[package]]
 name = "sdl2-sys"
-version = "0.35.2"
+version = "0.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3586be2cf6c0a8099a79a12b4084357aa9b3e0b0d7980e3b67aaf7a9d55f9f0"
+checksum = "26bcacfdd45d539fb5785049feb0038a63931aa896c7763a2a12e125ec58bd29"
 dependencies = [
  "cfg-if",
  "libc",
@@ -3086,35 +3617,35 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.21"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
 
 [[package]]
 name = "serde"
-version = "1.0.195"
+version = "1.0.201"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
+checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.195"
+version = "1.0.201"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
+checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.111"
+version = "1.0.117"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4"
+checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
 dependencies = [
  "itoa",
  "ryu",
@@ -3123,13 +3654,13 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.18"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
 ]
 
 [[package]]
@@ -3154,15 +3685,15 @@ dependencies = [
 
 [[package]]
 name = "shlex"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.4.1"
+version = "1.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
 dependencies = [
  "libc",
 ]
@@ -3174,6 +3705,50 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
+name = "simplecss"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "siphasher"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
+
+[[package]]
+name = "skia-bindings"
+version = "0.72.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace7c5359ccb009880e65958eaf1e2fa68ee19ada6931300c2f1942f84abf2c3"
+dependencies = [
+ "bindgen",
+ "cc",
+ "flate2",
+ "heck",
+ "lazy_static",
+ "regex",
+ "serde_json",
+ "tar",
+ "toml",
+]
+
+[[package]]
+name = "skia-safe"
+version = "0.72.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0a4a3df502b317456a34df181ac67a7a6443b0f2e4b883ac220dba1dcb3ce38"
+dependencies = [
+ "bitflags 2.5.0",
+ "lazy_static",
+ "skia-bindings",
+ "windows 0.54.0",
+]
+
+[[package]]
 name = "slab"
 version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3183,6 +3758,44 @@ dependencies = [
 ]
 
 [[package]]
+name = "slint"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "const-field-offset",
+ "i-slint-backend-selector",
+ "i-slint-core",
+ "i-slint-renderer-femtovg",
+ "num-traits",
+ "once_cell",
+ "pin-weak",
+ "slint-macros",
+ "vtable",
+]
+
+[[package]]
+name = "slint-build"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "i-slint-compiler",
+ "spin_on",
+ "thiserror",
+ "toml_edit 0.22.12",
+]
+
+[[package]]
+name = "slint-macros"
+version = "1.6.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "i-slint-compiler",
+ "proc-macro2",
+ "quote",
+ "spin_on",
+]
+
+[[package]]
 name = "slotmap"
 version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3193,37 +3806,44 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.13.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "smithay-client-toolkit"
-version = "0.16.1"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9"
+checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "calloop",
- "dlib",
- "lazy_static",
+ "calloop-wayland-source",
+ "cursor-icon",
+ "libc",
  "log",
- "memmap2",
- "nix 0.24.3",
- "pkg-config",
+ "memmap2 0.9.4",
+ "rustix 0.38.34",
+ "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.6"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8"
+checksum = "c091e7354ea8059d6ad99eace06dd13ddeedbb0ac72d40a9a6e7ff790525882d"
 dependencies = [
+ "libc",
  "smithay-client-toolkit",
- "wayland-client",
+ "wayland-backend",
 ]
 
 [[package]]
@@ -3234,16 +3854,25 @@ checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1"
 dependencies = [
  "async-channel 1.9.0",
  "async-executor",
- "async-fs",
+ "async-fs 1.6.0",
  "async-io 1.13.0",
  "async-lock 2.8.0",
  "async-net",
- "async-process",
+ "async-process 1.8.1",
  "blocking",
  "futures-lite 1.13.0",
 ]
 
 [[package]]
+name = "smol_str"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "socket2"
 version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3255,36 +3884,106 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.5"
+version = "0.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
 dependencies = [
  "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "softbuffer"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f266ce2aa23eaaaa4e758ed44495d505d00fb79f359d46f6c1900cb053123b62"
+dependencies = [
+ "bytemuck",
+ "cfg_aliases 0.1.1",
+ "cocoa",
+ "core-graphics",
+ "fastrand 2.1.0",
+ "foreign-types",
+ "js-sys",
+ "log",
+ "memmap2 0.9.4",
+ "objc",
+ "raw-window-handle 0.5.2",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.34",
+ "wasm-bindgen",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-sys",
+ "web-sys",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "static_assertions"
-version = "1.1.0"
+name = "spin"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+dependencies = [
+ "lock_api",
+]
 
 [[package]]
-name = "str-buf"
-version = "1.0.6"
+name = "spin_on"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
+checksum = "076e103ed41b9864aa838287efe5f4e3a7a0362dd00671ae62a212e5e4612da2"
+dependencies = [
+ "pin-utils",
+]
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
 name = "strict-num"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
+dependencies = [
+ "float-cmp",
+]
+
+[[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",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 2.0.61",
+]
 
 [[package]]
 name = "supergfxctl"
-version = "5.1.2"
-source = "git+https://gitlab.com/asus-linux/supergfxctl.git#a54163c4ced0f58dbbc134392d8a2118ee6c5c64"
+version = "5.2.2"
+source = "git+https://gitlab.com/asus-linux/supergfxctl.git?rev=4eb6e97c22b68ae8d1e80500709b0c0580776ad3#4eb6e97c22b68ae8d1e80500709b0c0580776ad3"
 dependencies = [
  "log",
  "logind-zbus",
@@ -3292,11 +3991,21 @@ dependencies = [
  "serde_derive",
  "serde_json",
  "tokio",
- "udev",
+ "udev 0.8.0",
  "zbus",
 ]
 
 [[package]]
+name = "svgtypes"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fae3064df9b89391c9a76a0425a69d124aee9c5c28455204709e72c39868a43c"
+dependencies = [
+ "kurbo",
+ "siphasher",
+]
+
+[[package]]
 name = "syn"
 version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3309,9 +4018,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.48"
+version = "2.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3319,54 +4028,41 @@ dependencies = [
 ]
 
 [[package]]
-name = "system-deps"
-version = "6.2.0"
+name = "tar"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
 dependencies = [
- "cfg-expr",
- "heck",
- "pkg-config",
- "toml 0.8.8",
- "version-compare",
-]
-
-[[package]]
-name = "systemd-zbus"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffbb1b6ea6d96b14a7e94532711efc4106337fe8b1d6bdf8ba5318012a9fa7e3"
-dependencies = [
- "serde",
- "zbus",
+ "filetime",
+ "libc",
+ "xattr",
 ]
 
 [[package]]
-name = "target-lexicon"
-version = "0.12.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
-
-[[package]]
 name = "tauri-winrt-notification"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "006851c9ccefa3c38a7646b8cec804bb429def3da10497bfa977179869c3e8e2"
 dependencies = [
- "quick-xml",
+ "quick-xml 0.30.0",
  "windows 0.51.1",
 ]
 
 [[package]]
+name = "temp-dir"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f227968ec00f0e5322f9b8173c7a0cbcff6181a0a5b28e9892491c286277231"
+
+[[package]]
 name = "tempfile"
-version = "3.9.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
- "fastrand 2.0.1",
- "redox_syscall 0.4.1",
- "rustix 0.38.30",
+ "fastrand 2.1.0",
+ "rustix 0.38.34",
  "windows-sys 0.52.0",
 ]
 
@@ -3380,32 +4076,50 @@ dependencies = [
 ]
 
 [[package]]
+name = "text-size"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233"
+
+[[package]]
 name = "thiserror"
-version = "1.0.56"
+version = "1.0.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.56"
+version = "1.0.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
+]
+
+[[package]]
+name = "tiff"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
+dependencies = [
+ "flate2",
+ "jpeg-decoder",
+ "weezl",
 ]
 
 [[package]]
 name = "time"
-version = "0.3.31"
+version = "0.3.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
 dependencies = [
  "deranged",
+ "num-conv",
  "powerfmt",
  "serde",
  "time-core",
@@ -3419,23 +4133,24 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "tiny-skia"
-version = "0.8.4"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67"
+checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
 dependencies = [
  "arrayref",
  "arrayvec",
  "bytemuck",
  "cfg-if",
+ "log",
  "png",
  "tiny-skia-path",
 ]
 
 [[package]]
 name = "tiny-skia-path"
-version = "0.8.4"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c"
+checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
 dependencies = [
  "arrayref",
  "bytemuck",
@@ -3443,15 +4158,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tinybmp"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e959c507975d768a226a08227d56791f6e60bddcf714ad7ef67ae2d20bae743"
-dependencies = [
- "embedded-graphics",
-]
-
-[[package]]
 name = "tinyvec"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3468,16 +4174,16 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.35.1"
+version = "1.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
+checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
 dependencies = [
  "backtrace",
  "libc",
  "mio",
  "num_cpus",
  "pin-project-lite",
- "socket2 0.5.5",
+ "socket2 0.5.7",
  "tokio-macros",
  "windows-sys 0.48.0",
 ]
@@ -3490,28 +4196,19 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
 ]
 
 [[package]]
 name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml"
-version = "0.8.8"
+version = "0.8.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.21.0",
+ "toml_edit 0.22.12",
 ]
 
 [[package]]
@@ -3525,26 +4222,26 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.19.15"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
 dependencies = [
  "indexmap",
  "toml_datetime",
- "winnow",
+ "winnow 0.5.40",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.21.0"
+version = "0.22.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef"
 dependencies = [
  "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.6.8",
 ]
 
 [[package]]
@@ -3566,7 +4263,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
 ]
 
 [[package]]
@@ -3592,9 +4289,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "typeshare"
-version = "1.0.1"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f44d1a2f454cb35fbe05b218c410792697e76bd868f48d3a418f2cd1a7d527d6"
+checksum = "04f17399b76c2e743d58eac0635d7686e9c00f48cd4776f00695d9882a7d3187"
 dependencies = [
  "chrono",
  "serde",
@@ -3604,12 +4301,12 @@ dependencies = [
 
 [[package]]
 name = "typeshare-annotation"
-version = "1.0.2"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc670d0e358428857cc3b4bf504c691e572fccaec9542ff09212d3f13d74b7a9"
+checksum = "a615d6c2764852a2e88a4f16e9ce1ea49bb776b5872956309e170d63a042a34f"
 dependencies = [
  "quote",
- "syn 1.0.109",
+ "syn 2.0.61",
 ]
 
 [[package]]
@@ -3624,21 +4321,34 @@ dependencies = [
 ]
 
 [[package]]
+name = "udev"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50051c6e22be28ee6f217d50014f3bc29e81c20dc66ff7ca0d5c5226e1dcc5a1"
+dependencies = [
+ "io-lifetimes",
+ "libc",
+ "libudev-sys",
+ "mio",
+ "pkg-config",
+]
+
+[[package]]
 name = "uds_windows"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
- "memoffset 0.9.0",
+ "memoffset",
  "tempfile",
  "winapi",
 ]
 
 [[package]]
 name = "uhid-virt"
-version = "0.0.6"
+version = "0.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f16e165f87ad3df8660688cb786c7ea0af76ff15037f8a0da3756bef8459499"
+checksum = "4f70f1f603b96df07624cdd31be4496a983a3f7f079cf2606aa289719114249f"
 dependencies = [
  "enumflags2",
  "libc",
@@ -3661,21 +4371,63 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
+name = "unicode-bidi-mirroring"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86"
+
+[[package]]
+name = "unicode-ccc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656"
+
+[[package]]
 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 = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
+
+[[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-properties"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
+
+[[package]]
+name = "unicode-script"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+
+[[package]]
+name = "unicode-vo"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
+
+[[package]]
 name = "url"
 version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3687,16 +4439,37 @@ dependencies = [
 ]
 
 [[package]]
-name = "vcpkg"
-version = "0.2.15"
+name = "usvg"
+version = "0.41.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+checksum = "5c704361d822337cfc00387672c7b59eaa72a1f0744f62b2a68aa228a0c6927d"
+dependencies = [
+ "base64 0.22.1",
+ "data-url",
+ "flate2",
+ "fontdb",
+ "imagesize",
+ "kurbo",
+ "log",
+ "pico-args",
+ "roxmltree",
+ "rustybuzz",
+ "simplecss",
+ "siphasher",
+ "strict-num",
+ "svgtypes",
+ "tiny-skia-path",
+ "unicode-bidi",
+ "unicode-script",
+ "unicode-vo",
+ "xmlwriter",
+]
 
 [[package]]
-name = "vec_map"
-version = "0.8.2"
+name = "vcpkg"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[package]]
 name = "version-compare"
@@ -3712,15 +4485,36 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "versions"
-version = "4.1.0"
+version = "6.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee97e1d97bd593fb513912a07691b742361b3dd64ad56f2c694ea2dbfe0665d3"
+checksum = "38a8931f8d167b6448076020e70b9de46dcf5ea1731212481a092d0071c4ac5b"
 dependencies = [
  "itertools",
  "nom",
 ]
 
 [[package]]
+name = "vtable"
+version = "0.2.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "const-field-offset",
+ "portable-atomic",
+ "stable_deref_trait",
+ "vtable-macro",
+]
+
+[[package]]
+name = "vtable-macro"
+version = "0.2.0"
+source = "git+https://github.com/slint-ui/slint.git#65160638a1c36cf8ee19047554f7bb4384c69ddf"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.61",
+]
+
+[[package]]
 name = "waker-fn"
 version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3728,9 +4522,9 @@ checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
 
 [[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",
@@ -3744,9 +4538,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -3754,24 +4548,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.61",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.34"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -3781,9 +4575,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3791,140 +4585,179 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.61",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.84"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
-name = "wayland-client"
-version = "0.29.5"
+name = "wayland-backend"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715"
+checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
 dependencies = [
- "bitflags 1.3.2",
+ "cc",
  "downcast-rs",
- "libc",
- "nix 0.24.3",
+ "rustix 0.38.34",
  "scoped-tls",
- "wayland-commons",
+ "smallvec",
+ "wayland-sys",
+]
+
+[[package]]
+name = "wayland-client"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
+dependencies = [
+ "bitflags 2.5.0",
+ "rustix 0.38.34",
+ "wayland-backend",
  "wayland-scanner",
- "wayland-sys 0.29.5",
 ]
 
 [[package]]
-name = "wayland-commons"
-version = "0.29.5"
+name = "wayland-csd-frame"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902"
+checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
 dependencies = [
- "nix 0.24.3",
- "once_cell",
- "smallvec",
- "wayland-sys 0.29.5",
+ "bitflags 2.5.0",
+ "cursor-icon",
+ "wayland-backend",
 ]
 
 [[package]]
 name = "wayland-cursor"
-version = "0.29.5"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661"
+checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba"
 dependencies = [
- "nix 0.24.3",
+ "rustix 0.38.34",
  "wayland-client",
  "xcursor",
 ]
 
 [[package]]
 name = "wayland-protocols"
-version = "0.29.5"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6"
+checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
+ "wayland-backend",
  "wayland-client",
- "wayland-commons",
+ "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.5.0",
+ "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 = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
+dependencies = [
+ "bitflags 2.5.0",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
  "wayland-scanner",
 ]
 
 [[package]]
 name = "wayland-scanner"
-version = "0.29.5"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
 dependencies = [
  "proc-macro2",
+ "quick-xml 0.31.0",
  "quote",
- "xml-rs",
 ]
 
 [[package]]
 name = "wayland-sys"
-version = "0.29.5"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4"
+checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
 dependencies = [
  "dlib",
- "lazy_static",
+ "log",
+ "once_cell",
  "pkg-config",
 ]
 
 [[package]]
-name = "wayland-sys"
-version = "0.30.1"
+name = "web-sys"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
- "dlib",
- "lazy_static",
- "log",
- "pkg-config",
+ "js-sys",
+ "wasm-bindgen",
 ]
 
 [[package]]
-name = "web-sys"
-version = "0.3.61"
+name = "web-time"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
 ]
 
 [[package]]
-name = "webbrowser"
-version = "0.8.12"
+name = "web-time"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
+checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
 dependencies = [
- "core-foundation",
- "home",
- "jni",
- "log",
- "ndk-context",
- "objc",
- "raw-window-handle",
- "url",
- "web-sys",
+ "js-sys",
+ "wasm-bindgen",
 ]
 
 [[package]]
 name = "weezl"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
+
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix 0.38.34",
+]
 
 [[package]]
 name = "winapi"
@@ -3944,20 +4777,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "winapi-wsapoll"
-version = "0.1.1"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e"
+checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
 dependencies = [
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3968,23 +4792,32 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows"
-version = "0.44.0"
+version = "0.51.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b"
+checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
 dependencies = [
- "windows-implement",
- "windows-interface",
- "windows-targets 0.42.2",
+ "windows-core 0.51.1",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "windows"
-version = "0.51.1"
+version = "0.54.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
+checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49"
 dependencies = [
- "windows-core 0.51.1",
- "windows-targets 0.48.5",
+ "windows-core 0.54.0",
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "windows"
+version = "0.56.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132"
+dependencies = [
+ "windows-core 0.56.0",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -4002,29 +4835,60 @@ 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.5",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.54.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65"
+dependencies = [
+ "windows-result",
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.56.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6"
+dependencies = [
+ "windows-implement",
+ "windows-interface",
+ "windows-result",
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
 name = "windows-implement"
-version = "0.44.0"
+version = "0.56.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce87ca8e3417b02dc2a8a22769306658670ec92d78f1bd420d6310a67c245c6"
+checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.61",
 ]
 
 [[package]]
 name = "windows-interface"
-version = "0.44.0"
+version = "0.56.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "853f69a591ecd4f810d29f17e902d40e349fb05b0b11fff63b08b826bfe39c7f"
+checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.61",
+]
+
+[[package]]
+name = "windows-result"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "749f0da9cc72d82e600d8d2e44cadd0b9eedb9038f71a1c58556ac1c5791813b"
+dependencies = [
+ "windows-targets 0.52.5",
 ]
 
 [[package]]
@@ -4051,7 +4915,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.5",
 ]
 
 [[package]]
@@ -4086,17 +4950,18 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
 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.5",
+ "windows_aarch64_msvc 0.52.5",
+ "windows_i686_gnu 0.52.5",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.5",
+ "windows_x86_64_gnu 0.52.5",
+ "windows_x86_64_gnullvm 0.52.5",
+ "windows_x86_64_msvc 0.52.5",
 ]
 
 [[package]]
@@ -4113,9 +4978,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -4131,9 +4996,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -4149,9 +5014,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -4167,9 +5038,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -4185,9 +5056,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -4203,9 +5074,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -4221,85 +5092,90 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
 
 [[package]]
 name = "winit"
-version = "0.28.7"
+version = "0.29.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94"
+checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca"
 dependencies = [
+ "ahash",
  "android-activity",
- "bitflags 1.3.2",
- "cfg_aliases",
+ "atomic-waker",
+ "bitflags 2.5.0",
+ "calloop",
+ "cfg_aliases 0.1.1",
  "core-foundation",
  "core-graphics",
- "dispatch",
- "instant",
+ "cursor-icon",
+ "icrate 0.0.4",
+ "js-sys",
  "libc",
  "log",
- "mio",
+ "memmap2 0.9.4",
  "ndk",
- "objc2",
+ "ndk-sys",
+ "objc2 0.4.1",
  "once_cell",
  "orbclient",
- "percent-encoding",
- "raw-window-handle",
+ "raw-window-handle 0.5.2",
  "redox_syscall 0.3.5",
+ "rustix 0.38.34",
  "sctk-adwaita",
  "smithay-client-toolkit",
+ "smol_str",
+ "unicode-segmentation",
  "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wayland-backend",
  "wayland-client",
- "wayland-commons",
  "wayland-protocols",
- "wayland-scanner",
+ "wayland-protocols-plasma",
  "web-sys",
- "windows-sys 0.45.0",
- "x11-dl",
+ "web-time 0.2.4",
+ "windows-sys 0.48.0",
+ "xkbcommon-dl",
 ]
 
 [[package]]
 name = "winnow"
-version = "0.5.34"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
-name = "x11-dl"
-version = "2.21.0"
+name = "winnow"
+version = "0.6.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
+checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d"
 dependencies = [
- "libc",
- "once_cell",
- "pkg-config",
+ "memchr",
 ]
 
 [[package]]
-name = "x11rb"
-version = "0.12.0"
+name = "wio"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a"
+checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5"
 dependencies = [
- "gethostname",
- "nix 0.26.4",
  "winapi",
- "winapi-wsapoll",
- "x11rb-protocol",
 ]
 
 [[package]]
-name = "x11rb-protocol"
-version = "0.12.0"
+name = "xattr"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
- "nix 0.26.4",
+ "libc",
+ "linux-raw-sys 0.4.13",
+ "rustix 0.38.34",
 ]
 
 [[package]]
@@ -4310,46 +5186,80 @@ checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
 
 [[package]]
 name = "xdg-home"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
 dependencies = [
- "nix 0.26.4",
+ "libc",
  "winapi",
 ]
 
 [[package]]
+name = "xkbcommon"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13867d259930edc7091a6c41b4ce6eee464328c6ff9659b7e4c668ca20d4c91e"
+dependencies = [
+ "libc",
+ "memmap2 0.8.0",
+ "xkeysym",
+]
+
+[[package]]
+name = "xkbcommon-dl"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5"
+dependencies = [
+ "bitflags 2.5.0",
+ "dlib",
+ "log",
+ "once_cell",
+ "xkeysym",
+]
+
+[[package]]
+name = "xkeysym"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
+
+[[package]]
 name = "xml-rs"
-version = "0.8.19"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193"
+
+[[package]]
+name = "xmlwriter"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
+checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9"
 
 [[package]]
 name = "zbus"
-version = "3.14.1"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
+checksum = "c9ff46f2a25abd690ed072054733e0bc3157e3d4c45f41bd183dce09c2ff8ab9"
 dependencies = [
  "async-broadcast",
  "async-executor",
- "async-fs",
- "async-io 1.13.0",
- "async-lock 2.8.0",
- "async-process",
+ "async-fs 2.1.2",
+ "async-io 2.3.2",
+ "async-lock 3.3.0",
+ "async-process 2.2.2",
  "async-recursion",
  "async-task",
  "async-trait",
  "blocking",
- "byteorder",
  "derivative",
  "enumflags2",
- "event-listener 2.5.3",
+ "event-listener 5.3.0",
  "futures-core",
  "futures-sink",
  "futures-util",
  "hex",
- "nix 0.26.4",
- "once_cell",
+ "nix 0.28.0",
  "ordered-stream",
  "rand",
  "serde",
@@ -4358,7 +5268,7 @@ dependencies = [
  "static_assertions",
  "tracing",
  "uds_windows",
- "winapi",
+ "windows-sys 0.52.0",
  "xdg-home",
  "zbus_macros",
  "zbus_names",
@@ -4367,9 +5277,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.14.1"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
+checksum = "4e0e3852c93dcdb49c9462afe67a2a468f7bd464150d866e861eaf06208633e0"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -4381,9 +5291,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",
@@ -4392,33 +5302,41 @@ dependencies = [
 
 [[package]]
 name = "zerocopy"
-version = "0.7.32"
+version = "0.7.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.32"
+version = "0.7.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.61",
+]
+
+[[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.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",
  "zvariant_derive",
@@ -4426,9 +5344,9 @@ 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",
  "proc-macro2",
@@ -4439,9 +5357,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/system/asusctl/default.nix b/pkgs/applications/system/asusctl/default.nix
index ba18d23889018..53628433a0f92 100644
--- a/pkgs/applications/system/asusctl/default.nix
+++ b/pkgs/applications/system/asusctl/default.nix
@@ -3,31 +3,34 @@
 , fetchFromGitLab
 , systemd
 , coreutils
+, gnugrep
 , pkg-config
-, cmake
 , fontconfig
-, gtk3
-, libappindicator
 , libGL
+, libinput
+, libxkbcommon
+, mesa
+, seatd
+, wayland
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "asusctl";
-  version = "5.0.10";
+  version = "6.0.6";
 
   src = fetchFromGitLab {
     owner = "asus-linux";
     repo = "asusctl";
     rev = version;
-    hash = "sha256-H8x3nfOFRv9DkbDkFw+LO1tdHiVyU3SzetqED4twPSk=";
+    hash = "sha256-to2HJAqU3+xl6Wt90GH7RA7079v1QyP+AE0pL/9rd/M=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "ecolor-0.21.0" = "sha256-m7eHX6flwO21umtx3dnIuVUnNsEs3ZCyOk5Vvp/lVfI=";
-      "notify-rust-4.6.0" = "sha256-jhCgisA9f6AI9e9JQUYRtEt47gQnDv5WsdRKFoKvHJs=";
-      "supergfxctl-5.1.2" = "sha256-WDbUgvWExk5cs2cpjo88CiROdEbc01o2DELhRi9gju4=";
+      "const-field-offset-0.1.5" = "sha256-53pT9ERsmF4lM9tVG09hgbM0zfbTp1qSM+NDyFQxe3c=";
+      "notify-rust-4.7.0" = "sha256-A7edUorty5GpGXCUQPszZuXtLdEmbmrDSU9JcoDaiaI=";
+      "supergfxctl-5.2.2" = "sha256-hg1QJ7DLtn5oH6IqQu7BcWIsZKAsFy6jjsjF/2o1Cos=";
     };
   };
 
@@ -37,7 +40,9 @@ rustPlatform.buildRustPackage rec {
       asusd-user/src/daemon.rs
       asusd/src/ctrl_anime/config.rs
       rog-aura/src/aura_detection.rs
+      rog-control-center/src/lib.rs
       rog-control-center/src/main.rs
+      rog-control-center/src/tray.rs
     "
     for file in $files; do
       substituteInPlace $file --replace /usr/share $out/share
@@ -50,11 +55,32 @@ rustPlatform.buildRustPackage rec {
     substituteInPlace data/asusd-user.service \
       --replace /usr/bin/asusd-user $out/bin/asusd-user \
       --replace /usr/bin/sleep ${coreutils}/bin/sleep
+
+    substituteInPlace Makefile \
+      --replace /usr/bin/grep ${lib.getExe gnugrep}
   '';
 
-  nativeBuildInputs = [ pkg-config cmake rustPlatform.bindgenHook ];
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    fontconfig
+    libGL
+    libinput
+    libxkbcommon
+    mesa
+    seatd
+    systemd
+    wayland
+  ];
 
-  buildInputs = [ systemd fontconfig gtk3 ];
+  # force linking to all the dlopen()ed dependencies
+  RUSTFLAGS = map (a: "-C link-arg=${a}") [
+    "-Wl,--push-state,--no-as-needed"
+    "-lEGL"
+    "-lfontconfig"
+    "-lwayland-client"
+    "-Wl,--pop-state"
+  ];
 
   # upstream has minimal tests, so don't rebuild twice
   doCheck = false;
@@ -63,10 +89,6 @@ rustPlatform.buildRustPackage rec {
     make prefix=$out install-data
   '';
 
-  postFixup = ''
-    patchelf --add-rpath "${libappindicator}/lib:${libGL}/lib" "$out/bin/rog-control-center"
-  '';
-
   meta = with lib; {
     description = "A control daemon, CLI tools, and a collection of crates for interacting with ASUS ROG laptops";
     homepage = "https://gitlab.com/asus-linux/asusctl";
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-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/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/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/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/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/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/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/package.nix b/pkgs/by-name/ca/catppuccin-sddm/package.nix
new file mode 100644
index 0000000000000..1daab09ae646d
--- /dev/null
+++ b/pkgs/by-name/ca/catppuccin-sddm/package.nix
@@ -0,0 +1,80 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchFromGitHub,
+  just,
+  kdePackages,
+  flavor ? "mocha",
+  font ? "Noto Sans",
+  fontSize ? "9",
+  background ? null,
+  loginBackground ? false,
+}:
+stdenvNoCC.mkDerivation rec {
+  pname = "catppuccin-sddm";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "catppuccin";
+    repo = "sddm";
+    rev = "v${version}";
+    hash = "sha256-SdpkuonPLgCgajW99AzJaR8uvdCPi4MdIxS5eB+Q9WQ=";
+  };
+
+  dontWrapQtApps = true;
+
+  nativeBuildInputs = [
+    just
+  ];
+
+  propagatedBuildInputs = [
+    kdePackages.qtsvg
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    just build
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/share/sddm/themes/"
+    cp -r dist/catppuccin-${flavor} "$out/share/sddm/themes/catppuccin-${flavor}"
+
+    configFile=$out/share/sddm/themes/catppuccin-${flavor}/theme.conf
+
+    substituteInPlace $configFile \
+      --replace-fail 'Font="Noto Sans"' 'Font="${font}"' \
+      --replace-fail 'FontSize=9' 'FontSize=${fontSize}'
+
+    ${lib.optionalString (background != null) ''
+      substituteInPlace $configFile \
+        --replace-fail 'Background="backgrounds/wall.jpg"' 'Background="${background}"' \
+        --replace-fail 'CustomBackground="false"' 'CustomBackground="true"'
+    ''}
+
+    ${lib.optionalString loginBackground ''
+      substituteInPlace $configFile \
+        --replace-fail 'LoginBackground="false"' 'LoginBackground="true"'
+    ''}
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    mkdir -p $out/nix-support
+    echo ${kdePackages.qtsvg} >> $out/nix-support/propagated-user-env-packages
+  '';
+
+  meta = {
+    description = "Soothing pastel theme for SDDM";
+    homepage = "https://github.com/catppuccin/sddm";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [elysasrc];
+    platforms = lib.platforms.linux;
+  };
+}
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/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/fi/files-cli/package.nix b/pkgs/by-name/fi/files-cli/package.nix
index adb9b6694024e..886bf6297c858 100644
--- a/pkgs/by-name/fi/files-cli/package.nix
+++ b/pkgs/by-name/fi/files-cli/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "files-cli";
-  version = "2.13.27";
+  version = "2.13.41";
 
   src = fetchFromGitHub {
     repo = "files-cli";
     owner = "files-com";
     rev = "v${version}";
-    hash = "sha256-UbABURsoQkTwYvQqR7Eg8ti56JQKnIcAm78Tmu+W+ls=";
+    hash = "sha256-WW6E0K3HOi8gtBwcmN9syV4wM73BPGyXbv3t4ZJjoIc=";
   };
 
-  vendorHash = "sha256-8xiIMl4eAFMvMsN5Y+ruw04BtdA+mrCnqxsoekyr4Bo=";
+  vendorHash = "sha256-LdebAbdbiUX0xw1EJKCzK1jdt5+FgoZQBPI0apZkcsc=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/fo/forbidden/package.nix b/pkgs/by-name/fo/forbidden/package.nix
index adbd83ada4b08..a3f57a4a05ddc 100644
--- a/pkgs/by-name/fo/forbidden/package.nix
+++ b/pkgs/by-name/fo/forbidden/package.nix
@@ -5,23 +5,17 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "forbidden";
-  version = "10.8";
+  version = "10.9";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ivan-sincek";
     repo = "forbidden";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jitmgN+We6m5CTgRc1NYwZkg5GYvD6ZlJ8FKtTa+rAY=";
+    hash = "sha256-LggF9giKKKO2F65zS0lPCshaDauy+s6YyRGr3BL0tJU=";
   };
 
-  pythonRemoveDeps = [
-    # https://github.com/ivan-sincek/forbidden/pull/3
-    "argparse"
-  ];
-
   build-system = with python3.pkgs; [
-    pythonRelaxDepsHook
     setuptools
   ];
 
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..cd54b841d2881
--- /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.3.0";
+
+  src = fetchFromGitHub {
+    owner = "glanceapp";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-37nQEpJxioELNFJxacOUWOxGMFm80UtaYLDCxsoXRe8=";
+  };
+
+  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/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/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/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/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/lo/local-ai/package.nix b/pkgs/by-name/lo/local-ai/package.nix
index c40cb70cee02f..5d582f3604a65 100644
--- a/pkgs/by-name/lo/local-ai/package.nix
+++ b/pkgs/by-name/lo/local-ai/package.nix
@@ -3,7 +3,6 @@
 , stdenv
 , lib
 , addDriverRunpath
-, fetchpatch
 , fetchFromGitHub
 , protobuf
 , protoc-gen-go
@@ -100,8 +99,8 @@ let
     src = fetchFromGitHub {
       owner = "ggerganov";
       repo = "llama.cpp";
-      rev = "6ecf3189e00a1e8e737a78b6d10e1d7006e050a2";
-      hash = "sha256-JS287UdCzj6Es134cbhr8y/AoejMEux0w++/pZ5NejY=";
+      rev = "c12452c7aec8a02264afc00196a13caa591a13ac";
+      hash = "sha256-Kji8dlz7OfhPeNXnYgBHzpGGMhCsRLJ9d+EFf77Q6Co=";
       fetchSubmodules = true;
     };
     postPatch = prev.postPatch + ''
@@ -254,8 +253,8 @@ let
     src = fetchFromGitHub {
       owner = "ggerganov";
       repo = "whisper.cpp";
-      rev = "8fac6455ffeb0a0950a84e790ddb74f7290d33c4";
-      hash = "sha256-Dez/Q2vMvSmscS+BJwkgZ4QG+ebM/N8s1Okd5my0CWI=";
+      rev = "73d13ad19a8c9c4da4f405088a85169b1a171e66";
+      hash = "sha256-7g/J3a3behGgcJXy9ryAYXxgOYnsRMlGmux13re28AY=";
     };
 
     nativeBuildInputs = [ cmake pkg-config ]
@@ -373,18 +372,18 @@ let
       stdenv;
 
   pname = "local-ai";
-  version = "2.14.0";
+  version = "2.15.0";
   src = fetchFromGitHub {
     owner = "go-skynet";
     repo = "LocalAI";
     rev = "v${version}";
-    hash = "sha256-wr7sTMjGofGiZZbRJ+RfgXx9TM9Adu2NBAXeB3P5Ep0=";
+    hash = "sha256-AjNgfZjVxlw0LtPbUTbJuLcUfqJdPzn6vOmUDz/v7Jc=";
   };
 
   self = buildGoModule.override { stdenv = effectiveStdenv; } {
     inherit pname version src;
 
-    vendorHash = "sha256-nWNK2YekQnBSLx4ouNSe6esIe0yFuo69E0HStYLQANg=";
+    vendorHash = "sha256-+ZPZkOpaTsKrL2HDOEtAr8sT6uqTiQXo/XS+MBNZq5E=";
 
     env.NIX_CFLAGS_COMPILE = lib.optionalString with_stablediffusion " -isystem ${opencv}/include/opencv4";
 
@@ -404,11 +403,13 @@ let
           -e 's;git clone.*go-tiny-dream$;${cp} ${if with_tinydream then go-tiny-dream else go-tiny-dream.src} sources/go-tiny-dream;' \
           -e 's, && git checkout.*,,g' \
           -e '/mod download/ d' \
+          -e '/^ALL_GRPC_BACKENDS+=backend-assets\/grpc\/llama-cpp-/ d' \
+      '';
 
-        ${cp} ${llama-cpp-grpc}/bin/*grpc-server backend/cpp/llama/grpc-server
-        echo "grpc-server:" > backend/cpp/llama/Makefile
-      ''
-    ;
+    postConfigure = ''
+      mkdir -p backend-assets/grpc
+      cp ${llama-cpp-grpc}/bin/*grpc-server backend-assets/grpc/llama-cpp
+    '';
 
     buildInputs = [ ]
       ++ lib.optionals with_cublas [ libcublas ]
diff --git a/pkgs/by-name/lo/local-ai/tests.nix b/pkgs/by-name/lo/local-ai/tests.nix
index 10895bce65712..5740362f24efd 100644
--- a/pkgs/by-name/lo/local-ai/tests.nix
+++ b/pkgs/by-name/lo/local-ai/tests.nix
@@ -28,7 +28,7 @@ in
     command = "local-ai --help";
   };
 
-  health = testers.runNixOSTest ({ config, ... }: {
+  health = testers.runNixOSTest {
     name = self.name + "-health";
     nodes.machine = common-config;
     testScript =
@@ -40,10 +40,9 @@ in
         machine.succeed("curl -f http://localhost:${port}/readyz")
 
         machine.succeed("${prom2json}/bin/prom2json http://localhost:${port}/metrics > metrics.json")
-
         machine.copy_from_vm("metrics.json")
       '';
-  });
+  };
 
   # https://localai.io/features/embeddings/#bert-embeddings
   bert =
@@ -84,11 +83,12 @@ in
           machine.succeed("curl -f http://localhost:${port}/readyz")
           machine.succeed("curl -f http://localhost:${port}/v1/models --output models.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .data[].id == \"${model}\"' models.json")
+
           machine.succeed("curl -f http://localhost:${port}/embeddings --json @${writers.writeJSON "request.json" requests.request} --output embeddings.json")
+          machine.copy_from_vm("embeddings.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .model == \"${model}\"' embeddings.json")
 
           machine.succeed("${prom2json}/bin/prom2json http://localhost:${port}/metrics > metrics.json")
-
           machine.copy_from_vm("metrics.json")
         '';
     };
@@ -183,19 +183,21 @@ in
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .data[].id == \"${model}\"' models.json")
 
           machine.succeed("curl -f http://localhost:${port}/v1/chat/completions --json @${writers.writeJSON "request-chat-completions.json" requests.chat-completions} --output chat-completions.json")
+          machine.copy_from_vm("chat-completions.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .object == \"chat.completion\"' chat-completions.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .choices | first.message.content | tonumber == 3' chat-completions.json")
 
           machine.succeed("curl -f http://localhost:${port}/v1/edits --json @${writers.writeJSON "request-edit-completions.json" requests.edit-completions} --output edit-completions.json")
+          machine.copy_from_vm("edit-completions.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .object == \"edit\"' edit-completions.json")
           machine.succeed("${jq}/bin/jq --exit-status '.usage.completion_tokens | debug == ${toString requests.edit-completions.max_tokens}' edit-completions.json")
 
           machine.succeed("curl -f http://localhost:${port}/v1/completions --json @${writers.writeJSON "request-completions.json" requests.completions} --output completions.json")
+          machine.copy_from_vm("completions.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .object ==\"text_completion\"' completions.json")
           machine.succeed("${jq}/bin/jq --exit-status '.usage.completion_tokens | debug == ${toString model-configs.${model}.parameters.max_tokens}' completions.json")
 
           machine.succeed("${prom2json}/bin/prom2json http://localhost:${port}/metrics > metrics.json")
-
           machine.copy_from_vm("metrics.json")
         '';
     };
@@ -257,12 +259,15 @@ in
           machine.succeed("curl -f http://localhost:${port}/readyz")
           machine.succeed("curl -f http://localhost:${port}/v1/models --output models.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug' models.json")
+
           machine.succeed("curl -f http://localhost:${port}/tts --json @${writers.writeJSON "request.json" requests.request} --output out.wav")
+          machine.copy_from_vm("out.wav")
+
           machine.succeed("curl -f http://localhost:${port}/v1/audio/transcriptions --header 'Content-Type: multipart/form-data' --form file=@out.wav --form model=${model-stt} --output transcription.json")
+          machine.copy_from_vm("transcription.json")
           machine.succeed("${jq}/bin/jq --exit-status 'debug | .segments | first.text == \"${requests.request.input}\"' transcription.json")
 
           machine.succeed("${prom2json}/bin/prom2json http://localhost:${port}/metrics > metrics.json")
-
           machine.copy_from_vm("metrics.json")
         '';
     };
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/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/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/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/by-name/ne/neothesia/Cargo.lock b/pkgs/by-name/ne/neothesia/Cargo.lock
new file mode 100644
index 0000000000000..775eacbe57d15
--- /dev/null
+++ b/pkgs/by-name/ne/neothesia/Cargo.lock
@@ -0,0 +1,4672 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ab_glyph"
+version = "0.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
+dependencies = [
+ "ab_glyph_rasterizer",
+ "owned_ttf_parser",
+]
+
+[[package]]
+name = "ab_glyph_rasterizer"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046"
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+dependencies = [
+ "cfg-if",
+ "getrandom",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+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 = "e2562ad8dcf0f789f65c6fdaad8a8a9708ed6b488e649da28c01656ad66b8b47"
+dependencies = [
+ "alsa-sys",
+ "bitflags 1.3.2",
+ "libc",
+ "nix 0.24.3",
+]
+
+[[package]]
+name = "alsa-sys"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527"
+dependencies = [
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
+name = "android-activity"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289"
+dependencies = [
+ "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]]
+name = "approx"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "arrayref"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "as-raw-xcb-connection"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
+
+[[package]]
+name = "ash"
+version = "0.37.3+1.3.251"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a"
+dependencies = [
+ "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.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
+dependencies = [
+ "event-listener 5.1.0",
+ "event-listener-strategy 0.5.0",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-channel"
+version = "2.2.0"
+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",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-executor"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
+dependencies = [
+ "async-lock 3.3.0",
+ "async-task",
+ "concurrent-queue",
+ "fastrand",
+ "futures-lite",
+ "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 = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
+dependencies = [
+ "async-lock 3.3.0",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite",
+ "parking",
+ "polling",
+ "rustix",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "async-lock"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
+dependencies = [
+ "event-listener 2.5.3",
+]
+
+[[package]]
+name = "async-lock"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+dependencies = [
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-net"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
+dependencies = [
+ "async-io",
+ "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 = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "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.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 = "3f8127d0634ad2b788f12e8c8623f91c584c2eb7496157b2e0cada5b01e0fbfd"
+dependencies = [
+ "futures-channel",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "atomic-waker"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
+dependencies = [
+ "bit-vec",
+]
+
+[[package]]
+name = "bit-vec"
+version = "0.6.3"
+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"
+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 = "block-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
+dependencies = [
+ "objc-sys",
+]
+
+[[package]]
+name = "block2"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68"
+dependencies = [
+ "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.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "byte-slice-cast"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c"
+
+[[package]]
+name = "bytemuck"
+version = "1.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea31d69bda4949c1c1562c1e6f042a1caefac98cdc8a298260a2ff41c1e2d42b"
+dependencies = [
+ "bytemuck_derive",
+]
+
+[[package]]
+name = "bytemuck_derive"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[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"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "calloop"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
+dependencies = [
+ "bitflags 2.4.2",
+ "log",
+ "polling",
+ "rustix",
+ "slab",
+ "thiserror",
+]
+
+[[package]]
+name = "calloop-wayland-source"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
+dependencies = [
+ "calloop",
+ "rustix",
+ "wayland-backend",
+ "wayland-client",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "jobserver",
+ "libc",
+]
+
+[[package]]
+name = "cesu8"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+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"
+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 = "cfg_aliases"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f"
+
+[[package]]
+name = "clang-sys"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading 0.8.1",
+]
+
+[[package]]
+name = "cocoa"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
+dependencies = [
+ "bitflags 1.3.2",
+ "block",
+ "cocoa-foundation",
+ "core-foundation",
+ "core-graphics",
+ "foreign-types",
+ "libc",
+ "objc",
+]
+
+[[package]]
+name = "cocoa-foundation"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
+dependencies = [
+ "bitflags 1.3.2",
+ "block",
+ "core-foundation",
+ "core-graphics-types",
+ "libc",
+ "objc",
+]
+
+[[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "color_quant"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+[[package]]
+name = "com"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6"
+dependencies = [
+ "com_macros",
+]
+
+[[package]]
+name = "com_macros"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5"
+dependencies = [
+ "com_macros_support",
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "com_macros_support"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "combine"
+version = "4.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+dependencies = [
+ "bytes",
+ "memchr",
+]
+
+[[package]]
+name = "concurrent-queue"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "core-graphics"
+version = "0.23.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-graphics-types",
+ "foreign-types",
+ "libc",
+]
+
+[[package]]
+name = "core-graphics-types"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "libc",
+]
+
+[[package]]
+name = "coreaudio-rs"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation-sys",
+ "coreaudio-sys",
+]
+
+[[package]]
+name = "coreaudio-sys"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9"
+dependencies = [
+ "bindgen 0.69.4",
+]
+
+[[package]]
+name = "coremidi"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a7847ca018a67204508b77cb9e6de670125075f7464fff5f673023378fa34f5"
+dependencies = [
+ "core-foundation",
+ "core-foundation-sys",
+ "coremidi-sys",
+]
+
+[[package]]
+name = "coremidi-sys"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79a6deed0c97b2d40abbab77e4c97f81d71e162600423382c277dd640019116c"
+dependencies = [
+ "core-foundation-sys",
+]
+
+[[package]]
+name = "cosmic-text"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75acbfb314aeb4f5210d379af45ed1ec2c98c7f1790bf57b8a4c562ac0c51b71"
+dependencies = [
+ "fontdb",
+ "libm",
+ "log",
+ "rangemap",
+ "rustc-hash",
+ "rustybuzz",
+ "self_cell",
+ "swash",
+ "sys-locale",
+ "unicode-bidi",
+ "unicode-linebreak",
+ "unicode-script",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "cpal"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d959d90e938c5493000514b446987c07aed46c668faaa7d34d6c7a67b1a578c"
+dependencies = [
+ "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 = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+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 = "ctor"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
+dependencies = [
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "cursor-icon"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+
+[[package]]
+name = "d3d12"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307"
+dependencies = [
+ "bitflags 2.4.2",
+ "libloading 0.8.1",
+ "winapi",
+]
+
+[[package]]
+name = "dasp_sample"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f"
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[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 = "dispatch"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
+
+[[package]]
+name = "dlib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
+dependencies = [
+ "libloading 0.8.1",
+]
+
+[[package]]
+name = "doc-comment"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
+
+[[package]]
+name = "downcast-rs"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
+
+[[package]]
+name = "drm"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde"
+dependencies = [
+ "bitflags 2.4.2",
+ "bytemuck",
+ "drm-ffi",
+ "drm-fourcc",
+ "rustix",
+]
+
+[[package]]
+name = "drm-ffi"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
+dependencies = [
+ "drm-sys",
+ "rustix",
+]
+
+[[package]]
+name = "drm-fourcc"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
+
+[[package]]
+name = "drm-sys"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176"
+dependencies = [
+ "libc",
+ "linux-raw-sys 0.6.4",
+]
+
+[[package]]
+name = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[package]]
+name = "embed-resource"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bde55e389bea6a966bd467ad1ad7da0ae14546a5bc794d16d1e55e7fca44881"
+dependencies = [
+ "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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
+dependencies = [
+ "enumflags2_derive",
+ "serde",
+]
+
+[[package]]
+name = "enumflags2_derive"
+version = "0.7.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+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 = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "event-listener"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+
+[[package]]
+name = "event-listener"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+dependencies = [
+ "event-listener 5.1.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "exr"
+version = "1.72.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
+dependencies = [
+ "bit_field",
+ "flume",
+ "half",
+ "lebe",
+ "miniz_oxide",
+ "rayon-core",
+ "smallvec",
+ "zune-inflate",
+]
+
+[[package]]
+name = "fast-srgb8"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1"
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "fdeflate"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "ffmpeg-sys-next"
+version = "6.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2529ad916d08c3562c754c21bc9b17a26c7882c0f5706cc2cd69472175f1620"
+dependencies = [
+ "bindgen 0.64.0",
+ "cc",
+ "libc",
+ "num_cpus",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fluidlite"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c0265cc6e1b01b9418d29acc5b48c57b21775b5de59264f1afe13d9b529a401"
+dependencies = [
+ "bitflags 1.3.2",
+ "doc-comment",
+ "fluidlite-sys",
+]
+
+[[package]]
+name = "fluidlite-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f8574ea7d1f3d03d9713f9983c5c2f128abda23a99603f6af86bbecb2a03809"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "flume"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
+dependencies = [
+ "spin",
+]
+
+[[package]]
+name = "font-types"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bd7f3ea17572640b606b35df42cfb6ecdf003704b062580e59918692190b73d"
+
+[[package]]
+name = "fontconfig-parser"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d"
+dependencies = [
+ "roxmltree",
+]
+
+[[package]]
+name = "fontdb"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "020e203f177c0fb250fb19455a252e838d2bbbce1f80f25ecc42402aafa8cd38"
+dependencies = [
+ "fontconfig-parser",
+ "log",
+ "memmap2 0.8.0",
+ "slotmap",
+ "tinyvec",
+ "ttf-parser 0.19.2",
+]
+
+[[package]]
+name = "foreign-types"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+dependencies = [
+ "foreign-types-macros",
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-macros"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fps_ticker"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe164905ff69757d4bdc4c61d7df2930e47e2f5b4a132895a8f995990b2b9219"
+
+[[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",
+ "num_cpus",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-lite"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
+dependencies = [
+ "fastrand",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[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.48",
+]
+
+[[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 = "generational-arena"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877e94aff08e743b651baaea359664321055749b398adff8740a7399af7796e7"
+dependencies = [
+ "cfg-if",
+]
+
+[[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.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
+dependencies = [
+ "libc",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gif"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
+
+[[package]]
+name = "gl_generator"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d"
+dependencies = [
+ "khronos_api",
+ "log",
+ "xml-rs",
+]
+
+[[package]]
+name = "glam"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "glow"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
+dependencies = [
+ "js-sys",
+ "slotmap",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "glutin_wgl_sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead"
+dependencies = [
+ "gl_generator",
+]
+
+[[package]]
+name = "glyphon"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a62d0338e4056db6a73221c2fb2e30619452f6ea9651bac4110f51b0f7a7581"
+dependencies = [
+ "cosmic-text",
+ "etagere",
+ "lru",
+ "wgpu",
+]
+
+[[package]]
+name = "gpu-alloc"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
+dependencies = [
+ "bitflags 2.4.2",
+ "gpu-alloc-types",
+]
+
+[[package]]
+name = "gpu-alloc-types"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
+dependencies = [
+ "bitflags 2.4.2",
+]
+
+[[package]]
+name = "gpu-allocator"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884"
+dependencies = [
+ "log",
+ "presser",
+ "thiserror",
+ "winapi",
+ "windows 0.52.0",
+]
+
+[[package]]
+name = "gpu-descriptor"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
+dependencies = [
+ "bitflags 2.4.2",
+ "gpu-descriptor-types",
+ "hashbrown",
+]
+
+[[package]]
+name = "gpu-descriptor-types"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c"
+dependencies = [
+ "bitflags 2.4.2",
+]
+
+[[package]]
+name = "guillotiere"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782"
+dependencies = [
+ "euclid",
+ "svg_fmt",
+]
+
+[[package]]
+name = "half"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+]
+
+[[package]]
+name = "hassle-rs"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890"
+dependencies = [
+ "bitflags 2.4.2",
+ "com",
+ "libc",
+ "libloading 0.8.1",
+ "thiserror",
+ "widestring",
+ "winapi",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hexf-parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "iced_core"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55f9226618af7e8155fc8a233e4d84dc1ec44438705f972e35d5d50e62f937df"
+dependencies = [
+ "bitflags 2.4.2",
+ "glam",
+ "log",
+ "num-traits",
+ "palette",
+ "raw-window-handle 0.6.0",
+ "smol_str",
+ "thiserror",
+ "web-time",
+ "xxhash-rust",
+]
+
+[[package]]
+name = "iced_futures"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "370bad88fb3832cbeeb3fa6c486b4701fb7e8da32a753b3101d4ce81fc1d9497"
+dependencies = [
+ "futures",
+ "iced_core",
+ "log",
+ "wasm-bindgen-futures",
+ "wasm-timer",
+]
+
+[[package]]
+name = "iced_graphics"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0660df444c64a13f72999c55a324f6d3ea020167bb1af8ef43fe2bff168d8c27"
+dependencies = [
+ "bitflags 2.4.2",
+ "bytemuck",
+ "cosmic-text",
+ "half",
+ "iced_core",
+ "iced_futures",
+ "image",
+ "kamadak-exif",
+ "log",
+ "once_cell",
+ "raw-window-handle 0.6.0",
+ "rustc-hash",
+ "thiserror",
+ "unicode-segmentation",
+ "xxhash-rust",
+]
+
+[[package]]
+name = "iced_renderer"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59d931249515deb5fe116c7d199792cd9fd32d31bf18ffc08c6c2ad2dee5fd3e"
+dependencies = [
+ "iced_graphics",
+ "iced_tiny_skia",
+ "iced_wgpu",
+ "log",
+ "thiserror",
+]
+
+[[package]]
+name = "iced_runtime"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "618a845cd752ca195f0805b7a4f0be42c071a4fdef0b88df047006572d219a5a"
+dependencies = [
+ "iced_core",
+ "iced_futures",
+ "raw-window-handle 0.6.0",
+ "thiserror",
+]
+
+[[package]]
+name = "iced_style"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb6b3992bceeac1393ce0e83d06ab786be4c17c6a0004eefbdd4f6d89d5e8058"
+dependencies = [
+ "iced_core",
+ "once_cell",
+ "palette",
+]
+
+[[package]]
+name = "iced_tiny_skia"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e079a4ae34df06894500e486b20bae8d8f2806fd64efe4fa9abe329e7f585f21"
+dependencies = [
+ "bytemuck",
+ "cosmic-text",
+ "iced_graphics",
+ "kurbo",
+ "log",
+ "rustc-hash",
+ "softbuffer",
+ "tiny-skia",
+ "xxhash-rust",
+]
+
+[[package]]
+name = "iced_wgpu"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa5d3ce370c7044ddc9535c8f87057f1008434a495be6b9f46b2666c3e9638f7"
+dependencies = [
+ "bitflags 2.4.2",
+ "bytemuck",
+ "futures",
+ "glam",
+ "glyphon",
+ "guillotiere",
+ "iced_graphics",
+ "log",
+ "once_cell",
+ "wgpu",
+]
+
+[[package]]
+name = "iced_widget"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99f30ebbcc0706c19a92f01669193271d82bb209fda83576392d04cef3214ca2"
+dependencies = [
+ "iced_renderer",
+ "iced_runtime",
+ "iced_style",
+ "num-traits",
+ "thiserror",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "icrate"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319"
+dependencies = [
+ "block2",
+ "dispatch",
+ "objc2",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "image"
+version = "0.24.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "exr",
+ "gif",
+ "jpeg-decoder",
+ "num-traits",
+ "png",
+ "qoi",
+ "tiff",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
+dependencies = [
+ "hermit-abi",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "jni"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec"
+dependencies = [
+ "cesu8",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
+]
+
+[[package]]
+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 = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+dependencies = [
+ "cesu8",
+ "cfg-if",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "jni-sys"
+version = "0.3.0"
+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.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
+dependencies = [
+ "rayon",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "kamadak-exif"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef4fc70d0ab7e5b6bafa30216a6b48705ea964cdfc29c050f2412295eba58077"
+dependencies = [
+ "mutate_once",
+]
+
+[[package]]
+name = "khronos-egl"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76"
+dependencies = [
+ "libc",
+ "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.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1618d4ebd923e97d67e7cd363d80aef35fe961005cbbbb3d2dad8bdd1bc63440"
+dependencies = [
+ "arrayvec",
+ "smallvec",
+]
+
+[[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.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.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libloading"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+dependencies = [
+ "cfg-if",
+ "winapi",
+]
+
+[[package]]
+name = "libloading"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+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 = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
+dependencies = [
+ "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.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "lru"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22"
+dependencies = [
+ "hashbrown",
+]
+
+[[package]]
+name = "mach2"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "malloc_buf"
+version = "0.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memmap2"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memmap2"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "metal"
+version = "0.27.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
+dependencies = [
+ "bitflags 2.4.2",
+ "block",
+ "core-graphics-types",
+ "foreign-types",
+ "log",
+ "objc",
+ "paste",
+]
+
+[[package]]
+name = "midi-file"
+version = "0.1.0"
+dependencies = [
+ "midi-io",
+ "midly",
+]
+
+[[package]]
+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 = "a456444d83e7ead06ae6a5c0a215ed70282947ff3897fb45fcb052b757284731"
+dependencies = [
+ "alsa",
+ "bitflags 1.3.2",
+ "coremidi",
+ "js-sys",
+ "libc",
+ "wasm-bindgen",
+ "web-sys",
+ "windows 0.43.0",
+]
+
+[[package]]
+name = "midly"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "207d755f4cb882d20c4da58d707ca9130a0c9bc5061f657a4f299b8e36362b7a"
+dependencies = [
+ "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.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+dependencies = [
+ "adler",
+ "simd-adler32",
+]
+
+[[package]]
+name = "mpeg_encoder"
+version = "0.2.1"
+source = "git+https://github.com/PolyMeilex/mpeg_encoder_next.git#577efd933e4b556526df773f267dd0fb066f724c"
+dependencies = [
+ "ffmpeg-sys-next",
+]
+
+[[package]]
+name = "mutate_once"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b"
+
+[[package]]
+name = "naga"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8878eb410fc90853da3908aebfe61d73d26d4437ef850b70050461f939509899"
+dependencies = [
+ "bit-set",
+ "bitflags 2.4.2",
+ "codespan-reporting",
+ "hexf-parse",
+ "indexmap",
+ "log",
+ "num-traits",
+ "rustc-hash",
+ "spirv",
+ "termcolor",
+ "thiserror",
+ "unicode-xid",
+]
+
+[[package]]
+name = "ndk"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
+dependencies = [
+ "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.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
+dependencies = [
+ "bitflags 2.4.2",
+ "jni-sys",
+ "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",
+]
+
+[[package]]
+name = "ndk-context"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
+
+[[package]]
+name = "ndk-sys"
+version = "0.4.1+23.1.7779620"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3"
+dependencies = [
+ "jni-sys",
+]
+
+[[package]]
+name = "ndk-sys"
+version = "0.5.0+25.2.9519653"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
+dependencies = [
+ "jni-sys",
+]
+
+[[package]]
+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 = "neothesia-cli"
+version = "0.1.0"
+dependencies = [
+ "env_logger",
+ "futures",
+ "midi-file",
+ "mpeg_encoder",
+ "neothesia-core",
+ "piano-math",
+ "wgpu-jumpstart",
+]
+
+[[package]]
+name = "neothesia-core"
+version = "0.1.0"
+dependencies = [
+ "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.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
+dependencies = [
+ "bitflags 1.3.2",
+ "cfg-if",
+ "libc",
+]
+
+[[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "libc",
+ "memoffset",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+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 = "num_enum"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+dependencies = [
+ "num_enum_derive 0.5.11",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
+dependencies = [
+ "num_enum_derive 0.7.2",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
+dependencies = [
+ "proc-macro-crate 1.3.1",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
+dependencies = [
+ "proc-macro-crate 3.1.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "objc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+dependencies = [
+ "malloc_buf",
+ "objc_exception",
+]
+
+[[package]]
+name = "objc-foundation"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
+dependencies = [
+ "block",
+ "objc",
+ "objc_id",
+]
+
+[[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"
+checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "objc_id"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
+dependencies = [
+ "objc",
+]
+
+[[package]]
+name = "oboe"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0"
+dependencies = [
+ "jni 0.20.0",
+ "ndk 0.7.0",
+ "ndk-context",
+ "num-derive 0.3.3",
+ "num-traits",
+ "oboe-sys",
+]
+
+[[package]]
+name = "oboe-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f44155e7fb718d3cfddcf70690b2b51ac4412f347cd9e4fbe511abe9cd7b5f2"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "orbclient"
+version = "0.3.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166"
+dependencies = [
+ "libredox",
+]
+
+[[package]]
+name = "ordered-stream"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "owned_ttf_parser"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7"
+dependencies = [
+ "ttf-parser 0.20.0",
+]
+
+[[package]]
+name = "oxisynth"
+version = "0.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ac4177ce94a34c3bcfa9e39f8338c8170918faa560d00dd923d984331a749e4"
+dependencies = [
+ "bitflags 2.4.2",
+ "byte-slice-cast",
+ "byteorder",
+ "generational-arena",
+ "lazy_static",
+ "log",
+ "num-derive 0.4.2",
+ "num-traits",
+ "soundfont",
+ "thiserror",
+]
+
+[[package]]
+name = "palette"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d38e6e5ca1612e2081cc31188f08c3cba630ce4ba44709a153f1a0f38d678f2"
+dependencies = [
+ "approx",
+ "fast-srgb8",
+ "palette_derive",
+ "phf",
+]
+
+[[package]]
+name = "palette_derive"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e05d1c929301fee6830dafa764341118829b2535c216b0571e3821ecac5c885b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "parking"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+
+[[package]]
+name = "parking_lot"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+dependencies = [
+ "instant",
+ "lock_api",
+ "parking_lot_core 0.8.6",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core 0.9.9",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
+dependencies = [
+ "cfg-if",
+ "instant",
+ "libc",
+ "redox_syscall 0.2.16",
+ "smallvec",
+ "winapi",
+]
+
+[[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 0.4.1",
+ "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 = "peeking_take_while"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_macros",
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared",
+ "rand",
+]
+
+[[package]]
+name = "phf_macros"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "piano-math"
+version = "0.1.0"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "piper"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+dependencies = [
+ "atomic-waker",
+ "fastrand",
+ "futures-io",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+
+[[package]]
+name = "png"
+version = "0.17.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "polling"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+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.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "presser"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa"
+
+[[package]]
+name = "proc-macro-crate"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+dependencies = [
+ "once_cell",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit 0.21.1",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "profiling"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f0f7f43585c34e4fdd7497d746bc32e14458cf11c69341cc0587b1d825dde42"
+
+[[package]]
+name = "qoi"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
+dependencies = [
+ "bytemuck",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "range-alloc"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab"
+
+[[package]]
+name = "rangemap"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "977b1e897f9d764566891689e642653e5ed90c6895106acd005eb4c1d0203991"
+
+[[package]]
+name = "raw-window-handle"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
+
+[[package]]
+name = "raw-window-handle"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
+
+[[package]]
+name = "rayon"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "read-fonts"
+version = "0.15.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1362980db95801b70031dd592dc052a44b1810ca9da8fbcf7b25983f3174ed0"
+dependencies = [
+ "font-types",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "renderdoc-sys"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b"
+
+[[package]]
+name = "rfd"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "373d2fc6310e2d14943d4e66ebed5b774a2b6b3b1610e7377edf124fb2760d6b"
+dependencies = [
+ "ashpd",
+ "block",
+ "dispatch",
+ "js-sys",
+ "log",
+ "objc",
+ "objc-foundation",
+ "objc_id",
+ "pollster",
+ "raw-window-handle 0.6.0",
+ "urlencoding",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "riff"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9b1a3d5f46d53f4a3478e2be4a5a5ce5108ea58b100dcd139830eae7f79a3a1"
+
+[[package]]
+name = "ron"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
+dependencies = [
+ "base64",
+ "bitflags 2.4.2",
+ "serde",
+ "serde_derive",
+]
+
+[[package]]
+name = "roxmltree"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.13",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustybuzz"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ee8fe2a8461a0854a37101fe7a1b13998d0cfa987e43248e81d2a5f4570f6fa"
+dependencies = [
+ "bitflags 1.3.2",
+ "bytemuck",
+ "libm",
+ "smallvec",
+ "ttf-parser 0.20.0",
+ "unicode-bidi-mirroring",
+ "unicode-ccc",
+ "unicode-properties",
+ "unicode-script",
+]
+
+[[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "scoped-tls"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "sctk-adwaita"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550"
+dependencies = [
+ "ab_glyph",
+ "log",
+ "memmap2 0.9.4",
+ "smithay-client-toolkit",
+ "tiny-skia",
+]
+
+[[package]]
+name = "self_cell"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
+
+[[package]]
+name = "semver"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
+
+[[package]]
+name = "serde"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[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.48",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[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 = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[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 = "simd-adler32"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "slotmap"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "smithay-client-toolkit"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f"
+dependencies = [
+ "bitflags 2.4.2",
+ "calloop",
+ "calloop-wayland-source",
+ "cursor-icon",
+ "libc",
+ "log",
+ "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 = "smol_str"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "softbuffer"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071916a85d1db274b4ed57af3a14afb66bd836ae7f82ebb6f1fd3455107830d9"
+dependencies = [
+ "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 = "soundfont"
+version = "0.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88f3c4ee9be1386dc5d4f33fb1df6f813eb2f49510cb24e8bfd30784f4853fce"
+dependencies = [
+ "riff",
+]
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "spirv"
+version = "0.3.0+sdk-1.3.268.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
+dependencies = [
+ "bitflags 2.4.2",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strict-num"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
+
+[[package]]
+name = "svg_fmt"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2"
+
+[[package]]
+name = "swash"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d06ff4664af8923625604261c645f5c4cc610cc83c84bec74b50d76237089de7"
+dependencies = [
+ "read-fonts",
+ "yazi",
+ "zeno",
+]
+
+[[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.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "sys-locale"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tiff"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
+dependencies = [
+ "flate2",
+ "jpeg-decoder",
+ "weezl",
+]
+
+[[package]]
+name = "tiny-skia"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
+dependencies = [
+ "arrayref",
+ "arrayvec",
+ "bytemuck",
+ "cfg-if",
+ "log",
+ "png",
+ "tiny-skia-path",
+]
+
+[[package]]
+name = "tiny-skia-path"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
+dependencies = [
+ "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]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "toml"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.4",
+]
+
+[[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.19.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "ttf-parser"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1"
+
+[[package]]
+name = "ttf-parser"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "uds_windows"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
+dependencies = [
+ "memoffset",
+ "tempfile",
+ "winapi",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+
+[[package]]
+name = "unicode-bidi-mirroring"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694"
+
+[[package]]
+name = "unicode-ccc"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
+
+[[package]]
+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 = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-properties"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
+
+[[package]]
+name = "unicode-script"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc"
+
+[[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"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+ "serde",
+]
+
+[[package]]
+name = "urlencoding"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "vswhom"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
+dependencies = [
+ "libc",
+ "vswhom-sys",
+]
+
+[[package]]
+name = "vswhom-sys"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.41"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+
+[[package]]
+name = "wasm-timer"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
+dependencies = [
+ "futures",
+ "js-sys",
+ "parking_lot 0.11.2",
+ "pin-utils",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+]
+
+[[package]]
+name = "wayland-backend"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
+dependencies = [
+ "cc",
+ "downcast-rs",
+ "rustix",
+ "scoped-tls",
+ "smallvec",
+ "wayland-sys",
+]
+
+[[package]]
+name = "wayland-client"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
+dependencies = [
+ "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.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba"
+dependencies = [
+ "rustix",
+ "wayland-client",
+ "xcursor",
+]
+
+[[package]]
+name = "wayland-protocols"
+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 = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-scanner"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
+dependencies = [
+ "proc-macro2",
+ "quick-xml",
+ "quote",
+]
+
+[[package]]
+name = "wayland-sys"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
+dependencies = [
+ "dlib",
+ "log",
+ "once_cell",
+ "pkg-config",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "weezl"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
+
+[[package]]
+name = "wgpu"
+version = "0.19.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bfe9a310dcf2e6b85f00c46059aaeaf4184caa8e29a1ecd4b7a704c3482332d"
+dependencies = [
+ "arrayvec",
+ "cfg-if",
+ "cfg_aliases 0.1.1",
+ "js-sys",
+ "log",
+ "naga",
+ "parking_lot 0.12.1",
+ "profiling",
+ "raw-window-handle 0.6.0",
+ "smallvec",
+ "static_assertions",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "wgpu-core",
+ "wgpu-hal",
+ "wgpu-types",
+]
+
+[[package]]
+name = "wgpu-core"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b15e451d4060ada0d99a64df44e4d590213496da7c4f245572d51071e8e30ed"
+dependencies = [
+ "arrayvec",
+ "bit-vec",
+ "bitflags 2.4.2",
+ "cfg_aliases 0.1.1",
+ "codespan-reporting",
+ "indexmap",
+ "log",
+ "naga",
+ "once_cell",
+ "parking_lot 0.12.1",
+ "profiling",
+ "raw-window-handle 0.6.0",
+ "rustc-hash",
+ "smallvec",
+ "thiserror",
+ "web-sys",
+ "wgpu-hal",
+ "wgpu-types",
+]
+
+[[package]]
+name = "wgpu-hal"
+version = "0.19.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bb47856236bfafc0bc591a925eb036ac19cd987624a447ff353e7a7e7e6f72"
+dependencies = [
+ "android_system_properties",
+ "arrayvec",
+ "ash",
+ "bit-set",
+ "bitflags 2.4.2",
+ "block",
+ "cfg_aliases 0.1.1",
+ "core-graphics-types",
+ "d3d12",
+ "glow",
+ "glutin_wgl_sys",
+ "gpu-alloc",
+ "gpu-allocator",
+ "gpu-descriptor",
+ "hassle-rs",
+ "js-sys",
+ "khronos-egl",
+ "libc",
+ "libloading 0.8.1",
+ "log",
+ "metal",
+ "naga",
+ "objc",
+ "once_cell",
+ "parking_lot 0.12.1",
+ "profiling",
+ "range-alloc",
+ "raw-window-handle 0.6.0",
+ "renderdoc-sys",
+ "rustc-hash",
+ "smallvec",
+ "thiserror",
+ "wasm-bindgen",
+ "web-sys",
+ "wgpu-types",
+ "winapi",
+]
+
+[[package]]
+name = "wgpu-jumpstart"
+version = "0.1.0"
+dependencies = [
+ "bytemuck",
+ "log",
+ "raw-window-handle 0.6.0",
+ "wgpu",
+]
+
+[[package]]
+name = "wgpu-types"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "895fcbeb772bfb049eb80b2d6e47f6c9af235284e9703c96fc0218a42ffd5af2"
+dependencies = [
+ "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"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows"
+version = "0.43.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04662ed0e3e5630dfa9b26e4cb823b817f1a9addda855d973a9458c236556244"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
+dependencies = [
+ "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.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 = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[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.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+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.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 = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+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 = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+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.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winit"
+version = "0.29.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf"
+dependencies = [
+ "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",
+ "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.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",
+ "web-time",
+ "windows-sys 0.48.0",
+ "x11-dl",
+ "x11rb",
+ "xkbcommon-dl",
+]
+
+[[package]]
+name = "winnow"
+version = "0.5.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winreg"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "x11-dl"
+version = "2.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
+dependencies = [
+ "libc",
+ "once_cell",
+ "pkg-config",
+]
+
+[[package]]
+name = "x11rb"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
+dependencies = [
+ "as-raw-xcb-connection",
+ "gethostname",
+ "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.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 = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "xkbcommon-dl"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
+dependencies = [
+ "bitflags 2.4.2",
+ "dlib",
+ "log",
+ "once_cell",
+ "xkeysym",
+]
+
+[[package]]
+name = "xkeysym"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
+
+[[package]]
+name = "xml-rs"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
+
+[[package]]
+name = "xxhash-rust"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53be06678ed9e83edb1745eb72efc0bbcd7b5c3c35711a860906aed827a13d61"
+
+[[package]]
+name = "yazi"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1"
+
+[[package]]
+name = "zbus"
+version = "4.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030"
+dependencies = [
+ "async-broadcast",
+ "async-executor",
+ "async-fs",
+ "async-io",
+ "async-lock 3.3.0",
+ "async-process",
+ "async-recursion",
+ "async-task",
+ "async-trait",
+ "blocking",
+ "derivative",
+ "enumflags2",
+ "event-listener 5.1.0",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "hex",
+ "nix 0.27.1",
+ "ordered-stream",
+ "rand",
+ "serde",
+ "serde_repr",
+ "sha1",
+ "static_assertions",
+ "tracing",
+ "uds_windows",
+ "windows-sys 0.52.0",
+ "xdg-home",
+ "zbus_macros",
+ "zbus_names",
+ "zvariant",
+]
+
+[[package]]
+name = "zbus_macros"
+version = "4.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7a3e850ff1e7217a3b7a07eba90d37fe9bb9e89a310f718afcde5885ca9b6d7"
+dependencies = [
+ "proc-macro-crate 1.3.1",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "syn 1.0.109",
+ "zvariant_utils",
+]
+
+[[package]]
+name = "zbus_names"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
+dependencies = [
+ "serde",
+ "static_assertions",
+ "zvariant",
+]
+
+[[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 = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e09e8be97d44eeab994d752f341e67b3b0d80512a8b315a0671d47232ef1b65"
+dependencies = [
+ "endi",
+ "enumflags2",
+ "serde",
+ "static_assertions",
+ "url",
+ "zvariant_derive",
+]
+
+[[package]]
+name = "zvariant_derive"
+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 = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "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/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/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/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/private-gpt/package.nix b/pkgs/by-name/pr/private-gpt/package.nix
new file mode 100644
index 0000000000000..1b717cc2bfb83
--- /dev/null
+++ b/pkgs/by-name/pr/private-gpt/package.nix
@@ -0,0 +1,17 @@
+{ python3Packages
+, makeBinaryWrapper
+}:
+
+python3Packages.toPythonApplication (python3Packages.private-gpt.overrideAttrs (oldAttrs: {
+  nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeBinaryWrapper ];
+
+  passthru.cl100k_base = {
+    inherit (python3Packages.private-gpt.cl100k_base) tiktoken;
+  };
+
+  postInstall = ''
+    makeWrapper ${python3Packages.python.interpreter} $out/bin/private-gpt \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --add-flags "-m private_gpt"
+  '';
+}))
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/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/ti/tinymist/Cargo.lock b/pkgs/by-name/ti/tinymist/Cargo.lock
index b561b67c1088d..d841971169afe 100644
--- a/pkgs/by-name/ti/tinymist/Cargo.lock
+++ b/pkgs/by-name/ti/tinymist/Cargo.lock
@@ -29,6 +29,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
 name = "aho-corasick"
 version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -38,6 +50,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "allocator-api2"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
+
+[[package]]
 name = "android-tzdata"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -122,6 +140,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "arraydeque"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236"
+
+[[package]]
 name = "arrayref"
 version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1468,7 +1492,7 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 dependencies = [
- "ahash",
+ "ahash 0.7.8",
 ]
 
 [[package]]
@@ -1476,6 +1500,19 @@ name = "hashbrown"
 version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash 0.8.11",
+ "allocator-api2",
+]
+
+[[package]]
+name = "hashlink"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
+dependencies = [
+ "hashbrown 0.14.3",
+]
 
 [[package]]
 name = "hayagriva"
@@ -3681,7 +3718,7 @@ dependencies = [
 
 [[package]]
 name = "tests"
-version = "0.11.6"
+version = "0.11.8"
 dependencies = [
  "insta",
  "lsp-server",
@@ -3778,7 +3815,7 @@ dependencies = [
 
 [[package]]
 name = "tinymist"
-version = "0.11.6"
+version = "0.11.8"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3829,9 +3866,10 @@ dependencies = [
 
 [[package]]
 name = "tinymist-query"
-version = "0.11.6"
+version = "0.11.8"
 dependencies = [
  "anyhow",
+ "biblatex",
  "comemo 0.4.0",
  "ecow 0.2.2",
  "ena",
@@ -3854,7 +3892,9 @@ dependencies = [
  "rust_iso639",
  "serde",
  "serde_json",
+ "serde_yaml",
  "sha2",
+ "siphasher 1.0.1",
  "strum 0.26.2",
  "toml 0.8.12",
  "ttf-parser",
@@ -3863,11 +3903,12 @@ dependencies = [
  "typst-ts-core",
  "unscanny",
  "walkdir",
+ "yaml-rust2",
 ]
 
 [[package]]
 name = "tinymist-render"
-version = "0.11.6"
+version = "0.11.8"
 dependencies = [
  "base64 0.22.0",
  "log",
@@ -4131,7 +4172,7 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 [[package]]
 name = "typst"
 version = "0.11.0"
-source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0#88608109579929b0c1fbab12d7a2afaea0baaf74"
+source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0-2#6f1cdbb625fd16ad2f26466f4d72818ac24b83d9"
 dependencies = [
  "az",
  "bitflags 2.5.0",
@@ -4198,7 +4239,7 @@ checksum = "f13f85360328da54847dd7fefaf272dfa5b6d1fdeb53f32938924c39bf5b2c6c"
 [[package]]
 name = "typst-macros"
 version = "0.11.0"
-source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0#88608109579929b0c1fbab12d7a2afaea0baaf74"
+source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0-2#6f1cdbb625fd16ad2f26466f4d72818ac24b83d9"
 dependencies = [
  "heck 0.4.1",
  "proc-macro2",
@@ -4209,7 +4250,7 @@ dependencies = [
 [[package]]
 name = "typst-pdf"
 version = "0.11.0"
-source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0#88608109579929b0c1fbab12d7a2afaea0baaf74"
+source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0-2#6f1cdbb625fd16ad2f26466f4d72818ac24b83d9"
 dependencies = [
  "base64 0.22.0",
  "bytemuck",
@@ -4269,7 +4310,7 @@ dependencies = [
 [[package]]
 name = "typst-render"
 version = "0.11.0"
-source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0#88608109579929b0c1fbab12d7a2afaea0baaf74"
+source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0-2#6f1cdbb625fd16ad2f26466f4d72818ac24b83d9"
 dependencies = [
  "bytemuck",
  "comemo 0.4.0",
@@ -4289,7 +4330,7 @@ dependencies = [
 [[package]]
 name = "typst-svg"
 version = "0.11.0"
-source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0#88608109579929b0c1fbab12d7a2afaea0baaf74"
+source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0-2#6f1cdbb625fd16ad2f26466f4d72818ac24b83d9"
 dependencies = [
  "base64 0.22.0",
  "comemo 0.4.0",
@@ -4322,7 +4363,7 @@ dependencies = [
 [[package]]
 name = "typst-syntax"
 version = "0.11.0"
-source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0#88608109579929b0c1fbab12d7a2afaea0baaf74"
+source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0-2#6f1cdbb625fd16ad2f26466f4d72818ac24b83d9"
 dependencies = [
  "comemo 0.4.0",
  "ecow 0.2.2",
@@ -4338,7 +4379,7 @@ dependencies = [
 [[package]]
 name = "typst-timing"
 version = "0.11.0"
-source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0#88608109579929b0c1fbab12d7a2afaea0baaf74"
+source = "git+https://github.com/Myriad-Dreamin/typst.git?branch=tinymist-v0.11.0-2#6f1cdbb625fd16ad2f26466f4d72818ac24b83d9"
 dependencies = [
  "parking_lot",
  "serde",
@@ -4458,9 +4499,9 @@ dependencies = [
 
 [[package]]
 name = "typstyle"
-version = "0.11.14"
+version = "0.11.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f701eb3c275c8250b3e5e18c3c081e36861cdd5b2e78538ff4984735cbfd9591"
+checksum = "b25283094eca3cf1200a2105bb339f367e1fb127e69b22ae106d7e706d7eb08d"
 dependencies = [
  "anyhow",
  "clap",
@@ -5133,6 +5174,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "yaml-rust2"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "498f4d102a79ea1c9d4dd27573c0fc96ad74c023e8da38484e47883076da25fb"
+dependencies = [
+ "arraydeque",
+ "encoding_rs",
+ "hashlink",
+]
+
+[[package]]
 name = "yoke"
 version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5157,6 +5209,26 @@ dependencies = [
 ]
 
 [[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.55",
+]
+
+[[package]]
 name = "zerofrom"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/pkgs/by-name/ti/tinymist/package.nix b/pkgs/by-name/ti/tinymist/package.nix
index da21891455818..9849b56f1eef0 100644
--- a/pkgs/by-name/ti/tinymist/package.nix
+++ b/pkgs/by-name/ti/tinymist/package.nix
@@ -13,19 +13,19 @@ rustPlatform.buildRustPackage rec {
   pname = "tinymist";
   # Please update the corresponding vscode extension when updating
   # this derivation.
-  version = "0.11.6";
+  version = "0.11.8";
 
   src = fetchFromGitHub {
     owner = "Myriad-Dreamin";
     repo = "tinymist";
     rev = "v${version}";
-    hash = "sha256-7YG15kt+pIxAK22QYiTApu5lBV6Afe3Jss6L5dTGsGI=";
+    hash = "sha256-1mgtyOXSvovO2f4XSdirzTIcUlbFoT9t/UFa2uW5CpI=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "typst-0.11.0" = "sha256-UzZ0tbC6Dhn178GQDyLl70WTp3h5WdaBCsEKgLisZ2M=";
+      "typst-0.11.0" = "sha256-J3oSrxylR00r3Tc4KDmuW6ungQkoYJiI7cZEpbyyNsc=";
       "typst-syntax-0.7.0" = "sha256-yrtOmlFAKOqAmhCP7n0HQCOQpU3DWyms5foCdUb9QTg=";
       "typstfmt_lib-0.2.7" = "sha256-LBYsTCjZ+U+lgd7Z3H1sBcWwseoHsuepPd66bWgfvhI=";
     };
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/by-name/tr/troubadix/package.nix b/pkgs/by-name/tr/troubadix/package.nix
index 9575a83ce48f4..d70553604bc38 100644
--- a/pkgs/by-name/tr/troubadix/package.nix
+++ b/pkgs/by-name/tr/troubadix/package.nix
@@ -7,14 +7,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "troubadix";
-  version = "24.4.1";
+  version = "24.5.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "greenbone";
     repo = "troubadix";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+JrMUog04SS24ZKiBFB46AyYTDzVu7d4IdoX9SRMhpk=";
+    hash = "sha256-kA+9zcP3unNb2tE3OU8J/3xHX+pRZ/06lEQtH/0QEk4=";
   };
 
   pythonRelaxDeps = [ "validators" ];
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/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/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/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/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/gstreamer/icamerasrc/default.nix b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix
index 4d6c5671f0e28..da74ec243cefa 100644
--- a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix
+++ b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
     description = "GStreamer Plugin for MIPI camera support through the IPU6/IPU6EP/IPU6SE on Intel Tigerlake/Alderlake/Jasperlake platforms";
     homepage = "https://github.com/intel/icamerasrc/tree/icamerasrc_slim_api";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ hexa ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
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/ipu6-camera-hal/default.nix b/pkgs/development/libraries/ipu6-camera-hal/default.nix
index 3ec63fd0807d3..ff490414da858 100644
--- a/pkgs/development/libraries/ipu6-camera-hal/default.nix
+++ b/pkgs/development/libraries/ipu6-camera-hal/default.nix
@@ -82,7 +82,7 @@ stdenv.mkDerivation {
     description = "HAL for processing of images in userspace";
     homepage = "https://github.com/intel/ipu6-camera-hal";
     license = licenses.asl20;
-    maintainers = with maintainers; [ hexa ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
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/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/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/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/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/adext/default.nix b/pkgs/development/python-modules/adext/default.nix
index c5a05d19bee85..8a7345613de79 100644
--- a/pkgs/development/python-modules/adext/default.nix
+++ b/pkgs/development/python-modules/adext/default.nix
@@ -1,40 +1,39 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, setuptools-scm
-, alarmdecoder
-, pytestCheckHook
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools-scm,
+  alarmdecoder,
+  pytestCheckHook,
+  pythonOlder,
 }:
 
 buildPythonPackage rec {
   pname = "adext";
-  version = "0.4.2";
-  format = "setuptools";
+  version = "0.4.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ajschmidt8";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0h5k9kzms2f0r48pdhsgv8pimk0vsxw8vs0k6880mank8ij914wr";
+    repo = "adext";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-y8BvcSc3vD0FEWiyzW2Oh6PBS2Itjs2sz+9Dzh5yqSg=";
   };
 
-  nativeBuildInputs = [
-    setuptools-scm
-  ];
+  build-system = [ setuptools-scm ];
 
-  propagatedBuildInputs = [
-    alarmdecoder
-  ];
+  dependencies = [ alarmdecoder ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "adext" ];
 
   meta = with lib; {
     description = "Python extension for AlarmDecoder";
     homepage = "https://github.com/ajschmidt8/adext";
+    changelog = "https://github.com/ajschmidt8/adext/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/albumentations/default.nix b/pkgs/development/python-modules/albumentations/default.nix
index 1de36e510197b..7e15fcf6c116a 100644
--- a/pkgs/development/python-modules/albumentations/default.nix
+++ b/pkgs/development/python-modules/albumentations/default.nix
@@ -1,19 +1,21 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , setuptools
+, deepdiff
 , numpy
 , opencv4
 , pyyaml
-, qudida
 , scikit-image
+, scikit-learn
 , scipy
-, deepdiff
+, pydantic
 , pytestCheckHook
 , pythonOlder
 , pythonRelaxDepsHook
 , torch
 , torchvision
+, typing-extensions
 }:
 
 buildPythonPackage rec {
@@ -23,9 +25,11 @@ buildPythonPackage rec {
 
   disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-VNpClOBdoaQOqU92Mm/Z5Q7P+fZzR+m43SFA9pSi1M0=";
+  src = fetchFromGitHub {
+    owner = "albumentations-team";
+    repo = "albumentations";
+    rev = "refs/tags/${version}";
+    hash = "sha256-7t1+22zzFtkZaAyOo6xjk+MXT9N44PmQ/NRRfvLeRVk=";
   };
 
   nativeBuildInputs = [
@@ -34,6 +38,7 @@ buildPythonPackage rec {
 
   pythonRemoveDeps = [
     "opencv-python"
+    "pydantic"
   ];
 
   build-system = [
@@ -43,10 +48,12 @@ buildPythonPackage rec {
   dependencies = [
     numpy
     opencv4
+    pydantic
     pyyaml
-    qudida
     scikit-image
+    scikit-learn
     scipy
+    typing-extensions
   ];
 
   nativeCheckInputs = [
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 8b7dcea1f3525..b29ddeedad7fe 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -1,38 +1,37 @@
-{ lib
-, babel
-, buildPythonPackage
-, click
-, cryptography
-, fetchPypi
-, gntp
-, installShellFiles
-, markdown
-, paho-mqtt
-, pytest-mock
-, pytest-xdist
-, pytestCheckHook
-, pythonOlder
-, pyyaml
-, requests
-, requests-oauthlib
-, setuptools
+{
+  lib,
+  babel,
+  buildPythonPackage,
+  click,
+  cryptography,
+  fetchPypi,
+  gntp,
+  installShellFiles,
+  markdown,
+  paho-mqtt,
+  pytest-mock,
+  pytest-xdist,
+  pytestCheckHook,
+  pythonOlder,
+  pyyaml,
+  requests,
+  requests-oauthlib,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "1.7.6";
+  version = "1.8.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-B38JMJzIpskGPb1hSzQ4B9Un1UZpO3/o/FpEM1Av6mw=";
+    hash = "sha256-6PWM6/6ho09WnLTGiAmjF1voDsBvCi7Ec1IrkgIyEsU=";
   };
 
-  nativeBuildInputs = [
-    installShellFiles
-  ];
+  nativeBuildInputs = [ installShellFiles ];
 
   build-system = [
     babel
@@ -70,9 +69,7 @@ buildPythonPackage rec {
     installManPage packaging/man/apprise.1
   '';
 
-  pythonImportsCheck = [
-    "apprise"
-  ];
+  pythonImportsCheck = [ "apprise" ];
 
   meta = with lib; {
     description = "Push Notifications that work with just about every platform";
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/btrfs/default.nix b/pkgs/development/python-modules/btrfs/default.nix
index a534257c6dbef..66a7a05676a96 100644
--- a/pkgs/development/python-modules/btrfs/default.nix
+++ b/pkgs/development/python-modules/btrfs/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "btrfs";
-  version = "13";
+  version = "14.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NSyzhpHYDkunuU104XnbVCcVRNDoVBz4KuJRrE7WMO0=";
+    hash = "sha256-BPKPwT33i8fQYJkUZbnJ8nQNbmKw0Dq6ekb9mr7awEY=";
   };
 
   # no tests (in v12)
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/courlan/default.nix b/pkgs/development/python-modules/courlan/default.nix
index bd73aad1977d8..fd2cfc01b6e8d 100644
--- a/pkgs/development/python-modules/courlan/default.nix
+++ b/pkgs/development/python-modules/courlan/default.nix
@@ -1,56 +1,58 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, langcodes
-, pytestCheckHook
-, tld
-, urllib3
-, pythonOlder
+{
+  lib,
+  babel,
+  buildPythonPackage,
+  fetchPypi,
+  langcodes,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  tld,
+  urllib3,
 }:
 
 buildPythonPackage rec {
   pname = "courlan";
-  version = "1.0.0";
-  format = "setuptools";
+  version = "1.1.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PDVRHDZSXLL5Qc1nCbejp0LtlfC55WyX7sDBb9wDUYM=";
+    hash = "sha256-1wZoQzTxi+StofvVfyaArfADZkj22ECFL3pIItOt/Y0=";
   };
 
-  propagatedBuildInputs = [
+  # Tests try to write to /tmp directly. use $TMPDIR instead.
+  postPatch = ''
+    substituteInPlace tests/unit_tests.py \
+      --replace-fail "\"courlan --help\"" "\"$out/bin/courlan --help\"" \
+      --replace-fail "courlan_bin = \"courlan\"" "courlan_bin = \"$out/bin/courlan\"" \
+      --replace-fail "/tmp" "$TMPDIR"
+  '';
+
+  build-system = [ setuptools ];
+
+  dependencies = [
+    babel
     langcodes
     tld
     urllib3
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
   # disable tests that require an internet connection
-  disabledTests = [
-    "test_urlcheck"
-  ];
-
-  # tests try to write to /tmp directly. use $TMPDIR instead.
-  postPatch = ''
-    substituteInPlace tests/unit_tests.py \
-      --replace "\"courlan --help\"" "\"$out/bin/courlan --help\"" \
-      --replace "courlan_bin = \"courlan\"" "courlan_bin = \"$out/bin/courlan\"" \
-      --replace "/tmp" "$TMPDIR"
-  '';
+  disabledTests = [ "test_urlcheck" ];
 
   pythonImportsCheck = [ "courlan" ];
 
   meta = with lib; {
     description = "Clean, filter and sample URLs to optimize data collection";
-    mainProgram = "courlan";
     homepage = "https://github.com/adbar/courlan";
     changelog = "https://github.com/adbar/courlan/blob/v${version}/HISTORY.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ jokatzke ];
+    mainProgram = "courlan";
   };
 }
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/desktop-notifier/default.nix b/pkgs/development/python-modules/desktop-notifier/default.nix
index 708c971943ec8..f406bcd4cc5be 100644
--- a/pkgs/development/python-modules/desktop-notifier/default.nix
+++ b/pkgs/development/python-modules/desktop-notifier/default.nix
@@ -11,8 +11,8 @@
 
 buildPythonPackage rec {
   pname = "desktop-notifier";
-  version = "3.5.6";
-  format = "pyproject";
+  version = "4.0.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -20,14 +20,14 @@ buildPythonPackage rec {
     owner = "SamSchott";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-txUWRCWLQ6jWrdEJ/D5+CsflNad5Onr/wLycENri1z8=";
+    hash = "sha256-6FtxfY0vjCbCueeXdAXOy6XSjne4I7brQ5OvJ+Q1KsQ=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     packaging
   ] ++ lib.optionals stdenv.isLinux [
     dbus-next
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/docplex/default.nix b/pkgs/development/python-modules/docplex/default.nix
index 29395e91a5f1d..dde6772864b3a 100644
--- a/pkgs/development/python-modules/docplex/default.nix
+++ b/pkgs/development/python-modules/docplex/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , isPy27
+, setuptools
 , futures ? null
 , docloud
 , requests
@@ -10,7 +11,7 @@
 buildPythonPackage rec {
   pname = "docplex";
   version = "2.27.239";
-  format = "setuptools";
+  pyproject = true;
 
   # No source available from official repo
   src = fetchPypi {
@@ -18,6 +19,15 @@ buildPythonPackage rec {
     hash = "sha256-Ug5+jDBBbamqd0JebzHvjLZoTRRPYWQiJl6g8BK0aMQ=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "setuptools~=68.2.2" "setuptools>=68.2.2"
+  '';
+
+  build-system = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     docloud
     requests
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/dropbox/default.nix b/pkgs/development/python-modules/dropbox/default.nix
index 762b9b7ff8cf2..b090f81da9757 100644
--- a/pkgs/development/python-modules/dropbox/default.nix
+++ b/pkgs/development/python-modules/dropbox/default.nix
@@ -2,8 +2,8 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, requests
 , setuptools
+, requests
 , six
 , stone
 , mock
@@ -15,9 +15,10 @@
 buildPythonPackage rec {
   pname = "dropbox";
   version = "11.36.2";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
+
   outputs = ["out" "doc"];
 
   src = fetchFromGitHub {
@@ -27,9 +28,12 @@ buildPythonPackage rec {
     hash = "sha256-d++lxsbwPxnz1JPguWkImHXB+GQpMa9Uo3JNIxIe2ok=";
   };
 
-  propagatedBuildInputs = [
-    requests
+  build-system = [
     setuptools
+  ];
+
+  dependencies = [
+    requests
     six
     stone
   ];
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/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/hawkauthlib/default.nix b/pkgs/development/python-modules/hawkauthlib/default.nix
index 9df850b788297..b7c6c73820a25 100644
--- a/pkgs/development/python-modules/hawkauthlib/default.nix
+++ b/pkgs/development/python-modules/hawkauthlib/default.nix
@@ -1,28 +1,45 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, requests
-, webob
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  requests,
+  webob,
+  unittestCheckHook,
 }:
 
 buildPythonPackage rec {
   pname = "hawkauthlib";
   version = "0.1.1";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "mozilla-services";
-    repo = pname;
+    repo = "hawkauthlib";
     rev = "refs/tags/v${version}";
-    sha256 = "0mr1mpx4j9q7sch9arwfvpysnpf2p7ijy7072wilxm8pnj0bwvsi";
+    hash = "sha256-UW++gLQX1U4jFwccL+O5wl2r/d2OZ5Ug0wcnSfqtIVc=";
   };
 
-  propagatedBuildInputs = [ requests webob ];
+  postPatch = ''
+    substituteInPlace hawkauthlib/tests/* \
+        --replace-warn 'assertEquals' 'assertEqual'
+  '';
+
+  build-system = [ setuptools ];
+
+  dependencies = [
+    requests
+    webob
+  ];
+
+  pythonImportsCheck = [ "hawkauthlib" ];
+
+  nativeCheckInputs = [ unittestCheckHook ];
 
   meta = with lib; {
     homepage = "https://github.com/mozilla-services/hawkauthlib";
     description = "Hawk Access Authentication protocol";
     license = licenses.mpl20;
+    maintainers = with maintainers; [ ];
   };
-
 }
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/html-text/default.nix b/pkgs/development/python-modules/html-text/default.nix
index 00d2fb426d381..43d7ca228bb0e 100644
--- a/pkgs/development/python-modules/html-text/default.nix
+++ b/pkgs/development/python-modules/html-text/default.nix
@@ -1,37 +1,43 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, lxml
-, six
-, pytestCheckHook
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  lxml,
+  lxml-html-clean,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "html-text";
-  version = "0.5.2";
-  format = "setuptools";
+  version = "0.6.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
-    owner = "TeamHG-Memex";
+    owner = "zytedata";
     repo = "html-text";
-    rev = version;
-    hash = "sha256-jw/hpz0QfcgP5OEJcmre0h1OzOfpPtaROxHm+YUqces=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-e9gkibQv8mn1Jbt77UmpauOeTqhJQhY9R5Sge/iYi+U=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     lxml
+    lxml-html-clean
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-    six
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "html_text" ];
 
   meta = with lib; {
     description = "Extract text from HTML";
-    homepage = "https://github.com/TeamHG-Memex/html-text";
+    homepage = "https://github.com/zytedata/html-text";
+    changelog = "https://github.com/zytedata/html-text/blob/${version}/CHANGES.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ ambroisie ];
   };
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/htseq/default.nix b/pkgs/development/python-modules/htseq/default.nix
index 9d69a8bfef542..caa47f5197d60 100644
--- a/pkgs/development/python-modules/htseq/default.nix
+++ b/pkgs/development/python-modules/htseq/default.nix
@@ -1,29 +1,79 @@
-{ lib, buildPythonPackage, fetchFromGitHub, cython, numpy, pysam, matplotlib, python, isPy27, isPy3k }:
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  fetchpatch,
+  swig,
+  cython,
+  matplotlib,
+  numpy,
+  pandas,
+  pysam,
+  setuptools,
+  pytestCheckHook,
+  nix-update-script,
+}:
 buildPythonPackage rec {
-  version = "0.12.4";
-  format = "setuptools";
   pname = "htseq";
+  version = "2.0.4";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "htseq";
     repo = "htseq";
     rev = "release_${version}";
-    sha256 = "0y7vh249sljqjnv81060w4xkdx6f1y5zdqkh38yk926x6v9riijm";
+    hash = "sha256-7ocrmuj9LOtPz9XbI5rKGcdE5JbFz/pZh00Nie65XxE=";
   };
 
-  nativeBuildInputs = [ cython ];
-  propagatedBuildInputs = [ numpy pysam matplotlib ];
+  patches = [
+    # https://github.com/htseq/htseq/pull/84
+    (fetchpatch {
+      name = "replace-distutils-with-sysconfig.patch";
+      url = "https://github.com/htseq/htseq/commit/f0f1e464ee9aee56f0b44f905e7b3355b0bb8f29.patch";
+      hash = "sha256-yDYkXCPy+YFgnk1rnXwCB998aZwVd5nJeejZIgeEzAo=";
+     })
+  ];
 
-  checkPhase = lib.optionalString isPy27 ''
-    ${python.interpreter} python2/test/test_general.py
-  '' + lib.optionalString isPy3k ''
-    ${python.interpreter} python3/test/test_general.py
+  nativeBuildInputs = [ swig ];
+
+  build-system = [
+    cython
+    numpy
+    pysam
+    setuptools
+  ];
+
+  dependencies = [
+    numpy
+    pysam
+  ];
+
+  optional-dependencies = {
+    htseq-qa = [ matplotlib ];
+  };
+
+  pythonImportsCheck = [ "HTSeq" ];
+
+  nativeCheckInputs = [
+    pandas
+    pytestCheckHook
+  ] ++ optional-dependencies.htseq-qa;
+
+  preCheck = ''
+    rm -r src HTSeq
+    export PATH=$out/bin:$PATH
   '';
 
+  passthru.updateScript = nix-update-script {
+    extraArgs = [
+      "--version-regex"
+      "release_(.+)"
+    ];
+  };
+
   meta = with lib; {
     homepage = "https://htseq.readthedocs.io/";
     description = "A framework to work with high-throughput sequencing data";
     maintainers = with maintainers; [ unode ];
-    platforms = platforms.unix;
   };
 }
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/igraph/default.nix b/pkgs/development/python-modules/igraph/default.nix
index 98f38528c1442..8aa1583cc8a87 100644
--- a/pkgs/development/python-modules/igraph/default.nix
+++ b/pkgs/development/python-modules/igraph/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "igraph";
-  version = "0.11.4";
+  version = "0.11.5";
 
   disabled = pythonOlder "3.8";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "igraph";
     repo = "python-igraph";
     rev = "refs/tags/${version}";
-    hash = "sha256-sR9OqsBxP2DvcYz1dhIP29rrQ56CRKW02oNAXUNttio=";
+    hash = "sha256-nfXCAjTKxtslVk17h60+v/JQusQTmaTRCPvvFG4/OPk=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/ihm/default.nix b/pkgs/development/python-modules/ihm/default.nix
index 2cfb69178b109..3991ce9a4339a 100644
--- a/pkgs/development/python-modules/ihm/default.nix
+++ b/pkgs/development/python-modules/ihm/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "ihm";
-  version = "1.0";
+  version = "1.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ihmwg";
     repo = "python-ihm";
     rev = "refs/tags/${version}";
-    hash = "sha256-a1M3YihN71M9TnkldAzN6N1UuPksDk6SPiBgr4HyC8g=";
+    hash = "sha256-auzArRwiue2CFo2DNS0NAF+aoZFvadhP6ARM0lRGcSA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix
index 852b529e8bcc1..2ed276bfaef37 100644
--- a/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
-  version = "6.2.0";
+  version = "6.3.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kV2g1qbS5L7bEqfPijj60eK+pbTc8SAs/tctpNv0PFs=";
+    hash = "sha256-RD9VQFlwLJ3TiReKty+q056CjsOnSD2J2bpASmqHIEM=";
   };
 
   postPatch = ''
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/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/mdtraj/default.nix b/pkgs/development/python-modules/mdtraj/default.nix
index 971688348a1d5..a99b36c787659 100644
--- a/pkgs/development/python-modules/mdtraj/default.nix
+++ b/pkgs/development/python-modules/mdtraj/default.nix
@@ -11,6 +11,7 @@
 , wheel
 , astunparse
 , numpy
+, packaging
 , pyparsing
 , scipy
 , gsd
@@ -39,9 +40,31 @@ buildPythonPackage rec {
       url = "https://github.com/mdtraj/mdtraj/commit/81209d00817ab07cfc4668bf5ec88088d16904c0.patch";
       hash = "sha256-ttNmij7csxF0Z5wPPwhGumRX055W2IgFjRAe6nI6GNY=";
     })
+    # remove pkg_resources usage
+    # https://github.com/mdtraj/mdtraj/pull/1837
+    (fetchpatch {
+      name = "fix-runtime-error.patch";
+      url = "https://github.com/mdtraj/mdtraj/commit/02d44d4db7039fceb199c85b4f993244804f470d.patch";
+      hash = "sha256-nhbi3iOrDSM87DyIp1KVt383Vvb6aYOgkjuYzviqiq8=";
+    })
+    # remove distutils usage
+    # https://github.com/mdtraj/mdtraj/pull/1834
+    (fetchpatch {
+      name = "python312-compatibility.patch";
+      url = "https://github.com/mdtraj/mdtraj/commit/95d79747deef42c976ca362a57806b61933409f3.patch";
+      hash = "sha256-Cq7/d745q6ZgAyWGM4ULnSsWezsbnu1CjSz5eqYSb+g=";
+    })
+    # disable intrinsics when SIMD is not available
+    # TODO: enable SIMD with python3.12
+    # https://github.com/mdtraj/mdtraj/pull/1884
+    (fetchpatch {
+      name = "fix-intrinsics-flag.patch";
+      url = "https://github.com/mdtraj/mdtraj/commit/d6041c645d51898e2a09030633210213eec7d4c5.patch";
+      hash = "sha256-kcnlHMoA/exJzV8iQltH+LWXrvSk7gsUV+yWK6xn0jg=";
+     })
   ];
 
-  nativeBuildInputs = [
+  build-system = [
     cython_0
     oldest-supported-numpy
     setuptools
@@ -54,9 +77,10 @@ buildPythonPackage rec {
     llvmPackages.openmp
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     astunparse
     numpy
+    packaging
     pyparsing
     scipy
   ];
@@ -87,7 +111,9 @@ buildPythonPackage rec {
     "test_read_atomindices_2"
 
     # flaky test
+    "test_compare_rdf_t_master"
     "test_distances_t"
+    "test_precentered_2"
   ];
 
   pythonImportsCheck = [ "mdtraj" ];
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/mindsdb-evaluator/default.nix b/pkgs/development/python-modules/mindsdb-evaluator/default.nix
index 9cc654911fc5f..311f8761bc44e 100644
--- a/pkgs/development/python-modules/mindsdb-evaluator/default.nix
+++ b/pkgs/development/python-modules/mindsdb-evaluator/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "mindsdb-evaluator";
-  version = "0.0.12";
+  version = "0.0.13";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "mindsdb_evaluator";
     inherit version;
-    hash = "sha256-SqcBtoY7WZcorAaoyhqNDscf1MkSz0pE993mz1MRXCU=";
+    hash = "sha256-SW3GYe9ykbs6ZViScdAgwiBAP9ix4v1VbSm/kJK2jDA=";
   };
 
   nativeBuildInputs = [
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/neo/default.nix b/pkgs/development/python-modules/neo/default.nix
index d23d2fdc57ed8..d4b5265ba8ed7 100644
--- a/pkgs/development/python-modules/neo/default.nix
+++ b/pkgs/development/python-modules/neo/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "neo";
-  version = "0.13.0";
+  version = "0.13.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VnXR+jgaU8LH7ri16SnsA5neILsLUkU+G5nsbWbckfM=";
+    hash = "sha256-gVhbKLZaTciakucc7TlCxdv9qnG90sw4U3G3ebVlTK0=";
   };
 
   nativeBuildInputs = [ setuptools ];
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/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 8dad1316c1a7f..b312b78a2bfb2 100644
--- a/pkgs/development/python-modules/pipdeptree/default.nix
+++ b/pkgs/development/python-modules/pipdeptree/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pipdeptree";
-  version = "2.19.1";
+  version = "2.20.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "tox-dev";
     repo = "pipdeptree";
     rev = "refs/tags/${version}";
-    hash = "sha256-kXRz78UHQtVyHFFnURSjOOXX8Me2I5tG2bX+u2yGyzY=";
+    hash = "sha256-Mng5YUM2+T3OFrr4uGVvq5mP0aq10r21pp46tw6lLno=";
   };
 
   build-system = [
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/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/private-gpt/default.nix b/pkgs/development/python-modules/private-gpt/default.nix
new file mode 100644
index 0000000000000..226489d046cb4
--- /dev/null
+++ b/pkgs/development/python-modules/private-gpt/default.nix
@@ -0,0 +1,119 @@
+{ lib
+, buildPythonPackage
+, python
+, fetchFromGitHub
+, poetry-core
+, fastapi
+, injector
+, llama-index-core
+, llama-index-readers-file
+, huggingface-hub
+, python-multipart
+, pyyaml
+, transformers
+, uvicorn
+, watchdog
+, gradio
+, fetchurl
+, fetchpatch
+}:
+
+buildPythonPackage rec {
+  pname = "private-gpt";
+  version = "0.5.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "zylon-ai";
+    repo = "private-gpt";
+    rev = "v${version}";
+    hash = "sha256-bjydzJhOJjmbflcJbuMyNsmby7HtNPFW3MY2Tw12cHw=";
+  };
+
+  patches = [
+    # Fix a vulnerability, to be removed in the next bump version
+    # See https://github.com/zylon-ai/private-gpt/pull/1890
+    (fetchpatch {
+      url = "https://github.com/zylon-ai/private-gpt/commit/86368c61760c9cee5d977131d23ad2a3e063cbe9.patch";
+      hash = "sha256-4ysRUuNaHW4bmNzg4fn++89b430LP6AzYDoX2HplVH0=";
+    })
+  ];
+
+  build-system = [
+    poetry-core
+  ];
+
+  dependencies = [
+    fastapi
+    injector
+    llama-index-core
+    llama-index-readers-file
+    python-multipart
+    pyyaml
+    transformers
+    uvicorn
+    watchdog
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  # This is needed for running the tests and the service in offline mode,
+  # See related issue at https://github.com/zylon-ai/private-gpt/issues/1870
+  passthru.cl100k_base.tiktoken = fetchurl {
+    url = "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken";
+    hash = "sha256-Ijkht27pm96ZW3/3OFE+7xAPtR0YyTWXoRO8/+hlsqc=";
+  };
+
+  passthru.optional-dependencies = with python.pkgs; {
+    embeddings-huggingface = [
+      huggingface-hub
+      llama-index-embeddings-huggingface
+    ];
+    embeddings-ollama = [
+      llama-index-embeddings-ollama
+    ];
+    embeddings-openai = [
+      llama-index-embeddings-openai
+    ];
+    embeddings-sagemaker = [
+      boto3
+    ];
+    llms-ollama = [
+      llama-index-llms-ollama
+    ];
+    llms-openai = [
+      llama-index-llms-openai
+    ];
+    llms-openai-like = [
+      llama-index-llms-openai-like
+    ];
+    llms-sagemaker = [
+      boto3
+    ];
+    ui = [
+      gradio
+    ];
+    vector-stores-chroma = [
+      llama-index-vector-stores-chroma
+    ];
+    vector-stores-postgres = [
+      llama-index-vector-stores-postgres
+    ];
+    vector-stores-qdrant = [
+      llama-index-vector-stores-qdrant
+    ];
+  };
+
+  postInstall = ''
+    cp settings*.yaml $out/${python.sitePackages}/private_gpt/
+  '';
+
+  pythonImportsCheck = [ "private_gpt" ];
+
+  meta = {
+    changelog = "https://github.com/zylon-ai/private-gpt/blob/${src.rev}/CHANGELOG.md";
+    description = "Interact with your documents using the power of GPT, 100% privately, no data leaks";
+    homepage = "https://github.com/zylon-ai/private-gpt";
+    license = lib.licenses.asl20;
+    mainProgram = "private-gpt";
+    maintainers = with lib.maintainers; [ drupol ];
+  };
+}
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/pybrowserid/default.nix b/pkgs/development/python-modules/pybrowserid/default.nix
index 1a4cd7c43058c..10346ee04cc3d 100644
--- a/pkgs/development/python-modules/pybrowserid/default.nix
+++ b/pkgs/development/python-modules/pybrowserid/default.nix
@@ -1,24 +1,44 @@
-{ lib, buildPythonPackage, fetchPypi
-, requests, mock }:
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  setuptools,
+  requests,
+  unittestCheckHook,
+  mock,
+}:
 
 buildPythonPackage rec {
   pname = "pybrowserid";
   version = "0.14.0";
+  pyproject = true;
 
   src = fetchPypi {
     pname = "PyBrowserID";
     inherit version;
-    sha256 = "1qvi79kfb8x9kxkm5lw2mp42hm82cpps1xknmsb5ghkwx1lpc8kc";
+    hash = "sha256-bCJ2aeh8wleWrnb2oO9lAlUoyK2C01Jnn6mj5WY6ceM=";
   };
 
-  propagatedBuildInputs = [ requests ];
+  postPatch = ''
+    substituteInPlace browserid/tests/* \
+        --replace-warn 'assertEquals' 'assertEqual'
+  '';
 
-  nativeCheckInputs = [ mock ];
+  build-system = [ setuptools ];
+
+  dependencies = [ requests ];
+
+  pythonImportsCheck = [ "browserid" ];
+
+  nativeCheckInputs = [
+    unittestCheckHook
+    mock
+  ];
 
   meta = with lib; {
     description = "Python library for the BrowserID Protocol";
-    homepage    = "https://github.com/mozilla/PyBrowserID";
-    license     = licenses.mpl20;
+    homepage = "https://github.com/mozilla/PyBrowserID";
+    license = licenses.mpl20;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyfxa/default.nix b/pkgs/development/python-modules/pyfxa/default.nix
index 39794d592103c..259370299db2e 100644
--- a/pkgs/development/python-modules/pyfxa/default.nix
+++ b/pkgs/development/python-modules/pyfxa/default.nix
@@ -18,7 +18,7 @@
 buildPythonPackage rec {
   pname = "pyfxa";
   version = "0.7.8";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -28,7 +28,11 @@ buildPythonPackage rec {
     hash = "sha256-DMFZl1hbYNaScOTWkAbK2nKti6wD5SS5A30q7TW5vO4=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
     cryptography
     hawkauthlib
     pybrowserid
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/pyinsteon/default.nix b/pkgs/development/python-modules/pyinsteon/default.nix
index 22242ee62bf49..0f52f3dbf45ce 100644
--- a/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/pkgs/development/python-modules/pyinsteon/default.nix
@@ -1,23 +1,24 @@
-{ lib
-, aiofiles
-, aiohttp
-, async-timeout
-, async-generator
-, buildPythonPackage
-, fetchFromGitHub
-, pypubsub
-, pyserial
-, pyserial-asyncio
-, pytestCheckHook
-, pythonAtLeast
-, pythonOlder
-, setuptools
-, voluptuous
+{
+  lib,
+  aiofiles,
+  aiohttp,
+  async-timeout,
+  async-generator,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pypubsub,
+  pyserial,
+  pyserial-asyncio,
+  pytestCheckHook,
+  pythonAtLeast,
+  pythonOlder,
+  setuptools,
+  voluptuous,
 }:
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.5.3";
+  version = "1.6.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -26,12 +27,10 @@ buildPythonPackage rec {
     owner = "pyinsteon";
     repo = "pyinsteon";
     rev = "refs/tags/${version}";
-    hash = "sha256-9d6QbekUv63sjKdK+ZogYOkGfFXVW+JB6ITHnehLwtM=";
+    hash = "sha256-s8YRDu+UpU1sisdscd87CpcLl3csOUDdIuKqx48GZsw=";
   };
 
-  build-system = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
   dependencies = [
     aiofiles
@@ -48,14 +47,17 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # RuntimeError: BUG: Dead Listener called, still subscribed!
+    "test_linking_with_i1_device"
+  ];
+
   disabledTestPaths = lib.optionals (pythonAtLeast "3.12") [
     # Tests are blocking or failing
     "tests/test_handlers/"
   ];
 
-  pythonImportsCheck = [
-    "pyinsteon"
-  ];
+  pythonImportsCheck = [ "pyinsteon" ];
 
   meta = with lib; {
     description = "Python library to support Insteon home automation projects";
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/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/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix
index 31e730a0b9432..7d746131636e1 100644
--- a/pkgs/development/python-modules/python-roborock/default.nix
+++ b/pkgs/development/python-modules/python-roborock/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "python-roborock";
-  version = "2.2.0";
+  version = "2.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "humbertogontijo";
     repo = "python-roborock";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/j7aJ34W7KP+O5ugl+xrA/X42SIjc+zfiBeSd1/4YZI=";
+    hash = "sha256-qyaERNaisfDWXW1IeyFMOV6nLqT+0O9QJ4U02LOyiuE=";
   };
 
   postPatch = ''
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/setuptools-gettext/default.nix b/pkgs/development/python-modules/setuptools-gettext/default.nix
index ab9961af33958..31440a40e5a34 100644
--- a/pkgs/development/python-modules/setuptools-gettext/default.nix
+++ b/pkgs/development/python-modules/setuptools-gettext/default.nix
@@ -3,7 +3,6 @@
   buildPythonPackage,
   fetchFromGitHub,
   pythonOlder,
-  pythonAtLeast,
   setuptools,
   tomli,
   pytestCheckHook,
@@ -12,17 +11,16 @@
 
 buildPythonPackage rec {
   pname = "setuptools-gettext";
-  version = "0.1.11";
+  version = "0.1.14";
   pyproject = true;
 
-  # >=3.12 doesn't work because the package depends on `distutils`
-  disabled = pythonOlder "3.7" || pythonAtLeast "3.12";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "breezy-team";
     repo = "setuptools-gettext";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yLKn4wwGgRdlsISAT71lD2vkIefsTJRB+OEA030adZY=";
+    hash = "sha256-05xKWRxmoI8tnRENuiK3Z3WNMyjgXIX5p3vhzSUeytQ=";
   };
 
   build-system = [ setuptools ];
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/trafilatura/default.nix b/pkgs/development/python-modules/trafilatura/default.nix
index 35212c3434438..a8183bf3f8411 100644
--- a/pkgs/development/python-modules/trafilatura/default.nix
+++ b/pkgs/development/python-modules/trafilatura/default.nix
@@ -1,35 +1,43 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pytestCheckHook
-, pythonOlder
-, certifi
-, charset-normalizer
-, courlan
-, htmldate
-, justext
-, lxml
-, urllib3
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  certifi,
+  charset-normalizer,
+  courlan,
+  fetchPypi,
+  htmldate,
+  justext,
+  lxml,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  urllib3,
 }:
 
 buildPythonPackage rec {
   pname = "trafilatura";
-  version = "1.8.1";
+  version = "1.9.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-a4eN/b1cXftV0Pgwfyt9wVrDRYBU90hh/5ihcvXjhyA=";
+    hash = "sha256-5oM9KauKE+2FOTfXyR5oaLxi774QIUrCsQZDbdI9FBI=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  # Patch out gui cli because it is not supported in this packaging and
+  # nixify path to the trafilatura binary in the test suite
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace-fail '"trafilatura_gui=trafilatura.gui:main",' ""
+    substituteInPlace tests/cli_tests.py \
+      --replace-fail "trafilatura_bin = 'trafilatura'" "trafilatura_bin = '$out/bin/trafilatura'"
+  '';
+
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     certifi
     charset-normalizer
     courlan
@@ -39,34 +47,22 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
   disabledTests = [
     # Disable tests that require an internet connection
+    "test_cli_pipeline"
+    "test_crawl_page"
     "test_download"
     "test_fetch"
-    "test_redirection"
     "test_meta_redirections"
-    "test_crawl_page"
-    "test_whole"
     "test_probing"
-    "test_cli_pipeline"
+    "test_queue"
+    "test_redirection"
+    "test_whole"
   ];
 
-  # patch out gui cli because it is not supported in this packaging
-  # nixify path to the trafilatura binary in the test suite
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace-fail '"trafilatura_gui=trafilatura.gui:main",' ""
-    substituteInPlace tests/cli_tests.py \
-      --replace-fail "trafilatura_bin = 'trafilatura'" "trafilatura_bin = '$out/bin/trafilatura'"
-  '';
-
-  pythonImportsCheck = [
-    "trafilatura"
-  ];
+  pythonImportsCheck = [ "trafilatura" ];
 
   meta = with lib; {
     description = "Python package and command-line tool designed to gather text on the Web";
diff --git a/pkgs/development/python-modules/type-infer/default.nix b/pkgs/development/python-modules/type-infer/default.nix
index b94b06e8a1cba..d9b1b0717f956 100644
--- a/pkgs/development/python-modules/type-infer/default.nix
+++ b/pkgs/development/python-modules/type-infer/default.nix
@@ -25,7 +25,7 @@ let
 in
 buildPythonPackage rec {
   pname = "type-infer";
-  version = "0.0.19";
+  version = "0.0.20";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "type_infer";
     inherit version;
-    hash = "sha256-7fWRM776lAyOncp6WZDLH9ouVBhVvV23105xvhw8V24=";
+    hash = "sha256-F+gfA7ofrbMEE5SrVt9H3s2mZKQLyr6roNUmL4EMJbI=";
   };
 
   nativeBuildInputs = [
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/virtualenv-clone/default.nix b/pkgs/development/python-modules/virtualenv-clone/default.nix
index 51c1d12b184d8..2ae7abe457db5 100644
--- a/pkgs/development/python-modules/virtualenv-clone/default.nix
+++ b/pkgs/development/python-modules/virtualenv-clone/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace tests/__init__.py \
       --replace "'virtualenv'" "'${virtualenv}/bin/virtualenv'" \
-      --replace "'3.9', '3.10']" "'3.9', '3.10', '3.11']" # if the Python version used isn't in this list, tests fail
+      --replace "'3.9', '3.10']" "'3.9', '3.10', '3.11', '3.12']" # if the Python version used isn't in this list, tests fail
 
     substituteInPlace tests/test_virtualenv_sys.py \
       --replace "'virtualenv'" "'${virtualenv}/bin/virtualenv'"
diff --git a/pkgs/development/python-modules/weaviate-client/default.nix b/pkgs/development/python-modules/weaviate-client/default.nix
index 73f896e5541d5..9047bc8fb1762 100644
--- a/pkgs/development/python-modules/weaviate-client/default.nix
+++ b/pkgs/development/python-modules/weaviate-client/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "weaviate-client";
-  version = "4.5.7";
+  version = "4.6.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "weaviate";
     repo = "weaviate-python-client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VIGcfAzU/0nrVqhny2Ix6rU0DkDhRvX9UkfK8k412QU=";
+    hash = "sha256-F4FFG8W8zjEcD1OssioKTik0sy6B/kGITYfW+bqhNkQ=";
   };
 
   pythonRelaxDeps = [
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/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/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/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/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/misc/terramate/default.nix b/pkgs/development/tools/misc/terramate/default.nix
index b6efe2732dcac..880183c8bdf60 100644
--- a/pkgs/development/tools/misc/terramate/default.nix
+++ b/pkgs/development/tools/misc/terramate/default.nix
@@ -6,22 +6,25 @@
 
 buildGoModule rec {
   pname = "terramate";
-  version = "0.4.2";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "terramate-io";
     repo = "terramate";
     rev = "v${version}";
-    hash = "sha256-aOKUC1FtDDhdUbPUSLW6GrSwh6r29Y2ObC6y487W4Zc=";
+    hash = "sha256-jcmOS81iPzy1ul0Cj/SiJk84AUIq7mLI+CmspuPit+o=";
   };
 
-  vendorHash = "sha256-gl5xsaSkGXlh+MfieVBPHGAbYZVF3GBbIkmvVhlJvqw=";
+  vendorHash = "sha256-Na2XDPSwgwWTQrweslAtSOh2+B/ZFaPIdy8ssAFWkGs=";
 
   # required for version info
   nativeBuildInputs = [ git ];
 
   ldflags = [ "-extldflags" "-static" ];
 
+  # Disable failing E2E tests preventing the package from building
+  excludedPackages = [ "./cmd/terramate/e2etests/cloud" "./cmd/terramate/e2etests/core" ];
+
   meta = with lib; {
     description = "Adds code generation, stacks, orchestration, change detection, data sharing and more to Terraform";
     homepage = "https://github.com/terramate-io/terramate";
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/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index f4d8137c33eba..f54f77113e42e 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.43.1";
+  version = "4.44.1";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    hash = "sha256-AQOHVuDREp6OpwlPFwpCUOQACOsDRH0uM6WwKyEK4JI=";
+    hash = "sha256-5l948J0NTeWOeUMlcoEQZws8viqtARdkJsGch4c6Trw=";
   };
 
-  vendorHash = "sha256-9GCqZS0fguJo8GkVPMgbstEVzrjIS0kdbNQEaT1HSFI=";
+  vendorHash = "sha256-j5vcx5wW2v1kNc2QCPR11JEb1fTA9q4E4mbJ2VJC37A=";
 
   nativeBuildInputs = [ installShellFiles ];
 
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/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/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/bsd/freebsd/default.nix b/pkgs/os-specific/bsd/freebsd/default.nix
index 4295dc213af9d..c605d9f709374 100644
--- a/pkgs/os-specific/bsd/freebsd/default.nix
+++ b/pkgs/os-specific/bsd/freebsd/default.nix
@@ -5,7 +5,7 @@
   callPackage,
   crossLibcStdenv,
   attributePathToSplice ? [ "freebsd" ],
-  branch ? "release/13.1.0",
+  branch ? "release/14.0.0",
 }:
 
 let
diff --git a/pkgs/os-specific/bsd/freebsd/package-set.nix b/pkgs/os-specific/bsd/freebsd/package-set.nix
index 000377c6af91e..dfde4a0a31fa2 100644
--- a/pkgs/os-specific/bsd/freebsd/package-set.nix
+++ b/pkgs/os-specific/bsd/freebsd/package-set.nix
@@ -17,6 +17,7 @@ lib.packagesFromDirectoryRecursive {
 }
 // {
   inherit sourceData patchesRoot versionData;
+  patches = ./patches/${self.versionData.revision};
 
   # Keep the crawled portion of Nixpkgs finite.
   buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd;
@@ -26,7 +27,8 @@ lib.packagesFromDirectoryRecursive {
     sha256 = "BpHqJfnGOeTE7tkFJBx0Wk8ryalmf4KNTit/Coh026E=";
   };
 
-  compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isFreeBSD) self.compat;
+  compatIsNeeded = !stdenvNoCC.hostPlatform.isFreeBSD;
+  compatIfNeeded = lib.optional self.compatIsNeeded self.compat;
   freebsd-lib = import ./lib {
     version = lib.concatStringsSep "." (
       map toString (
@@ -44,7 +46,7 @@ lib.packagesFromDirectoryRecursive {
 
   compat = self.callPackage ./pkgs/compat/package.nix {
     inherit stdenv;
-    inherit (buildFreebsd) makeMinimal boot-install;
+    inherit (buildFreebsd) makeMinimal;
   };
 
   csu = self.callPackage ./pkgs/csu.nix {
@@ -52,13 +54,11 @@ lib.packagesFromDirectoryRecursive {
     inherit (self) include;
   };
 
-  include = self.callPackage ./pkgs/include/package.nix {
-    inherit (buildFreebsd) makeMinimal install rpcgen;
-  };
+  include = self.callPackage ./pkgs/include/package.nix { inherit (buildFreebsd) rpcgen mtree; };
 
   install = self.callPackage ./pkgs/install.nix {
     inherit (buildFreebsd) makeMinimal;
-    inherit (self) mtree libnetbsd;
+    inherit (self) libmd libnetbsd;
   };
 
   libc = self.callPackage ./pkgs/libc/package.nix {
@@ -67,16 +67,30 @@ lib.packagesFromDirectoryRecursive {
       install
       gencat
       rpcgen
+      mkcsmapper
+      mkesdb
       ;
     inherit (self) csu include;
   };
 
   libnetbsd = self.callPackage ./pkgs/libnetbsd/package.nix { inherit (buildFreebsd) makeMinimal; };
 
+  libmd = self.callPackage ./pkgs/libmd.nix { inherit (buildFreebsd) makeMinimal; };
+
   mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
     inherit stdenv;
-    inherit (buildFreebsd) makeMinimal install tsort;
+    inherit (buildFreebsd)
+      freebsdSetupHook
+      makeMinimal
+      install
+      tsort
+      lorder
+      ;
   };
 
   makeMinimal = self.callPackage ./pkgs/makeMinimal.nix { inherit (self) make; };
+
+  mtree = self.callPackage ./pkgs/mtree.nix { inherit (self) libnetbsd libmd; };
+
+  tsort = self.callPackage ./pkgs/tsort.nix { inherit (buildFreebsd) makeMinimal install; };
 }
diff --git a/pkgs/os-specific/bsd/freebsd/patches/13.1/mtree-Makefile.patch b/pkgs/os-specific/bsd/freebsd/patches/13.1/mtree-Makefile.patch
new file mode 100644
index 0000000000000..2a6e560d1d287
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/13.1/mtree-Makefile.patch
@@ -0,0 +1,13 @@
+--- a/contrib/mtree/Makefile	2023-12-04 23:02:13.919144141 -0700
++++ b/contrib/mtree/Makefile		2023-12-04 23:02:58.371810109 -0700
+@@ -10,8 +10,8 @@
+ SRCS=  compare.c crc.c create.c excludes.c misc.c mtree.c spec.c specspec.c \
+        verify.c getid.c pack_dev.c only.c
+ .if (${HOSTPROG:U} == "")
+-DPADD+= ${LIBUTIL}
+-LDADD+= -lutil
++LIBADD+= ${LIBUTIL}
++#LIBADD+= -lutil
+ .endif
+
+ CPPFLAGS+=	-I${NETBSDSRCDIR}/sbin/mknod
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/bmake-no-compiler-rt.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/bmake-no-compiler-rt.patch
new file mode 100644
index 0000000000000..f43d87c01e549
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/bmake-no-compiler-rt.patch
@@ -0,0 +1,11 @@
+--- a/share/mk/src.libnames.mk	2023-12-21 23:56:50.767042385 -0800
++++ b/share/mk/src.libnames.mk	2023-12-21 23:56:39.671089506 -0800
+@@ -392,7 +392,7 @@
+ _DP_ztest=	geom m nvpair umem zpool pthread avl zfs_core spl zutil zfs uutil icp
+ # The libc dependencies are not strictly needed but are defined to make the
+ # assert happy.
+-_DP_c=		compiler_rt
++_DP_c=		
+ # Use libssp_nonshared only on i386 and power*.  Other archs emit direct calls
+ # to __stack_chk_fail, not __stack_chk_fail_local provided by libssp_nonshared.
+ .if ${MK_SSP} != "no" && \
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/compat-fix-typedefs-locations.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/compat-fix-typedefs-locations.patch
new file mode 100644
index 0000000000000..3336a2504e584
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/compat-fix-typedefs-locations.patch
@@ -0,0 +1,32 @@
+--- a/tools/build/cross-build/include/common/sys/_types.h
++++ b/tools/build/cross-build/include/common/sys/_types.h
+@@ -47,3 +47,6 @@
+  * Neither GLibc nor macOS define __va_list but many FreeBSD headers require it.
+  */
+ typedef __builtin_va_list __va_list;
++
++typedef __UINTPTR_TYPE__ __uintptr_t;
++typedef __INTPTR_TYPE__ __intptr_t;
+--- a/tools/build/cross-build/include/common/sys/types.h
++++ b/tools/build/cross-build/include/common/sys/types.h
+@@ -49,9 +49,6 @@
+ #include <sys/sysmacros.h>
+ #endif
+ 
+-typedef __UINTPTR_TYPE__ __uintptr_t;
+-typedef __INTPTR_TYPE__ __intptr_t;
+-
+ /* needed for gencat */
+ typedef int __nl_item;
+ 
+--- a/tools/build/cross-build/include/linux/sys/types.h
++++ b/tools/build/cross-build/include/linux/sys/types.h
+@@ -39,6 +39,8 @@
+ 
+ #include_next <sys/types.h>
+ 
++#include <sys/_types.h>
++
+ #ifndef __size_t
+ typedef __SIZE_TYPE__ __size_t;
+ #endif
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/compat-install-dirs.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/compat-install-dirs.patch
new file mode 100644
index 0000000000000..4bc21cf8eb147
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/compat-install-dirs.patch
@@ -0,0 +1,40 @@
+diff --git a/tools/build/Makefile b/tools/build/Makefile
+index 948a5f9dfdb..592af84eeae 100644
+--- a/tools/build/Makefile
++++ b/tools/build/Makefile
+@@ -327,14 +327,14 @@ host-symlinks:
+ # and cross-tools stages. We do this here using mkdir since mtree may not exist
+ # yet (this happens if we are crossbuilding from Linux/Mac).
+ INSTALLDIR_LIST= \
+-	bin \
+-	lib/geom \
+-	usr/include/casper \
+-	usr/include/private/ucl \
+-	usr/include/private/zstd \
+-	usr/lib \
+-	usr/libdata/pkgconfig \
+-	usr/libexec
++	${BINDIR} \
++	${LIBDIR}/geom \
++	${INCLUDEDIR}/casper \
++	${INCLUDEDIR}/private/ucl \
++	${INCLUDEDIR}/private/zstd \
++	${LIBDIR} \
++	${LIBDIR}/libdata/pkgconfig \
++	${LIBEXECDIR}
+ 
+ installdirs:
+ 	mkdir -p ${INSTALLDIR_LIST:S,^,${DESTDIR}/,}
+@@ -352,9 +352,9 @@ installdirs:
+ 	    rm -rf "${DESTDIR}/${_dir}"; \
+ 	fi
+ .endfor
+-	ln -sfn bin ${DESTDIR}/sbin
+-	ln -sfn ../bin ${DESTDIR}/usr/bin
+-	ln -sfn ../bin ${DESTDIR}/usr/sbin
++	ln -sfn bin ${DESTDIR}/${SBINDIR}
++	ln -sfn ../bin ${DESTDIR}/${BINDIR}
++	ln -sfn ../bin ${DESTDIR}/${SBINDIR}
+ .for _group in ${INCSGROUPS:NINCS}
+ 	mkdir -p "${DESTDIR}/${${_group}DIR}"
+ .endfor
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/install-bootstrap-Makefile.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/install-bootstrap-Makefile.patch
new file mode 100644
index 0000000000000..a69c5501ddd16
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/install-bootstrap-Makefile.patch
@@ -0,0 +1,11 @@
+--- a/usr.bin/xinstall/Makefile	2023-09-23 19:18:49.165192183 -0700
++++ b/usr.bin/xinstall/Makefile	2023-12-06 17:06:57.836888028 -0700
+@@ -14,7 +14,7 @@
+ CFLAGS+=	-I${SRCTOP}/lib/libnetbsd
+ 
+ LIBADD=		md
+-CFLAGS+=	-DWITH_MD5 -DWITH_RIPEMD160
++CFLAGS+=		-I${BSDSRCDIR}/contrib/libc-vis -I${BSDSRCDIR}/lib/libnetbsd
+ 
+ .ifdef BOOTSTRAPPING
+ # For the bootstrap we disable copy_file_range()
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/libc-msun-arch-subdir.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/libc-msun-arch-subdir.patch
new file mode 100644
index 0000000000000..4a69e85a986a0
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/libc-msun-arch-subdir.patch
@@ -0,0 +1,11 @@
+--- a/lib/libc/Makefile
++++ b/lib/libc/Makefile
+@@ -194,7 +194,7 @@ SUBDIR.${MK_TESTS}+= tests
+ # recording a build dependency
+ CFLAGS+= -I${SRCTOP}/lib/libutil
+ # Same issue with libm
+-MSUN_ARCH_SUBDIR != ${MAKE} -B -C ${SRCTOP}/lib/msun -V ARCH_SUBDIR
++MSUN_ARCH_SUBDIR = ${MACHINE_CPUARCH:S/i386/i387/}
+ # unfortunately msun/src contains both private and public headers
+ CFLAGS+= -I${SRCTOP}/lib/msun/${MSUN_ARCH_SUBDIR}
+ .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/libc-no-force--lcompiler-rt.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/libc-no-force--lcompiler-rt.patch
new file mode 100644
index 0000000000000..60176fb73cf76
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/libc-no-force--lcompiler-rt.patch
@@ -0,0 +1,10 @@
+--- a/lib/libc/Makefile
++++ b/lib/libc/Makefile
+@@ -58,7 +58,6 @@ CFLAGS+=${CANCELPOINTS_CFLAGS}
+ # Link with static libcompiler_rt.a.
+ #
+ LDFLAGS+= -nodefaultlibs
+-LIBADD+=	compiler_rt
+ 
+ .if ${MK_SSP} != "no" && \
+     (${LIBC_ARCH} == "i386" || ${MACHINE_ARCH:Mpower*} != "")
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/libnetbsd-do-install.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/libnetbsd-do-install.patch
new file mode 100644
index 0000000000000..a7bd032d2be54
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/libnetbsd-do-install.patch
@@ -0,0 +1,32 @@
+diff --git a/Makefile b/Makefile
+index 22710f3d933..22effc848cf 100644
+--- a/lib/libnetbsd/Makefile
++++ b/lib/libnetbsd/Makefile
+@@ -9,6 +9,26 @@ CFLAGS+=	-I${.CURDIR}
+ 
+ SRCS+=	efun.c sockaddr_snprintf.c strsuftoll.c util.c util.h
+ 
+-INTERNALLIB=
++INCSGROUPS= INCS SYSINCS NETINETINCS
++
++INCS+= \
++	glob.h \
++	pthread.h \
++	rmd160.h \
++	sha1.h \
++	sha2.h \
++	stdlib.h \
++	util.h
++
++SYSINCSDIR= ${INCLUDEDIR}/sys
++SYSINCS+= \
++	sys/cdefs.h \
++	sys/event.h \
++	sys/types.h \
++	sys/wait.h
++
++NETINETINCSDIR= ${INCLUDEDIR}/netinet
++NETINETINCS+= \
++	netinet/in.h
+ 
+ .include <bsd.lib.mk>
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/librpcsvc-include-subdir.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/librpcsvc-include-subdir.patch
new file mode 100644
index 0000000000000..38e06682869fb
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/librpcsvc-include-subdir.patch
@@ -0,0 +1,11 @@
+--- a/lib/librpcsvc/Makefile
++++ b/lib/librpcsvc/Makefile
+@@ -20,7 +20,7 @@ OTHERSRCS+= yp_passwd.c yp_update.c
+ 
+ RPCCOM=	RPCGEN_CPP=${CPP:Q} rpcgen -C
+ 
+-INCDIRS= -I${SYSROOT:U${DESTDIR}}/usr/include/rpcsvc
++INCDIRS= -I${INCLUDEDIR}/rpcsvc
+ 
+ CFLAGS+= -DYP ${INCDIRS}
+ 
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/mtree-Makefile.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/mtree-Makefile.patch
new file mode 100644
index 0000000000000..2a6e560d1d287
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/mtree-Makefile.patch
@@ -0,0 +1,13 @@
+--- a/contrib/mtree/Makefile	2023-12-04 23:02:13.919144141 -0700
++++ b/contrib/mtree/Makefile		2023-12-04 23:02:58.371810109 -0700
+@@ -10,8 +10,8 @@
+ SRCS=  compare.c crc.c create.c excludes.c misc.c mtree.c spec.c specspec.c \
+        verify.c getid.c pack_dev.c only.c
+ .if (${HOSTPROG:U} == "")
+-DPADD+= ${LIBUTIL}
+-LDADD+= -lutil
++LIBADD+= ${LIBUTIL}
++#LIBADD+= -lutil
+ .endif
+
+ CPPFLAGS+=	-I${NETBSDSRCDIR}/sbin/mknod
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/no-perms-BSD.include.dist.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/no-perms-BSD.include.dist.patch
new file mode 100644
index 0000000000000..985617ee0f457
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/no-perms-BSD.include.dist.patch
@@ -0,0 +1,11 @@
+--- a/etc/mtree/BSD.include.dist
++++ b/etc/mtree/BSD.include.dist
+@@ -3,7 +3,7 @@
+ # Please see the file src/etc/mtree/README before making changes to this file.
+ #
+ 
+-/set type=dir uname=root gname=wheel mode=0755
++/set type=dir
+ .
+     arpa
+     ..
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/rtld-no-force--lcompiler-rt.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/rtld-no-force--lcompiler-rt.patch
new file mode 100644
index 0000000000000..45f0d0c51eec0
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/rtld-no-force--lcompiler-rt.patch
@@ -0,0 +1,10 @@
+--- a/libexec/rtld-elf/Makefile
++++ b/libexec/rtld-elf/Makefile
+@@ -86,7 +86,6 @@ 
+ 
+ # Some of the required math functions (div & mod) are implemented in
+ # libcompiler_rt on some architectures.
+-LIBADD+=	compiler_rt
+ 
+ .include <bsd.prog.mk>
+ ${PROG_FULL}:  ${VERSION_MAP}
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/sys-gnu-date.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/sys-gnu-date.patch
new file mode 100644
index 0000000000000..2356446baf853
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/sys-gnu-date.patch
@@ -0,0 +1,13 @@
+diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
+index c594724d814..d5287c7b992 100644
+--- a/sys/conf/newvers.sh
++++ b/sys/conf/newvers.sh
+@@ -177,7 +177,7 @@ u=${USER:-root}
+ d=$(pwd)
+ h=${HOSTNAME:-$(hostname)}
+ if [ -n "$SOURCE_DATE_EPOCH" ]; then
+-	if ! t=$(date -r $SOURCE_DATE_EPOCH 2>/dev/null); then
++	if ! t=$(date -d @$SOURCE_DATE_EPOCH 2>/dev/null); then
+ 		echo "Invalid SOURCE_DATE_EPOCH" >&2
+ 		exit 1
+ 	fi
diff --git a/pkgs/os-specific/bsd/freebsd/patches/14.0/sys-no-explicit-intrinsics-dep.patch b/pkgs/os-specific/bsd/freebsd/patches/14.0/sys-no-explicit-intrinsics-dep.patch
new file mode 100644
index 0000000000000..5cf926d4519b2
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/patches/14.0/sys-no-explicit-intrinsics-dep.patch
@@ -0,0 +1,42 @@
+--- a/sys/modules/aesni/Makefile	2023-12-16 09:19:28.454892154 -0700
++++ b/sys/Modules/aesni/Makefile	2023-12-16 09:19:41.975047684 -0700
+@@ -1,6 +1,5 @@
+ 
+ .PATH: ${SRCTOP}/sys/crypto/aesni
+-.PATH: ${SRCTOP}/contrib/llvm-project/clang/lib/Headers
+ 
+ KMOD=	aesni
+ SRCS=	aesni.c
+@@ -39,8 +38,8 @@
+ aesni_ghash.o: aesni.h
+ aesni_wrap.o: aesni.h
+ aesni_ccm.o: aesni.h
+-intel_sha1.o: sha_sse.h immintrin.h shaintrin.h tmmintrin.h xmmintrin.h
+-intel_sha256.o: sha_sse.h immintrin.h shaintrin.h tmmintrin.h xmmintrin.h
++intel_sha1.o: sha_sse.h
++intel_sha256.o: sha_sse.h
+ 
+ .include <bsd.kmod.mk>
+ 
+diff --git a/sys/modules/blake2/Makefile b/sys/modules/blake2/Makefile
+index e4b3fb9f126..5bfd9c2ae02 100644
+--- a/sys/modules/blake2/Makefile
++++ b/sys/modules/blake2/Makefile
+@@ -3,7 +3,6 @@
+ .PATH:	${SRCTOP}/sys/contrib/libb2
+ .PATH:	${SRCTOP}/sys/crypto/blake2
+ .PATH:	${SRCTOP}/sys/opencrypto
+-.PATH:	${SRCTOP}/contrib/llvm-project/clang/lib/Headers
+ 
+ KMOD	= blake2
+ 
+@@ -64,8 +63,7 @@ ${src:S/.c/.o/}: ${src}
+ 	    -D_MM_MALLOC_H_INCLUDED -Wno-unused-function ${.IMPSRC}
+ 	${CTFCONVERT_CMD}
+ 
+-${src:S/.c/.o/}: intrin.h emmintrin.h tmmintrin.h smmintrin.h immintrin.h \
+-    x86intrin.h ${SRCS:M*.h}
++${src:S/.c/.o/}: ${SRCS:M*.h}
+ .endfor
+ 
+ # FreeBSD-specific sources:
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix
index be3a7a9104745..f597d6e3705b4 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix
@@ -2,7 +2,7 @@
   lib,
   stdenv,
   mkDerivation,
-  patchesRoot,
+  versionData,
   bsdSetupHook,
   freebsdSetupHook,
   makeMinimal,
@@ -17,7 +17,7 @@ let
   inherit (freebsd-lib) mkBsdArch;
 in
 
-mkDerivation rec {
+mkDerivation {
   pname = "compat";
   path = "tools/build";
   extraPaths =
@@ -40,6 +40,9 @@ mkDerivation rec {
       # Take only individual headers, or else we will clobber native libc, etc.
 
       "sys/rpc/types.h"
+    ]
+    ++ lib.optionals (versionData.major == 14) [ "sys/sys/bitcount.h" ]
+    ++ [
 
       # Listed in Makekfile as INC
       "include/mpool.h"
@@ -53,6 +56,13 @@ mkDerivation rec {
       "include/nl_types.h"
       "include/elf.h"
       "sys/sys/ctf.h"
+    ]
+    ++ lib.optionals (versionData.major == 14) [
+      "include/bitstring.h"
+      "sys/sys/bitstring.h"
+      "sys/sys/nv_namespace.h"
+    ]
+    ++ [
 
       # Listed in Makekfile as SYSINC
 
@@ -80,6 +90,12 @@ mkDerivation rec {
       "sys/sys/font.h"
       "sys/sys/consio.h"
       "sys/sys/fnv_hash.h"
+      #"sys/sys/cdefs.h"
+      #"sys/sys/param.h"
+      "sys/sys/_null.h"
+      #"sys/sys/types.h"
+      "sys/sys/_pthreadtypes.h"
+      "sys/sys/_stdint.h"
 
       "sys/crypto/chacha20/_chacha.h"
       "sys/crypto/chacha20/chacha.h"
@@ -92,12 +108,11 @@ mkDerivation rec {
 
       "lib/libcapsicum"
       "lib/libcasper"
-    ];
+      "lib/libmd"
 
-  patches = [
-    /${patchesRoot}/compat-install-dirs.patch
-    /${patchesRoot}/compat-fix-typedefs-locations.patch
-  ];
+      # idk bro
+      "sys/sys/kbio.h"
+    ];
 
   preBuild =
     ''
@@ -151,4 +166,9 @@ mkDerivation rec {
     + lib.optionalString stdenv.hostPlatform.isDarwin ''
       cp --no-preserve=mode -r cross-build/include/darwin/* $out/1-include
     '';
+
+  # Compat is for making other platforms look like FreeBSD (e.g. to
+  # build build-time dependencies for building FreeBSD packages). It is
+  # not needed when building for FreeBSD.
+  meta.broken = stdenv.hostPlatform.isFreeBSD;
 }
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/csu.nix b/pkgs/os-specific/bsd/freebsd/pkgs/csu.nix
index fd62338d7f9f0..0f74d78b1d13d 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/csu.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/csu.nix
@@ -12,6 +12,7 @@
 }:
 
 mkDerivation {
+  isStatic = true;
   path = "lib/csu";
   extraPaths = [
     "lib/Makefile.inc"
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/ctfconvert.nix b/pkgs/os-specific/bsd/freebsd/pkgs/ctfconvert.nix
index a85836e58b8de..9e653bb4f51ef 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/ctfconvert.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/ctfconvert.nix
@@ -1,15 +1,7 @@
 {
   lib,
-  stdenv,
   mkDerivation,
-  bsdSetupHook,
-  freebsdSetupHook,
-  makeMinimal,
-  install,
-  mandoc,
-  groff,
   compatIfNeeded,
-  libelf,
   libdwarf,
   zlib,
   libspl,
@@ -26,21 +18,18 @@ mkDerivation {
   ];
   OPENSOLARIS_USR_DISTDIR = "$(SRCTOP)/cddl/contrib/opensolaris";
   OPENSOLARIS_SYS_DISTDIR = "$(SRCTOP)/sys/cddl/contrib/opensolaris";
-  nativeBuildInputs = [
-    bsdSetupHook
-    freebsdSetupHook
-    makeMinimal
-    install
-    mandoc
-    groff
 
-    # flex byacc file2c
+  makeFlags = [
+    "STRIP=-s"
+    "MK_WERROR=no"
+    "MK_TESTS=no"
   ];
+
   buildInputs = compatIfNeeded ++ [
-    libelf
     libdwarf
     zlib
     libspl
   ];
+
   meta.license = lib.licenses.cddl;
 }
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/filterSource.nix b/pkgs/os-specific/bsd/freebsd/pkgs/filterSource.nix
new file mode 100644
index 0000000000000..dc215c18aecb7
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/filterSource.nix
@@ -0,0 +1,23 @@
+{
+  lib,
+  pkgsBuildBuild,
+  runCommand,
+  writeText,
+  source,
+}:
+
+{
+  pname,
+  path,
+  extraPaths ? [ ],
+}:
+
+let
+  sortedPaths = lib.naturalSort ([ path ] ++ extraPaths);
+  filterText = writeText "${pname}-src-include" (
+    lib.concatMapStringsSep "\n" (path: "/${path}") sortedPaths
+  );
+in
+runCommand "${pname}-filtered-src" { nativeBuildInputs = [ pkgsBuildBuild.rsync ]; } ''
+  rsync -a -r --files-from=${filterText} ${source}/ $out
+''
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh b/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh
index 929782954ba77..96a3d14c80f7b 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh
@@ -5,7 +5,18 @@ setFreeBSDSrcTop() {
 addFreeBSDMakeFlags() {
   makeFlags="SBINDIR=${!outputBin}/bin $makeFlags"
   makeFlags="LIBEXECDIR=${!outputLib}/libexec $makeFlags"
+  makeFlags="LIBDATADIR=${!outputLib}/data $makeFlags"
   makeFlags="INCLUDEDIR=${!outputDev}/include $makeFlags"
+  makeFlags="CONFDIR=${!outputBin}/etc $makeFlags"
+  makeFlags="MANDIR=${!outputMan}/share/man/man $makeFlags"
+
+  if [ -n "$debug" ]; then
+    makeFlags="DEBUGFILEDIR=${debug}/lib/debug $makeFlags"
+  else
+    makeFlags="DEBUGFILEDIR=${out}/lib/debug $makeFlags"
+  fi
+
+  echo $makeFlags
 }
 
 postUnpackHooks+=(setFreeBSDSrcTop)
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/include/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/include/package.nix
index fd17dcbb99e0b..70734226a54f5 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/include/package.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/include/package.nix
@@ -1,19 +1,13 @@
 {
   lib,
   mkDerivation,
-  patchesRoot,
   buildPackages,
-  bsdSetupHook,
-  freebsdSetupHook,
-  makeMinimal,
-  install,
-  mandoc,
-  groff,
-  rsync, # , nbperf
   rpcgen,
+  mtree,
 }:
 
 mkDerivation {
+  isStatic = true;
   path = "include";
 
   extraPaths = [
@@ -22,22 +16,11 @@ mkDerivation {
     "sys"
   ];
 
-  nativeBuildInputs = [
-    bsdSetupHook
-    freebsdSetupHook
-    makeMinimal
-    install
-    mandoc
-    groff
-    rsync # nbperf
+  extraNativeBuildInputs = [
     rpcgen
-
-    # HACK use NetBSD's for now
-    buildPackages.netbsd.mtree
+    mtree
   ];
 
-  patches = [ /${patchesRoot}/no-perms-BSD.include.dist.patch ];
-
   # The makefiles define INCSDIR per subdirectory, so we have to set
   # something else on the command line so those definitions aren't
   # overridden.
@@ -46,6 +29,7 @@ mkDerivation {
       sed -i -E \
         -e 's_/usr/include_''${INCSDIR0}_' \
         {} \;
+    sed -E -i -e "/_PATH_LOGIN/d" $BSDSRCDIR/include/paths.h
   '';
 
   makeFlags = [ "RPCGEN_CPP=${buildPackages.stdenv.cc.cc}/bin/cpp" ];
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/install.nix b/pkgs/os-specific/bsd/freebsd/pkgs/install.nix
index 0f70087618df0..b8e59adb09c5f 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/install.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/install.nix
@@ -4,7 +4,6 @@
   mkDerivation,
   writeShellScript,
   freebsd-lib,
-  mtree,
   bsdSetupHook,
   freebsdSetupHook,
   makeMinimal,
@@ -30,7 +29,7 @@ let
 in
 mkDerivation {
   path = "usr.bin/xinstall";
-  extraPaths = [ mtree.path ];
+  extraPaths = [ "contrib/mtree" ];
   nativeBuildInputs = [
     bsdSetupHook
     freebsdSetupHook
@@ -44,13 +43,18 @@ mkDerivation {
     libmd
     libnetbsd
   ];
-  makeFlags = [
-    "STRIP=-s" # flag to install, not command
-    "MK_WERROR=no"
-    "TESTSDIR=${builtins.placeholder "test"}"
-  ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "INSTALL=boot-install";
+  makeFlags =
+    [
+      "STRIP=-s" # flag to install, not command
+      "MK_WERROR=no"
+      "TESTSDIR=${builtins.placeholder "test"}"
+    ]
+    ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
+      "BOOTSTRAPPING=1"
+      "INSTALL=boot-install"
+    ];
   postInstall = ''
-    install -D -m 0550 ${binstall} $out/bin/binstall
+    install -C -m 0550 ${binstall} $out/bin/binstall
     substituteInPlace $out/bin/binstall --subst-var out
     mv $out/bin/install $out/bin/xinstall
     ln -s ./binstall $out/bin/install
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libc/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libc/package.nix
index 6cf2216ba05f4..8f2cc976463e4 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/libc/package.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/libc/package.nix
@@ -1,8 +1,8 @@
 {
   lib,
+  buildPackages,
   stdenv,
   mkDerivation,
-  patchesRoot,
 
   bsdSetupHook,
   freebsdSetupHook,
@@ -12,62 +12,108 @@
   byacc,
   gencat,
   rpcgen,
+  mkcsmapper,
+  mkesdb,
 
   csu,
   include,
+  versionData,
 }:
 
-mkDerivation rec {
+mkDerivation {
+  isStatic = true;
   pname = "libc";
   path = "lib/libc";
-  extraPaths = [
-    "etc/group"
-    "etc/master.passwd"
-    "etc/shells"
-    "lib/libmd"
-    "lib/libutil"
-    "lib/msun"
-    "sys/kern"
-    "sys/libkern"
-    "sys/sys"
-    "sys/crypto/chacha20"
-    "include/rpcsvc"
-    "contrib/jemalloc"
-    "contrib/gdtoa"
-    "contrib/libc-pwcache"
-    "contrib/libc-vis"
-    "contrib/tzcode/stdtime"
-
-    # libthr
-    "lib/libthr"
-    "lib/libthread_db"
-    "libexec/rtld-elf"
-
-    # librpcsvc
-    "lib/librpcsvc"
-
-    # librt
-    "lib/librt"
-
-    # libcrypt
-    "lib/libcrypt"
-    "lib/libmd"
-    "sys/crypto/sha2"
-  ];
+  extraPaths =
+    [
+      "lib/libc_nonshared"
+      "etc/group"
+      "etc/master.passwd"
+      "etc/shells"
+      "lib/libmd"
+      "lib/libutil"
+      "lib/msun"
+      "sys/kern"
+      "sys/libkern"
+      "sys/sys"
+      "sys/crypto/chacha20"
+      "include/rpcsvc"
+      "contrib/jemalloc"
+      "contrib/gdtoa"
+      "contrib/libc-pwcache"
+      "contrib/libc-vis"
+    ]
+    ++ lib.optionals (versionData.major == 13) [ "contrib/tzcode/stdtime" ]
+    ++ lib.optionals (versionData.major == 14) [ "contrib/tzcode" ]
+    ++ [
 
-  patches = [
-    # Hack around broken propogating MAKEFLAGS to submake, just inline logic
-    /${patchesRoot}/libc-msun-arch-subdir.patch
+      # libthr
+      "lib/libthr"
+      "lib/libthread_db"
+      "libexec/rtld-elf"
+      "lib/csu/common/crtbrand.S"
+      "lib/csu/common/notes.h"
 
-    # Don't force -lcompiler-rt, we don't actually call it that
-    /${patchesRoot}/libc-no-force--lcompiler-rt.patch
+      # librpcsvc
+      "lib/librpcsvc"
 
-    # Fix extra include dir to get rpcsvc headers.
-    /${patchesRoot}/librpcsvc-include-subdir.patch
-  ];
+      # librt
+      "lib/librt"
+
+      # libcrypt
+      "lib/libcrypt"
+      "lib/libmd"
+      "sys/crypto/sha2"
+      "sys/crypto/skein"
+
+      # libgcc and friends
+      "lib/libgcc_eh"
+      "lib/libgcc_s"
+      "lib/libcompiler_rt"
+      "contrib/llvm-project/libunwind"
+      "contrib/llvm-project/compiler-rt"
+      #"contrib/llvm-project/libcxx"
+
+      # terminfo
+      "lib/ncurses"
+      "contrib/ncurses"
+      "lib/Makefile.inc"
+    ]
+    ++ lib.optionals (stdenv.hostPlatform.isx86_32) [ "lib/libssp_nonshared" ]
+    ++ [
+      "lib/libexecinfo"
+      "contrib/libexecinfo"
+
+      "lib/libkvm"
+      "sys" # ummmmmmmmmm libkvm wants arch-specific headers from the kernel tree
+
+      "lib/libmemstat"
+
+      "lib/libprocstat"
+      "sys/contrib/openzfs"
+      "sys/contrib/pcg-c"
+      "sys/opencrypto"
+      "sys/contrib/ck"
+      "sys/crypto"
+
+      "lib/libdevstat"
+
+      "lib/libelf"
+      "contrib/elftoolchain"
+
+      "lib/libiconv_modules"
+      "share/i18n"
+      "include/paths.h"
+
+      "lib/libdl"
+    ];
 
   postPatch = ''
     substituteInPlace $COMPONENT_PATH/Makefile --replace '.include <src.opts.mk>' ""
+
+    substituteInPlace $BSDSRCDIR/include/paths.h \
+        --replace '/usr/lib/i18n' '${builtins.placeholder "out"}/lib/i18n' \
+        --replace '/usr/share/i18n' '${builtins.placeholder "out"}/share/i18n'
   '';
 
   nativeBuildInputs = [
@@ -80,16 +126,20 @@ mkDerivation rec {
     byacc
     gencat
     rpcgen
+    mkcsmapper
+    mkesdb
   ];
   buildInputs = [
     include
     csu
   ];
-  env.NIX_CFLAGS_COMPILE = "-B${csu}/lib";
-
-  # Suppress lld >= 16 undefined version errors
-  # https://github.com/freebsd/freebsd-src/commit/2ba84b4bcdd6012e8cfbf8a0d060a4438623a638
-  env.NIX_LDFLAGS = lib.optionalString (stdenv.targetPlatform.linker == "lld") "--undefined-version";
+  env.NIX_CFLAGS_COMPILE = toString [
+    "-B${csu}/lib"
+    # These are supposed to have _RTLD_COMPAT_LIB_SUFFIX so we can get things like "lib32"
+    # but that's unnecessary
+    "-DSTANDARD_LIBRARY_PATH=\"${builtins.placeholder "out"}/lib\""
+    "-D_PATH_RTLD=\"${builtins.placeholder "out"}/libexec/ld-elf.so.1\""
+  ];
 
   makeFlags = [
     "STRIP=-s" # flag to install, not command
@@ -100,7 +150,7 @@ mkDerivation rec {
   MK_SYMVER = "yes";
   MK_SSP = "yes";
   MK_NLS = "yes";
-  MK_ICONV = "no"; # TODO make srctop
+  MK_ICONV = "yes";
   MK_NS_CACHING = "yes";
   MK_INET6_SUPPORT = "yes";
   MK_HESIOD = "yes";
@@ -112,44 +162,125 @@ mkDerivation rec {
   MK_MALLOC_PRODUCTION = "yes";
 
   MK_TESTS = "no";
+  MACHINE_ABI = "";
+  MK_DETECT_TZ_CHANGES = "no";
+  MK_MACHDEP_OPTIMIZATIONS = "yes";
+  MK_ASAN = "no";
+  MK_UBSAN = "no";
+
+  NO_FSCHG = "yes";
+
+  preBuild = lib.optionalString (stdenv.hostPlatform.isx86_32) ''
+    make -C $BSDSRCDIR/lib/libssp_nonshared $makeFlags
+    make -C $BSDSRCDIR/lib/libssp_nonshared $makeFlags install
+  '';
 
-  postInstall = ''
-    pushd ${include}
-    find . -type d -exec mkdir -p $out/\{} \;
-    find . \( -type f -o -type l \) -exec cp -pr \{} $out/\{} \;
-    popd
+  postInstall =
+    ''
+      pushd ${include}
+      find . -type d -exec mkdir -p $out/\{} \;
+      find . \( -type f -o -type l \) -exec cp -pr \{} $out/\{} \;
+      popd
 
-    pushd ${csu}
-    find . -type d -exec mkdir -p $out/\{} \;
-    find . \( -type f -o -type l \) -exec cp -pr \{} $out/\{} \;
-    popd
+      pushd ${csu}
+      find . -type d -exec mkdir -p $out/\{} \;
+      find . \( -type f -o -type l \) -exec cp -pr \{} $out/\{} \;
+      popd
 
-    sed -i -e 's| [^ ]*/libc_nonshared.a||' $out/lib/libc.so
+      mkdir $BSDSRCDIR/lib/libcompiler_rt/i386
+      make -C $BSDSRCDIR/lib/libcompiler_rt $makeFlags
+      make -C $BSDSRCDIR/lib/libcompiler_rt $makeFlags install
 
-    $CC -nodefaultlibs -lgcc -shared -o $out/lib/libgcc_s.so
+      make -C $BSDSRCDIR/lib/libgcc_eh $makeFlags
+      make -C $BSDSRCDIR/lib/libgcc_eh $makeFlags install
 
-    NIX_CFLAGS_COMPILE+=" -B$out/lib"
-    NIX_CFLAGS_COMPILE+=" -I$out/include"
-    NIX_LDFLAGS+=" -L$out/lib"
+      ln -s $BSDSRCDIR/lib/libc/libc.so.7 $BSDSRCDIR/lib/libc/libc.so  # not sure
+      mkdir $BSDSRCDIR/lib/libgcc_s/i386
+      make -C $BSDSRCDIR/lib/libgcc_s $makeFlags
+      make -C $BSDSRCDIR/lib/libgcc_s $makeFlags install
 
-    make -C $BSDSRCDIR/lib/libthr $makeFlags
-    make -C $BSDSRCDIR/lib/libthr $makeFlags install
+      NIX_CFLAGS_COMPILE+=" -B$out/lib"
+      NIX_CFLAGS_COMPILE+=" -I$out/include"
+      NIX_LDFLAGS+=" -L$out/lib"
 
-    make -C $BSDSRCDIR/lib/msun $makeFlags
-    make -C $BSDSRCDIR/lib/msun $makeFlags install
+      make -C $BSDSRCDIR/lib/libc_nonshared $makeFlags
+      make -C $BSDSRCDIR/lib/libc_nonshared $makeFlags install
 
-    make -C $BSDSRCDIR/lib/librpcsvc $makeFlags
-    make -C $BSDSRCDIR/lib/librpcsvc $makeFlags install
+      mkdir $BSDSRCDIR/lib/libmd/sys
+      make -C $BSDSRCDIR/lib/libmd $makeFlags
+      make -C $BSDSRCDIR/lib/libmd $makeFlags install
 
-    make -C $BSDSRCDIR/lib/libutil $makeFlags
-    make -C $BSDSRCDIR/lib/libutil $makeFlags install
+      make -C $BSDSRCDIR/lib/libthr $makeFlags
+      make -C $BSDSRCDIR/lib/libthr $makeFlags install
 
-    make -C $BSDSRCDIR/lib/librt $makeFlags
-    make -C $BSDSRCDIR/lib/librt $makeFlags install
+      make -C $BSDSRCDIR/lib/msun $makeFlags
+      make -C $BSDSRCDIR/lib/msun $makeFlags install
 
-    make -C $BSDSRCDIR/lib/libcrypt $makeFlags
-    make -C $BSDSRCDIR/lib/libcrypt $makeFlags install
+      make -C $BSDSRCDIR/lib/librpcsvc $makeFlags
+      make -C $BSDSRCDIR/lib/librpcsvc $makeFlags install
+
+      make -C $BSDSRCDIR/lib/libutil $makeFlags
+      make -C $BSDSRCDIR/lib/libutil $makeFlags install
+
+      make -C $BSDSRCDIR/lib/librt $makeFlags
+      make -C $BSDSRCDIR/lib/librt $makeFlags install
+
+      make -C $BSDSRCDIR/lib/libcrypt $makeFlags
+      make -C $BSDSRCDIR/lib/libcrypt $makeFlags install
+
+      make -C $BSDSRCDIR/lib/libelf $makeFlags
+      make -C $BSDSRCDIR/lib/libelf $makeFlags install
+
+      make -C $BSDSRCDIR/lib/libexecinfo $makeFlags
+      make -C $BSDSRCDIR/lib/libexecinfo $makeFlags install
+
+      make -C $BSDSRCDIR/lib/libkvm $makeFlags
+      make -C $BSDSRCDIR/lib/libkvm $makeFlags install
+
+      make -C $BSDSRCDIR/lib/libmemstat $makeFlags
+      make -C $BSDSRCDIR/lib/libmemstat $makeFlags install
+
+      make -C $BSDSRCDIR/lib/libprocstat $makeFlags
+      make -C $BSDSRCDIR/lib/libprocstat $makeFlags install
+
+      make -C $BSDSRCDIR/lib/libdevstat $makeFlags
+      make -C $BSDSRCDIR/lib/libdevstat $makeFlags install
+
+      make -C $BSDSRCDIR/lib/libiconv_modules $makeFlags
+      make -C $BSDSRCDIR/lib/libiconv_modules $makeFlags SHLIBDIR=${builtins.placeholder "out"}/lib/i18n install
+
+      make -C $BSDSRCDIR/lib/libdl $makeFlags
+      make -C $BSDSRCDIR/lib/libdl $makeFlags install
+
+      make -C $BSDSRCDIR/share/i18n $makeFlags
+      make -C $BSDSRCDIR/share/i18n $makeFlags ESDBDIR=${builtins.placeholder "out"}/share/i18n/esdb CSMAPPERDIR=${builtins.placeholder "out"}/share/i18n/csmapper install
+
+    ''
+    + lib.optionalString stdenv.hostPlatform.isx86_32 ''
+      $CC -c $BSDSRCDIR/contrib/llvm-project/compiler-rt/lib/builtins/udivdi3.c -o $BSDSRCDIR/contrib/llvm-project/compiler-rt/lib/builtins/udivdi3.o
+      ORIG_NIX_LDFLAGS="$NIX_LDFLAGS"
+      NIX_LDFLAGS+=" $BSDSRCDIR/contrib/llvm-project/compiler-rt/lib/builtins/udivdi3.o"
+    ''
+    + ''
+      make -C $BSDSRCDIR/libexec/rtld-elf $makeFlags
+      make -C $BSDSRCDIR/libexec/rtld-elf $makeFlags install
+      rm -f $out/libexec/ld-elf.so.1
+      mv $out/bin/ld-elf.so.1 $out/libexec
+    '';
+
+  # libc should not be allowed to refer to anything other than itself
+  postFixup = ''
+    find $out -type f | xargs -n1 ${buildPackages.patchelf}/bin/patchelf --shrink-rpath --allowed-rpath-prefixes $out || true
   '';
 
   meta.platforms = lib.platforms.freebsd;
+
+  # definitely a bad idea to enable stack protection on the stack protection initializers
+  hardeningDisable = [ "stackprotector" ];
+
+  outputs = [
+    "out"
+    "man"
+    "debug"
+  ];
 }
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libdwarf.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libdwarf.nix
index 84115b626a7af..ee4d57b021b1d 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/libdwarf.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/libdwarf.nix
@@ -1,16 +1,8 @@
 {
-  lib,
-  stdenv,
   mkDerivation,
-  bsdSetupHook,
-  freebsdSetupHook,
-  makeMinimal,
-  install,
-  mandoc,
-  groff,
   m4,
   compatIfNeeded,
-  libelf,
+  zlib,
 }:
 
 mkDerivation {
@@ -22,16 +14,7 @@ mkDerivation {
     "sys/sys/elf64.h"
     "sys/sys/elf_common.h"
   ];
-  nativeBuildInputs = [
-    bsdSetupHook
-    freebsdSetupHook
-    makeMinimal
-    install
-    mandoc
-    groff
-
-    m4
-  ];
-  buildInputs = compatIfNeeded ++ [ libelf ];
+  extraNativeBuildInputs = [ m4 ];
+  buildInputs = compatIfNeeded ++ [ zlib ];
   MK_TESTS = "no";
 }
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libelf.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libelf.nix
deleted file mode 100644
index 881cbfcd811c8..0000000000000
--- a/pkgs/os-specific/bsd/freebsd/pkgs/libelf.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-  lib,
-  stdenv,
-  mkDerivation,
-  bsdSetupHook,
-  freebsdSetupHook,
-  makeMinimal,
-  install,
-  mandoc,
-  groff,
-  m4,
-}:
-
-mkDerivation {
-  path = "lib/libelf";
-  extraPaths = [
-    "contrib/elftoolchain/libelf"
-    "contrib/elftoolchain/common"
-    "sys/sys/elf32.h"
-    "sys/sys/elf64.h"
-    "sys/sys/elf_common.h"
-  ];
-  BOOTSTRAPPING = !stdenv.isFreeBSD;
-  nativeBuildInputs = [
-    bsdSetupHook
-    freebsdSetupHook
-    makeMinimal
-    install
-    mandoc
-    groff
-
-    m4
-  ];
-  MK_TESTS = "no";
-}
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix
new file mode 100644
index 0000000000000..71d0c1e50d5ea
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix
@@ -0,0 +1,49 @@
+{
+  lib,
+  stdenv,
+  mkDerivation,
+  freebsdSetupHook,
+  bsdSetupHook,
+  makeMinimal,
+}:
+mkDerivation {
+  path = "lib/libmd";
+  extraPaths = [
+    "sys/sys/md5.h"
+    "sys/crypto/sha2"
+    "sys/crypto/skein"
+  ];
+  nativeBuildInputs = [
+    makeMinimal
+    bsdSetupHook
+    freebsdSetupHook
+  ];
+
+  makeFlags = [
+    "STRIP=-s" # flag to install, not command
+    "RELDIR=."
+  ] ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "MK_WERROR=no";
+
+  preBuild = ''
+    mkdir sys
+  '';
+
+  installPhase = ''
+    # libmd is used by install. do it yourself!
+    mkdir -p $out/include $out/lib $man/share/man
+    cp libmd.a $out/lib/libmd.a
+    for f in $(make $makeFlags -V INCS); do
+      if [ -e "$f" ]; then cp "$f" "$out/include/$f"; fi
+      if [ -e "$BSDSRCDIR/sys/crypto/sha2/$f" ]; then cp "$BSDSRCDIR/sys/crypto/sha2/$f" "$out/include/$f"; fi
+      if [ -e "$BSDSRCDIR/sys/crypto/skein/$f" ]; then cp "$BSDSRCDIR/sys/crypto/skein/$f" "$out/include/$f"; fi
+    done
+    for f in $(make $makeFlags -V MAN); do
+      cp "$f" "$man/share/man/$f"
+    done
+  '';
+
+  outputs = [
+    "out"
+    "man"
+  ];
+}
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/package.nix
index 80ea685a3162f..82a9e140102f6 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/package.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/package.nix
@@ -2,7 +2,6 @@
   lib,
   stdenv,
   mkDerivation,
-  patchesRoot,
   bsdSetupHook,
   freebsdSetupHook,
   makeMinimal,
@@ -10,7 +9,6 @@
   groff,
   boot-install,
   install,
-  compatIfNeeded,
 }:
 
 mkDerivation {
@@ -23,13 +21,8 @@ mkDerivation {
     groff
     (if stdenv.hostPlatform == stdenv.buildPlatform then boot-install else install)
   ];
-  patches = lib.optionals (!stdenv.hostPlatform.isFreeBSD) [
-    /${patchesRoot}/libnetbsd-do-install.patch
-    #/${patchesRoot}/libnetbsd-define-__va_list.patch
-  ];
   makeFlags = [
     "STRIP=-s" # flag to install, not command
     "MK_WERROR=no"
   ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "INSTALL=boot-install";
-  buildInputs = compatIfNeeded;
 }
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix
index da5445a09fcda..c444975549ad6 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix
@@ -3,19 +3,20 @@
 mkDerivation {
   path = "cddl/lib/libspl";
   extraPaths = [
-    "sys/contrib/openzfs/lib/libspl"
-    "sys/contrib/openzfs/include"
-
     "cddl/compat/opensolaris/include"
+    "sys/contrib/openzfs/include"
+    "sys/contrib/openzfs/lib/libspl"
     "sys/contrib/openzfs/module/icp/include"
-    "sys/modules/zfs"
+    "sys/modules/zfs/zfs_config.h"
   ];
-  # nativeBuildInputs = [
-  #   bsdSetupHook freebsdSetupHook
-  #   makeMinimal install mandoc groff
 
-  #   flex byacc file2c
-  # ];
-  # buildInputs = compatIfNeeded ++ [ libnv libsbuf ];
-  meta.license = lib.licenses.cddl;
+  # Without a prefix it will try to put object files in nonexistant directories
+  preBuild = ''
+    export MAKEOBJDIRPREFIX=$TMP/obj
+  '';
+
+  meta = with lib; {
+    platform = platforms.freebsd;
+    license = licenses.cddl;
+  };
 }
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix
index 683396d140c2e..6df6fa740f45e 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix
@@ -6,6 +6,5 @@
 mkDerivation {
   path = "lib/libutil";
   extraPaths = [ "lib/libc/gen" ];
-  clangFixup = true;
   MK_TESTS = "no";
 }
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix b/pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix
index abbe2079855ed..25e7f491a1c94 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix
@@ -3,8 +3,7 @@
   bsdSetupHook,
   freebsdSetupHook,
 }:
-
-mkDerivation rec {
+mkDerivation {
   path = "usr.bin/lorder";
   noCC = true;
   dontBuild = true;
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/makeMinimal.nix b/pkgs/os-specific/bsd/freebsd/pkgs/makeMinimal.nix
index c510a4da4b825..069e74474852a 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/makeMinimal.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/makeMinimal.nix
@@ -7,7 +7,7 @@
   freebsdSetupHook,
 }:
 
-mkDerivation rec {
+mkDerivation {
   inherit (make) path;
 
   buildInputs = [ ];
@@ -25,6 +25,8 @@ mkDerivation rec {
     ${make.postPatch}
   '';
 
+  configureFlags = [ "--with-filemon=no" ];
+
   buildPhase = ''
     runHook preBuild
 
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix
index b5c962064fad2..be195b3bc6fa5 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix
@@ -2,11 +2,12 @@
   lib,
   stdenv,
   stdenvNoCC,
+  versionData,
+  writeText,
+  patches,
   compatIfNeeded,
-  runCommand,
-  rsync,
   freebsd-lib,
-  source,
+  filterSource,
   bsdSetupHook,
   freebsdSetupHook,
   makeMinimal,
@@ -24,21 +25,13 @@ lib.makeOverridable (
   in
   stdenv'.mkDerivation (
     rec {
-      pname = "${attrs.pname or (baseNameOf attrs.path)}-freebsd";
       inherit (freebsd-lib) version;
-      src = runCommand "${pname}-filtered-src" { nativeBuildInputs = [ rsync ]; } ''
-        for p in ${lib.concatStringsSep " " ([ attrs.path ] ++ attrs.extraPaths or [ ])}; do
-          set -x
-          path="$out/$p"
-          mkdir -p "$(dirname "$path")"
-          src_path="${source}/$p"
-          if [[ -d "$src_path" ]]; then src_path+=/; fi
-          rsync --chmod="+w" -r "$src_path" "$path"
-          set +x
-        done
-      '';
-
-      extraPaths = [ ];
+      pname = "${attrs.pname or (baseNameOf attrs.path)}";
+      src = filterSource {
+        inherit pname;
+        inherit (attrs) path;
+        extraPaths = attrs.extraPaths or [ ];
+      };
 
       nativeBuildInputs = [
         bsdSetupHook
@@ -48,8 +41,8 @@ lib.makeOverridable (
         tsort
         lorder
         mandoc
-        groff # statHook
-      ];
+        groff
+      ] ++ attrs.extraNativeBuildInputs or [ ];
       buildInputs = compatIfNeeded;
 
       HOST_SH = stdenv'.shell;
@@ -72,11 +65,17 @@ lib.makeOverridable (
 
       strictDeps = true;
 
-      meta = with lib; {
-        maintainers = with maintainers; [ ericson2314 ];
-        platforms = platforms.unix;
-        license = licenses.bsd2;
-      };
+      meta =
+        with lib;
+        {
+          maintainers = with maintainers; [
+            rhelmot
+            artemist
+          ];
+          platforms = platforms.unix;
+          license = licenses.bsd2;
+        }
+        // attrs.meta or { };
     }
     // lib.optionalAttrs stdenv'.hasCC {
       # TODO should CC wrapper set this?
@@ -95,5 +94,71 @@ lib.makeOverridable (
       dontBuild = true;
     }
     // attrs
+    // lib.optionalAttrs (stdenv'.hasCC && stdenv'.cc.isClang or false && attrs.clangFixup or true) {
+      preBuild =
+        ''
+          export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -D_VA_LIST -D_VA_LIST_DECLARED -Dva_list=__builtin_va_list -D_SIZE_T_DECLARED -D_SIZE_T -Dsize_t=__SIZE_TYPE__ -D_WCHAR_T"
+        ''
+        + lib.optionalString (versionData.major == 13) ''
+          export NIX_LDFLAGS="$NIX_LDFLAGS --undefined-version"
+        ''
+        + (attrs.preBuild or "");
+    }
+    // {
+      patches =
+        let
+          isDir =
+            file:
+            let
+              base = baseNameOf file;
+              type = (builtins.readDir (dirOf file)).${base} or null;
+            in
+            file == /. || type == "directory";
+          consolidatePatches =
+            patches:
+            if (lib.isDerivation patches) then
+              [ patches ]
+            else if (builtins.isPath patches) then
+              (if (isDir patches) then (lib.filesystem.listFilesRecursive patches) else [ patches ])
+            else if (builtins.isList patches) then
+              (lib.flatten (builtins.map consolidatePatches patches))
+            else
+              throw "Bad patches - must be path or derivation or list thereof";
+          consolidated = consolidatePatches patches;
+          splitPatch =
+            patchFile:
+            let
+              foldFunc =
+                a: b:
+                if (lib.strings.hasPrefix "--- " b) then
+                  (a ++ [ [ b ] ])
+                else
+                  ((lib.lists.init a) ++ (lib.lists.singleton ((lib.lists.last a) ++ [ b ])));
+              partitionedPatches' = lib.lists.foldl foldFunc [ [ ] ] (
+                lib.strings.splitString "\n" (builtins.readFile patchFile)
+              );
+              partitionedPatches =
+                if (builtins.length partitionedPatches' > 1) then
+                  (lib.lists.drop 1 partitionedPatches')
+                else
+                  (throw "${patchFile} does not seem to be a unified patch (diff -u). this is required for FreeBSD.");
+              filterFunc =
+                patchLines:
+                let
+                  prefixedPath = builtins.elemAt (builtins.split " |\t" (builtins.elemAt patchLines 1)) 2;
+                  unfixedPath = lib.path.subpath.join (lib.lists.drop 1 (lib.path.subpath.components prefixedPath));
+                in
+                lib.lists.any (included: lib.path.hasPrefix (/. + ("/" + included)) (/. + ("/" + unfixedPath))) (
+                  (attrs.extraPaths or [ ]) ++ [ attrs.path ]
+                );
+              filteredLines = builtins.filter filterFunc partitionedPatches;
+              derive = patchLines: writeText "freebsd-patch" (lib.concatLines patchLines);
+              derivedPatches = builtins.map derive filteredLines;
+            in
+            derivedPatches;
+          picked = lib.lists.concatMap splitPatch consolidated;
+        in
+        picked ++ attrs.patches or [ ];
+    }
   )
 )
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mkcsmapper.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mkcsmapper.nix
new file mode 100644
index 0000000000000..60cef347446ec
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/mkcsmapper.nix
@@ -0,0 +1,22 @@
+{
+  stdenv,
+  mkDerivation,
+  byacc,
+  flex,
+}:
+
+mkDerivation {
+  path = "usr.bin/mkcsmapper";
+
+  extraPaths = [
+    "lib/libc/iconv"
+    "lib/libiconv_modules/mapper_std"
+  ];
+
+  BOOTSTRAPPING = !stdenv.hostPlatform.isFreeBSD;
+
+  extraNativeBuildInputs = [
+    byacc
+    flex
+  ];
+}
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mkesdb.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mkesdb.nix
new file mode 100644
index 0000000000000..a503af529f274
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/mkesdb.nix
@@ -0,0 +1,19 @@
+{
+  stdenv,
+  mkDerivation,
+  byacc,
+  flex,
+}:
+
+mkDerivation {
+  path = "usr.bin/mkesdb";
+
+  extraPaths = [ "lib/libc/iconv" ];
+
+  BOOTSTRAPPING = !stdenv.hostPlatform.isFreeBSD;
+
+  extraNativeBuildInputs = [
+    byacc
+    flex
+  ];
+}
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix
index 23a4672069e6a..bbcaff3a1c6a8 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix
@@ -1,6 +1,39 @@
-{ mkDerivation, mknod }:
+{
+  lib,
+  stdenv,
+  mkDerivation,
+  compatIfNeeded,
+  compatIsNeeded,
+  libmd,
+  libnetbsd,
+  libutil,
+}:
 
 mkDerivation {
   path = "contrib/mtree";
-  extraPaths = [ mknod.path ];
+  extraPaths = [ "contrib/mknod" ];
+  buildInputs =
+    compatIfNeeded
+    ++ [
+      libmd
+      libnetbsd
+    ]
+    ++ lib.optional (stdenv.isFreeBSD) libutil;
+
+  postPatch = ''
+    ln -s $BSDSRCDIR/contrib/mknod/*.c $BSDSRCDIR/contrib/mknod/*.h $BSDSRCDIR/contrib/mtree
+  '';
+
+  preBuild = ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS ${
+      toString (
+        [
+          "-lmd"
+          "-lnetbsd"
+        ]
+        ++ lib.optional compatIsNeeded "-legacy"
+        ++ lib.optional stdenv.isFreeBSD "-lutil"
+      )
+    }"
+  '';
 }
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/package.nix
index 409064f2b65dc..e187cacbb0d05 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/package.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/package.nix
@@ -5,7 +5,7 @@
   patchesRoot,
 }:
 
-mkDerivation rec {
+mkDerivation {
   path = "usr.bin/rpcgen";
   patches = lib.optionals (stdenv.hostPlatform.libc == "glibc") [
     # `WUNTRACED` is defined privately `bits/waitflags.h` in glibc.
@@ -22,6 +22,6 @@ mkDerivation rec {
     #
     # This hacks around this by manually including `WUNTRACED` until
     # the problem is fixed properly in glibc.
-    /${patchesRoot}/rpcgen-glibc-hack.patch
+    ./rpcgen-glibc-hack.patch
   ];
 }
diff --git a/pkgs/os-specific/bsd/freebsd/patches/13.1/rpcgen-glibc-hack.patch b/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/rpcgen-glibc-hack.patch
index 3dde1a0106514..3dde1a0106514 100644
--- a/pkgs/os-specific/bsd/freebsd/patches/13.1/rpcgen-glibc-hack.patch
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/rpcgen-glibc-hack.patch
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix b/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix
index 07b55afe133fc..ec5bfee17d2c1 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix
@@ -1,7 +1,6 @@
-{ mkDerivation, source }:
+{ mkDerivation }:
 
 mkDerivation {
   path = "usr.bin/sed";
-  TESTSRC = "${source}/contrib/netbsd-tests";
   MK_TESTS = "no";
 }
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/source.nix b/pkgs/os-specific/bsd/freebsd/pkgs/source.nix
index 5e31f900e8216..c14d26559047b 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/source.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/source.nix
@@ -4,7 +4,6 @@
 # If you want you could fetchgit from "https://git.FreeBSD.org/src.git" instead.
 # The update script still pulls directly from git.freebsd.org
 fetchFromGitHub {
-  name = "src"; # Want to rename this next rebuild
   owner = "freebsd";
   repo = "freebsd-src";
   inherit (sourceData) rev hash;
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix
index 50fff7738919b..86f847cbd45cf 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix
@@ -2,7 +2,6 @@
   stdenv,
   mkDerivation,
   freebsd-lib,
-  patchesRoot,
   buildPackages,
   bsdSetupHook,
   freebsdSetupHook,
@@ -15,7 +14,7 @@
   file2c,
   gawk,
   uudecode,
-  xargs-j, # , ctfconvert
+  xargs-j,
 }:
 
 mkDerivation (
@@ -39,12 +38,6 @@ mkDerivation (
       gawk
       uudecode
       xargs-j
-      #ctfconvert
-    ];
-
-    patches = [
-      /${patchesRoot}/sys-gnu-date.patch
-      /${patchesRoot}/sys-no-explicit-intrinsics-dep.patch
     ];
 
     # --dynamic-linker /red/herring is used when building the kernel.
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix b/pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix
index ab0101789f491..04a45ff980cba 100644
--- a/pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix
@@ -1,4 +1,5 @@
 {
+  lib,
   mkDerivation,
   bsdSetupHook,
   freebsdSetupHook,
@@ -10,6 +11,12 @@
 
 mkDerivation {
   path = "usr.bin/tsort";
+  extraPaths = [ ];
+  outputs = [ "out" ];
+  MK_TESTS = "no";
+  makeFlags = [
+    "STRIP=-s" # flag to install, not command
+  ];
   nativeBuildInputs = [
     bsdSetupHook
     freebsdSetupHook
diff --git a/pkgs/os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh b/pkgs/os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh
index fa8b19e7d8ce4..ef00ea418e535 100644
--- a/pkgs/os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh
+++ b/pkgs/os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh
@@ -9,6 +9,7 @@ mergeNetBSDSourceDir() {
 
 addNetBSDMakeFlags() {
   makeFlags="INCSDIR=${!outputDev}/include $makeFlags"
+  makeFlags="MANDIR=${!outputMan}/share/man $makeFlags"
 }
 
 postUnpackHooks+=(mergeNetBSDSourceDir)
diff --git a/pkgs/os-specific/bsd/setup-hook.sh b/pkgs/os-specific/bsd/setup-hook.sh
index e0afefcd73f71..f9453708ab5db 100644
--- a/pkgs/os-specific/bsd/setup-hook.sh
+++ b/pkgs/os-specific/bsd/setup-hook.sh
@@ -49,7 +49,6 @@ addMakeFlags() {
   makeFlags="LIBDIR=${!outputLib}/lib $makeFlags"
   makeFlags="SHLIBDIR=${!outputLib}/lib $makeFlags"
   makeFlags="SHAREDIR=${!outputLib}/share $makeFlags"
-  makeFlags="MANDIR=${!outputMan}/share/man $makeFlags"
   makeFlags="INFODIR=${!outputInfo}/share/info $makeFlags"
   makeFlags="DOCDIR=${!outputDoc}/share/doc $makeFlags"
   makeFlags="LOCALEDIR=${!outputLib}/share/locale $makeFlags"
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/ipu6-camera-bins/default.nix b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix
index 71a7cd9e947b5..31ac23df39606 100644
--- a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix
+++ b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix
@@ -52,9 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
     sourceProvenance = with sourceTypes; [
       binaryFirmware
     ];
-    maintainers = with maintainers; [
-      hexa
-    ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 })
diff --git a/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix
index e2f2fd4f9fee0..3ad52b314537d 100644
--- a/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix
@@ -40,9 +40,7 @@ stdenv.mkDerivation {
     sourceProvenance = with sourceTypes; [
       binaryFirmware
     ];
-    maintainers = with maintainers; [
-      hexa
-    ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
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/ipu6-drivers/default.nix b/pkgs/os-specific/linux/ipu6-drivers/default.nix
index fe9cb1da018c6..276926fef8aa6 100644
--- a/pkgs/os-specific/linux/ipu6-drivers/default.nix
+++ b/pkgs/os-specific/linux/ipu6-drivers/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation {
     homepage = "https://github.com/intel/ipu6-drivers";
     description = "IPU6 kernel driver";
     license = lib.licenses.gpl2;
-    maintainers = with lib.maintainers; [ hexa ];
+    maintainers = with lib.maintainers; [ ];
     platforms = [ "x86_64-linux" ];
     # requires 6.1.7 https://github.com/intel/ipu6-drivers/pull/84
     broken = kernel.kernelOlder "6.1.7";
diff --git a/pkgs/os-specific/linux/ivsc-driver/default.nix b/pkgs/os-specific/linux/ivsc-driver/default.nix
index 72173de49baa5..5612c9170abd4 100644
--- a/pkgs/os-specific/linux/ivsc-driver/default.nix
+++ b/pkgs/os-specific/linux/ivsc-driver/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
     homepage = "https://github.com/intel/ivsc-driver";
     description = "Intel Vision Sensing Controller kernel driver";
     license = lib.licenses.gpl2;
-    maintainers = with lib.maintainers; [ hexa ];
+    maintainers = with lib.maintainers; [ ];
     platforms = [ "x86_64-linux" ];
     broken = kernel.kernelOlder "5.15";
   };
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/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/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/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/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/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/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index a34e1285e3071..66a71c1fa3be6 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -1,6 +1,7 @@
 { egl-wayland
 , libepoxy
 , fetchurl
+, fetchpatch
 , fontutil
 , lib
 , libei
@@ -53,6 +54,17 @@ stdenv.mkDerivation rec {
     hash = "sha256-HJo2a058ytug+b0xPFnq4S0jvXJUOyKibq+LIINc/G0=";
   };
 
+  patches = [
+    # Backport fix for libei scrolling
+    # Notably affects Steam Input, but also anything else using xtest
+    # FIXME: remove when merged
+    # Upstream PR: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1531
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/317712eb5a1aa4a1c3d737a8fcaee57add9981c9.patch";
+      hash = "sha256-TZo38Pyr9IJUF+3bqlmF4M84XGgo9G6WFTvbaP9r0XU=";
+    })
+  ];
+
   depsBuildBuild = [
     pkg-config
   ];
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/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/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 38e6664c58b50..1c6cce5c8bc84 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -8,82 +8,89 @@
 , awscli
 }:
 
-python3.pkgs.buildPythonApplication rec {
-  pname = "awscli";
-  version = "1.32.101"; # N.B: if you change this, change botocore and boto3 to a matching version too
-  pyproject = true;
+let
+  botocoreVersion = python3.pkgs.botocore.version;
+  # awscli.version should be pinned to 2 minor versions less than the botocoreVersion
+  versionMinor = toString (lib.toInt (lib.versions.minor botocoreVersion) - 2);
+  versionPatch = lib.versions.patch botocoreVersion;
+  self = python3.pkgs.buildPythonApplication rec {
+    pname = "awscli";
+    version = "1.${versionMinor}.${versionPatch}"; # N.B: if you change this, change botocore and boto3 to a matching version too
+    pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-M4KzuQ+srPfk85P5QeQfVMorSKWhmNhdX4AY0AeRDTQ=";
-  };
+    src = fetchPypi {
+      inherit pname version;
+      hash = "sha256-GPcXkl2H0XNaeqt2/qD5+KvW23dRB0X+zLWo9hLigQM=";
+    };
 
-  nativeBuildInputs = [
-    python3.pkgs.pythonRelaxDepsHook
-  ];
+    nativeBuildInputs = [
+      python3.pkgs.pythonRelaxDepsHook
+    ];
 
-  pythonRelaxDeps = [
-    "botocore"
-    "colorama"
-    "docutils"
-    "rsa"
-  ];
+    pythonRelaxDeps = [
+      # botocore must not be relaxed
+      "colorama"
+      "docutils"
+      "rsa"
+    ];
 
-  build-system = [
-    python3.pkgs.setuptools
-  ];
+    build-system = [
+      python3.pkgs.setuptools
+    ];
 
-  propagatedBuildInputs = with python3.pkgs; [
-    botocore
-    s3transfer
-    colorama
-    docutils
-    rsa
-    pyyaml
-    groff
-    less
-  ];
+    propagatedBuildInputs = with python3.pkgs; [
+      botocore
+      s3transfer
+      colorama
+      docutils
+      rsa
+      pyyaml
+      groff
+      less
+    ];
 
-  postInstall = ''
-    mkdir -p $out/share/bash-completion/completions
-    echo "complete -C $out/bin/aws_completer aws" > $out/share/bash-completion/completions/awscli
+    postInstall = ''
+      mkdir -p $out/share/bash-completion/completions
+      echo "complete -C $out/bin/aws_completer aws" > $out/share/bash-completion/completions/awscli
 
-    mkdir -p $out/share/zsh/site-functions
-    mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions
+      mkdir -p $out/share/zsh/site-functions
+      mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions
 
-    rm $out/bin/aws.cmd
-  '';
+      rm $out/bin/aws.cmd
+    '';
 
-  doInstallCheck = true;
+    doInstallCheck = true;
 
-  installCheckPhase = ''
-    runHook preInstallCheck
+    installCheckPhase = ''
+      runHook preInstallCheck
 
-    $out/bin/aws --version | grep "${python3.pkgs.botocore.version}"
-    $out/bin/aws --version | grep "${version}"
+      $out/bin/aws --version | grep "${botocoreVersion}"
+      $out/bin/aws --version | grep "${version}"
 
-    runHook postInstallCheck
-  '';
+      runHook postInstallCheck
+    '';
 
-  passthru = {
-    python = python3; # for aws_shell
-    updateScript = nix-update-script {
-      # Excludes 1.x versions from the Github tags list
-      extraArgs = [ "--version-regex" "^(1\.(.*))" ];
-    };
-    tests.version = testers.testVersion {
-      package = awscli;
-      command = "aws --version";
-      inherit version;
+    passthru = {
+      python = python3; # for aws_shell
+      updateScript = nix-update-script {
+        extraArgs = [ "--version=skip" ];
+      };
+      tests.version = testers.testVersion {
+        package = awscli;
+        command = "aws --version";
+        inherit version;
+      };
     };
-  };
 
-  meta = with lib; {
-    homepage = "https://aws.amazon.com/cli/";
-    changelog = "https://github.com/aws/aws-cli/blob/${version}/CHANGELOG.rst";
-    description = "Unified tool to manage your AWS services";
-    license = licenses.asl20;
-    mainProgram = "aws";
-    maintainers = with maintainers; [ anthonyroussel ];
+    meta = with lib; {
+      homepage = "https://aws.amazon.com/cli/";
+      changelog = "https://github.com/aws/aws-cli/blob/${version}/CHANGELOG.rst";
+      description = "Unified tool to manage your AWS services";
+      license = licenses.asl20;
+      mainProgram = "aws";
+      maintainers = with maintainers; [ anthonyroussel ];
+    };
   };
-}
+in
+assert self ? pythonRelaxDeps -> !(lib.elem "botocore" self.pythonRelaxDeps);
+self
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index b8e49b37a8d2f..03078392264da 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -13,7 +13,7 @@ let
   pythonEnv = python.withPackages (p: with p; [
     cffi
     cryptography
-    openssl
+    pyopenssl
     crcmod
     numpy
   ] ++ lib.optional (with-gce) google-compute-engine);
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/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/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/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/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..115cb10c014e5 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -61,6 +61,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 = ''
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/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..594d72ad45cdd 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -826,6 +826,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 +930,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 +958,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 3b17726da9c4b..384763a6643b9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -193,7 +193,7 @@ with pkgs;
       pythonInterpreter = "${python3.withPackages (ps: [ ps.pyelftools ])}/bin/python";
       autoPatchelfScript = ../build-support/setup-hooks/auto-patchelf.py;
     };
-    meta.platforms = lib.platforms.linux;
+    meta.platforms = lib.platforms.linux ++ lib.platforms.freebsd;
   } ../build-support/setup-hooks/auto-patchelf.sh;
 
   tomato-c = callPackage ../applications/misc/tomato-c { };
@@ -498,10 +498,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 {
@@ -7807,8 +7803,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 { };
@@ -16316,7 +16310,7 @@ with pkgs;
     # assumption is that or any later version is good.
     choose = platform:
       /**/ if platform.isDarwin then 16
-      else if platform.isFreeBSD then 12
+      else if platform.isFreeBSD then 16
       else if platform.isAndroid then 12
       else if platform.isLinux then 17
       else if platform.isWasm then 16
@@ -19528,8 +19522,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 +20466,6 @@ with pkgs;
 
   cre2 = callPackage ../development/libraries/cre2 { };
 
-  criterion = callPackage ../development/libraries/criterion { };
-
   croaring = callPackage ../development/libraries/croaring { };
 
   crocoddyl = callPackage ../development/libraries/crocoddyl { };
@@ -22520,18 +22510,18 @@ 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,
   # just in case you want it regardless of platform.
   libiconv =
-    if lib.elem stdenv.hostPlatform.libc [ "glibc" "musl" "nblibc" "wasilibc" ]
+    if lib.elem stdenv.hostPlatform.libc [ "glibc" "musl" "nblibc" "wasilibc" "fblibc" ]
       then libcIconv (if stdenv.hostPlatform != stdenv.buildPlatform
         then libcCross
         else stdenv.cc.libc)
     else if stdenv.hostPlatform.isDarwin
-      then darwin.libiconv
+      then libiconv-darwin
     else libiconvReal;
 
   libcIconv = libc: let
@@ -22548,7 +22538,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;
 
@@ -32946,8 +32936,6 @@ with pkgs;
     withConplay = false;
   };
 
-  mpg321 = callPackage ../applications/audio/mpg321 { };
-
   mpc-cli = callPackage ../applications/audio/mpc {
     inherit (python3Packages) sphinx;
   };
@@ -35256,7 +35244,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 +36219,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 +39577,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
 
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..5094f8637ab5e 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -538,7 +538,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 +587,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";
   });
 
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 180c167c1f82d..c47843cad641c 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;
   };
 
@@ -5380,6 +5378,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 +7406,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 { };
@@ -9891,6 +9893,8 @@ self: super: with self; {
 
   ppdeep = callPackage ../development/python-modules/ppdeep { };
 
+  private-gpt = callPackage ../development/python-modules/private-gpt { };
+
   prodict = callPackage ../development/python-modules/prodict { };
 
   prometheus-pandas = callPackage ../development/python-modules/prometheus-pandas { };
@@ -11694,9 +11698,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;
@@ -13566,6 +13568,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 { };
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 3b84026b46963..e8d4cd4a47245 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -57,9 +57,7 @@ in
 , # Non-GNU/Linux OSes are currently "impure" platforms, with their libc
   # outside of the store.  Thus, GCC, GFortran, & co. must always look for files
   # in standard system directories (/usr/include, etc.)
-  noSysDirs ? stdenv.buildPlatform.system != "x86_64-freebsd"
-           && stdenv.buildPlatform.system != "i686-freebsd"
-           && stdenv.buildPlatform.system != "x86_64-solaris"
+  noSysDirs ? stdenv.buildPlatform.system != "x86_64-solaris"
            && stdenv.buildPlatform.system != "x86_64-kfreebsd-gnu"
 
 , # The configuration attribute set