about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/accessibility/mousetweaks/default.nix2
-rw-r--r--pkgs/applications/accessibility/squeekboard/default.nix14
-rw-r--r--pkgs/applications/audio/audacious/plugins.nix5
-rw-r--r--pkgs/applications/audio/audacity/default.nix4
-rw-r--r--pkgs/applications/audio/bambootracker/default.nix8
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix4
-rw-r--r--pkgs/applications/audio/castopod/default.nix2
-rw-r--r--pkgs/applications/audio/cider/default.nix2
-rw-r--r--pkgs/applications/audio/cmus/option-debugging.patch42
-rw-r--r--pkgs/applications/audio/easytag/default.nix2
-rw-r--r--pkgs/applications/audio/faust/faust2.nix12
-rw-r--r--pkgs/applications/audio/feishin/default.nix123
-rw-r--r--pkgs/applications/audio/g4music/default.nix4
-rw-r--r--pkgs/applications/audio/galaxy-buds-client/default.nix2
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix2
-rw-r--r--pkgs/applications/audio/grandorgue/default.nix4
-rw-r--r--pkgs/applications/audio/listenbrainz-mpd/default.nix6
-rw-r--r--pkgs/applications/audio/littlegptracker/default.nix2
-rw-r--r--pkgs/applications/audio/lollypop/default.nix2
-rw-r--r--pkgs/applications/audio/mmlgui/default.nix6
-rw-r--r--pkgs/applications/audio/monkeys-audio/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/spotify.nix6
-rw-r--r--pkgs/applications/audio/museeks/default.nix2
-rw-r--r--pkgs/applications/audio/music-player/default.nix2
-rw-r--r--pkgs/applications/audio/mympd/default.nix4
-rw-r--r--pkgs/applications/audio/ncspot/default.nix2
-rw-r--r--pkgs/applications/audio/nuclear/default.nix4
-rw-r--r--pkgs/applications/audio/plexamp/default.nix1
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix4
-rw-r--r--pkgs/applications/audio/pyradio/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/qpwgraph/default.nix4
-rw-r--r--pkgs/applications/audio/qsynth/default.nix4
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix2
-rw-r--r--pkgs/applications/audio/roomeqwizard/default.nix4
-rw-r--r--pkgs/applications/audio/snapcast/default.nix17
-rw-r--r--pkgs/applications/audio/sonic-pi/default.nix9
-rw-r--r--pkgs/applications/audio/sonixd/default.nix3
-rw-r--r--pkgs/applications/audio/sound-juicer/default.nix2
-rw-r--r--pkgs/applications/audio/spot/default.nix20
-rw-r--r--pkgs/applications/audio/spotifyd/default.nix2
-rw-r--r--pkgs/applications/audio/touchosc/default.nix8
-rw-r--r--pkgs/applications/audio/vcv-rack/default.nix1
-rw-r--r--pkgs/applications/audio/vgmplay-libvgm/default.nix2
-rw-r--r--pkgs/applications/audio/vgmstream/default.nix28
-rw-r--r--pkgs/applications/audio/virtual-ans/default.nix4
-rw-r--r--pkgs/applications/audio/waylyrics/Cargo.lock15
-rw-r--r--pkgs/applications/audio/waylyrics/default.nix17
-rw-r--r--pkgs/applications/audio/youtube-music/default.nix12
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix2
-rw-r--r--pkgs/applications/backup/pika-backup/default.nix6
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc/default.nix4
-rw-r--r--pkgs/applications/blockchains/bitcoin/default.nix3
-rw-r--r--pkgs/applications/blockchains/btcdeb/default.nix6
-rw-r--r--pkgs/applications/blockchains/crypto-org-wallet/default.nix8
-rw-r--r--pkgs/applications/blockchains/exodus/default.nix12
-rw-r--r--pkgs/applications/blockchains/framesh/default.nix1
-rw-r--r--pkgs/applications/blockchains/groestlcoin/default.nix7
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix5
-rw-r--r--pkgs/applications/blockchains/lnd/default.nix6
-rw-r--r--pkgs/applications/blockchains/mycrypto/default.nix7
-rw-r--r--pkgs/applications/blockchains/optimism/default.nix6
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/blockchains/solana-validator/default.nix3
-rw-r--r--pkgs/applications/blockchains/terra-station/default.nix10
-rw-r--r--pkgs/applications/blockchains/ton/default.nix6
-rw-r--r--pkgs/applications/blockchains/wasabibackend/default.nix2
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/blockchains/zecwallet-lite/default.nix2
-rw-r--r--pkgs/applications/editors/android-studio/common.nix6
-rw-r--r--pkgs/applications/editors/codux/default.nix36
-rw-r--r--pkgs/applications/editors/eclipse/default.nix50
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix22
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix21
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix25
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix2
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix3
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix2
-rw-r--r--pkgs/applications/editors/focuswriter/default.nix4
-rw-r--r--pkgs/applications/editors/gedit/default.nix8
-rw-r--r--pkgs/applications/editors/gnome-builder/default.nix2
-rw-r--r--pkgs/applications/editors/gnome-latex/default.nix17
-rw-r--r--pkgs/applications/editors/hexedit/default.nix2
-rw-r--r--pkgs/applications/editors/jedit/build.xml.patch257
-rw-r--r--pkgs/applications/editors/jedit/default.nix151
-rw-r--r--pkgs/applications/editors/jetbrains/bin/versions.json320
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix11
-rw-r--r--pkgs/applications/editors/jetbrains/plugins/plugins.json215
-rw-r--r--pkgs/applications/editors/kile/default.nix73
-rw-r--r--pkgs/applications/editors/lapce/Cargo.lock2978
-rw-r--r--pkgs/applications/editors/lapce/default.nix25
-rw-r--r--pkgs/applications/editors/poke/default.nix69
-rw-r--r--pkgs/applications/editors/pulsar/default.nix29
-rw-r--r--pkgs/applications/editors/quartus-prime/default.nix3
-rw-r--r--pkgs/applications/editors/standardnotes/default.nix19
-rw-r--r--pkgs/applications/editors/vim/common.nix2
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix46
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix27
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names6
-rw-r--r--pkgs/applications/editors/vis/default.nix63
-rw-r--r--pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix33
-rw-r--r--pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix21
-rw-r--r--pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix22
-rw-r--r--pkgs/applications/editors/vscode/extensions/contextmapper.context-mapper-vscode-extension/default.nix19
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix114
-rw-r--r--pkgs/applications/editors/vscode/extensions/equinusocio.vsc-material-theme/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix6
-rw-r--r--pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix20
-rw-r--r--pkgs/applications/editors/vscode/extensions/language-packs.nix8
-rw-r--r--pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix9
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix185
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix113
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix82
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix7
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix13
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix37
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix6
-rw-r--r--pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/nvarner.typst-lsp/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix42
-rw-r--r--pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix71
-rw-r--r--pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix7
-rw-r--r--pkgs/applications/editors/vscode/extensions/updateSettings.nix54
-rw-r--r--pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix71
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix20
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscode-utils.nix211
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscodeEnv.nix103
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix24
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix36
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix75
-rw-r--r--pkgs/applications/emulators/craftos-pc/default.nix10
-rw-r--r--pkgs/applications/emulators/dolphin-emu/default.nix1
-rw-r--r--pkgs/applications/emulators/dolphin-emu/primehack.nix2
-rw-r--r--pkgs/applications/emulators/mame/default.nix4
-rw-r--r--pkgs/applications/emulators/melonDS/default.nix71
-rw-r--r--pkgs/applications/emulators/mgba/default.nix99
-rw-r--r--pkgs/applications/emulators/retroarch/hashes.json78
-rw-r--r--pkgs/applications/emulators/retroarch/retroarch-assets.nix10
-rw-r--r--pkgs/applications/emulators/ripes/default.nix6
-rw-r--r--pkgs/applications/emulators/snes9x/default.nix128
-rw-r--r--pkgs/applications/emulators/wine/sources.nix10
-rw-r--r--pkgs/applications/file-managers/nnn/default.nix2
-rw-r--r--pkgs/applications/file-managers/ranger/default.nix16
-rw-r--r--pkgs/applications/graphics/curtail/default.nix4
-rw-r--r--pkgs/applications/graphics/darktable/default.nix5
-rw-r--r--pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch22
-rw-r--r--pkgs/applications/graphics/drawio/default.nix6
-rw-r--r--pkgs/applications/graphics/gnome-photos/default.nix2
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix2
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix29
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix23
-rw-r--r--pkgs/applications/graphics/ocrfeeder/default.nix2
-rw-r--r--pkgs/applications/graphics/oculante/default.nix6
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix6
-rw-r--r--pkgs/applications/graphics/processing/default.nix4
-rw-r--r--pkgs/applications/graphics/pureref/default.nix4
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix6
-rw-r--r--pkgs/applications/graphics/structorizer/default.nix4
-rw-r--r--pkgs/applications/graphics/tev/default.nix4
-rw-r--r--pkgs/applications/graphics/texturepacker/default.nix4
-rw-r--r--pkgs/applications/graphics/upscayl/default.nix6
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix2
-rw-r--r--pkgs/applications/kde/filelight.nix2
-rw-r--r--pkgs/applications/kde/kcalc.nix1
-rw-r--r--pkgs/applications/kde/kdeconnect-kde.nix1
-rw-r--r--pkgs/applications/kde/kolourpaint.nix1
-rw-r--r--pkgs/applications/kde/kwalletmanager.nix1
-rw-r--r--pkgs/applications/kde/yakuake.nix1
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix2
-rw-r--r--pkgs/applications/misc/1password/default.nix4
-rwxr-xr-xpkgs/applications/misc/1password/update.sh42
-rw-r--r--pkgs/applications/misc/ablog/default.nix4
-rw-r--r--pkgs/applications/misc/almanah/default.nix2
-rw-r--r--pkgs/applications/misc/authy/default.nix68
-rw-r--r--pkgs/applications/misc/avalonia-ilspy/default.nix4
-rw-r--r--pkgs/applications/misc/bambu-studio/default.nix113
-rw-r--r--pkgs/applications/misc/bambu-studio/orca-slicer.nix60
-rw-r--r--pkgs/applications/misc/bazecor/default.nix2
-rw-r--r--pkgs/applications/misc/calibre/default.nix6
-rw-r--r--pkgs/applications/misc/cobalt/default.nix6
-rw-r--r--pkgs/applications/misc/cobang/default.nix4
-rw-r--r--pkgs/applications/misc/cointop/default.nix2
-rw-r--r--pkgs/applications/misc/confclerk/default.nix4
-rw-r--r--pkgs/applications/misc/devdocs-desktop/default.nix6
-rw-r--r--pkgs/applications/misc/fead/default.nix16
-rw-r--r--pkgs/applications/misc/firefly-desktop/default.nix1
-rw-r--r--pkgs/applications/misc/fspy/default.nix4
-rw-r--r--pkgs/applications/misc/fuzzel/default.nix2
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix2
-rw-r--r--pkgs/applications/misc/gnome-frog/default.nix8
-rw-r--r--pkgs/applications/misc/gnome-frog/update-compatible-with-non-flatpak-env.patch24
-rw-r--r--pkgs/applications/misc/gnome-multi-writer/default.nix2
-rw-r--r--pkgs/applications/misc/gnome-recipes/default.nix2
-rw-r--r--pkgs/applications/misc/golden-cheetah-bin/default.nix2
-rw-r--r--pkgs/applications/misc/gpsprune/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/gremlin-console/default.nix4
-rw-r--r--pkgs/applications/misc/gum/default.nix6
-rw-r--r--pkgs/applications/misc/has/default.nix4
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix1
-rw-r--r--pkgs/applications/misc/jotta-cli/default.nix4
-rw-r--r--pkgs/applications/misc/kile-wl/default.nix3
-rw-r--r--pkgs/applications/misc/logseq/default.nix8
-rw-r--r--pkgs/applications/misc/lunatask/default.nix6
-rw-r--r--pkgs/applications/misc/marktext/default.nix3
-rw-r--r--pkgs/applications/misc/neo4j-desktop/default.nix8
-rw-r--r--pkgs/applications/misc/notable/default.nix5
-rw-r--r--pkgs/applications/misc/notesnook/default.nix1
-rw-r--r--pkgs/applications/misc/octoprint/default.nix4
-rw-r--r--pkgs/applications/misc/pdfsam-basic/default.nix4
-rw-r--r--pkgs/applications/misc/perkeep/default.nix2
-rw-r--r--pkgs/applications/misc/projectlibre/default.nix87
-rw-r--r--pkgs/applications/misc/protonup-qt/default.nix7
-rw-r--r--pkgs/applications/misc/pueue/default.nix2
-rw-r--r--pkgs/applications/misc/qcad/default.nix4
-rw-r--r--pkgs/applications/misc/remnote/default.nix6
-rw-r--r--pkgs/applications/misc/rofi-rbw/default.nix4
-rw-r--r--pkgs/applications/misc/smpq/default.nix27
-rw-r--r--pkgs/applications/misc/sqls/default.nix2
-rw-r--r--pkgs/applications/misc/ssw/default.nix4
-rw-r--r--pkgs/applications/misc/sway-launcher-desktop/default.nix2
-rw-r--r--pkgs/applications/misc/swaynotificationcenter/default.nix4
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix3
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix3
-rw-r--r--pkgs/applications/misc/todoist-electron/default.nix1
-rw-r--r--pkgs/applications/misc/tui-journal/default.nix6
-rw-r--r--pkgs/applications/misc/twitch-chat-downloader/default.nix2
-rw-r--r--pkgs/applications/misc/urlscan/default.nix4
-rw-r--r--pkgs/applications/misc/valent/default.nix2
-rw-r--r--pkgs/applications/misc/volnoti/default.nix2
-rw-r--r--pkgs/applications/misc/waybar/default.nix211
-rw-r--r--pkgs/applications/misc/wmenu/default.nix3
-rw-r--r--pkgs/applications/misc/wttrbar/default.nix33
-rw-r--r--pkgs/applications/misc/xlights/default.nix20
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/misc/zettlr/generic.nix6
-rw-r--r--pkgs/applications/networking/Sylk/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix30
-rw-r--r--pkgs/applications/networking/browsers/eolie/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix818
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix818
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix818
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix15
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix12
-rw-r--r--pkgs/applications/networking/browsers/floorp/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/ladybird/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json10
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/mullvad-browser/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/palemoon/bin.nix8
-rw-r--r--pkgs/applications/networking/browsers/polypane/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/tor-browser/default.nix8
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/acorn/default.nix32
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/arkade/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/atmos/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/clusterctl/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/cmctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/fn-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/chart-testing/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-git.nix8
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix34
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix6
-rw-r--r--pkgs/applications/networking/cluster/hubble/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix4
-rwxr-xr-xpkgs/applications/networking/cluster/k3s/update-script.sh4
-rw-r--r--pkgs/applications/networking/cluster/karmor/default.nix57
-rw-r--r--pkgs/applications/networking/cluster/kn/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/krane/Gemfile.lock6
-rw-r--r--pkgs/applications/networking/cluster/krane/gemset.nix8
-rw-r--r--pkgs/applications/networking/cluster/kubecolor/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-cnpg/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-explore/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-klock/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubedb-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubefirst/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubelogin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeshark/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubevela/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kuma/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kuttl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kyverno/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/linkerd/edge.nix6
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nomad-pack/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/nomad/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/openlens/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/opentofu/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/pachyderm/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/pv-migrate/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/stern/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/talosctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/temporal/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/terraform-compliance/default.nix61
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix7
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix44
-rw-r--r--pkgs/applications/networking/cluster/timoni/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/velero/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/waypoint/default.nix82
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/yor/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/zarf/default.nix6
-rw-r--r--pkgs/applications/networking/cozy-drive/default.nix6
-rw-r--r--pkgs/applications/networking/discordo/default.nix8
-rw-r--r--pkgs/applications/networking/dropbox/cli.nix4
-rw-r--r--pkgs/applications/networking/dsvpn/default.nix2
-rw-r--r--pkgs/applications/networking/feedreaders/fluent-reader/default.nix2
-rw-r--r--pkgs/applications/networking/firewalld/default.nix4
-rw-r--r--pkgs/applications/networking/flexget/default.nix6
-rw-r--r--pkgs/applications/networking/google-drive-ocamlfuse/default.nix4
-rw-r--r--pkgs/applications/networking/ids/zeek/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/beeper/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/chatterino2/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/chatty/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/cinny-desktop/default.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix26
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/pubspec.lock.json825
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/generic.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/hamsket/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/keet/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/qq/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/qq/sources.nix11
-rwxr-xr-xpkgs/applications/networking/instant-messengers/qq/update.sh6
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/threema-desktop/default.nix138
-rw-r--r--pkgs/applications/networking/instant-messengers/twitch-tui/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/wavebox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip/default.nix1
-rw-r--r--pkgs/applications/networking/irc/glowing-bear/default.nix2
-rw-r--r--pkgs/applications/networking/irc/irccloud/default.nix6
-rw-r--r--pkgs/applications/networking/iroh/default.nix6
-rw-r--r--pkgs/applications/networking/maestral-qt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/electron-mail/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/mblaze/default.nix10
-rw-r--r--pkgs/applications/networking/mailreaders/meli/default.nix83
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix530
-rw-r--r--pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix2
-rw-r--r--pkgs/applications/networking/n8n/default.nix4
-rw-r--r--pkgs/applications/networking/netmaker/default.nix6
-rw-r--r--pkgs/applications/networking/newsreaders/raven-reader/default.nix2
-rw-r--r--pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch7
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix4
-rw-r--r--pkgs/applications/networking/nextdns/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/flood/default.nix8
-rw-r--r--pkgs/applications/networking/p2p/libutp/3.4.nix2
-rw-r--r--pkgs/applications/networking/p2p/storrent/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/transgui/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/xd/default.nix6
-rw-r--r--pkgs/applications/networking/remote/anydesk/default.nix22
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/networking/remote/rustdesk/default.nix2
-rw-r--r--pkgs/applications/networking/remote/vmware-horizon-client/default.nix2
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--pkgs/applications/networking/shellhub-agent/default.nix6
-rw-r--r--pkgs/applications/networking/station/default.nix6
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix2
-rw-r--r--pkgs/applications/networking/sync/storj-uplink/default.nix4
-rw-r--r--pkgs/applications/networking/sync/wdt/default.nix6
-rw-r--r--pkgs/applications/networking/syncthing/default.nix2
-rw-r--r--pkgs/applications/networking/taler/default.nix147
-rw-r--r--pkgs/applications/networking/trayscale/default.nix2
-rw-r--r--pkgs/applications/networking/xpipe/default.nix4
-rw-r--r--pkgs/applications/office/appflowy/default.nix4
-rw-r--r--pkgs/applications/office/clockify/default.nix45
-rw-r--r--pkgs/applications/office/espanso/default.nix2
-rw-r--r--pkgs/applications/office/gnote/default.nix2
-rw-r--r--pkgs/applications/office/gtg/default.nix2
-rw-r--r--pkgs/applications/office/mendeley/default.nix2
-rw-r--r--pkgs/applications/office/notion-app-enhanced/default.nix7
-rw-r--r--pkgs/applications/office/p3x-onenote/default.nix7
-rw-r--r--pkgs/applications/office/paperwork/paperwork-backend.nix8
-rw-r--r--pkgs/applications/office/pinpoint/default.nix2
-rw-r--r--pkgs/applications/office/planify/default.nix4
-rw-r--r--pkgs/applications/office/planner/default.nix2
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/timeular/default.nix5
-rw-r--r--pkgs/applications/office/tusk/default.nix1
-rw-r--r--pkgs/applications/printing/pappl/default.nix2
-rw-r--r--pkgs/applications/radio/chirp/default.nix7
-rw-r--r--pkgs/applications/radio/dsd/default.nix2
-rw-r--r--pkgs/applications/radio/gnuradio/default.nix4
-rw-r--r--pkgs/applications/radio/gnuradio/wrapper.nix4
-rw-r--r--pkgs/applications/radio/quisk/default.nix4
-rw-r--r--pkgs/applications/radio/uhd/default.nix145
-rw-r--r--pkgs/applications/science/astronomy/gildas/aarch64.patch12
-rw-r--r--pkgs/applications/science/astronomy/gildas/clang.patch83
-rw-r--r--pkgs/applications/science/astronomy/gildas/cpp-darwin.patch17
-rw-r--r--pkgs/applications/science/astronomy/gildas/default.nix13
-rw-r--r--pkgs/applications/science/biology/igv/default.nix4
-rw-r--r--pkgs/applications/science/biology/jbrowse/default.nix4
-rw-r--r--pkgs/applications/science/biology/last/default.nix4
-rw-r--r--pkgs/applications/science/biology/mafft/default.nix58
-rw-r--r--pkgs/applications/science/biology/seqtk/default.nix13
-rw-r--r--pkgs/applications/science/biology/sortmerna/default.nix15
-rw-r--r--pkgs/applications/science/chemistry/pymol/default.nix62
-rw-r--r--pkgs/applications/science/electronics/digital/default.nix21
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix24
-rw-r--r--pkgs/applications/science/electronics/simulide/default.nix80
-rw-r--r--pkgs/applications/science/engineering/brmodelo/default.nix58
-rw-r--r--pkgs/applications/science/logic/cedille/default.nix2
-rw-r--r--pkgs/applications/science/logic/lean4/default.nix2
-rw-r--r--pkgs/applications/science/logic/why3/default.nix4
-rw-r--r--pkgs/applications/science/math/eigenmath/default.nix6
-rw-r--r--pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch58
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix7
-rw-r--r--pkgs/applications/science/math/scotch/default.nix36
-rw-r--r--pkgs/applications/science/misc/gplates/boost-placeholders.patch75
-rw-r--r--pkgs/applications/science/misc/gplates/default.nix4
-rw-r--r--pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch13
-rw-r--r--pkgs/applications/science/misc/root/default.nix25
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix4
-rw-r--r--pkgs/applications/science/physics/crystfel/default.nix50
-rw-r--r--pkgs/applications/science/physics/crystfel/gui-path-issue.patch27
-rw-r--r--pkgs/applications/science/physics/crystfel/link-to-argp-standalone-if-needed.patch18
-rw-r--r--pkgs/applications/science/physics/xnec2c/default.nix4
-rw-r--r--pkgs/applications/science/robotics/betaflight-configurator/default.nix4
-rw-r--r--pkgs/applications/search/recoll/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/tym/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/x3270/default.nix69
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix4
-rw-r--r--pkgs/applications/version-management/datalad/default.nix4
-rw-r--r--pkgs/applications/version-management/delta/default.nix2
-rw-r--r--pkgs/applications/version-management/forgejo/default.nix147
-rw-r--r--pkgs/applications/version-management/forgejo/package-json-npm-build-frontend.patch14
-rw-r--r--pkgs/applications/version-management/forgejo/static-root-path.patch13
-rw-r--r--pkgs/applications/version-management/gerrit/default.nix4
-rw-r--r--pkgs/applications/version-management/gfold/default.nix29
-rw-r--r--pkgs/applications/version-management/gg/default.nix1
-rw-r--r--pkgs/applications/version-management/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/ghorg/default.nix4
-rw-r--r--pkgs/applications/version-management/git-absorb/default.nix2
-rw-r--r--pkgs/applications/version-management/git-backup/default.nix2
-rw-r--r--pkgs/applications/version-management/git-branchless/default.nix2
-rw-r--r--pkgs/applications/version-management/git-codereview/default.nix4
-rw-r--r--pkgs/applications/version-management/git-credential-oauth/default.nix6
-rw-r--r--pkgs/applications/version-management/git-extras/default.nix4
-rw-r--r--pkgs/applications/version-management/git-gone/default.nix2
-rw-r--r--pkgs/applications/version-management/git-lfs/default.nix2
-rw-r--r--pkgs/applications/version-management/git-mit/default.nix6
-rw-r--r--pkgs/applications/version-management/git-quick-stats/default.nix4
-rw-r--r--pkgs/applications/version-management/git-quickfix/default.nix2
-rw-r--r--pkgs/applications/version-management/git-reparent/default.nix2
-rw-r--r--pkgs/applications/version-management/git-standup/default.nix2
-rw-r--r--pkgs/applications/version-management/git-subtrac/default.nix2
-rw-r--r--pkgs/applications/version-management/git-test/default.nix2
-rw-r--r--pkgs/applications/version-management/git-town/default.nix4
-rw-r--r--pkgs/applications/version-management/git-trim/default.nix2
-rw-r--r--pkgs/applications/version-management/git-vanity-hash/default.nix15
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-pages/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitprompt-rs/default.nix18
-rw-r--r--pkgs/applications/version-management/glab/default.nix6
-rw-r--r--pkgs/applications/version-management/got/default.nix74
-rw-r--r--pkgs/applications/version-management/lab/default.nix2
-rw-r--r--pkgs/applications/version-management/radicle-upstream/default.nix13
-rw-r--r--pkgs/applications/version-management/sublime-merge/default.nix12
-rw-r--r--pkgs/applications/video/bilibili/default.nix50
-rw-r--r--pkgs/applications/video/ccextractor/default.nix2
-rw-r--r--pkgs/applications/video/clapper/default.nix56
-rw-r--r--pkgs/applications/video/davinci-resolve/default.nix1
-rw-r--r--pkgs/applications/video/electronplayer/electronplayer.nix9
-rw-r--r--pkgs/applications/video/flowblade/default.nix4
-rw-r--r--pkgs/applications/video/go-chromecast/default.nix2
-rw-r--r--pkgs/applications/video/haruna/default.nix8
-rw-r--r--pkgs/applications/video/kodi/addons/jellyfin/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/keymap/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/youtube/default.nix4
-rw-r--r--pkgs/applications/video/lbry/default.nix8
-rw-r--r--pkgs/applications/video/losslesscut-bin/build-from-appimage.nix5
-rw-r--r--pkgs/applications/video/makemkv/default.nix60
-rw-r--r--pkgs/applications/video/manim/default.nix147
-rw-r--r--pkgs/applications/video/manim/failing_tests.nix92
-rw-r--r--pkgs/applications/video/manim/pytest-report-header.patch22
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/molotov/default.nix1
-rw-r--r--pkgs/applications/video/mpv/scripts/buildLua.nix11
-rw-r--r--pkgs/applications/video/mpv/scripts/chapterskip.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/convert.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/cutter.nix3
-rw-r--r--pkgs/applications/video/mpv/scripts/default.nix6
-rw-r--r--pkgs/applications/video/mpv/scripts/manga-reader.nix29
-rw-r--r--pkgs/applications/video/mpv/scripts/memo.nix26
-rw-r--r--pkgs/applications/video/mpv/scripts/modernx.nix4
-rw-r--r--pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix8
-rw-r--r--pkgs/applications/video/mpv/scripts/mpv-notify-send.nix39
-rw-r--r--pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/mpv-slicing.nix34
-rw-r--r--pkgs/applications/video/mpv/scripts/mpv-webm.nix11
-rw-r--r--pkgs/applications/video/mpv/scripts/mpvacious.nix4
-rw-r--r--pkgs/applications/video/mpv/scripts/occivink.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/quack.nix8
-rw-r--r--pkgs/applications/video/mpv/scripts/reload.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/sponsorblock.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/thumbfast.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/videoclip.nix40
-rw-r--r--pkgs/applications/video/mpv/scripts/visualizer.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/youtube-upnext.nix27
-rw-r--r--pkgs/applications/video/mythtv/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/plugins/input-overlay.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix32
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-command-source.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix4
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix6
-rw-r--r--pkgs/applications/video/shotcut/default.nix4
-rw-r--r--pkgs/applications/video/showmethekey/default.nix12
-rw-r--r--pkgs/applications/video/vcs/default.nix2
-rw-r--r--pkgs/applications/video/vdr/default.nix4
-rw-r--r--pkgs/applications/video/vdr/markad/default.nix4
-rw-r--r--pkgs/applications/video/vdr/softhddevice/default.nix4
-rw-r--r--pkgs/applications/video/wf-recorder/default.nix2
-rw-r--r--pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock970
-rw-r--r--pkgs/applications/virtualization/cloud-hypervisor/default.nix18
-rw-r--r--pkgs/applications/virtualization/conmon-rs/default.nix6
-rw-r--r--pkgs/applications/virtualization/conmon/default.nix6
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix6
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/ddev/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker-slim/default.nix2
-rw-r--r--pkgs/applications/virtualization/docker/buildx.nix4
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/dumb-init/default.nix2
-rw-r--r--pkgs/applications/virtualization/firecracker/default.nix2
-rw-r--r--pkgs/applications/virtualization/kraft/default.nix6
-rw-r--r--pkgs/applications/virtualization/podman/default.nix2
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix4
-rw-r--r--pkgs/applications/virtualization/quickgui/default.nix35
-rw-r--r--pkgs/applications/virtualization/singularity/generic.nix297
-rw-r--r--pkgs/applications/virtualization/singularity/packages.nix155
-rw-r--r--pkgs/applications/window-managers/dk/default.nix4
-rw-r--r--pkgs/applications/window-managers/eww/default.nix44
-rw-r--r--pkgs/applications/window-managers/hackedbox/default.nix2
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/default.nix14
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix6
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix13
-rw-r--r--pkgs/applications/window-managers/jay/default.nix29
-rw-r--r--pkgs/applications/window-managers/miriway/default.nix6
-rw-r--r--pkgs/applications/window-managers/weston/default.nix4
572 files changed, 8161 insertions, 9195 deletions
diff --git a/pkgs/applications/accessibility/mousetweaks/default.nix b/pkgs/applications/accessibility/mousetweaks/default.nix
index 847002c6d7114..5426f2c8fdd08 100644
--- a/pkgs/applications/accessibility/mousetweaks/default.nix
+++ b/pkgs/applications/accessibility/mousetweaks/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       The features can be activated and configured through the Universal Access
       panel of the GNOME Control Center.
     '';
-    homepage = "https://wiki.gnome.org/Projects/Mousetweaks";
+    homepage = "https://gitlab.gnome.org/Archive/mousetweaks";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.johnazoidberg ];
diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix
index 2b8e0a5e76a6d..c7ea8b34a66f6 100644
--- a/pkgs/applications/accessibility/squeekboard/default.nix
+++ b/pkgs/applications/accessibility/squeekboard/default.nix
@@ -24,7 +24,7 @@
 
 stdenv.mkDerivation rec {
   pname = "squeekboard";
-  version = "1.22.0";
+  version = "1.38.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -32,23 +32,15 @@ stdenv.mkDerivation rec {
     owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Rk6LOCZ5bhoo5ORAIIYWENrKUIVypd8bnKjyyBSbUYg=";
+    hash = "sha256-ZVSnLH2wLPcOHkU2pO0BgIdGmULMNiacIYMRmhN+bZ8=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
-    cargoUpdateHook = ''
-      cat Cargo.toml.in Cargo.deps.newer > Cargo.toml
-      cp Cargo.lock.newer Cargo.lock
-    '';
     name = "${pname}-${version}";
-    hash = "sha256-DygWra4R/w8KzkFzIVm4+ePpUpjiYGaDx2NQm6o+tWQ=";
+    hash = "sha256-tcn1tRuRlHVTYvc8T/ePfCEPNjih6B9lo/hdX+WwitQ=";
   };
 
-  mesonFlags = [
-    "-Dnewer=true"
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/applications/audio/audacious/plugins.nix b/pkgs/applications/audio/audacious/plugins.nix
index 6f5d171e2ef1f..2d048bc358fe7 100644
--- a/pkgs/applications/audio/audacious/plugins.nix
+++ b/pkgs/applications/audio/audacious/plugins.nix
@@ -41,6 +41,7 @@
 , qtmultimedia
 , qtx11extras
 , soxr
+, vgmstream
 , wavpack
 }:
 
@@ -109,6 +110,10 @@ stdenv.mkDerivation rec {
 
   dontWrapQtApps = true;
 
+  postInstall = ''
+    ln -s ${vgmstream.override { buildAudaciousPlugin = true; }}/lib/audacious/Input/* $out/lib/audacious/Input
+  '';
+
   meta = audacious.meta // {
     description = "Plugins for Audacious music player";
   };
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 74af177d0e278..c0db59b1d2bbd 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -62,13 +62,13 @@
 
 stdenv.mkDerivation rec {
   pname = "audacity";
-  version = "3.4.2";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "audacity";
     repo = "audacity";
     rev = "Audacity-${version}";
-    hash = "sha256-YlRWCu6kQYdzast7Mf29p4FvpXJHQLG7vqqo/5SNQCQ=";
+    hash = "sha256-wQ+K31TvDTVwDyVQ5nWgcneZ1cFxztmsbSXrDs33Uoc=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/bambootracker/default.nix b/pkgs/applications/audio/bambootracker/default.nix
index 5ebc2caf0f715..5f955334fef20 100644
--- a/pkgs/applications/audio/bambootracker/default.nix
+++ b/pkgs/applications/audio/bambootracker/default.nix
@@ -8,7 +8,7 @@
 , qtbase
 , qttools
 , qtwayland
-, rtaudio
+, rtaudio_6
 , rtmidi
 , wrapQtAppsHook
 }:
@@ -43,16 +43,16 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [
     qtbase
+    rtaudio_6
     rtmidi
   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
     qtwayland
   ] ++ lib.optionals (lib.versionAtLeast qtbase.version "6.0") [
     qt5compat
-  ] ++ rtaudio.buildInputs;
+  ];
 
   qmakeFlags = [
-    # we don't have RtAudio 6 yet: https://github.com/NixOS/nixpkgs/pull/245075
-    # "CONFIG+=system_rtaudio"
+    "CONFIG+=system_rtaudio"
     "CONFIG+=system_rtmidi"
   ];
 
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix
index 3ec595e3e8bbc..d6bb4edfabd26 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix
@@ -27,11 +27,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
-  version = "5.1.6";
+  version = "5.1.8";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-U1Qp7/7kAr1IEcv256I2J/sb5MYxfR20Pi5N8WaVh2U=";
+    sha256 = "sha256-KxNLae/uTYL1m/X+/7wr7hhKfw31NpB9Mw9RzfrTuus=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/pkgs/applications/audio/castopod/default.nix b/pkgs/applications/audio/castopod/default.nix
index 13bb4afe8e2d1..bd66a6835562d 100644
--- a/pkgs/applications/audio/castopod/default.nix
+++ b/pkgs/applications/audio/castopod/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
     description = "An open-source hosting platform made for podcasters who want to engage and interact with their audience";
     homepage = "https://castopod.org";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ alexoundos misuzu ];
+    maintainers = with maintainers; [ alexoundos ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/audio/cider/default.nix b/pkgs/applications/audio/cider/default.nix
index 258a9cd2065af..b9a688370dcd1 100644
--- a/pkgs/applications/audio/cider/default.nix
+++ b/pkgs/applications/audio/cider/default.nix
@@ -12,8 +12,6 @@ appimageTools.wrapType2 rec {
   extraInstallCommands =
     let contents = appimageTools.extract { inherit pname version src; };
     in ''
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       source "${makeWrapper}/nix-support/setup-hook"
       wrapProgram $out/bin/${pname} \
         --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
diff --git a/pkgs/applications/audio/cmus/option-debugging.patch b/pkgs/applications/audio/cmus/option-debugging.patch
deleted file mode 100644
index 84115e1480e13..0000000000000
--- a/pkgs/applications/audio/cmus/option-debugging.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Shows build and link errors in configure for ease of debugging which
-options require what.
-diff --git a/scripts/checks.sh b/scripts/checks.sh
-index 64cbbf3..fab4d9b 100644
---- a/scripts/checks.sh
-+++ b/scripts/checks.sh
-@@ -425,7 +425,7 @@ try_compile()
- 		echo "$1" > $__src || exit 1
- 		shift
- 		__cmd="$CC -c $CFLAGS $@ $__src -o $__obj"
--		$CC -c $CFLAGS "$@" $__src -o $__obj 2>/dev/null
-+		$CC -c $CFLAGS "$@" $__src -o $__obj
- 		;;
- 	cxx)
- 		__src=`tmp_file prog.cc`
-@@ -433,7 +433,7 @@ try_compile()
- 		echo "$1" > $__src || exit 1
- 		shift
- 		__cmd="$CXX -c $CXXFLAGS $@ $__src -o $__obj"
--		$CXX -c $CXXFLAGS "$@" $__src -o $__obj 2>/dev/null
-+		$CXX -c $CXXFLAGS "$@" $__src -o $__obj
- 		;;
- 	esac
- 	return $?
-@@ -451,7 +451,7 @@ try_compile_link()
- 		echo "$1" > $__src || exit 1
- 		shift
- 		__cmd="$CC $__src -o $__exe $CFLAGS $LDFLAGS $@"
--		$CC $__src -o $__exe $CFLAGS $LDFLAGS "$@" 2>/dev/null
-+		$CC $__src -o $__exe $CFLAGS $LDFLAGS "$@"
- 		;;
- 	cxx)
- 		__src=`tmp_file prog.cc`
-@@ -459,7 +459,7 @@ try_compile_link()
- 		echo "$1" > $__src || exit 1
- 		shift
- 		__cmd="$CXX $__src -o $__exe $CXXFLAGS $CXXLDFLAGS $@"
--		$CXX $__src -o $__exe $CXXFLAGS $CXXLDFLAGS "$@" 2>/dev/null
-+		$CXX $__src -o $__exe $CXXFLAGS $CXXLDFLAGS "$@"
- 		;;
- 	esac
- 	return $?
diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix
index 6d3fd8f1d17d7..6366721a35653 100644
--- a/pkgs/applications/audio/easytag/default.nix
+++ b/pkgs/applications/audio/easytag/default.nix
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     description = "View and edit tags for various audio files";
     mainProgram = "easytag";
-    homepage = "https://wiki.gnome.org/Apps/EasyTAG";
+    homepage = "https://gitlab.gnome.org/GNOME/easytag";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index dc5dc477b03ad..7df2dbf6518ae 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -23,13 +23,13 @@ with lib.strings;
 
 let
 
-  version = "2.70.3";
+  version = "2.72.14";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
     rev = version;
-    sha256 = "sha256-z6fW/T7wJZxugmvABlpvyMXvR4WkmC16INOKyyfKx8k=";
+    sha256 = "sha256-RdSXiOYwKsfyrfHEughCeSwa9VFM6/3pMg54yCMpzLU=";
     fetchSubmodules = true;
   };
 
@@ -63,14 +63,6 @@ let
         ncurses_static
       ];
 
-      patches = [
-        (fetchpatch {
-          name = "fix-CsigFFun-API-declaration.patch";
-          url = "https://github.com/grame-cncm/faust/commit/10ce960e91a6237c7bff14a338e770757076ce9e.patch";
-          hash = "sha256-WMFLpLGTZpG7ni3lhI5VJHsmJViWZf4pAFuhYmFVRCE=";
-        })
-      ];
-
       passthru = { inherit wrap wrapWithBuildEnv faust2ApplBase; };
 
       preConfigure = ''
diff --git a/pkgs/applications/audio/feishin/default.nix b/pkgs/applications/audio/feishin/default.nix
index 5168d084af72a..e0e35bae6df09 100644
--- a/pkgs/applications/audio/feishin/default.nix
+++ b/pkgs/applications/audio/feishin/default.nix
@@ -1,8 +1,10 @@
 {
   lib,
+  stdenv,
   buildNpmPackage,
   fetchFromGitHub,
   electron_27,
+  darwin,
   copyDesktopItems,
   makeDesktopItem,
   ...
@@ -21,8 +23,7 @@ let
   electron = electron_27;
 in
 buildNpmPackage {
-  pname = "feishin";
-  inherit version;
+  inherit pname version;
 
   inherit src;
   npmDepsHash = "sha256-+pr9fWg/9kxkYMmthtqhjgF6MOomSQxVCO5V8tHHRdE=";
@@ -32,17 +33,25 @@ buildNpmPackage {
 
   env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
 
-  nativeBuildInputs = [ copyDesktopItems ];
+  nativeBuildInputs =
+    lib.optionals (stdenv.isLinux) [ copyDesktopItems ]
+    ++ lib.optionals stdenv.isDarwin [ darwin.autoSignDarwinBinariesHook ];
 
-  postPatch = ''
-    # release/app dependencies are installed on preConfigure
-    substituteInPlace package.json \
-      --replace-fail "electron-builder install-app-deps &&" ""
+  postPatch =
+    ''
+      # release/app dependencies are installed on preConfigure
+      substituteInPlace package.json \
+        --replace-fail "electron-builder install-app-deps &&" ""
 
-    # https://github.com/electron/electron/issues/31121
-    substituteInPlace src/main/main.ts \
-      --replace-fail "process.resourcesPath" "'$out/share/feishin/resources'"
-  '';
+      # Don't check for updates.
+      substituteInPlace src/main/main.ts \
+        --replace-fail "autoUpdater.checkForUpdatesAndNotify();" ""
+    ''
+    + lib.optionalString stdenv.isLinux ''
+      # https://github.com/electron/electron/issues/31121
+      substituteInPlace src/main/main.ts \
+        --replace-fail "process.resourcesPath" "'$out/share/feishin/resources'"
+    '';
 
   preConfigure =
     let
@@ -67,40 +76,59 @@ buildNpmPackage {
       done
     '';
 
-  postBuild = ''
-    npm exec electron-builder -- \
-      --dir \
-      -c.electronDist=${electron}/libexec/electron \
-      -c.electronVersion=${electron.version} \
-      -c.npmRebuild=false
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/share/feishin
-    pushd release/build/*/
-    cp -r locales resources{,.pak} $out/share/feishin
-    popd
-
-    # Code relies on checking app.isPackaged, which returns false if the executable is electron.
-    # Set ELECTRON_FORCE_IS_PACKAGED=1.
-    # https://github.com/electron/electron/issues/35153#issuecomment-1202718531
-    makeWrapper ${lib.getExe electron} $out/bin/feishin \
-      --add-flags $out/share/feishin/resources/app.asar \
-      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
-      --set ELECTRON_FORCE_IS_PACKAGED=1 \
-      --inherit-argv0
-
-    for size in 32 64 128 256 512 1024; do
-      mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
-      ln -s \
-        $out/share/feishin/resources/assets/icons/"$size"x"$size".png \
-        $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
-    done
-
-    runHook postInstall
-  '';
+  postBuild =
+    lib.optionalString stdenv.isDarwin ''
+      # electron-builder appears to build directly on top of Electron.app, by overwriting the files in the bundle.
+      cp -r ${electron}/Applications/Electron.app ./
+      find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
+
+      # Disable code signing during build on macOS.
+      # https://github.com/electron-userland/electron-builder/blob/fa6fc16/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos
+      export CSC_IDENTITY_AUTO_DISCOVERY=false
+      sed -i "/afterSign/d" package.json
+    ''
+    + ''
+      npm exec electron-builder -- \
+        --dir \
+        -c.electronDist=${if stdenv.isDarwin then "./" else "${electron}/libexec/electron"} \
+        -c.electronVersion=${electron.version} \
+        -c.npmRebuild=false
+    '';
+
+  installPhase =
+    ''
+      runHook preInstall
+    ''
+    + lib.optionalString stdenv.isDarwin ''
+      mkdir -p $out/{Applications,bin}
+      cp -r release/build/**/Feishin.app $out/Applications/
+      makeWrapper $out/Applications/Feishin.app/Contents/MacOS/Feishin $out/bin/feishin
+    ''
+    + lib.optionalString stdenv.isLinux ''
+      mkdir -p $out/share/feishin
+      pushd release/build/*/
+      cp -r locales resources{,.pak} $out/share/feishin
+      popd
+
+      # Code relies on checking app.isPackaged, which returns false if the executable is electron.
+      # Set ELECTRON_FORCE_IS_PACKAGED=1.
+      # https://github.com/electron/electron/issues/35153#issuecomment-1202718531
+      makeWrapper ${lib.getExe electron} $out/bin/feishin \
+        --add-flags $out/share/feishin/resources/app.asar \
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
+        --set ELECTRON_FORCE_IS_PACKAGED=1 \
+        --inherit-argv0
+
+      for size in 32 64 128 256 512 1024; do
+        mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+        ln -s \
+          $out/share/feishin/resources/assets/icons/"$size"x"$size".png \
+          $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+      done
+    ''
+    + ''
+      runHook postInstall
+    '';
 
   desktopItems = [
     (makeDesktopItem {
@@ -125,6 +153,9 @@ buildNpmPackage {
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     mainProgram = "feishin";
-    maintainers = with maintainers; [ onny ];
+    maintainers = with maintainers; [
+      onny
+      jlbribeiro
+    ];
   };
 }
diff --git a/pkgs/applications/audio/g4music/default.nix b/pkgs/applications/audio/g4music/default.nix
index bbb31c1146599..0cc1987c356d0 100644
--- a/pkgs/applications/audio/g4music/default.nix
+++ b/pkgs/applications/audio/g4music/default.nix
@@ -15,14 +15,14 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "g4music";
-  version = "3.5.1";
+  version = "3.5.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "neithern";
     repo = "g4music";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-4UM1CspevlDHpuyvSekMM73XyxVqpdUDtJ7im7hnxHY=";
+    hash = "sha256-ljSXTEp+f4HMXhGWDGHdX6whm90Vo5KWOQunU2hHwo8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/galaxy-buds-client/default.nix b/pkgs/applications/audio/galaxy-buds-client/default.nix
index 15125358e4647..6dd2256d7c8a4 100644
--- a/pkgs/applications/audio/galaxy-buds-client/default.nix
+++ b/pkgs/applications/audio/galaxy-buds-client/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , buildDotnetModule
 , fetchFromGitHub
-, autoPatchelfHook
 , fontconfig
 , xorg
 , libglvnd
@@ -27,7 +26,6 @@ buildDotnetModule rec {
   dotnetFlags = [ "-p:Runtimeidentifier=linux-x64" ];
 
   nativeBuildInputs = [
-    autoPatchelfHook
     copyDesktopItems
     graphicsmagick
   ];
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
index bba557913297f..55ffb370d60aa 100644
--- a/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Listen to your favorite podcasts";
     mainProgram = "gnome-podcasts";
-    homepage = "https://wiki.gnome.org/Apps/Podcasts";
+    homepage = "https://apps.gnome.org/Podcasts/";
     license = licenses.gpl3Plus;
     maintainers = teams.gnome.members;
     platforms = platforms.unix;
diff --git a/pkgs/applications/audio/grandorgue/default.nix b/pkgs/applications/audio/grandorgue/default.nix
index 54bd0cad3593e..9e519510eb721 100644
--- a/pkgs/applications/audio/grandorgue/default.nix
+++ b/pkgs/applications/audio/grandorgue/default.nix
@@ -21,14 +21,14 @@
 
 stdenv.mkDerivation rec {
   pname = "grandorgue";
-  version = "3.14.1-1";
+  version = "3.14.2-1";
 
   src = fetchFromGitHub {
     owner = "GrandOrgue";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    hash = "sha256-EyMTWsaqJX7H7aCbu5ww9tQBMwJ7BzobWMWg5Y/ZgJE=";
+    hash = "sha256-FHM8fFUga9poGhojKBTF4gsJ6L4XEksueVxfMbngvks=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/listenbrainz-mpd/default.nix b/pkgs/applications/audio/listenbrainz-mpd/default.nix
index 5a7ef4417876b..9f633fc8d0793 100644
--- a/pkgs/applications/audio/listenbrainz-mpd/default.nix
+++ b/pkgs/applications/audio/listenbrainz-mpd/default.nix
@@ -14,17 +14,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "listenbrainz-mpd";
-  version = "2.3.4";
+  version = "2.3.5";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "elomatreb";
     repo = "listenbrainz-mpd";
     rev = "v${version}";
-    hash = "sha256-QHhSrmBNvUTffPzjns670Tn3Z3UDcDvarq605Qx9k4w=";
+    hash = "sha256-z3SVpPCWZqCVXPKbPxZAKGtk8Z/Tf5PULn0dWsKlVrE=";
   };
 
-  cargoHash = "sha256-vtU439Pd3zWx+qakh1xTENQhun7S+WsJMndXqPWrPWU=";
+  cargoHash = "sha256-eCdUrxt9edJm6K3f8V8bjgYWMq3mgj/ZfUZYWE3ZBqw=";
 
   nativeBuildInputs = [ pkg-config installShellFiles asciidoctor ];
 
diff --git a/pkgs/applications/audio/littlegptracker/default.nix b/pkgs/applications/audio/littlegptracker/default.nix
index d3cb9fcfab019..b575f717be747 100644
--- a/pkgs/applications/audio/littlegptracker/default.nix
+++ b/pkgs/applications/audio/littlegptracker/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation {
   pname = "littlegptracker";
-  version = "unstable-2020-11-26";
+  version = "0-unstable-2020-11-26";
 
   src = fetchFromGitHub {
     owner = "Mdashdotdashn";
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 34dbf0318a71c..3fb5e7efa7981 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -102,7 +102,7 @@ python3.pkgs.buildPythonApplication rec  {
   meta = with lib; {
     changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
     description = "A modern music player for GNOME";
-    homepage = "https://wiki.gnome.org/Apps/Lollypop";
+    homepage = "https://gitlab.gnome.org/World/lollypop";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ lovesegfault ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/mmlgui/default.nix b/pkgs/applications/audio/mmlgui/default.nix
index aab0acb25019d..d9197abd04dc9 100644
--- a/pkgs/applications/audio/mmlgui/default.nix
+++ b/pkgs/applications/audio/mmlgui/default.nix
@@ -15,14 +15,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mmlgui";
-  version = "unstable-2023-11-16";
+  version = "210420-preview-unstable-2024-04-15";
 
   src = fetchFromGitHub {
     owner = "superctr";
     repo = "mmlgui";
-    rev = "627bfc7b67d4d87253517ba71df2d699a8acdd10";
+    rev = "e49f225ac2b2d46056b2c45a5d31c544227c4968";
     fetchSubmodules = true;
-    hash = "sha256-d/QLRlSfCrrcvzIhwEBKB5chK+XqO/R8xJ5VfagDi4U=";
+    hash = "sha256-hj2k1BrE8AA2HTBEO03RammlZV2U4KW0gLJmFNiaSvI=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix
index c68d14b28f990..0018c99bc1af5 100644
--- a/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/pkgs/applications/audio/monkeys-audio/default.nix
@@ -5,13 +5,13 @@
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "10.60";
+  version = "10.71";
   pname = "monkeys-audio";
 
   src = fetchzip {
     url = "https://monkeysaudio.com/files/MAC_${
       builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
-    hash = "sha256-llOo9G65UDDCzaSahq5qssw6SmOJ5C9qS2bdXB/pKF0=";
+    hash = "sha256-YHPC+dHfvRSr6GldWSlgCGt/wuO/WXQGRliarnM8/AU=";
     stripRoot = false;
   };
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/mopidy/spotify.nix b/pkgs/applications/audio/mopidy/spotify.nix
index 58b5f852a4c95..4b6fe17e8225f 100644
--- a/pkgs/applications/audio/mopidy/spotify.nix
+++ b/pkgs/applications/audio/mopidy/spotify.nix
@@ -2,7 +2,7 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-spotify";
-  version = "unstable-2024-02-27";
+  version = "4.1.1-unstable-2024-02-27";
 
   src = fetchFromGitHub {
     owner = "mopidy";
@@ -22,7 +22,9 @@ pythonPackages.buildPythonApplication rec {
 
   pythonImportsCheck = [ "mopidy_spotify" ];
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    tagPrefix = "v";
+  };
 
   meta = with lib; {
     homepage = "https://github.com/mopidy/mopidy-spotify";
diff --git a/pkgs/applications/audio/museeks/default.nix b/pkgs/applications/audio/museeks/default.nix
index 206fee9de709b..5db7f5bd40844 100644
--- a/pkgs/applications/audio/museeks/default.nix
+++ b/pkgs/applications/audio/museeks/default.nix
@@ -17,8 +17,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     mkdir -p $out/share/${pname}
     cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
     cp -a ${appimageContents}/usr/share/icons $out/share/
diff --git a/pkgs/applications/audio/music-player/default.nix b/pkgs/applications/audio/music-player/default.nix
index b28785d9368b3..0a93443df473a 100644
--- a/pkgs/applications/audio/music-player/default.nix
+++ b/pkgs/applications/audio/music-player/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/tsirysndr/music-player";
     changelog = "https://github.com/tsirysndr/music-player/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "music-player";
   };
 }
diff --git a/pkgs/applications/audio/mympd/default.nix b/pkgs/applications/audio/mympd/default.nix
index cae2a3b7f1a9c..d0273e1c69508 100644
--- a/pkgs/applications/audio/mympd/default.nix
+++ b/pkgs/applications/audio/mympd/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mympd";
-  version = "14.1.2";
+  version = "15.0.1";
 
   src = fetchFromGitHub {
     owner = "jcorporation";
     repo = "myMPD";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-CMqH9iy9U85bKj7YLcYsKFs5CDePGBEfUWL+sb7WzBw=";
+    sha256 = "sha256-rZfpGvxDV8KWGfQJ+mXsxLI8DIMSM0D9A3yrEZ+Zc38=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 597f87337caeb..1bc391b4b55c8 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -73,7 +73,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/hrkfdn/ncspot";
     changelog = "https://github.com/hrkfdn/ncspot/releases/tag/v${version}";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ marsam liff ];
+    maintainers = with maintainers; [ liff ];
     mainProgram = "ncspot";
   };
 }
diff --git a/pkgs/applications/audio/nuclear/default.nix b/pkgs/applications/audio/nuclear/default.nix
index 605596563e0b6..2d6a4384e747e 100644
--- a/pkgs/applications/audio/nuclear/default.nix
+++ b/pkgs/applications/audio/nuclear/default.nix
@@ -21,10 +21,6 @@ appimageTools.wrapType2 {
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
     cp -r ${appimageContents}/usr/share/icons $out/share
-
-    # unless linked, the binary is placed in $out/bin/nuclear-someVersion
-    # link it to $out/bin/nuclear
-    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index c3d36d3b38368..245760be5f70a 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -20,7 +20,6 @@ in appimageTools.wrapType2 {
   extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
 
   extraInstallCommands = ''
-    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop
     install -m 444 -D ${appimageContents}/plexamp.png \
       $out/share/icons/hicolor/512x512/apps/plexamp.png
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index c4213c06f8bcb..975b44866e817 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pt2-clone";
-  version = "1.67";
+  version = "1.69.2";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-fTUTXwS6A72zhKkANlSljQVvPeN5rOTyuyb8vLxYfdk=";
+    sha256 = "sha256-Vy8b9rbYM/bK/mCUW4V4rPeAmoBN/wn7iVBANSboL2Q=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/pyradio/default.nix b/pkgs/applications/audio/pyradio/default.nix
index e3bf3acf98d9b..72cbfd443c08b 100644
--- a/pkgs/applications/audio/pyradio/default.nix
+++ b/pkgs/applications/audio/pyradio/default.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyradio";
-  version = "0.9.3.2";
+  version = "0.9.3.4";
 
   src = fetchFromGitHub {
     owner = "coderholic";
     repo = "pyradio";
     rev = "refs/tags/${version}";
-    hash = "sha256-aIWU68bdPUsIh8QRNnF0NcK7FemmYyUHbJg9KcUALBk=";
+    hash = "sha256-QifBzQsvYU5kP5mnidOgWGBh3h2MvJm8Wo0i1v6j/cU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 427d9f48c1fd3..943c5ab0b974a 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -26,11 +26,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qmmp";
-  version = "2.1.6";
+  version = "2.1.7";
 
   src = fetchurl {
     url = "https://qmmp.ylsoftware.com/files/qmmp/2.1/${pname}-${version}.tar.bz2";
-    hash = "sha256-knqo5yCkcO/bFmM++z+SdiWzpDKK9ooV0wqlcIKj7so=";
+    hash = "sha256-5qdnvGFgFEk+00tjnVhqW29AyyjCfiFQOyYyVmAjHnM=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/audio/qpwgraph/default.nix b/pkgs/applications/audio/qpwgraph/default.nix
index 0867919ab47e7..60ac9cb81b795 100644
--- a/pkgs/applications/audio/qpwgraph/default.nix
+++ b/pkgs/applications/audio/qpwgraph/default.nix
@@ -13,14 +13,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "qpwgraph";
-  version = "0.6.3";
+  version = "0.7.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "rncbc";
     repo = "qpwgraph";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-mTWmXHC9KkXgUIO5CIcGOoYYLx+5si/LETSmHFhmrRE=";
+    sha256 = "sha256-mtW+dbjdp7as0N5+iacMSNrJ4jm8HWYqJP6G+lutucc=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/audio/qsynth/default.nix b/pkgs/applications/audio/qsynth/default.nix
index 714a66f6e2c8c..88ec50acc6dee 100644
--- a/pkgs/applications/audio/qsynth/default.nix
+++ b/pkgs/applications/audio/qsynth/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qsynth";
-  version = "0.9.13";
+  version = "0.9.90";
 
   src = fetchurl {
     url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz";
-    hash = "sha256-SvgZrdS6BwWhNgbovcfhpQKVcu0iwr4dDqeIckuo1fk=";
+    hash = "sha256-5lqmoUku4/8oKxlQio1nJtMu1kn42iK8mi0K3s9y70M=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index 9929a32aabbfa..c14638912af21 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -113,7 +113,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/Rhythmbox";
+    homepage = "https://gitlab.gnome.org/GNOME/rhythmbox";
     description = "A music playing application for GNOME";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/roomeqwizard/default.nix b/pkgs/applications/audio/roomeqwizard/default.nix
index c54726d058d45..042666d2e1c7a 100644
--- a/pkgs/applications/audio/roomeqwizard/default.nix
+++ b/pkgs/applications/audio/roomeqwizard/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "roomeqwizard";
-  version = "5.30.9";
+  version = "5.31.1";
 
   src = fetchurl {
     url = "https://www.roomeqwizard.com/installers/REW_linux_no_jre_${lib.replaceStrings [ "." ] [ "_" ] version}.sh";
-    sha256 = "sha256-gyitOq/HTDruP4nY6B7y1E+pL43yRhldyiiXEjKyogU=";
+    sha256 = "sha256-n1Ohja6Hpg/TNoxQKF1VCDkVj0UDCefr1x5ArIsgs2A=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/audio/snapcast/default.nix b/pkgs/applications/audio/snapcast/default.nix
index 782a558649145..d3add0f604f73 100644
--- a/pkgs/applications/audio/snapcast/default.nix
+++ b/pkgs/applications/audio/snapcast/default.nix
@@ -1,32 +1,21 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config
+{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
 , alsa-lib, asio, avahi, boost179, flac, libogg, libvorbis, libopus, soxr
 , IOKit, AudioToolbox
 , aixlog, popl
 , pulseaudioSupport ? false, libpulseaudio
 , nixosTests }:
 
-assert pulseaudioSupport -> libpulseaudio != null;
-
 stdenv.mkDerivation rec {
   pname = "snapcast";
-  version = "0.27.0";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner  = "badaix";
     repo   = "snapcast";
     rev    = "v${version}";
-    sha256 = "sha256-dlK1xQQqst4VQjioC7MZzqXwMC+JfqtvnD5lrOqGhYI=";
+    sha256 = "sha256-XxpiLojs1TI3qM7yXS+OPcHKo6pLcfJ+Eop7GjQ4HQw=";
   };
 
-  patches = [
-    # Can be removed with next release after 0.27.0
-    (fetchpatch {
-      name = "include-cstdint.patch";
-      url = "https://github.com/badaix/snapcast/commit/481f08199ca31c60c9a3475f1064e6b06a503d12.patch";
-      hash = "sha256-klpvmBpBAlBMtcgnNfW6X6vDbJFnOuOsPUDXcNf5tGc=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake pkg-config ];
   # snapcast also supports building against tremor but as we have libogg, that's
   # not needed
diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix
index 6635cb4784f90..bc1c72cf746e6 100644
--- a/pkgs/applications/audio/sonic-pi/default.nix
+++ b/pkgs/applications/audio/sonic-pi/default.nix
@@ -26,6 +26,7 @@
 , aubio
 , jack2
 , jack-example-tools
+, pipewire
 , supercollider-with-sc3-plugins
 , parallel
 
@@ -40,13 +41,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sonic-pi";
-  version = "4.5.0";
+  version = "4.5.1";
 
   src = fetchFromGitHub {
     owner = "sonic-pi-net";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-s9B3OBwiUdCJyxbeQXeidv38pzmvC442Byl+llabqp0=";
+    hash = "sha256-JMextQY0jLShWmqRQoVAbqIzDhA1mOzI7vfsG7+jjX0=";
   };
 
   mixFodDeps = beamPackages.fetchMixDeps {
@@ -188,14 +189,14 @@ stdenv.mkDerivation rec {
   preFixup = ''
     # Wrap Qt GUI (distributed binary)
     wrapQtApp $out/bin/sonic-pi \
-      --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools ]}
+      --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools pipewire.jack ]}
 
     # If ImGui was built
     if [ -e $out/app/build/gui/imgui/sonic-pi-imgui ]; then
       # Wrap ImGui into bin
       makeWrapper $out/app/build/gui/imgui/sonic-pi-imgui $out/bin/sonic-pi-imgui \
         --inherit-argv0 \
-        --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools ]}
+        --prefix PATH : ${lib.makeBinPath [ ruby supercollider-with-sc3-plugins jack2 jack-example-tools pipewire.jack ]}
     fi
 
     # Remove runtime Erlang references
diff --git a/pkgs/applications/audio/sonixd/default.nix b/pkgs/applications/audio/sonixd/default.nix
index 87ceb7b25e0f4..e535a574ab9a2 100644
--- a/pkgs/applications/audio/sonixd/default.nix
+++ b/pkgs/applications/audio/sonixd/default.nix
@@ -16,8 +16,6 @@ appimageTools.wrapType2 rec {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
@@ -33,4 +31,3 @@ appimageTools.wrapType2 rec {
     mainProgram = "sonixd";
   };
 }
-
diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix
index 261de6e48450d..65a12c423b3f3 100644
--- a/pkgs/applications/audio/sound-juicer/default.nix
+++ b/pkgs/applications/audio/sound-juicer/default.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A Gnome CD Ripper";
     mainProgram = "sound-juicer";
-    homepage = "https://wiki.gnome.org/Apps/SoundJuicer";
+    homepage = "https://gitlab.gnome.org/GNOME/sound-juicer";
     maintainers = [ maintainers.bdimcheff ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/spot/default.nix b/pkgs/applications/audio/spot/default.nix
index 7cf683beb918c..183aae58d167a 100644
--- a/pkgs/applications/audio/spot/default.nix
+++ b/pkgs/applications/audio/spot/default.nix
@@ -5,7 +5,6 @@
 , meson
 , ninja
 , gettext
-, python3
 , desktop-file-utils
 , cargo
 , rustPlatform
@@ -19,23 +18,25 @@
 , alsa-lib
 , libpulseaudio
 , wrapGAppsHook4
+, blueprint-compiler
+, gst_all_1
 }:
 
 stdenv.mkDerivation rec {
   pname = "spot";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "xou816";
     repo = "spot";
     rev = version;
-    hash = "sha256-K6wGWhAUUGsbE4O+z0TmJcJyGarvHgZteY527jfAa90=";
+    hash = "sha256-F875e/VZyN8mTfe9lgjtILNxMqn+66XoPCdaEUagHyU=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-eM2XLumn4dr2YtyUzBZJADlqdexc1iOaNJUudMlfSUc=";
+    hash = "sha256-45Rqs2/tSWoyZVjFuygR5SxldjoqpprtOKEnMqJK+p8=";
   };
 
   nativeBuildInputs = [
@@ -43,7 +44,6 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    python3 # for meson postinstall script
     gtk4 # for gtk-update-icon-cache
     glib # for glib-compile-schemas
     desktop-file-utils
@@ -51,6 +51,7 @@ stdenv.mkDerivation rec {
     rustPlatform.cargoSetupHook
     rustc
     wrapGAppsHook4
+    blueprint-compiler
   ];
 
   buildInputs = [
@@ -61,18 +62,13 @@ stdenv.mkDerivation rec {
     openssl
     alsa-lib
     libpulseaudio
+    gst_all_1.gst-plugins-base
+    gst_all_1.gstreamer
   ];
 
   # https://github.com/xou816/spot/issues/313
   mesonBuildType = "release";
 
-  postPatch = ''
-    chmod +x build-aux/cargo.sh
-    patchShebangs build-aux/cargo.sh build-aux/meson/postinstall.py
-    substituteInPlace build-aux/meson/postinstall.py \
-      --replace gtk-update-icon-cache gtk4-update-icon-cache
-  '';
-
   passthru = {
     updateScript = nix-update-script { };
   };
diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix
index 6de9493ab8e8d..c80843896425b 100644
--- a/pkgs/applications/audio/spotifyd/default.nix
+++ b/pkgs/applications/audio/spotifyd/default.nix
@@ -42,7 +42,7 @@ rustPackages.rustPlatform.buildRustPackage rec {
     homepage = "https://spotifyd.rs/";
     changelog = "https://github.com/Spotifyd/spotifyd/blob/${src.rev}/CHANGELOG.md";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ];
+    maintainers = with maintainers; [ anderslundstedt Br1ght0ne ];
     platforms = platforms.unix;
     mainProgram = "spotifyd";
   };
diff --git a/pkgs/applications/audio/touchosc/default.nix b/pkgs/applications/audio/touchosc/default.nix
index bcd078eeb9f1b..23d254efc0b55 100644
--- a/pkgs/applications/audio/touchosc/default.nix
+++ b/pkgs/applications/audio/touchosc/default.nix
@@ -45,7 +45,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "touchosc";
-  version = "1.3.0.202";
+  version = "1.3.1.204";
 
   suffix = {
     aarch64-linux = "linux-arm64";
@@ -56,9 +56,9 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
     hash = {
-      aarch64-linux = "sha256-qsjZ/oo2V6mknrMktuTP188hp57oiPxO/iwp3G57JXU=";
-      armv7l-linux  = "sha256-33SnAYumfnZlxKms3fANt9wRJghaQHUstZbKqTxBF3Q=";
-      x86_64-linux  = "sha256-4SE2iw45sLyapYLCd31xT/aZMTmetsjmgfWFf0FrluI=";
+      aarch64-linux = "sha256-uSXCgwJUEQZDKPAHDT4kKcvkBg9c+T0nrpvYW8jG8Kg=";
+      armv7l-linux  = "sha256-dG5BF8n66YCYCZzc1pLf2qpMLmbv6lfVZYfgry25jQ0=";
+      x86_64-linux  = "sha256-R07kTuwsfe6WhGpHeyZS/HydDUSH6AByx0pJu/i40xE=";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
diff --git a/pkgs/applications/audio/vcv-rack/default.nix b/pkgs/applications/audio/vcv-rack/default.nix
index c086436de09ff..8f107ee2cb9c3 100644
--- a/pkgs/applications/audio/vcv-rack/default.nix
+++ b/pkgs/applications/audio/vcv-rack/default.nix
@@ -250,6 +250,7 @@ stdenv.mkDerivation rec {
     # no-derivatives clause
     license = with licenses; [ gpl3Plus cc-by-nc-40 unfreeRedistributable ];
     maintainers = with maintainers; [ nathyong jpotier ddelabru ];
+    mainProgram = "Rack";
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/vgmplay-libvgm/default.nix b/pkgs/applications/audio/vgmplay-libvgm/default.nix
index 75701682e1283..ebf227d21074c 100644
--- a/pkgs/applications/audio/vgmplay-libvgm/default.nix
+++ b/pkgs/applications/audio/vgmplay-libvgm/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation {
   pname = "vgmplay-libvgm";
-  version = "unstable-2024-01-03";
+  version = "0.51.1-unstable-2024-01-03";
 
   src = fetchFromGitHub {
     owner = "ValleyBell";
diff --git a/pkgs/applications/audio/vgmstream/default.nix b/pkgs/applications/audio/vgmstream/default.nix
index ed8cb27b506eb..99802872ef036 100644
--- a/pkgs/applications/audio/vgmstream/default.nix
+++ b/pkgs/applications/audio/vgmstream/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
-, mpg123, ffmpeg, libvorbis, libao, jansson, speex
+{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, gtk3
+, audacious, mpg123, ffmpeg, libvorbis, libao, jansson, speex
 , nix-update-script
+, buildAudaciousPlugin ? false  # only build cli by default, pkgs.audacious-plugins sets this to enable plugin support
 }:
 
 stdenv.mkDerivation rec {
@@ -19,16 +20,29 @@ stdenv.mkDerivation rec {
     extraArgs = [ "--version-regex" "r(.*)" ];
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ] ++ lib.optional buildAudaciousPlugin gtk3;
 
-  buildInputs = [ mpg123 ffmpeg libvorbis libao jansson speex ];
+  buildInputs = [
+    mpg123
+    ffmpeg
+    libvorbis
+    libao
+    jansson
+    speex
+  ] ++ lib.optional buildAudaciousPlugin (audacious.override { audacious-plugins = null; });
+
+  preConfigure = ''
+    substituteInPlace cmake/dependencies/audacious.cmake \
+      --replace "pkg_get_variable(AUDACIOUS_PLUGIN_DIR audacious plugin_dir)" "set(AUDACIOUS_PLUGIN_DIR \"$out/lib/audacious\")"
+  '';
 
   cmakeFlags = [
-    # There's no nice way to build the audacious plugin without a circular dependency
-    "-DBUILD_AUDACIOUS=OFF"
     # It always tries to download it, no option to use the system one
     "-DUSE_CELT=OFF"
-  ];
+  ] ++ lib.optional (! buildAudaciousPlugin) "-DBUILD_AUDACIOUS=OFF";
 
   meta = with lib; {
     description = "A library for playback of various streamed audio formats used in video games";
diff --git a/pkgs/applications/audio/virtual-ans/default.nix b/pkgs/applications/audio/virtual-ans/default.nix
index a14d5c5a37e23..4bec1952e03eb 100644
--- a/pkgs/applications/audio/virtual-ans/default.nix
+++ b/pkgs/applications/audio/virtual-ans/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "virtual-ans";
-  version = "3.0.2c";
+  version = "3.0.3";
 
   src = fetchzip {
     url = "https://warmplace.ru/soft/ans/virtual_ans-${version}.zip";
-    sha256 = "03r1v3l7rd59dakr7ndvgsqchv00ppkvi6sslgf1ng07r3rsvb1n";
+    sha256 = "sha256-tqR7icgURUFOyLJ8+mS17JRf2gK53I2FW/2m8IJPtJE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/waylyrics/Cargo.lock b/pkgs/applications/audio/waylyrics/Cargo.lock
index 011548f114ade..2a5931a81a0cb 100644
--- a/pkgs/applications/audio/waylyrics/Cargo.lock
+++ b/pkgs/applications/audio/waylyrics/Cargo.lock
@@ -1783,8 +1783,7 @@ dependencies = [
 [[package]]
 name = "ksni"
 version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b31b9cf486bcd22bcd09900b44538cf87b00f526fcd087d671a632dc0d271d0c"
+source = "git+https://github.com/waylyrics/ksni.git#af6fa6e6e29b7cb3779f98c1ca3aaeb8744ef4c4"
 dependencies = [
  "dbus",
  "dbus-codegen",
@@ -2075,9 +2074,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "ncmapi"
+name = "ncmapi2"
 version = "0.1.13"
-source = "git+https://github.com/waylyrics/ncmapi-rs.git?rev=6095abf7#6095abf7e54eedbb716676d311e0741b4ac2482e"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcd3c218f2db46fc0b26ac6263d3005b96c82d5ebec0d349c3c902eef8bd660c"
 dependencies = [
  "aes",
  "base64",
@@ -2610,7 +2610,8 @@ dependencies = [
 [[package]]
 name = "qqmusic-rs"
 version = "0.1.0"
-source = "git+https://github.com/waylyrics/qqmusic-rs.git?rev=22e66ba#22e66ba62e63d97c6dffb45400655404e6f06b93"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7698cb357cfa1a75f5a2071469345ede01a6c4ee83a2ff2a88f9e481893f341"
 dependencies = [
  "serde",
  "serde_json",
@@ -3817,7 +3818,7 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "waylyrics"
-version = "0.2.19"
+version = "0.3.5"
 dependencies = [
  "ahash 0.8.11",
  "anyhow",
@@ -3835,7 +3836,7 @@ dependencies = [
  "md5",
  "mimalloc",
  "mpris",
- "ncmapi",
+ "ncmapi2",
  "once_cell",
  "opencc-rust",
  "qqmusic-rs",
diff --git a/pkgs/applications/audio/waylyrics/default.nix b/pkgs/applications/audio/waylyrics/default.nix
index fa01a22eb8321..8fcfe02acfe9e 100644
--- a/pkgs/applications/audio/waylyrics/default.nix
+++ b/pkgs/applications/audio/waylyrics/default.nix
@@ -9,20 +9,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "waylyrics";
-  version = "0.2.19";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
-    owner = "poly000";
+    owner = "waylyrics";
     repo = "waylyrics";
     rev = "v${version}";
-    hash = "sha256-y8FBZ/BvCj7CBfQlNE1Ay2nuP41WC14dfTeOJhTbHYs=";
+    hash = "sha256-44O2+OLsBZhl0/0910RsdCe8cHt6UGhYF7CUfhsFQU8=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "ncmapi-0.1.13" = "sha256-gwFMmMzQywlsQC2GljgLwXoP2Cca0r24iEDmV0k/xG0=";
-      "qqmusic-rs-0.1.0" = "sha256-woLsO0n+m3EBUI+PRLio7iLp0UPQSliWK0djCSZEaZc=";
+      "ksni-0.2.1" = "sha256-kjirYZVDP9e7/933L7gwSgVrNInSTbsRCAfnhUqmcLI=";
     };
   };
 
@@ -44,10 +43,12 @@ rustPlatform.buildRustPackage rec {
     install -d $WAYLYRICS_THEME_PRESETS_DIR
     cp -vr themes/* $WAYLYRICS_THEME_PRESETS_DIR
     # Install desktop entry
-    install -Dm644 io.poly000.waylyrics.desktop -t $out/share/applications
+    install -Dm644 metainfo/io.github.waylyrics.Waylyrics.desktop -t $out/share/applications
     # Install schema
-    install -Dm644 io.poly000.waylyrics.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas
+    install -Dm644 metainfo/io.github.waylyrics.Waylyrics.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas
     glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/
+    # Install metainfo
+    install -Dm644 metainfo/io.github.waylyrics.Waylyrics.metainfo.xml -t $out/share/metainfo
     # Install icons
     install -d $out/share/icons
     cp -vr res/icons/hicolor $out/share/icons/hicolor
@@ -64,7 +65,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Desktop lyrics with QQ and NetEase Music source";
     mainProgram = "waylyrics";
-    homepage = "https://github.com/poly000/waylyrics";
+    homepage = "https://github.com/waylyrics/waylyrics";
     license = with licenses; [ mit cc-by-40 ];
     maintainers = with maintainers; [ shadowrz aleksana ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix
index c56e2ba4c48fc..642ba8e3fc0ff 100644
--- a/pkgs/applications/audio/youtube-music/default.nix
+++ b/pkgs/applications/audio/youtube-music/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "youtube-music";
-  version = "3.3.5";
+  version = "3.3.6";
 
   src = fetchFromGitHub {
     owner = "th-ch";
     repo = "youtube-music";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-JOmcfe7xrKRaxJwj2No3e99HBYbX+ROTjHl5Frc2P9Q=";
+    hash = "sha256-nxpctEG4XoxW6jOAxGdgTEYr6YnhFRR8+5HUQLxRJB0=";
   };
 
   pnpmDeps = stdenvNoCC.mkDerivation {
@@ -47,10 +47,10 @@ stdenv.mkDerivation (finalAttrs: {
     dontFixup = true;
     outputHashMode = "recursive";
     outputHash = {
-      x86_64-linux = "sha256-K2yJdoi+bJpz0Xf2MHlFzQXbP+H3uVE2hYfkzoB7vBE=";
-      aarch64-linux = "sha256-ZiA6XKPnkoAl9m2vEJth2wyDxj61Efye4cUk+76znnM=";
-      x86_64-darwin = "sha256-wh5Y47c5qD2PctROP9AWqLDs7H5S2/8X0zxkSMkr1xQ=";
-      aarch64-darwin = "sha256-e2h4bLVnSEtZcHERsfkNmawgxQHQXxgXrNlFKB+IRTw=";
+      x86_64-linux = "sha256-bujlQxP6Lr3qPUDxYXKyb702ZJY/xbuCsu3wVDhcb+8=";
+      aarch64-linux = "sha256-0kyjjttpXpFVhdza5NAjGrRn++qc/N5/u2dQl7VufLE=";
+      x86_64-darwin = "sha256-Q37QJt/mhfpSguOlkJGKFTCrIOrpbG3OBwaD/Bg09Us=";
+      aarch64-darwin = "sha256-wbfjzoGa/6vIlOOVX3bKNQ2uxzph3WSofo3MGXqA6yQ=";
     }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
   };
 
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index 49c5cadc89f2d..bb5c3c0c980fd 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
       of backing up the Right Way (encrypted, off-site, and regular) \
       and uses duplicity as the backend.
     '';
-    homepage = "https://wiki.gnome.org/Apps/DejaDup";
+    homepage = "https://apps.gnome.org/DejaDup/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/backup/pika-backup/default.nix b/pkgs/applications/backup/pika-backup/default.nix
index 8c225b43ccf58..3d919449be3ee 100644
--- a/pkgs/applications/backup/pika-backup/default.nix
+++ b/pkgs/applications/backup/pika-backup/default.nix
@@ -21,20 +21,20 @@
 
 stdenv.mkDerivation rec {
   pname = "pika-backup";
-  version = "0.7.0";
+  version = "0.7.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "pika-backup";
     rev = "v${version}";
-    hash = "sha256-WeFc/4TEIxw6uzLroJX1D/rEA419sghkjBt1nsPv2Ho=";
+    hash = "sha256-Z9vRuz5PwOhJ3DQD9zvCilgTMww7bRL4aR6fRoHIayI=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-fgPgUZxye9YUyX9/+hTye3cUypgRAegZMUTKfPxVH4s=";
+    hash = "sha256-hcfkwxwLOUBMj6rvhI5F4OO9UaSP7CAE0JNOGlh2lVY=";
   };
 
   patches = [
diff --git a/pkgs/applications/blockchains/bitcoin-abc/default.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix
index 427576b688ebc..948645d60006b 100644
--- a/pkgs/applications/blockchains/bitcoin-abc/default.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc/default.nix
@@ -25,13 +25,13 @@
 
 mkDerivation rec {
   pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
-  version = "0.29.1";
+  version = "0.29.3";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    hash = "sha256-QEuOMl1sbVdB2nRwBO/2adqj/NIQGbwrBqML39fymM0=";
+    hash = "sha256-hYA0O7nDT8J1EnpW4i1+eBzkNw77JC6M7GwO3BdBh3U=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/pkgs/applications/blockchains/bitcoin/default.nix b/pkgs/applications/blockchains/bitcoin/default.nix
index 0a2ea1937ad98..aaa3564890f2d 100644
--- a/pkgs/applications/blockchains/bitcoin/default.nix
+++ b/pkgs/applications/blockchains/bitcoin/default.nix
@@ -13,7 +13,6 @@
 , miniupnpc
 , zeromq
 , zlib
-, db48
 , sqlite
 , qrencode
 , qtbase ? null
@@ -51,7 +50,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals withGui [ wrapQtAppsHook ];
 
   buildInputs = [ boost libevent miniupnpc zeromq zlib ]
-    ++ lib.optionals withWallet [ db48 sqlite ]
+    ++ lib.optionals withWallet [ sqlite ]
     ++ lib.optionals withGui [ qrencode qtbase qttools ];
 
   postInstall = ''
diff --git a/pkgs/applications/blockchains/btcdeb/default.nix b/pkgs/applications/blockchains/btcdeb/default.nix
index 7c5f803a968cc..9e7c0f26c6248 100644
--- a/pkgs/applications/blockchains/btcdeb/default.nix
+++ b/pkgs/applications/blockchains/btcdeb/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation {
   pname = "btcdeb";
-  version = "0.3.20-unstable-2024-03-26";
+  version = "0.3.20-unstable-2024-04-09";
 
   src = fetchFromGitHub {
     owner = "bitcoin-core";
     repo = "btcdeb";
-    rev = "675b7820f0eec8a76f68ade7ea35974a561d49dd";
-    hash = "sha256-J9E0edRbFONMut1/ZFaUqgWAtEUifc+pmGypeUQ0m4c=";
+    rev = "e2c2e7b9fe2ecc0884129b53813a733f93a6e2c7";
+    hash = "sha256-heV5VByNZ/2doGVtYhGEei4fV4847UPVgOyU0PDDHc8=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/applications/blockchains/crypto-org-wallet/default.nix b/pkgs/applications/blockchains/crypto-org-wallet/default.nix
index 1460d87d932bf..6132fd9af3ecc 100644
--- a/pkgs/applications/blockchains/crypto-org-wallet/default.nix
+++ b/pkgs/applications/blockchains/crypto-org-wallet/default.nix
@@ -3,19 +3,17 @@
 let
   pname = "chain-desktop-wallet";
   version = "0.1.1";
-  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://github.com/crypto-com/${pname}/releases/download/v${version}/${name}-x86_64.AppImage";
+    url = "https://github.com/crypto-com/${pname}/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
     sha256 = "12076hf8dlz0hg1pb2ixwlslrh8gi6s1iawnvhnn6vz4jmjvq356";
   };
 
-  appimageContents = appimageTools.extractType2 { inherit name src; };
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     ${imagemagick}/bin/convert ${appimageContents}/${pname}.png -resize 512x512 ${pname}_512.png
     install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
diff --git a/pkgs/applications/blockchains/exodus/default.nix b/pkgs/applications/blockchains/exodus/default.nix
index d1e389dc61407..b6f2539b02daf 100644
--- a/pkgs/applications/blockchains/exodus/default.nix
+++ b/pkgs/applications/blockchains/exodus/default.nix
@@ -25,15 +25,15 @@
 , mesa
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "exodus";
-  version = "24.13.3";
+  version = "24.17.5";
 
   src = fetchurl {
-    name = "exodus-linux-x64-${version}.zip";
-    url = "https://downloads.exodus.com/releases/${pname}-linux-x64-${version}.zip";
+    name = "exodus-linux-x64-${finalAttrs.version}.zip";
+    url = "https://downloads.exodus.com/releases/exodus-linux-x64-${finalAttrs.version}.zip";
     curlOptsList = [ "--user-agent" "Mozilla/5.0" ];
-    sha256 = "sha256-hhPHWo+nQXgluB6qn57wndX1eslLv3lLpdxm+COGMO8=";
+    hash = "sha256-HlyscqoxGucoQoFgSWN3vEjAnkdAmtBLOhjhWbScPFc=";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -104,4 +104,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ mmahut rople380 Crafter ];
   };
-}
+})
diff --git a/pkgs/applications/blockchains/framesh/default.nix b/pkgs/applications/blockchains/framesh/default.nix
index f866ff3ea98ca..6c39d9d212d66 100644
--- a/pkgs/applications/blockchains/framesh/default.nix
+++ b/pkgs/applications/blockchains/framesh/default.nix
@@ -16,7 +16,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/frame.desktop $out/share/applications/frame.desktop
     install -m 444 -D ${appimageContents}/frame.png \
       $out/share/icons/hicolor/512x512/apps/frame.png
diff --git a/pkgs/applications/blockchains/groestlcoin/default.nix b/pkgs/applications/blockchains/groestlcoin/default.nix
index 78389b28c9543..4e6e685316bf4 100644
--- a/pkgs/applications/blockchains/groestlcoin/default.nix
+++ b/pkgs/applications/blockchains/groestlcoin/default.nix
@@ -14,7 +14,6 @@
 , miniupnpc
 , zeromq
 , zlib
-, db53
 , sqlite
 , qrencode
 , qtbase ? null
@@ -33,13 +32,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = if withGui then "groestlcoin" else "groestlcoind";
-  version = "26.0";
+  version = "27.0";
 
   src = fetchFromGitHub {
     owner = "Groestlcoin";
     repo = "groestlcoin";
     rev = "v${version}";
-    sha256 = "00qvaf53jszsk1rr029zmq60v8w0r92192ab65k2krkmh7ybla9l";
+    sha256 = "0f6vi2k5xvjrhiazfjcd4aj246dfcg51xsnqb9wdjl41cg0ckwmf";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config installShellFiles ]
@@ -49,7 +48,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals withGui [ wrapQtAppsHook ];
 
   buildInputs = [ boost libevent miniupnpc zeromq zlib ]
-    ++ lib.optionals withWallet [ db53 sqlite ]
+    ++ lib.optionals withWallet [ sqlite ]
     ++ lib.optionals withGui [ qrencode qtbase qttools ];
 
   postInstall = ''
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index d2e9094afa61c..24ba95df584f8 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.77.2";
+  version = "2.79.1";
 
   src = fetchurl {
     url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-orIyfRs6TJgqGGLpl2tvoUtejsB0ni8xRK0SboP2LHw=";
+    hash = "sha256-zgs4uIK73CBp4hTbuO8LdcgvmUN3hYsnv61E+WGlpjg=";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -17,7 +17,6 @@ appimageTools.wrapType2 rec {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop
     install -m 444 -D ${appimageContents}/ledger-live-desktop.png $out/share/icons/hicolor/1024x1024/apps/ledger-live-desktop.png
     ${imagemagick}/bin/convert ${appimageContents}/ledger-live-desktop.png -resize 512x512 ledger-live-desktop_512.png
diff --git a/pkgs/applications/blockchains/lnd/default.nix b/pkgs/applications/blockchains/lnd/default.nix
index 73bd7f3afc276..077ff6b11f45c 100644
--- a/pkgs/applications/blockchains/lnd/default.nix
+++ b/pkgs/applications/blockchains/lnd/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.17.4-beta";
+  version = "0.17.5-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    hash = "sha256-O6cGK4UMKrZpYqtghjjqqLBStLG5GEi/Q5liR557I8s=";
+    hash = "sha256-q/mzF6LPW/ThgqfGgjtax8GvoC3JEpg0IetfSTo1XYk=";
   };
 
-  vendorHash = "sha256-eaQmM5bfsUmzTiUALX543VBQRJK+TqW2i28npwSrn3Q=";
+  vendorHash = "sha256-unT0zJrOEmKHpoUsrBHKfn5IziGlaqEtMfkeo/74Rfc=";
 
   subPackages = [ "cmd/lncli" "cmd/lnd" ];
 
diff --git a/pkgs/applications/blockchains/mycrypto/default.nix b/pkgs/applications/blockchains/mycrypto/default.nix
index fada1835bfb17..607ecf23c3622 100644
--- a/pkgs/applications/blockchains/mycrypto/default.nix
+++ b/pkgs/applications/blockchains/mycrypto/default.nix
@@ -5,7 +5,6 @@ let
   pname = "MyCrypto";
   version = "1.7.17";
   sha256 = "20eb48989b5ae5e60e438eff6830ac79a0d89ac26dff058097260e747e866444"; # Taken from release's checksums.txt.gpg
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/mycryptohq/mycrypto/releases/download/${version}/linux-x86-64_${version}_MyCrypto.AppImage";
@@ -13,7 +12,7 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 
   desktopItem = makeDesktopItem {
@@ -26,14 +25,12 @@ let
   };
 
 in appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   multiArch = false; # no p32bit needed
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
 
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
-
     mkdir -p $out/share
     cp -rt $out/share ${desktopItem}/share/applications ${appimageContents}/usr/share/icons
     chmod -R +w $out/share
diff --git a/pkgs/applications/blockchains/optimism/default.nix b/pkgs/applications/blockchains/optimism/default.nix
index 7e368b3e686a7..fcd5245d095d4 100644
--- a/pkgs/applications/blockchains/optimism/default.nix
+++ b/pkgs/applications/blockchains/optimism/default.nix
@@ -6,19 +6,19 @@
 
 buildGoModule rec {
   pname = "optimism";
-  version = "1.7.3";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "ethereum-optimism";
     repo = "optimism";
     rev = "op-node/v${version}";
-    hash = "sha256-KKCVjGBQeO5K6wq3GV3f7qaGY1uXNPI27w4DEC31pzU=";
+    hash = "sha256-220fnMJDgvdGJtN0XkKtqNP94KfbmN5qhghfjHJaAxQ=";
     fetchSubmodules = true;
   };
 
   subPackages = [ "op-node/cmd" "op-proposer/cmd" "op-batcher/cmd" ];
 
-  vendorHash = "sha256-pQhNXOYohBoV5QsBnNpNjFg+Vvk5jK1zvSKkolp4yiQ=";
+  vendorHash = "sha256-yG910xpk2MHCD2LHh7aD09KMCux1X252fOHCsyUc/ks=";
 
   buildInputs = [
     libpcap
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 770b4a29543e9..fe54ddacc3113 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub
 , lib
 , protobuf
-, rocksdb
+, rocksdb_8_3
 , rust-jemalloc-sys-unprefixed
 , rustPlatform
 , rustc
@@ -9,6 +9,10 @@
 , Security
 , SystemConfiguration
 }:
+
+let
+  rocksdb = rocksdb_8_3;
+in
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
   version = "1.10.0";
diff --git a/pkgs/applications/blockchains/solana-validator/default.nix b/pkgs/applications/blockchains/solana-validator/default.nix
index 56f38c49b12a3..caaae11fd88f1 100644
--- a/pkgs/applications/blockchains/solana-validator/default.nix
+++ b/pkgs/applications/blockchains/solana-validator/default.nix
@@ -13,7 +13,7 @@
 , openssl
 , libclang
 , libcxx
-, rocksdb
+, rocksdb_8_3
 , rustfmt
 , perl
 , hidapi
@@ -46,6 +46,7 @@ let
   pinData = lib.importJSON ./pin.json;
   version = pinData.version;
   hash = pinData.hash;
+  rocksdb = rocksdb_8_3;
   inherit (darwin.apple_sdk_11_0) Libsystem;
   inherit (darwin.apple_sdk_11_0.frameworks) System IOKit AppKit Security;
 in
diff --git a/pkgs/applications/blockchains/terra-station/default.nix b/pkgs/applications/blockchains/terra-station/default.nix
index 5c4a7cc8b3549..54ecd28550c2b 100644
--- a/pkgs/applications/blockchains/terra-station/default.nix
+++ b/pkgs/applications/blockchains/terra-station/default.nix
@@ -5,6 +5,7 @@
 , bash
 , makeWrapper
 , electron
+, asar
 }:
 
 let
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper asar ];
 
   dontConfigure = true;
   dontBuild = true;
@@ -48,6 +49,13 @@ stdenv.mkDerivation rec {
     cp -a usr/share/* $out/share
     cp -a "opt/Terra Station/"{locales,resources} $out/share/${pname}
 
+    # patch pre-built node modules
+    asar e $out/share/${pname}/resources/app.asar asar-unpacked
+    find asar-unpacked -name '*.node' -exec patchelf \
+      --add-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}" \
+      {} \;
+    asar p asar-unpacked $out/share/${pname}/resources/app.asar
+
     substituteInPlace $out/share/applications/station-electron.desktop \
       --replace "/opt/Terra Station/station-electron" ${pname}
 
diff --git a/pkgs/applications/blockchains/ton/default.nix b/pkgs/applications/blockchains/ton/default.nix
index 888b6f8d2b97e..c602a88dc7bd2 100644
--- a/pkgs/applications/blockchains/ton/default.nix
+++ b/pkgs/applications/blockchains/ton/default.nix
@@ -7,6 +7,7 @@
 , gperf
 , libmicrohttpd
 , libsodium
+, lz4
 , openssl
 , readline
 , secp256k1
@@ -16,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ton";
-  version = "2024.03";
+  version = "2024.04";
 
   src = fetchFromGitHub {
     owner = "ton-blockchain";
     repo = "ton";
     rev = "v${version}";
-    hash = "sha256-AVg33aZAyedmNIFqQJm4Nn6luLxK4mKgnIRmNU7j2C0=";
+    hash = "sha256-hh8D4IZX6RS/RXdhVONhgetqp89kpTC2IwDQ2KHdKsE=";
     fetchSubmodules = true;
   };
 
@@ -38,6 +39,7 @@ stdenv.mkDerivation rec {
     gperf
     libmicrohttpd
     libsodium
+    lz4
     openssl
     readline
     secp256k1
diff --git a/pkgs/applications/blockchains/wasabibackend/default.nix b/pkgs/applications/blockchains/wasabibackend/default.nix
index 79355f3979dca..1371be1a97520 100644
--- a/pkgs/applications/blockchains/wasabibackend/default.nix
+++ b/pkgs/applications/blockchains/wasabibackend/default.nix
@@ -4,7 +4,6 @@
   fetchFromGitHub,
   buildDotnetModule,
   dotnetCorePackages,
-  autoPatchelfHook,
   zlib,
   openssl,
 }:
@@ -25,7 +24,6 @@ buildDotnetModule rec {
   dotnet-sdk = dotnetCorePackages.sdk_7_0;
   dotnet-runtime = dotnetCorePackages.aspnetcore_7_0;
 
-  nativeBuildInputs = [autoPatchelfHook];
   buildInputs = [stdenv.cc.cc.lib zlib];
 
   runtimeDeps = [openssl zlib];
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index fd2b0d2453334..81d8a5dac203f 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
-  version = "2.0.6";
+  version = "2.0.7.1";
 
   src = fetchurl {
     url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
-    sha256 = "sha256-VxtQZFsiUEeCMEWkdnmE9xXFoa7fWfOWC2UxnZZAia0=";
+    sha256 = "sha256-u/QDdGLdD5+8j3r8pZQwcG3iTToFJEvzzV7Rl4ggvtM=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/blockchains/zecwallet-lite/default.nix b/pkgs/applications/blockchains/zecwallet-lite/default.nix
index 27004722c38e2..2b51f76ffcca9 100644
--- a/pkgs/applications/blockchains/zecwallet-lite/default.nix
+++ b/pkgs/applications/blockchains/zecwallet-lite/default.nix
@@ -12,8 +12,6 @@ appimageTools.wrapType2 rec {
   extraInstallCommands =
     let contents = appimageTools.extract { inherit pname version src; };
     in ''
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       install -m 444 -D ${contents}/zecwallet-lite.desktop -t $out/share/applications
       substituteInPlace $out/share/applications/zecwallet-lite.desktop \
         --replace 'Exec=AppRun' "Exec=$out/bin/zecwallet-lite"
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index 72814c5edda6f..291a280bdf0f2 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -245,9 +245,9 @@ in runCommand
       # source-code itself).
       platforms = [ "x86_64-linux" ];
       maintainers = with maintainers; rec {
-        stable = [ alapshin msfjarvis ];
-        beta = [ alapshin msfjarvis ];
-        canary = [ alapshin msfjarvis ];
+        stable = [ alapshin ];
+        beta = [ alapshin ];
+        canary = [ alapshin ];
         dev = canary;
       }."${channel}";
       mainProgram = pname;
diff --git a/pkgs/applications/editors/codux/default.nix b/pkgs/applications/editors/codux/default.nix
deleted file mode 100644
index 6e663e1e317b2..0000000000000
--- a/pkgs/applications/editors/codux/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib
-, appimageTools
-, fetchurl
-}:
-
-let
-  pname = "codux";
-  version = "15.23.1";
-
-  src = fetchurl {
-    url = "https://github.com/wixplosives/codux-versions/releases/download/${version}/Codux-${version}.x86_64.AppImage";
-    sha256 = "sha256-9ZzWsLEPEG+PDrDf9lU4ODGOD6/fvMbGBSo9BEQrkn4=";
-  };
-
-  appimageContents = appimageTools.extractType2 { inherit pname version src; };
-in
-
-appimageTools.wrapType2 rec {
-  inherit pname version src;
-
-  extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-    install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
-    cp -r ${appimageContents}/usr/share/icons $out/share
-    substituteInPlace $out/share/applications/${pname}.desktop  --replace 'Exec=AppRun' 'Exec=${pname}'
-  '';
-
-  meta = with lib; {
-    description = "A visual IDE for React";
-    homepage = "https://www.codux.com";
-    license = licenses.unfree;
-    platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ dit7ya kashw2 ];
-    mainProgram = "codux";
-  };
-}
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 732dc7695cc2b..6219ab2b7bd29 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -13,11 +13,11 @@
 
 let
   platform_major = "4";
-  platform_minor = "30";
-  year = "2023";
-  month = "12"; #release month
-  buildmonth = "12"; #sometimes differs from release month
-  timestamp = "${year}${buildmonth}010110";
+  platform_minor = "31";
+  year = "2024";
+  month = "03"; #release month
+  buildmonth = "02"; #sometimes differs from release month
+  timestamp = "${year}${buildmonth}290520";
   gtk = gtk3;
   arch = if stdenv.hostPlatform.isx86_64 then
     "x86_64"
@@ -43,8 +43,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-a5GqbghNlyvU/S36NcFSel1GRf/vZp01aaCxAswqyng=";
-          aarch64 = "sha256-w2bzolYBA4bf4kfcPza0LDLViKqXQkbZR07STN94nrY=";
+          x86_64 = "sha256-lZtU/IUNx2tc6TwCFQ5WS7cO/Gui2JpeknnL+Z/mBow=";
+          aarch64 = "sha256-iIUOiFp0uLOzwdqBV1txRhliaE2l1kbhGv1F6h0WO+w=";
         }.${arch};
       };
   };
@@ -58,8 +58,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-dsl-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-U9CMwcDZP1ptnc+C7gTfTOcyppe7r6RtgPp65b3A7Qk=";
-          aarch64 = "sha256-wuh6IZtRPDNJAVcfukFjZfuOVJgfj2zI616YNDnRgWM=";
+          x86_64 = "sha256-gdtDI9A+sUDAFsyqEmXuIkqgd/v1WF+Euj0TSWwjeL4=";
+          aarch64 = "sha256-kYa+8E5KLqHdumBQiIom3eG5rM/9TFZlJyyc7HpySes=";
         }.${arch};
       };
   };
@@ -73,8 +73,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-c/dd/3PzTSnrtaa2gNw+crdNu/xA428hYr8YNeBSEyw=";
-          aarch64 = "sha256-tF6o3NpFNxXALf2UA8tLzFhqYe46cI2swvym8vDSxNI=";
+          x86_64 = "sha256-5g4CAX2mu1i6aMqmbgy4R3Npk1IC/W73FrIZAQwgGCc=";
+          aarch64 = "sha256-KcfybNDyGglULKF3HF5v50mBs69FFryCMZ+oBtjBFiw=";
         }.${arch};
       };
   };
@@ -88,8 +88,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-h1d0LTBKBKcYxeLr0QEK7VG3q8cKeHQPaKzoPU6qlkI=";
-          aarch64 = "sha256-nCkNNmL924I8Q6wjAmik7d3K4T4j0/Biyr4d9Y0KfSg=";
+          x86_64 = "sha256-yRJWSEg0TVWpgQBSS+y8/YrjdU3PSvJoruEUwjZcrLc=";
+          aarch64 = "sha256-Czm8nYAkVqS8gaowDp1LrJ31iE32d6klT6JvHekL52c=";
         }.${arch};
       };
   };
@@ -103,8 +103,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-FbcSbDFyjx2uG0T844cBwAdaBZc2k/c4aogsCVYI7+E=";
-          aarch64 = "sha256-COQipICwcM7+gbpiD/G31bsW+9NDz8wt+HyY6FFkKos=";
+          x86_64 = "sha256-PIvJeITqftd9eHhfbF+R+SQ+MXp4OmM5xi8ZDdUvXaI=";
+          aarch64 = "sha256-C04AICPcb9foEai3Nk4S4zxQ3oUv+i2tckwqDscpx7I=";
         }.${arch};
       };
   };
@@ -135,8 +135,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-3UfaIwUpgD+VWB7Ar5by78zldqmrlg9csINkre+m8i0=";
-          aarch64 = "sha256-5wIlnTItwEstUHitlVPIxY7ayvxV4yI/8ID8WQ3mnDI=";
+          x86_64 = "sha256-omsAZSlCvggTjoAPQt0oGqRUZwyt5H2LswGpFt88L+I=";
+          aarch64 = "sha256-wcrYVlL5x+Wve2MAgnEFQ4H3a/gc2y8Fr5TmwHU9p6A=";
         }.${arch};
       };
   };
@@ -150,8 +150,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-Cf2jrNjakRteGO/W18oneE9EDM3VLyi/lIafgffprUc=";
-          aarch64 = "sha256-j0i1k3fHQ/+P5y6aRKUZM8uBQJOLweDtkjneqlx/kuQ=";
+          x86_64 = "sha256-8WqHFLywYQXtzUGxBVstxGqVU55WHoApZnyZ6ur4XgU=";
+          aarch64 = "sha256-GlD0ykJbwdbzh1K3XQQ79yBhCJQUlmt2v8c2OMYNWp4=";
         }.${arch};
       };
   };
@@ -165,8 +165,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-pN+x63J8+GhGmfsdzLknJXWCnvhS8VeLizmyqWM8XUA=";
-          aarch64 = "sha256-QVW2nx5P6mkj4oJ1qHs5D2TZBuBuxayhiJHh0VgAghU=";
+          x86_64 = "sha256-K2uo2VVL6rP9kxicJRLzsJiOFKloLD0vInSon8JsUWg=";
+          aarch64 = "sha256-qeEQTlFeWBag6SLXoatDeviR/NG8EcTi6VyUo9P6STM=";
         }.${arch};
       };
   };
@@ -180,8 +180,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-Qj9Omc3+HP3twF0evhkRKE8PH/i4+eGtnkfjUu9+lY4=";
-          aarch64 = "sha256-DqkwHyEbttFBA9HM3GdqxxZNjCiKf6gS7KNQYIUBAGE=";
+          x86_64 = "sha256-Ko4NCU9jbkjAWY7Ky5tPlhXOnzkpY4GjPi6Z0CBmzzc=";
+          aarch64 = "sha256-RBT+xwdQcJh+YgsuCPTWy9MM2y45bhIF9DttPm6Qz+Q=";
         }.${arch};
       };
   };
@@ -195,8 +195,8 @@ in rec {
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
         hash = {
-          x86_64 = "sha256-zhQU7hSF3KWJ0Q2TRzvGhL76Mxhhh/HS/wT/ahkFHXk=";
-          aarch64 = "sha256-XSqWx1V0XjtuYbZlRcJf7Xu1yL1VazT5Z/BcGkkXzb8=";
+          x86_64 = "sha256-dWwDv8cfUxnU/24ASYLvSTbS3xV5ugG98jYMhAXTfS8=";
+          aarch64 = "sha256-+bAKFZ4u5PvCdC4Ifj5inppWb6C8wh0tar66qryx76o=";
         }.${arch};
       };
   };
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix
index bac7de0fea356..970174f20c9f4 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix
@@ -4,21 +4,21 @@
 , acm
 , popon
 , writeText
-, unstableGitUpdater
+, writeScript
 }:
 
 let
-  rev = "0dbbd7f401da1bedd1a9146df6127233d601435b";
+  rev = "1851d8fa2a27d3fd8deeeb29cd21c3002b8351ba";
 in
 melpaBuild {
   pname = "acm-terminal";
-  version = "20230601.1326"; # 13:26 UTC
+  version = "20231206.1141";
 
   src = fetchFromGitHub {
     owner = "twlz0ne";
     repo = "acm-terminal";
     inherit rev;
-    sha256 = "sha256-Opouy9A6z0YUT1zxZq1yHx+r/hwNE93JDwfa1fMWNgc=";
+    sha256 = "sha256-EYhFrOo0j0JSNTdcZCbyM0iLxaymUXi1u6jZy8lTOaY=";
   };
 
   commit = rev;
@@ -32,7 +32,19 @@ melpaBuild {
     (acm-terminal :repo "twlz0ne/acm-terminal" :fetcher github)
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = writeScript "update.sh" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p common-updater-scripts coreutils git gnused
+    set -eu -o pipefail
+    tmpdir="$(mktemp -d)"
+    git clone --depth=1 https://github.com/twlz0ne/acm-terminal.git "$tmpdir"
+    pushd "$tmpdir"
+    commit=$(git show -s --pretty='format:%H')
+    # Based on: https://github.com/melpa/melpa/blob/2d8716906a0c9e18d6c979d8450bf1d15dd785eb/package-build/package-build.el#L523-L533
+    version=$(TZ=UTC git show -s --pretty='format:%cd' --date='format-local:%Y%m%d.%H%M' | sed 's|\.0*|.|')
+    popd
+    update-source-version emacsPackages.acm-terminal $version --rev="$commit"
+  '';
 
   meta = with lib; {
     description = "Patch for LSP bridge acm on Terminal";
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix
index 1286c9fc6466d..e714a20cb3794 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/default.nix
@@ -1,21 +1,26 @@
-{ lib, melpaBuild, fetchurl, writeText }:
+{
+  lib,
+  melpaBuild,
+  fetchzip,
+  writeText,
+}:
 
 melpaBuild rec {
   pname = "ebuild-mode";
-  version = "1.67";
+  version = "1.70";
 
-  src = fetchurl {
-    url = "https://dev.gentoo.org/~ulm/emacs/ebuild-mode-${version}.tar.xz";
-    hash = "sha256-5qxHpu1BLtI8LFnL/sAoqmo80zeyElxIdFtAsfMefUE=";
+  src = fetchzip {
+    url = "https://gitweb.gentoo.org/proj/ebuild-mode.git/snapshot/ebuild-mode-${version}.tar.bz2";
+    hash = "sha256-dOm3xJMFLelwcImIwckeQHx1GqV9PB+I45QA9UT1nCM=";
   };
 
   # not used but needs to be set; why?
-  commit = "e7b45096283ac8836f208babddfd1ea1c1d1d1d";
+  commit = "a643f177b58aa8869f2f24814e990320aa4f0f96";
 
   recipe = writeText "recipe" ''
     (ebuild-mode
-      :url "https://anongit.gentoo.org/git/proj/ebuild-mode.git"
-      :fetcher git)
+     :url "https://gitweb.gentoo.org/proj/ebuild-mode.git"
+     :fetcher git)
   '';
 
   meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
index 2ddd3e0bda3f4..d7cab2f707a24 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
@@ -11,12 +11,12 @@
 , pyright
 , ruff
 , tempel
+, writeScript
 , writeText
-, unstableGitUpdater
 }:
 
 let
-  rev = "0b30d95c6de95b150d93ecee325b95e04ff09e46";
+  rev = "977d344e2e930f3680990014f84ca94877d6eebf";
   python = python3.withPackages (ps: with ps; [
     epc
     orjson
@@ -28,13 +28,13 @@ let
 in
 melpaBuild {
   pname = "lsp-bridge";
-  version = "20231021.309"; # 3:09 UTC
+  version = "20240424.1125";
 
   src = fetchFromGitHub {
     owner = "manateelazycat";
     repo = "lsp-bridge";
     inherit rev;
-    hash = "sha256-hR7bZh0ElJ8F9ToJ4dkazF19T8PE01MTcxKrjeaEp4o=";
+    hash = "sha256-moG0BaHHN3ySON4aMza43Ub4GKuGV9mGSzC48xoiPl8=";
   };
 
   commit = rev;
@@ -88,7 +88,22 @@ melpaBuild {
     runHook postCheck
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = writeScript "update.sh" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p common-updater-scripts coreutils git gnused
+    set -eu -o pipefail
+
+    tmpdir="$(mktemp -d)"
+    git clone --depth=1 https://github.com/manateelazycat/lsp-bridge.git "$tmpdir"
+
+    pushd "$tmpdir"
+    commit=$(git show -s --pretty='format:%H')
+    # Based on: https://github.com/melpa/melpa/blob/2d8716906a0c9e18d6c979d8450bf1d15dd785eb/package-build/package-build.el#L523-L533
+    version=$(TZ=UTC git show -s --pretty='format:%cd' --date='format-local:%Y%m%d.%H%M' | sed 's|\.0*|.|')
+    popd
+
+    update-source-version emacsPackages.lsp-bridge $version --rev="$commit"
+  '';
 
   meta = with lib; {
     description = "A blazingly fast LSP client for Emacs";
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix
index 34c077da77398..398f366f52100 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix
@@ -22,7 +22,7 @@ let
     homepage = "https://github.com/zbelial/lspce";
     description = "LSP Client for Emacs implemented as a module using rust";
     license = lib.licenses.gpl3Only;
-    maintainers = [ lib.maintainers.marsam ];
+    maintainers = [ ];
     inherit (emacs.meta) platforms;
   };
 
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix
index cb4cec172bac1..f8a0ec28a3a2e 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix
@@ -16,9 +16,8 @@
 let
   inherit (melpaStablePackages) tree-sitter-langs;
 
-  libSuffix = if stdenv.isDarwin then "dylib" else "so";
   langName = g: lib.removeSuffix "-grammar" (lib.removePrefix "tree-sitter-" g.pname);
-  soName = g: langName g + "." + libSuffix;
+  soName = g: langName g + stdenv.hostPlatform.extensions.sharedLibrary;
 
   grammarDir = runCommand "emacs-tree-sitter-grammars" {
     # Fake same version number as upstream language bundle to prevent triggering runtime downloads
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix
index 67b5a96ee9c0f..0f9da8136214c 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/xapian-lite/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = {
     homepage = "https://git.sr.ht/~casouri/xapian-lite";
     description = "A minimal Emacs dynamic module for Xapian";
-    maintainers = [ lib.maintainers.marsam ];
+    maintainers = [ lib.maintainers.kotatsuyaki ];
     license = lib.licenses.gpl3Plus;
     inherit (emacs.meta) platforms;
   };
diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix
index 179cbb0fdbf63..618ea2f471a2d 100644
--- a/pkgs/applications/editors/focuswriter/default.nix
+++ b/pkgs/applications/editors/focuswriter/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "focuswriter";
-  version = "1.8.6";
+  version = "1.8.7";
 
   src = fetchFromGitHub {
     owner = "gottcode";
     repo = "focuswriter";
     rev = "v${version}";
-    hash = "sha256-z3DQaMgaTjzj2Oh1QI7A5v9G7GxjlGj/7jInxH/tDaY=";
+    hash = "sha256-op76oHVo6yCpXzRFYAYXMCEslCgDA6jXPcgWdTeGJ+E=";
   };
 
   nativeBuildInputs = [ pkg-config cmake qttools wrapQtAppsHook ];
diff --git a/pkgs/applications/editors/gedit/default.nix b/pkgs/applications/editors/gedit/default.nix
index eb985016b1783..9ec2d3329c1dc 100644
--- a/pkgs/applications/editors/gedit/default.nix
+++ b/pkgs/applications/editors/gedit/default.nix
@@ -9,9 +9,9 @@
 , gtk3
 , gtk-mac-integration
 , glib
-, tepl
 , libgedit-amtk
 , libgedit-gtksourceview
+, libgedit-tepl
 , libpeas
 , libxml2
 , gsettings-desktop-schemas
@@ -30,13 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "46.2";
+  version = "47.0";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${lib.versions.major version}/gedit-${version}.tar.xz";
-    sha256 = "wIZkErrRR+us4tKC/8u1oOmjBLIP1VZAvuIcgebVAe8=";
+    sha256 = "+kpZfjTHbUrJFDG1rm4ZHJbGsK8XAuCJmrNRme36G/o=";
   };
 
   patches = [
@@ -65,13 +65,13 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    tepl
     glib
     gsettings-desktop-schemas
     gspell
     gtk3
     libgedit-amtk
     libgedit-gtksourceview
+    libgedit-tepl
     libpeas
   ] ++ lib.optionals stdenv.isDarwin [
     gtk-mac-integration
diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix
index b1360f2a147e7..e689f9ee7d069 100644
--- a/pkgs/applications/editors/gnome-builder/default.nix
+++ b/pkgs/applications/editors/gnome-builder/default.nix
@@ -176,7 +176,7 @@ stdenv.mkDerivation rec {
       currently recommend running gnome-builder inside a nix-shell with
       appropriate dependencies loaded.
     '';
-    homepage = "https://wiki.gnome.org/Apps/Builder";
+    homepage = "https://apps.gnome.org/Builder/";
     license = licenses.gpl3Plus;
     maintainers = teams.gnome.members;
     platforms = platforms.linux;
diff --git a/pkgs/applications/editors/gnome-latex/default.nix b/pkgs/applications/editors/gnome-latex/default.nix
index 8962629c8bdc4..f78407731d264 100644
--- a/pkgs/applications/editors/gnome-latex/default.nix
+++ b/pkgs/applications/editors/gnome-latex/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , autoreconfHook
 , gtk-doc
 , vala
@@ -8,10 +9,9 @@
 , wrapGAppsHook
 , gsettings-desktop-schemas
 , gspell
-, libgedit-amtk
 , libgedit-gtksourceview
+, libgedit-tepl
 , libgee
-, tepl
 , gnome
 , glib
 , pkg-config
@@ -29,6 +29,14 @@ stdenv.mkDerivation rec {
     sha256 = "1nVVY5sqFaiuvVTzNTVORP40MxQ648s8ynqOJvgRKto=";
   };
 
+  patches = [
+    # Adapt for Tepl -> libgedit-tepl rename
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/swilmet/gnome-latex/-/commit/41e532c427f43a5eed9081766963d6e29a9975a1.patch";
+      hash = "sha256-gu8o/er4mP92dE5gWg9lGx5JwTHB8ytk3EMNlwlIpq4=";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
@@ -45,11 +53,10 @@ stdenv.mkDerivation rec {
     glib
     gsettings-desktop-schemas
     gspell
-    libgedit-amtk
     libgedit-gtksourceview
+    libgedit-tepl
     libgee
     libxml2
-    tepl
   ];
 
   configureFlags = [
@@ -66,7 +73,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/GNOME-LaTeX";
+    homepage = "https://gitlab.gnome.org/swilmet/gnome-latex";
     description = "A LaTeX editor for the GNOME desktop";
     maintainers = with maintainers; [ manveru bobby285271 ];
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/editors/hexedit/default.nix b/pkgs/applications/editors/hexedit/default.nix
index 7f32835fdc84d..efdfac33f09bc 100644
--- a/pkgs/applications/editors/hexedit/default.nix
+++ b/pkgs/applications/editors/hexedit/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = "http://rigaux.org/hexedit.html";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
     mainProgram = "hexedit";
   };
 }
diff --git a/pkgs/applications/editors/jedit/build.xml.patch b/pkgs/applications/editors/jedit/build.xml.patch
deleted file mode 100644
index 2f630f18ab76e..0000000000000
--- a/pkgs/applications/editors/jedit/build.xml.patch
+++ /dev/null
@@ -1,257 +0,0 @@
---- a/build.xml	2015-02-04 08:47:37.000000000 +0100
-+++ b/build.xml	2015-02-17 14:06:42.455283148 +0100
-@@ -43,16 +43,6 @@
- 	<property name="textAreaPackage"
- 		  location="../textarea"/>
- 
--	<!-- Ivy Properties -->
--	<property name="config.ivy.version"
--		  value="2.2.0"/>
--	<property name="ivy.jar.dir"
--		  location="${lib.dir}/ivy"/>
--	<property name="ivy.jar.filename"
--		  value="ivy-${config.ivy.version}.jar"/>
--	<property name="ivy.jar.file"
--		  location="${ivy.jar.dir}/${ivy.jar.filename}"/>
--
- 	<!-- Miscellaneous -->
- 	<property name="jar.filename"
- 		  value="${ant.project.name}.jar"/>
-@@ -90,51 +80,8 @@
- 			  value="true"/>
- 	</target>
- 
--	<target name="check-ivy"
--		depends="init">
--		<available property="ivy.jar.present"
--			   file="${ivy.jar.file}"
--			   type="file"/>
--	</target>
--
--	<target name="download-ivy"
--		depends="init,check-ivy"
--		unless="ivy.jar.present">
--		<mkdir dir="${ivy.jar.dir}"/>
--		<get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${config.ivy.version}/ivy-${config.ivy.version}.jar"
--		     dest="${ivy.jar.file}"
--		     usetimestamp="true"/>
--	</target>
--
--	<target name="init-ivy"
--		depends="init,download-ivy"
--		unless="ivy.done">
--		<property name="ivy.retrieve.pattern"
--			  value="${lib.dir}/[conf]/[artifact](-[classifier]).[ext]"/>
--		<taskdef resource="org/apache/ivy/ant/antlib.xml"
--			 classpath="${ivy.jar.file}"
--			 loaderref="ivy.loader"
--			 uri="antlib:org.apache.ivy.ant"/>
--		<ivy:settings file="ivysettings.xml"/>
--	</target>
--
--	<target name="retrieve"
--		description="retrieve the dependencies"
--		depends="init,init-ivy"
--		unless="ivy.done">
--		<ivy:retrieve sync="true"/>
--		<ivy:retrieve pattern="${lib.dir}/ivy/[artifact]-[revision].[ext]"
--			      organisation="org.apache.ivy"
--			      module="ivy"
--			      revision="${config.ivy.version}"
--			      conf="default"
--			      inline="true"/>
--		<property name="ivy.done"
--			  value="true"/>
--	</target>
--
- 	<target name="setup"
--		depends="init,retrieve">
-+		depends="init">
- 		<taskdef resource="net/sf/antcontrib/antlib.xml"
- 			 uri="antlib:net.sf.antcontrib">
- 			<classpath>
-@@ -239,37 +186,6 @@
- 		</javac>
- 	</target>
- 
--	<target name="compile-test"
--		depends="init,retrieve,compile">
--		<mkdir dir="${classes.dir}/test"/>
--		<depend srcDir="${basedir}/test"
--			destDir="${classes.dir}/test"
--			cache="${classes.dir}"/>
--		<dependset>
--			<srcfilelist files="build.xml"/>
--			<srcfilelist files="ivy.xml"/>
--			<targetfileset dir="${classes.dir}/test"/>
--		</dependset>
--		<javac srcdir="test"
--		       destdir="${classes.dir}/test"
--		       debug="true"
--		       debuglevel="${config.build.debuglevel}"
--		       nowarn="${config.build.nowarn}"
--		       deprecation="${config.build.deprecation}"
--		       source="${target.java.version}"
--		       target="${target.java.version}"
--		       compiler="modern"
--		       encoding="UTF-8"
--		       includeAntRuntime="false">
--			<classpath id="classpath.test">
--				<fileset dir="${lib.dir}/test"
--					 includes="*.jar"/>
--				<pathelement location="${classes.dir}/core"/>
--			</classpath>
--			<compilerarg line="${config.build.compilerarg}"/>
--		</javac>
--	</target>
--
- 	<target name="prepare-textArea"
- 		depends="init">
- 		<delete includeemptydirs="true"
-@@ -423,33 +339,8 @@
- 		</javac>
- 	</target>
- 
--	<target name="test"
--		depends="init,retrieve,compile,compile-test"
--		description="run unit tests"
--		unless="skip.tests">
--		<delete dir="${build.dir}/test/raw-reports"/>
--		<mkdir dir="${build.dir}/test/raw-reports"/>
--		<junit printsummary="true"
--		       failureproperty="tests.failed"
--		       enabletestlistenerevents="true">
--			<classpath refid="classpath.test"/>
--			<classpath location="${classes.dir}/test"/>
--			<formatter type="xml"/>
--			<batchtest todir="${build.dir}/test/raw-reports">
--				<fileset dir="test"/>
--			</batchtest>
--		</junit>
--		<mkdir dir="${build.dir}/test/merged-reports"/>
--		<junitreport todir="${build.dir}/test/merged-reports">
--			<fileset dir="${build.dir}/test/raw-reports"/>
--			<report todir="${build.dir}/test/reports"/>
--		</junitreport>
--		<fail message="Unit test(s) failed! See reports at ${build.dir}/test/reports/index.html"
--		      if="tests.failed"/>
--	</target>
--
- 	<target name="build"
--		depends="init,retrieve,setup,compile"
-+		depends="init,setup,compile"
- 		description="build the jEdit JAR-file with full debug-information">
- 		<mkdir dir="${jar.location}"/>
- 		<jar destfile="${jar.location}/${jar.filename}"
-@@ -504,11 +395,10 @@
- 				</copy>
- 			</contrib:then>
- 		</contrib:if>
--		<antcall target="test" />
- 	</target>
- 
- 	<target name="build-exe-launcher"
--		depends="init,retrieve,setup,filter-package-files"
-+		depends="init,setup,filter-package-files"
- 		description="build the EXE launcher">
- 		<contrib:if>
- 			<os family="windows"/>
-@@ -622,7 +512,7 @@
- 	</target>
- 
- 	<target name="unpack-docbook-xsl"
--		depends="init,retrieve">
-+		depends="init">
- 		<unzip src="${lib.dir}/docbook/docbook-xsl-resources.zip"
- 		       dest="${build.dir}/docbook-xsl/"/>
- 	</target>
-@@ -668,7 +558,7 @@
- 	</presetdef>
- 
- 	<target name="generate-doc-faq"
--		depends="init,retrieve,setup,unpack-docbook-xsl">
-+		depends="init,setup,unpack-docbook-xsl">
- 		<dependset.html>
- 			<srcfileset dir="doc/FAQ"/>
- 			<targetfileset dir="${jar.location}/doc/FAQ"/>
-@@ -692,7 +582,7 @@
- 	</target>
- 
- 	<target name="generate-doc-news"
--		depends="init,retrieve,setup,unpack-docbook-xsl">
-+		depends="init,setup,unpack-docbook-xsl">
- 		<dependset.html>
- 			<srcfileset dir="doc/whatsnew"/>
- 			<targetfileset dir="${jar.location}/doc/whatsnew"/>
-@@ -716,7 +606,7 @@
- 	</target>
- 
- 	<target name="generate-doc-users-guide"
--		depends="init,retrieve,setup,unpack-docbook-xsl">
-+		depends="init,setup,unpack-docbook-xsl">
- 		<dependset.html>
- 			<srcfileset dir="doc/users-guide"/>
- 			<targetfileset dir="${jar.location}/doc/users-guide"/>
-@@ -851,7 +741,7 @@
- 	</target>
- 
- 	<target name="generate-pdf-users-guide"
--		depends="init,retrieve,setup,unpack-docbook-xsl">
-+		depends="init,setup,unpack-docbook-xsl">
- 		<fail message="Please set the property &quot;paper.type&quot;"
- 		      unless="paper.type"/>
- 		<contrib:switch value="${paper.type}">
-@@ -1154,7 +1044,7 @@
- 	</target>
- 
- 	<target name="compile-jarbundler"
--		depends="init,retrieve">
-+		depends="init">
- 		<mkdir dir="${classes.dir}/jarbundler"/>
- 		<depend srcDir="${basedir}"
- 			destDir="${classes.dir}/jarbundler"
-@@ -1180,7 +1070,7 @@
- 	</target>
- 
- 	<target name="dist-mac-finish"
--		depends="init,retrieve,setup"
-+		depends="init,setup"
- 		description="finish building the Mac OS X disk image (DMG-file) on Mac OS X">
- 		<fail message="The disk image (DMG-file) for easy distribution on Mac OS X can only be built on Mac OS X currently">
- 			<condition>
-@@ -1295,7 +1185,7 @@
- 	</target>
- 
- 	<target name="dist-mac"
--		depends="init,retrieve,setup,prepare-dist-files"
-+		depends="init,setup,prepare-dist-files"
- 		description="build the Mac OS X disk image (DMG-file)">
- 		<antcall target="compile-jarbundler">
- 			<param name="config.build.debuglevel"
-@@ -1411,7 +1301,7 @@
- 	</target>
- 
- 	<target name="prepare-dist-files"
--		depends="init,retrieve,setup">
-+		depends="init,setup">
- 		<antcall target="build">
- 			<param name="config.build.debuglevel"
- 			       value="lines,source"/>
-@@ -1592,7 +1482,7 @@
- 	</target>
- 
- 	<target name="dist-deb"
--		depends="init,retrieve,setup,prepare-dist-files"
-+		depends="init,setup,prepare-dist-files"
- 		description="build the DEB Package">
- 		<antcall target="compile-ar">
- 			<param name="config.build.debuglevel"
-@@ -1838,7 +1728,7 @@
- 	</target>
- 
- 	<target name="dist-sign-deb-Release"
--		depends="init,retrieve,setup"
-+		depends="init,setup"
- 		description="sign the DEB Release file">
- 		<contrib:if>
- 			<not>
diff --git a/pkgs/applications/editors/jedit/default.nix b/pkgs/applications/editors/jedit/default.nix
index fe9284873551e..8fdf8e7c8de26 100644
--- a/pkgs/applications/editors/jedit/default.nix
+++ b/pkgs/applications/editors/jedit/default.nix
@@ -1,63 +1,118 @@
-{ lib, stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging, bsh }:
+{
+  lib,
+  stdenv,
+  fetchsvn,
+  ant,
+  jdk,
+  jre,
+  xmlstarlet,
+  makeWrapper,
+  stripJavaArchivesHook,
+}:
 
-let
-  version = "5.2.0";
-  bcpg = fetchurl {
-    url = "mirror://maven/org/bouncycastle/bcpg-jdk16/1.46/bcpg-jdk16-1.46.jar";
-    sha256 = "16xhmwks4l65m5x150nd23y5lyppha9sa5fj65rzhxw66gbli82d";
-  };
-  jsr305 = fetchurl {
-    url = "mirror://maven/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar";
-    sha256 = "0s74pv8qjc42c7q8nbc0c3b1hgx0bmk3b8vbk1z80p4bbgx56zqy";
-  };
-in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "jedit";
-  inherit version;
-  src = fetchurl {
-    url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2";
-    sha256 = "03wmbh90rl5lsc35d7jwcp9j5qyyzq1nccxf4fal8bmnx8n4si0x";
+  version = "5.6.0-unstable-2023-11-19";
+
+  src = fetchsvn {
+    url = "https://svn.code.sf.net/p/jedit/svn/jEdit/trunk";
+    rev = "25703";
+    hash = "sha256-z1KTZqKl6Dlqayw/3h/JvHQK3kSfio02R8V6aCb4g4Q=";
   };
 
-  buildInputs = [ ant jdk commonsBsf commonsLogging ];
+  ivyDeps = stdenv.mkDerivation {
+    name = "${finalAttrs.pname}-${finalAttrs.version}-ivy-deps";
+    inherit (finalAttrs) src;
+
+    nativeBuildInputs = [
+      ant
+      jdk
+      xmlstarlet
+    ];
 
-  # This patch removes from the build process:
-  #  - the automatic download of dependencies (see configurePhase);
-  #  - the tests
-  patches = [ ./build.xml.patch ];
+    # set defaultCacheDir to something that can exist
+    # this directory won't get copied, but needs to be set properly
+    configurePhase = ''
+      runHook preConfigure
 
-  configurePhase = ''
-    mkdir -p lib/ant-contrib/ lib/scripting lib/compile lib/default-plugins
-    cp ${ant}/lib/ant/lib/ant-contrib-*.jar lib/ant-contrib/
-    cp ${bsh} ${bcpg} lib/scripting/
-    cp ${jsr305} lib/compile/
+      xmlstarlet ed --subnode /ivysettings -t elem -n caches ivysettings.xml \
+          | xmlstarlet ed --insert /ivysettings/caches -t attr -n defaultCacheDir -v "$(pwd)/ivy-cache" \
+          > ivysettings.xml.tmp
+      mv ivysettings.xml.tmp ivysettings.xml
+
+      runHook postConfigure
+    '';
+
+    buildPhase = ''
+      runHook preBuild
+      ant retrieve
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out/lib
+      cp -r lib/* $out/lib
+      runHook postInstall
+    '';
+
+    outputHashMode = "recursive";
+    outputHashAlgo = "sha256";
+    outputHash = "sha256-J5i5IhXlXw84y/4K6Vt84au4eVXVLupmtfscO+y1Fi0=";
+  };
+
+  # ignore a test failing because of the build environment
+  postPatch = ''
+    substituteInPlace test/org/gjt/sp/jedit/MiscUtilitiesTest.java \
+        --replace-fail "public class MiscUtilitiesTest" "@org.junit.Ignore public class MiscUtilitiesTest"
   '';
 
-  buildPhase = "ant build";
+  nativeBuildInputs = [
+    ant
+    jdk
+    makeWrapper
+    stripJavaArchivesHook
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+    ln -s ${finalAttrs.ivyDeps}/lib ./lib
+    ant build -Divy.done=true
+    runHook postBuild
+  '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/share/jEdit
-    cp -r build/jedit.jar doc icons keymaps macros modes startup $out/share/jEdit
-
-    sed -i "s|Icon=.*|Icon=$out/share/jEdit/icons/jedit-icon48.png|g" package-files/linux/deb/jedit.desktop
-    mkdir -p $out/share/applications
-    mv package-files/linux/deb/jedit.desktop $out/share/applications/jedit.desktop
-
-    # specify the correct JAVA_HOME
-    sed -i '1a JAVA_HOME=${jdk}' package-files/linux/jedit
-    sed -i "s|/usr/share/jEdit/@jar.filename@|$out/share/jEdit/jedit.jar|g" package-files/linux/jedit
-    mkdir -p $out/bin
-    cp package-files/linux/jedit $out/bin/jedit
-    chmod +x $out/bin/jedit
+    cp -r build/jedit.jar doc keymaps macros modes startup $out/share/jEdit
+
+    install -Dm644 icons/jedit-icon48.png $out/share/icons/hicolor/48x48/apps/jedit.png
+    install -Dm644 package-files/linux/deb/jedit.desktop -t $out/share/applications
+
+    sed -i $out/share/applications/jedit.desktop \
+        -e "s|Icon=.*|Icon=jedit|g" \
+        -e "s|Exec=.*|Exec=jedit|g"
+
+    install -Dm755 package-files/linux/jedit -t $out/bin
+    substituteInPlace $out/bin/jedit \
+        --replace-fail "/usr/share/jEdit/@jar.filename@" "$out/share/jEdit/jedit.jar"
+
+    wrapProgram $out/bin/jedit --set JAVA_HOME ${jre}
+
+    runHook postInstall
   '';
 
-  meta = with lib; {
-    description = "Mature programmer's text editor (Java based)";
+  meta = {
+    description = "A programmer's text editor written in Java";
     homepage = "http://www.jedit.org";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    license = licenses.gpl2;
-    platforms = platforms.unix;
-    maintainers = [ ];
+    license = lib.licenses.gpl2Only;
+    mainProgram = "jedit";
+    maintainers = with lib.maintainers; [ tomasajt ];
+    platforms = lib.platforms.unix;
+    sourceProvenance = with lib.sourceTypes; [
+      fromSource
+      binaryBytecode # ivyDeps contains .jar dependencies
+    ];
   };
-}
+})
diff --git a/pkgs/applications/editors/jetbrains/bin/versions.json b/pkgs/applications/editors/jetbrains/bin/versions.json
index c7f7009465cdc..880858ef56b58 100644
--- a/pkgs/applications/editors/jetbrains/bin/versions.json
+++ b/pkgs/applications/editors/jetbrains/bin/versions.json
@@ -3,34 +3,34 @@
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "a753369d74832d15fcf082587291921e8a90be04529c05b8e9d64a3afb24120c",
-      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.tar.gz",
-      "build_number": "241.14494.288"
+      "version": "2024.1.1",
+      "sha256": "299ff2eb9c91282df074c58c0ecf73ecf59c7d077bc309f085229eaa32fbd46d",
+      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.1.tar.gz",
+      "build_number": "241.15989.121"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
-      "version": "2024.1.1",
-      "sha256": "05c1f910126b8499d26ab52d333307d3b6df6a3fa06b5e0b1a79ff15caf40e0a",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1.tar.gz",
-      "build_number": "241.14494.283"
+      "version": "2024.1.2",
+      "sha256": "449ca450179bda3a342f92ff0fe44e52b51c11adcda4d2836a215282ffc0fc95",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.2.tar.gz",
+      "build_number": "241.15989.49"
     },
     "dataspell": {
       "update-channel": "DataSpell RELEASE",
       "url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "4f73d514dcbf5dce769e7ee4e0a81a1d8dc970f6553c246e3016963b9f077dca",
-      "url": "https://download.jetbrains.com/python/dataspell-2024.1.tar.gz",
-      "build_number": "241.14494.247"
+      "version": "2024.1.1",
+      "sha256": "0913a4938c7df68796b4d29cf0cf8d836da270aa34239fc7d756138f21e1a895",
+      "url": "https://download.jetbrains.com/python/dataspell-2024.1.1.tar.gz",
+      "build_number": "241.15989.62"
     },
     "gateway": {
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "d777e88a3098790e19a93cb14fe4a21c740553958514e2b55fa2ba588f5c2c78",
-      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.tar.gz",
-      "build_number": "241.14494.255"
+      "version": "2024.1.1",
+      "sha256": "2fd861d6fc91815466fc1f3b2bbd2177e55f1ea2c086fa10cf979de773d9cc06",
+      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1.tar.gz",
+      "build_number": "241.15989.74"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
@@ -67,10 +67,10 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "11c6862954f87b89d081cc0382e54b105d8b0c933dae78fd952cd2a3604889b2",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.tar.gz",
-      "build_number": "241.14494.237",
+      "version": "2024.1.1",
+      "sha256": "bb3d10d5ce7419f5123937bcd40f1584fca4b844a2f83b6850fec57cd1f44282",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.1.tar.gz",
+      "build_number": "241.15989.102",
       "version-major-minor": "2022.3"
     },
     "pycharm-community": {
@@ -92,76 +92,76 @@
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "194096b0b550e1e320fc72aaf0510faeebf8737d05f6e02eecd72efe6f7cd757",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.tar.gz",
-      "build_number": "241.14494.307"
+      "version": "2024.1.1",
+      "sha256": "390967705d8e13f39754cbf39a9bec2bb33c6d0f8eeffcdb3d68a5c9ced696ea",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.1.tar.gz",
+      "build_number": "241.14494.325"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "4fd9dcf83a1d1f6b7513c18383938bd65b2479fdb39c0421e2237a1e340c3912",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.tar.gz",
-      "build_number": "241.14494.234"
+      "version": "2024.1.1",
+      "sha256": "32e324e976c63e6f5897b392469240382baf5ab94c700b7f75c4a575a1f5d1dc",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.1.tar.gz",
+      "build_number": "241.15989.113"
     },
     "rust-rover": {
       "update-channel": "RustRover EAP",
       "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz",
-      "version": "2023.3 EAP",
-      "sha256": "a7176fb06c18ce50f8f901ecde9fa75e968ddf27e3366e70bffd7ad1208fdde9",
-      "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24.tar.gz",
-      "build_number": "233.15026.24"
+      "version": "2024.1 EAP",
+      "sha256": "10a904c833990c4621f919a36d31744dd1700dce42ff3addbc909937b6f6329d",
+      "url": "https://download.jetbrains.com/rustrover/RustRover-241.15989.101.tar.gz",
+      "build_number": "241.15989.101"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "d4c7cb7f1462c2b2bd9042b4714ab9de66c455ab9752c87698dc3902f0d49a2a",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.tar.gz",
-      "build_number": "241.14494.235"
+      "version": "2024.1.2",
+      "sha256": "10110ac54ab7db1ca4560f83fdb921ca6217437dba1ad4ceb1c6cf0887ec5f29",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.2.tar.gz",
+      "build_number": "241.15989.105"
     },
     "writerside": {
       "update-channel": "Writerside EAP",
       "url-template": "https://download.jetbrains.com/writerside/writerside-{version}.tar.gz",
-      "version": "2023.3 EAP",
-      "sha256": "8eae1c965c1b5dae17c580cd3ed9b2a6182a3b54a54f8e6152472815118ae2c2",
-      "url": "https://download.jetbrains.com/writerside/writerside-233.14938.tar.gz",
-      "build_number": "233.14938"
+      "version": "2024.1 EAP",
+      "sha256": "24da41b0eb4ca23652d05ecbccc5d2c792c3d49a964d8b6eb765ccd9cbcc7c3d",
+      "url": "https://download.jetbrains.com/writerside/writerside-241.15989.11.tar.gz",
+      "build_number": "241.15989.11"
     }
   },
   "aarch64-linux": {
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "f937b263bd697595427e3e1d04513f9b6a786d56214ce34fe7a038efa2e949cf",
-      "url": "https://download.jetbrains.com/cpp/CLion-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.288"
+      "version": "2024.1.1",
+      "sha256": "2323f3b64f690b0b099cdcb14ef6b80440abafda1c0113a6b96df9656167e638",
+      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.121"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.tar.gz",
-      "version": "2024.1.1",
-      "sha256": "d269bfe10fb97572e785dce6e387d09f429396db002e12ecb9a44cced915c032",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1-aarch64.tar.gz",
-      "build_number": "241.14494.283"
+      "version": "2024.1.2",
+      "sha256": "98b9a89ba49fa16376dbdec01412893635465a67ee482c80f9c48e10dcf0bead",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.2-aarch64.tar.gz",
+      "build_number": "241.15989.49"
     },
     "dataspell": {
       "update-channel": "DataSpell RELEASE",
       "url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "f1adfe94bd6482a4f15db02611afc7487d59c47f8ee120e925feeb23c980cd9f",
-      "url": "https://download.jetbrains.com/python/dataspell-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.247"
+      "version": "2024.1.1",
+      "sha256": "3ee14b5d19d15ef652c6ca7ff8026d438980de5c28ce0375e8418a32fe8fed62",
+      "url": "https://download.jetbrains.com/python/dataspell-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.62"
     },
     "gateway": {
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "3b6ffb21148d3327e9a5558c5657c22f7076c6208e8a10836f155d8f0200fb36",
-      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.255"
+      "version": "2024.1.1",
+      "sha256": "f500422ce9f2c7edb6515b3e7c6336df94000f0c2c454fe207a295489dcf3a0d",
+      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.74"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
@@ -198,10 +198,10 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "0c5debd888359b37c9c95176c09a16e94f2412fb88f98b928e64ed2466f88ec1",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.237",
+      "version": "2024.1.1",
+      "sha256": "c1ff0b85679cee8c17ee3ea4b19ccb3278540821c7162354bee900d95cbc52a4",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.102",
       "version-major-minor": "2022.3"
     },
     "pycharm-community": {
@@ -223,76 +223,76 @@
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "e196c8e70d7eb6f56a08df809f5de430bf5e61509abb13de8b301c036c4f446e",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.307"
+      "version": "2024.1.1",
+      "sha256": "9f079193067cf1e4595a5142bb2341187e8730f3551b4583c940f2822d9c5be2",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.14494.325"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "690f90bd8a974585414e499aa2cb46d68dbc8145906e98d7f3b4ad1f3bf49040",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.234"
+      "version": "2024.1.1",
+      "sha256": "87c7c6f86cc0337311eea595ee0754bcce3f4e88579c1f022abca19037ba7c51",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.113"
     },
     "rust-rover": {
       "update-channel": "RustRover EAP",
       "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz",
-      "version": "2023.3 EAP",
-      "sha256": "4e03720aae12b32f91d4ddf4e01cfb454311b8a0b901dcee733d62579aa4cc0c",
-      "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24-aarch64.tar.gz",
-      "build_number": "233.15026.24"
+      "version": "2024.1 EAP",
+      "sha256": "6ee90aee367cd9ecc8db99020133e17299113c1e016b3344a4762eb8b954317a",
+      "url": "https://download.jetbrains.com/rustrover/RustRover-241.15989.101-aarch64.tar.gz",
+      "build_number": "241.15989.101"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "6691e4855fd4ecf3da9b63b78a11afc3441fb2139cdc7e7aaa5d78aa92a88c12",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.235"
+      "version": "2024.1.2",
+      "sha256": "de1443570d2769e5dae11da2c3a8049c438f6f16b598a214ab000a300c148476",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.2-aarch64.tar.gz",
+      "build_number": "241.15989.105"
     },
     "writerside": {
       "update-channel": "Writerside EAP",
       "url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.tar.gz",
-      "version": "2023.3 EAP",
-      "sha256": "b09dac04217d5d523501bdb1e9026fd17fb6370dff2610502472bbf6a48323d8",
-      "url": "https://download.jetbrains.com/writerside/writerside-233.14938-aarch64.tar.gz",
-      "build_number": "233.14938"
+      "version": "2024.1 EAP",
+      "sha256": "9b72a2422f2cb1f2bb2034ef4eaf130ee7a9062cf99ba53b8df62cc4e1c76c42",
+      "url": "https://download.jetbrains.com/writerside/writerside-241.15989.11-aarch64.tar.gz",
+      "build_number": "241.15989.11"
     }
   },
   "x86_64-darwin": {
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "373c78ff045a17fdcae44cc9b76b41862d4bee9c8476813e518c7cc1de88b6a1",
-      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.dmg",
-      "build_number": "241.14494.288"
+      "version": "2024.1.1",
+      "sha256": "43a765102080acd6dc1fa5a26e0c5efcc3d2e7a22a0bf054a3b9ba4714a9c43e",
+      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.1.dmg",
+      "build_number": "241.15989.121"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
-      "version": "2024.1.1",
-      "sha256": "232582204a6f810bcbd2387ba2cef824f0f81c3a7e022f7f2bebf643d32f866d",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1.dmg",
-      "build_number": "241.14494.283"
+      "version": "2024.1.2",
+      "sha256": "41a4dabdd2ad97387d806742c41b34e5a1544860c159f5d71c09b00a1e605356",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.2.dmg",
+      "build_number": "241.15989.49"
     },
     "dataspell": {
       "update-channel": "DataSpell RELEASE",
       "url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "a48036f55ef8301d6f77f726c68d7415c0056ddb4143ca3eed2698306f2c021f",
-      "url": "https://download.jetbrains.com/python/dataspell-2024.1.dmg",
-      "build_number": "241.14494.247"
+      "version": "2024.1.1",
+      "sha256": "dfbe160a8a1676dad81b5d5ca35d8d02258a5684c3a140bbb415edae575a058b",
+      "url": "https://download.jetbrains.com/python/dataspell-2024.1.1.dmg",
+      "build_number": "241.15989.62"
     },
     "gateway": {
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "fb37fe7ba94f151f9613134b232b79f44524c126152f70eeb31421cee89b514d",
-      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.dmg",
-      "build_number": "241.14494.255"
+      "version": "2024.1.1",
+      "sha256": "4513e26abf40f69a6eecd7f52d20a0f20e82a87722d4e8a4bd71718a4cba51b0",
+      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1.dmg",
+      "build_number": "241.15989.74"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
@@ -329,10 +329,10 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "75699ce909f07de35a6e89745c652f08afba5096b7930fdc51683989967fcc62",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.dmg",
-      "build_number": "241.14494.237",
+      "version": "2024.1.1",
+      "sha256": "0232f3e562698bbacf8c72446fc868d50d2b308ce17b6a0655fe351b46370fa4",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.1.dmg",
+      "build_number": "241.15989.102",
       "version-major-minor": "2022.3"
     },
     "pycharm-community": {
@@ -354,76 +354,76 @@
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "12155c779c7f11dd71b3573af266c0221960eaea8a442fda4faaec8ca6eefa95",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.dmg",
-      "build_number": "241.14494.307"
+      "version": "2024.1.1",
+      "sha256": "1c6f52b9629f77ca6a2f903fbadaae9dc80237b061dfeb94638d029a43bdf0c5",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.1.dmg",
+      "build_number": "241.14494.325"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "47ff2d04362beb2acb3421780f9c5f3dd5ef02aa2cdd9cef2c64a10c6ce2c062",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.dmg",
-      "build_number": "241.14494.234"
+      "version": "2024.1.1",
+      "sha256": "839fe79e93a293a514e8abdaec60ca9a79cddb889fe4fe1287e2b74540a9ec57",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.1.dmg",
+      "build_number": "241.15989.113"
     },
     "rust-rover": {
       "update-channel": "RustRover EAP",
       "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg",
-      "version": "2023.3 EAP",
-      "sha256": "b59ff55e4ba22df41acc9870f88b7f957f31af179e482ccaa4320b1f1ffff346",
-      "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24.dmg",
-      "build_number": "233.15026.24"
+      "version": "2024.1 EAP",
+      "sha256": "c0b5885e7d85cc89d79110b4a56c3a08784c43b03e42686ec91cd4679bf9f469",
+      "url": "https://download.jetbrains.com/rustrover/RustRover-241.15989.101.dmg",
+      "build_number": "241.15989.101"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "b3b41e5e8559e36e0bd4121dee61d39a8ba5b5ce8193e7b026c5bc261e973df5",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.dmg",
-      "build_number": "241.14494.235"
+      "version": "2024.1.2",
+      "sha256": "a5b79c530596bcef503847ea38a11263c871a9f8267d2e4fe4ef025c166d144f",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.2.dmg",
+      "build_number": "241.15989.105"
     },
     "writerside": {
       "update-channel": "Writerside EAP",
       "url-template": "https://download.jetbrains.com/writerside/writerside-{version}.dmg",
-      "version": "2023.3 EAP",
-      "sha256": "53c7ad5a8808776b60eb82b3155c6f3a2a0dfad43ba8d9238a0db1752d503b09",
-      "url": "https://download.jetbrains.com/writerside/writerside-233.14938.dmg",
-      "build_number": "233.14938"
+      "version": "2024.1 EAP",
+      "sha256": "36ec40a47989be9ab263f4b9f182fcc5b155f3fd068174e7539adc55f892b230",
+      "url": "https://download.jetbrains.com/writerside/writerside-241.15989.11.dmg",
+      "build_number": "241.15989.11"
     }
   },
   "aarch64-darwin": {
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "b1044fdbf9e3f93aaf8ca8ad2b7bc2eae165f86bc5cae6910f2ad0ee92c198a5",
-      "url": "https://download.jetbrains.com/cpp/CLion-2024.1-aarch64.dmg",
-      "build_number": "241.14494.288"
+      "version": "2024.1.1",
+      "sha256": "08dab457cf1cb07e4489653f22a12e2997dea2b788ab0a5494de40a86b39f104",
+      "url": "https://download.jetbrains.com/cpp/CLion-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.121"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
-      "version": "2024.1.1",
-      "sha256": "c2545df9784fa1f8f9234dd93d1c513ed691c797f26471cb545188ce7f495864",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.1-aarch64.dmg",
-      "build_number": "241.14494.283"
+      "version": "2024.1.2",
+      "sha256": "583c32f39918681673028a20cb911a41fc4495cf44c151c0790594042ec9e160",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2024.1.2-aarch64.dmg",
+      "build_number": "241.15989.49"
     },
     "dataspell": {
       "update-channel": "DataSpell RELEASE",
       "url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "4a8abf8cf816f98502cf58cd3de07c28d496d4fe20d338cee0ac714196b8a612",
-      "url": "https://download.jetbrains.com/python/dataspell-2024.1-aarch64.dmg",
-      "build_number": "241.14494.247"
+      "version": "2024.1.1",
+      "sha256": "eb345888f6e926439a1142614e10b36123b40fbd876d31060856c7e532b53f64",
+      "url": "https://download.jetbrains.com/python/dataspell-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.62"
     },
     "gateway": {
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "c82392faec283b2a6ab25dd0cbd8c3733ea046799d9d95ba4b5d6086767f7715",
-      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1-aarch64.dmg",
-      "build_number": "241.14494.255"
+      "version": "2024.1.1",
+      "sha256": "840eb4ae9d2de9bbe353007798a6337f307f177e907754382ce7bef8be060e01",
+      "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.74"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
@@ -460,10 +460,10 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "02bcb551de99cf070e90b2131b41f0b3e93aa776615bcfba1508e4c4d1bb9378",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1-aarch64.dmg",
-      "build_number": "241.14494.237",
+      "version": "2024.1.1",
+      "sha256": "b6b2b6181c724c320a491cea013c620f662e3fbc3a2f62718354d9e88c9d210d",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.102",
       "version-major-minor": "2022.3"
     },
     "pycharm-community": {
@@ -485,42 +485,42 @@
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "c2e0dadc6c7f924e849e87d1c04aeaa02d6a14d5868294dd36481a70cbd508cb",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1-aarch64.dmg",
-      "build_number": "241.14494.307"
+      "version": "2024.1.1",
+      "sha256": "d197249cc5cb8fb3ec30f3ed5468dd6d7782e97adb1e48a0509d2415b48f7a1b",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2024.1.1-aarch64.dmg",
+      "build_number": "241.14494.325"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "7e085580ebc8aadb9342e7362e3078b988e38fe8b5bfe8c4825a1744ad53c33f",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1-aarch64.dmg",
-      "build_number": "241.14494.234"
+      "version": "2024.1.1",
+      "sha256": "5e6bd929f2b74145aa763ca277ade3c3512342b38a5a21a605c0b319f487b49e",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.113"
     },
     "rust-rover": {
       "update-channel": "RustRover EAP",
       "url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg",
-      "version": "2023.3 EAP",
-      "sha256": "03e7c1e3c029cd72ddc9422cc1dc54ed581356b278127dc8d2b2f9e53d357054",
-      "url": "https://download.jetbrains.com/rustrover/RustRover-233.15026.24-aarch64.dmg",
-      "build_number": "233.15026.24"
+      "version": "2024.1 EAP",
+      "sha256": "1d63faf3d687508b976989768ee44ac3632017d55fce0557591dff2eae37d6a2",
+      "url": "https://download.jetbrains.com/rustrover/RustRover-241.15989.101-aarch64.dmg",
+      "build_number": "241.15989.101"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "95dd3a397fe063583c5e3ba4fefafdfcad740c18447c1a70c0f03cb004436496",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1-aarch64.dmg",
-      "build_number": "241.14494.235"
+      "version": "2024.1.2",
+      "sha256": "b3ce2aabba5bc3afef95d768aa721bb245d2fce0ec8d69d61d011c2b23087d97",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2024.1.2-aarch64.dmg",
+      "build_number": "241.15989.105"
     },
     "writerside": {
       "update-channel": "Writerside EAP",
       "url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.dmg",
-      "version": "2023.3 EAP",
-      "sha256": "2a78fbcabcdd5b7c906d933dd91ac927bde22ae3bba988dad7450184fd90457a",
-      "url": "https://download.jetbrains.com/writerside/writerside-233.14938-aarch64.dmg",
-      "build_number": "233.14938"
+      "version": "2024.1 EAP",
+      "sha256": "624f9f2fb0ed7c7d42484e42c16b9b0ec0c542ad8187d81b11ef1d38576c589d",
+      "url": "https://download.jetbrains.com/writerside/writerside-241.15989.11-aarch64.dmg",
+      "build_number": "241.15989.11"
     }
   }
 }
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index a88785e708178..fb57331cc3b46 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -113,6 +113,17 @@ rec {
       xz
     ];
   }).overrideAttrs (attrs: {
+    postInstall = (attrs.postInstall or "") + lib.optionalString (stdenv.isLinux) ''
+      (
+        cd $out/clion
+
+        for dir in plugins/clion-radler/DotFiles/linux-*; do
+          rm -rf $dir/dotnet
+          ln -s ${dotnet-sdk_7} $dir/dotnet
+        done
+      )
+    '';
+
     postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.isLinux) ''
       (
         cd $out/clion
diff --git a/pkgs/applications/editors/jetbrains/plugins/plugins.json b/pkgs/applications/editors/jetbrains/plugins/plugins.json
index 02b902bfbcce9..2f2effa5918bd 100644
--- a/pkgs/applications/editors/jetbrains/plugins/plugins.json
+++ b/pkgs/applications/editors/jetbrains/plugins/plugins.json
@@ -18,16 +18,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.237": "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.283": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.307": "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.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/513581/python-241.14494.240.zip"
+        "241.14494.240": "https://plugins.jetbrains.com/files/631/521307/python-241.14494.314.zip"
       },
       "name": "python"
     },
@@ -58,16 +58,16 @@
       ],
       "builds": {
         "233.13135.979": null,
-        "233.15026.24": null,
-        "241.14494.234": null,
-        "241.14494.235": null,
-        "241.14494.237": null,
         "241.14494.238": null,
         "241.14494.240": null,
         "241.14494.241": null,
-        "241.14494.283": null,
-        "241.14494.288": null,
-        "241.14494.307": 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.49": null
       },
       "name": "kotlin"
     },
@@ -89,16 +89,16 @@
       ],
       "builds": {
         "233.13135.979": null,
-        "233.15026.24": "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
         "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.283": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.307": "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.49": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip"
       },
       "name": "ini"
     },
@@ -108,8 +108,8 @@
         "phpstorm"
       ],
       "builds": {
-        "241.14494.237": "https://plugins.jetbrains.com/files/7219/518876/Symfony_Plugin-2023.1.268.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/7219/518876/Symfony_Plugin-2023.1.268.zip"
+        "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"
       },
       "name": "symfony-support"
     },
@@ -119,8 +119,8 @@
         "phpstorm"
       ],
       "builds": {
-        "241.14494.237": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip"
+        "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"
       },
       "name": "php-annotations"
     },
@@ -133,11 +133,11 @@
         "rust-rover"
       ],
       "builds": {
-        "233.15026.24": "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip",
         "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.283": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
-        "241.14494.307": "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"
       },
       "name": "python-community-edition"
     },
@@ -158,15 +158,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
-        "241.14494.234": null,
-        "241.14494.235": null,
-        "241.14494.237": null,
         "241.14494.238": null,
         "241.14494.240": null,
         "241.14494.241": null,
-        "241.14494.283": null,
-        "241.14494.288": null,
-        "241.14494.307": null
+        "241.14494.325": null,
+        "241.15989.102": null,
+        "241.15989.105": null,
+        "241.15989.113": null,
+        "241.15989.121": null,
+        "241.15989.49": null
       },
       "name": "-deprecated-rust"
     },
@@ -187,15 +187,15 @@
       ],
       "builds": {
         "233.13135.979": null,
-        "241.14494.234": null,
-        "241.14494.235": null,
-        "241.14494.237": null,
         "241.14494.238": null,
         "241.14494.240": null,
         "241.14494.241": null,
-        "241.14494.283": null,
-        "241.14494.288": null,
-        "241.14494.307": null
+        "241.14494.325": null,
+        "241.15989.102": null,
+        "241.15989.105": null,
+        "241.15989.113": null,
+        "241.15989.121": null,
+        "241.15989.49": null
       },
       "name": "-deprecated-rust-beta"
     },
@@ -209,10 +209,10 @@
         "ruby-mine"
       ],
       "builds": {
-        "241.14494.234": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
         "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.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"
       },
       "name": "ide-features-trainer"
     },
@@ -234,16 +234,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.237": "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.283": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.307": "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"
       },
       "name": "nixidea"
     },
@@ -276,16 +276,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.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.283": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.307": "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.49": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip"
       },
       "name": "csv-editor"
     },
@@ -307,16 +307,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.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.283": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.307": "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.49": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip"
       },
       "name": "vscode-keymap"
     },
@@ -338,16 +338,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.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.283": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.307": "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.49": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip"
       },
       "name": "eclipse-keymap"
     },
@@ -369,16 +369,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.237": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.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.283": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.307": "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.49": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip"
       },
       "name": "visual-studio-keymap"
     },
@@ -400,16 +400,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "233.15026.24": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.234": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.235": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.237": "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.283": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.288": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.307": "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.49": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
       },
       "name": "darcula-pitch-black"
     },
@@ -431,16 +431,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.237": "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.283": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.307": "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.49": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip"
       },
       "name": "github-copilot"
     },
@@ -462,16 +462,16 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "233.15026.24": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.234": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.235": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.237": "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.283": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.307": "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.49": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
       },
       "name": "netbeans-6-5-keymap"
     },
@@ -482,9 +482,9 @@
         "rust-rover"
       ],
       "builds": {
-        "233.15026.24": "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip",
-        "241.14494.288": "https://plugins.jetbrains.com/files/22407/515370/intellij-rust-241.25026.24.zip"
+        "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"
       },
       "name": "rust"
     }
@@ -502,15 +502,14 @@
     "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip": "sha256-FP6th8J3ymfTrwvJ3Ms7fsNPh3f9ab5ZVg5yPpKV/rY=",
     "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/515370/intellij-rust-241.25026.24.zip": "sha256-tBPoO2EkPaWFZ/Gu3UAkZPy4opssWJQEVlz9GZUkNtQ=",
-    "https://plugins.jetbrains.com/files/22407/515371/intellij-rust-233.25026.24.zip": "sha256-j4b4To8jY4orP87GpphHPtLKeAPDNXcLNSUlIXDDy2Q=",
-    "https://plugins.jetbrains.com/files/631/513581/python-241.14494.240.zip": "sha256-pQP1LF/6uImQpBOpxUGE8KmmFh26kiC4YaYLAHnEc3o=",
-    "https://plugins.jetbrains.com/files/6981/509027/ini-233.15026.15.zip": "sha256-6sTD+OFO/yA7m5o0XqoJKLcQ4zAFro7Iy7WNPfA49xM=",
+    "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/6981/513562/ini-241.14494.240.zip": "sha256-QC42nC7mEE3X1cmKj8jkwzpDJzX7ZoOPEd9y6i8IuvM=",
-    "https://plugins.jetbrains.com/files/7219/518876/Symfony_Plugin-2023.1.268.zip": "sha256-mYEuFdSaxw9Lc8yNgPB0ty6mfxjKaAa/jY6v4E2Qo0Q=",
+    "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/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=",
-    "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip": "sha256-PUBR9krJ26QrL2jTus0b+uhzkEkT+lGnBKy1f4i/U+w=",
     "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/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=",
diff --git a/pkgs/applications/editors/kile/default.nix b/pkgs/applications/editors/kile/default.nix
index 0e1326f50c492..b6c5345debf6e 100644
--- a/pkgs/applications/editors/kile/default.nix
+++ b/pkgs/applications/editors/kile/default.nix
@@ -1,68 +1,47 @@
-{ mkDerivation
-, lib
+{ lib
+, stdenv
 , fetchurl
-, extra-cmake-modules
-, kdoctools
-, wrapGAppsHook
-, qtscript
-, kconfig
-, kcrash
-, kdbusaddons
-, kdelibs4support
-, kguiaddons
-, kiconthemes
-, kinit
-, khtml
-, konsole
-, kparts
-, ktexteditor
-, kwindowsystem
-, okular
-, poppler
+, cmake
+, kdePackages
+, qt6
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "kile";
-  version = "2.9.93";
+  version = "2.9.94";
 
   src = fetchurl {
     url = "mirror://sourceforge/kile/kile-${version}.tar.bz2";
-    sha256 = "BEmSEv/LJPs6aCkUmnyuTGrV15WYXwgIANbfcviMXfA=";
+    sha256 = "U8Z0K9g/sJXL3ImLA/344Vq2gKgWk8yvnFB2uTrRo8o=";
   };
 
   nativeBuildInputs = [
-    extra-cmake-modules
-    wrapGAppsHook
-    kdoctools
+    cmake
+    kdePackages.extra-cmake-modules
+    qt6.wrapQtAppsHook
+    kdePackages.kdoctools
   ];
 
   buildInputs = [
-    kconfig
-    kcrash
-    kdbusaddons
-    kdelibs4support
-    kguiaddons
-    kiconthemes
-    kinit
-    khtml
-    kparts
-    ktexteditor
-    kwindowsystem
-    okular
-    poppler
-    qtscript
+    qt6.qtbase
+    qt6.qtdeclarative
+    qt6.qt5compat
+    kdePackages.kconfig
+    kdePackages.kcrash
+    kdePackages.kdbusaddons
+    kdePackages.kguiaddons
+    kdePackages.kiconthemes
+    kdePackages.konsole
+    kdePackages.kparts
+    kdePackages.ktexteditor
+    kdePackages.kwindowsystem
+    kdePackages.okular
+    kdePackages.poppler
   ];
-  dontWrapGApps = true;
-  preFixup = ''
-    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
-  '';
-
-  propagatedUserEnvPkgs = [ konsole ];
 
   meta = {
     description = "User-friendly TeX/LaTeX authoring tool for the KDE desktop environment";
     homepage = "https://www.kde.org/applications/office/kile/";
-    maintainers = with lib.maintainers; [ fridh ];
     license = lib.licenses.gpl2Plus;
     mainProgram = "kile";
   };
diff --git a/pkgs/applications/editors/lapce/Cargo.lock b/pkgs/applications/editors/lapce/Cargo.lock
index 206fef049c629..4937cc7d645fb 100644
--- a/pkgs/applications/editors/lapce/Cargo.lock
+++ b/pkgs/applications/editors/lapce/Cargo.lock
@@ -45,25 +45,15 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
-dependencies = [
- "getrandom",
- "once_cell",
- "version_check",
-]
-
-[[package]]
-name = "ahash"
-version = "0.8.3"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
  "getrandom",
  "once_cell",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
@@ -85,47 +75,24 @@ dependencies = [
 ]
 
 [[package]]
-name = "alacritty_config"
-version = "0.1.2-dev"
-source = "git+https://github.com/alacritty/alacritty?rev=6071a7bf35cfd99be8ba70f479f188b7370cda6f#6071a7bf35cfd99be8ba70f479f188b7370cda6f"
-dependencies = [
- "log",
- "serde",
- "toml 0.8.2",
-]
-
-[[package]]
-name = "alacritty_config_derive"
-version = "0.2.2-dev"
-source = "git+https://github.com/alacritty/alacritty?rev=6071a7bf35cfd99be8ba70f479f188b7370cda6f#6071a7bf35cfd99be8ba70f479f188b7370cda6f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
 name = "alacritty_terminal"
-version = "0.20.0-dev"
-source = "git+https://github.com/alacritty/alacritty?rev=6071a7bf35cfd99be8ba70f479f188b7370cda6f#6071a7bf35cfd99be8ba70f479f188b7370cda6f"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6d1ea4484c8676f295307a4892d478c70ac8da1dbd8c7c10830a504b7f1022f"
 dependencies = [
- "alacritty_config",
- "alacritty_config_derive",
- "base64",
- "bitflags 2.4.0",
+ "base64 0.22.0",
+ "bitflags 2.5.0",
  "home",
  "libc",
  "log",
  "miow",
- "parking_lot 0.12.1",
+ "parking_lot",
  "piper",
- "polling 3.2.0",
- "regex-automata 0.3.9",
+ "polling",
+ "regex-automata",
  "rustix-openpty",
  "serde",
- "serde_yaml",
  "signal-hook",
- "toml 0.8.2",
  "unicode-width",
  "vte",
  "windows-sys 0.48.0",
@@ -138,6 +105,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
 
 [[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
 name = "ambient-authority"
 version = "0.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -150,7 +123,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "052ad56e336bcc615a214bffbeca6c181ee9550acec193f0327e0b103b033a4d"
 dependencies = [
  "android-properties",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cc",
  "cesu8",
  "jni",
@@ -171,6 +144,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
 
 [[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
 name = "android_system_properties"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -180,6 +159,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "anes"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
 name = "anyhow"
 version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -221,20 +212,20 @@ version = "0.37.3+1.3.251"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a"
 dependencies = [
- "libloading 0.7.3",
+ "libloading 0.7.4",
 ]
 
 [[package]]
 name = "ashpd"
-version = "0.4.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31688b40eb5d739049f721d8405c33d3796b3f51f2bea84421a542dafe397e41"
+checksum = "1b22517ee647547c01a687cf9b76074e1c91334032a4324f7243c6ee0f949390"
 dependencies = [
- "async-std",
+ "async-fs",
+ "async-net",
  "enumflags2",
  "futures-channel",
  "futures-util",
- "once_cell",
  "rand",
  "serde",
  "serde_repr",
@@ -244,73 +235,71 @@ dependencies = [
 
 [[package]]
 name = "async-broadcast"
-version = "0.4.1"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d26004fe83b2d1cd3a97609b21e39f9a31535822210fe83205d2ce48866ea61"
+checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
 dependencies = [
- "event-listener",
+ "event-listener 5.2.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
- "parking_lot 0.12.1",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-channel"
-version = "1.7.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
- "concurrent-queue 1.2.4",
- "event-listener",
+ "concurrent-queue",
+ "event-listener 5.2.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-executor"
-version = "1.5.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock",
+ "async-lock 3.3.0",
  "async-task",
- "concurrent-queue 2.2.0",
- "fastrand 1.8.0",
+ "concurrent-queue",
+ "fastrand 2.0.1",
  "futures-lite",
  "slab",
 ]
 
 [[package]]
-name = "async-global-executor"
-version = "2.3.1"
+name = "async-fs"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
+checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1"
 dependencies = [
- "async-channel",
- "async-executor",
- "async-io",
- "async-lock",
+ "async-lock 3.3.0",
  "blocking",
  "futures-lite",
- "once_cell",
 ]
 
 [[package]]
 name = "async-io"
-version = "1.13.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
+checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
 dependencies = [
- "async-lock",
- "autocfg",
+ "async-lock 3.3.0",
  "cfg-if",
- "concurrent-queue 2.2.0",
+ "concurrent-queue",
+ "futures-io",
  "futures-lite",
- "log",
  "parking",
- "polling 2.8.0",
- "rustix 0.37.23",
+ "polling",
+ "rustix",
  "slab",
- "socket2 0.4.7",
- "waker-fn",
+ "tracing 0.1.37",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -319,51 +308,83 @@ version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 dependencies = [
- "event-listener",
+ "event-listener 2.5.3",
+]
+
+[[package]]
+name = "async-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.2.0",
+ "futures-lite",
+ "rustix",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "async-recursion"
-version = "0.3.2"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2"
+checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 2.0.57",
 ]
 
 [[package]]
-name = "async-std"
-version = "1.12.0"
+name = "async-signal"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-channel",
- "async-global-executor",
  "async-io",
- "async-lock",
- "crossbeam-utils",
- "futures-channel",
+ "async-lock 2.8.0",
+ "atomic-waker",
+ "cfg-if",
  "futures-core",
  "futures-io",
- "futures-lite",
- "gloo-timers",
- "kv-log-macro",
- "log",
- "memchr",
- "once_cell",
- "pin-project-lite",
- "pin-utils",
+ "rustix",
+ "signal-hook-registry",
  "slab",
- "wasm-bindgen-futures",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "async-task"
-version = "4.3.0"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
@@ -373,7 +394,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -389,17 +410,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
 name = "autocfg"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -407,24 +417,30 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[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",
  "object",
  "rustc-demangle",
 ]
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
 
 [[package]]
 name = "bincode"
@@ -451,12 +467,6 @@ 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"
@@ -464,9 +474,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 dependencies = [
  "serde",
 ]
@@ -516,34 +526,36 @@ dependencies = [
 
 [[package]]
 name = "blocking"
-version = "1.2.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel",
+ "async-lock 3.3.0",
  "async-task",
- "atomic-waker",
- "fastrand 1.8.0",
+ "fastrand 2.0.1",
+ "futures-io",
  "futures-lite",
- "once_cell",
+ "piper",
+ "tracing 0.1.37",
 ]
 
 [[package]]
 name = "bstr"
-version = "0.2.17"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
+checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019"
 dependencies = [
- "lazy_static",
  "memchr",
- "regex-automata 0.1.10",
+ "regex-automata",
+ "serde",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.11.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytecount"
@@ -553,9 +565,9 @@ checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 dependencies = [
  "bytemuck_derive",
 ]
@@ -568,7 +580,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -584,21 +596,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
-name = "cache-padded"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
-
-[[package]]
 name = "calloop"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7b50b5a44d59a98c55a9eeb518f39bf7499ba19fd98ee7d22618687f3f10adbf"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "log",
- "polling 3.2.0",
- "rustix 0.38.20",
+ "polling",
+ "rustix",
  "slab",
  "thiserror",
 ]
@@ -610,9 +616,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
 dependencies = [
  "calloop",
- "rustix 0.38.20",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "rustix",
+ "wayland-backend",
+ "wayland-client",
 ]
 
 [[package]]
@@ -623,7 +629,7 @@ checksum = "b779b2d0a001c125b4584ad586268fb4b92d957bff8d26d7fe0dd78283faa814"
 dependencies = [
  "cap-primitives",
  "cap-std",
- "io-lifetimes 2.0.2",
+ "io-lifetimes",
  "windows-sys 0.48.0",
 ]
 
@@ -635,7 +641,7 @@ checksum = "6ffc30dee200c20b4dcb80572226f42658e1d9c4b668656d7cc59c33d50e396e"
 dependencies = [
  "cap-primitives",
  "cap-std",
- "rustix 0.38.20",
+ "rustix",
  "smallvec",
 ]
 
@@ -648,10 +654,10 @@ dependencies = [
  "ambient-authority",
  "fs-set-times",
  "io-extras",
- "io-lifetimes 2.0.2",
+ "io-lifetimes",
  "ipnet",
  "maybe-owned",
- "rustix 0.38.20",
+ "rustix",
  "windows-sys 0.48.0",
  "winx",
 ]
@@ -674,8 +680,8 @@ checksum = "84bade423fa6403efeebeafe568fdb230e8c590a275fba2ba978dd112efcf6e9"
 dependencies = [
  "cap-primitives",
  "io-extras",
- "io-lifetimes 2.0.2",
- "rustix 0.38.20",
+ "io-lifetimes",
+ "rustix",
 ]
 
 [[package]]
@@ -686,15 +692,21 @@ checksum = "f8f52b3c8f4abfe3252fd0a071f3004aaa3b18936ec97bdbd8763ce03aff6247"
 dependencies = [
  "cap-primitives",
  "once_cell",
- "rustix 0.38.20",
+ "rustix",
  "winx",
 ]
 
 [[package]]
+name = "cast"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+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",
@@ -719,58 +731,89 @@ 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 = "chrono"
-version = "0.4.22"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
+ "android-tzdata",
  "iana-time-zone",
  "js-sys",
- "num-integer",
  "num-traits",
- "time 0.1.44",
  "wasm-bindgen",
- "winapi",
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "ciborium"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+dependencies = [
+ "ciborium-io",
+ "ciborium-ll",
+ "serde",
+]
+
+[[package]]
+name = "ciborium-io"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+
+[[package]]
+name = "ciborium-ll"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+dependencies = [
+ "ciborium-io",
+ "half",
 ]
 
 [[package]]
 name = "clap"
-version = "3.2.25"
+version = "4.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
 dependencies = [
- "atty",
- "bitflags 1.3.2",
+ "clap_builder",
  "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+dependencies = [
+ "anstyle",
  "clap_lex",
- "indexmap 1.9.3",
- "once_cell",
- "strsim",
- "termcolor",
- "textwrap",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "3.2.25"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
- "heck 0.4.0",
- "proc-macro-error",
+ "heck",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 2.0.57",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.2.4"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-dependencies = [
- "os_str_bytes",
-]
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "clipboard-win"
@@ -830,28 +873,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
-name = "com-rs"
-version = "0.2.1"
+name = "com"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642"
+checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6"
+dependencies = [
+ "com_macros",
+]
 
 [[package]]
-name = "combine"
-version = "4.6.6"
+name = "com_macros"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5"
 dependencies = [
- "bytes",
- "memchr",
+ "com_macros_support",
+ "proc-macro2",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "concurrent-queue"
-version = "1.2.4"
+name = "com_macros_support"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c"
+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 = [
- "cache-padded",
+ "bytes",
+ "memchr",
 ]
 
 [[package]]
@@ -865,23 +924,23 @@ dependencies = [
 
 [[package]]
 name = "config"
-version = "0.13.3"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d379af7f68bfc21714c6c7dea883544201741d2ce8274bb12fa54f89507f52a7"
+checksum = "23738e11972c7643e4ec947840fc463b6a571afcd3e735bdfce7d03c7a784aca"
 dependencies = [
  "async-trait",
  "lazy_static",
  "nom",
  "pathdiff",
  "serde",
- "toml 0.5.9",
+ "toml",
 ]
 
 [[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",
@@ -933,36 +992,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "cosmic-text"
-version = "0.7.0"
-source = "git+https://github.com/lapce/cosmic-text?rev=f7a20704d6ebbe8fb82d0bb579c37c53e7ae9747#f7a20704d6ebbe8fb82d0bb579c37c53e7ae9747"
-dependencies = [
- "fontdb 0.16.0",
- "libm",
- "log",
- "once_cell",
- "ouroboros",
- "parking_lot 0.12.1",
- "peniko",
- "rangemap",
- "rustybuzz 0.8.0",
- "stretto",
- "swash",
- "sys-locale",
- "ttf-parser 0.18.1",
- "unicode-bidi",
- "unicode-linebreak",
- "unicode-script",
- "unicode-segmentation",
-]
-
-[[package]]
-name = "cov-mark"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ffa3d3e0138386cd4361f63537765cac7ee40698028844635a54495a92f67f3"
-
-[[package]]
 name = "cpp_demangle"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -982,18 +1011,18 @@ dependencies = [
 
 [[package]]
 name = "cranelift-bforest"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f773437307980ac0f424bf9b9a5d0cd21a0f17248c6860c9a65bec8b5975f3fe"
+checksum = "2b5bb9245ec7dcc04d03110e538d31f0969d301c9d673145f4b4d5c3478539a3"
 dependencies = [
  "cranelift-entity",
 ]
 
 [[package]]
 name = "cranelift-codegen"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443c2ac50e97fb7de1a0f862753fce3f27215558811a6fcee508eb0c3747fa79"
+checksum = "ebb18d10e5ddac43ba4ca8fd4e310938569c3e484cc01b6372b27dc5bb4dfd28"
 dependencies = [
  "bumpalo",
  "cranelift-bforest",
@@ -1003,7 +1032,7 @@ dependencies = [
  "cranelift-entity",
  "cranelift-isle",
  "gimli",
- "hashbrown 0.14.2",
+ "hashbrown",
  "log",
  "regalloc2",
  "smallvec",
@@ -1012,33 +1041,33 @@ dependencies = [
 
 [[package]]
 name = "cranelift-codegen-meta"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5b174c411480c79ce0793c55042fa51bec27e486381d103a53cab3b480cb2db"
+checksum = "7a3ce6d22982c1b9b6b012654258bab1a13947bb12703518bef06b1a4867c3d6"
 dependencies = [
  "cranelift-codegen-shared",
 ]
 
 [[package]]
 name = "cranelift-codegen-shared"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73fa0151a528066a369de6debeea4d4b23a32aba68b5add8c46d3dc8091ff434"
+checksum = "47220fd4f9a0ce23541652b6f16f83868d282602c600d14934b2a4c166b4bd80"
 
 [[package]]
 name = "cranelift-control"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8adf1e6398493c9bea1190e37d28a0eb0eca5fddbc80e01e506cda34db92b1f"
+checksum = "ed5a4c42672aea9b6e820046b52e47a1c05d3394a6cdf4cb3c3c4b702f954bd2"
 dependencies = [
  "arbitrary",
 ]
 
 [[package]]
 name = "cranelift-entity"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4917e2ed3bb5fe87d0ed88395ca6d644018d119a034faedd1f3e1f2c33cd52b2"
+checksum = "0b4e9a3296fc827f9d35135dc2c0c8dd8d8359eb1ef904bae2d55d5bcb0c9f94"
 dependencies = [
  "serde",
  "serde_derive",
@@ -1058,9 +1087,9 @@ dependencies = [
 
 [[package]]
 name = "cranelift-isle"
-version = "0.101.2"
+version = "0.101.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a67fda31b9d69eaa1c49a2081939454c45857596a9d45af6744680541c628b4c"
+checksum = "45bab6d69919d210a50331d35cc6ce111567bc040aebac63a8ae130d0400a075"
 
 [[package]]
 name = "cranelift-native"
@@ -1082,7 +1111,7 @@ dependencies = [
  "cranelift-codegen",
  "cranelift-entity",
  "cranelift-frontend",
- "itertools",
+ "itertools 0.10.5",
  "log",
  "smallvec",
  "wasmparser",
@@ -1099,12 +1128,47 @@ dependencies = [
 ]
 
 [[package]]
+name = "criterion"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
+dependencies = [
+ "anes",
+ "cast",
+ "ciborium",
+ "clap",
+ "criterion-plot",
+ "is-terminal",
+ "itertools 0.10.5",
+ "num-traits",
+ "once_cell",
+ "oorandom",
+ "plotters",
+ "rayon",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "tinytemplate",
+ "walkdir",
+]
+
+[[package]]
+name = "criterion-plot"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
+dependencies = [
+ "cast",
+ "itertools 0.10.5",
+]
+
+[[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",
 ]
 
@@ -1135,19 +1199,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
-dependencies = [
- "cfg-if",
- "once_cell",
-]
-
-[[package]]
-name = "crunchy"
-version = "0.2.2"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crypto-common"
@@ -1161,22 +1215,12 @@ dependencies = [
 
 [[package]]
 name = "ctor"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
-dependencies = [
- "quote",
- "syn 1.0.101",
-]
-
-[[package]]
-name = "ctor"
 version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583"
 dependencies = [
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1184,23 +1228,26 @@ name = "cursor-icon"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+dependencies = [
+ "serde",
+]
 
 [[package]]
 name = "d3d12"
-version = "0.7.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20"
+checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "libloading 0.8.1",
  "winapi",
 ]
 
 [[package]]
 name = "darling"
-version = "0.13.4"
+version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
+checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -1208,34 +1255,34 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.13.4"
+version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
+checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
  "strsim",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.13.4"
+version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
+checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
 dependencies = [
  "darling_core",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "data-url"
-version = "0.2.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
+checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
 
 [[package]]
 name = "debugid"
@@ -1247,6 +1294,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
 name = "derivative"
 version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1254,7 +1310,7 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -1350,25 +1406,25 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
 name = "drm"
-version = "0.9.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edf9159ef4bcecd0c5e4cbeb573b8d0037493403d542780dba5d840bbf9df56f"
+checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "bytemuck",
  "drm-ffi",
  "drm-fourcc",
- "nix 0.26.4",
+ "rustix",
 ]
 
 [[package]]
 name = "drm-ffi"
-version = "0.5.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1352481b7b90e27a8a1bf8ef6b33cf18b98dba7c410e75c24bb3eef2f0d8d525"
+checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
 dependencies = [
  "drm-sys",
- "nix 0.26.4",
+ "rustix",
 ]
 
 [[package]]
@@ -1379,29 +1435,30 @@ checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
 
 [[package]]
 name = "drm-sys"
-version = "0.4.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1369f1679d6b706d234c4c1e0613c415c2c74b598a09ad28080ba2474b72e42d"
+checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176"
 dependencies = [
  "libc",
+ "linux-raw-sys 0.6.4",
 ]
 
 [[package]]
 name = "dyn-clone"
-version = "1.0.10"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60"
+checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d"
 
 [[package]]
 name = "educe"
-version = "0.4.22"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "079044df30bb07de7d846d41a184c4b00e66ebdac93ee459253474f3a47e50ae"
+checksum = "e4bd92664bf78c4d3dba9b7cdafce6fa15b13ed3ed16175218196942e99168a8"
 dependencies = [
  "enum-ordinalize",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1429,16 +1486,29 @@ dependencies = [
 ]
 
 [[package]]
+name = "endi"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
+
+[[package]]
 name = "enum-ordinalize"
-version = "3.1.13"
+version = "4.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4f76552f53cefc9a7f64987c3701b99d982f7690606fd67de1d09712fbf52f1"
+checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5"
+dependencies = [
+ "enum-ordinalize-derive",
+]
+
+[[package]]
+name = "enum-ordinalize-derive"
+version = "4.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff"
 dependencies = [
- "num-bigint",
- "num-traits",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1459,7 +1529,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1470,23 +1540,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1505,19 +1564,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
-name = "exr"
-version = "1.71.0"
+name = "event-listener"
+version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
 dependencies = [
- "bit_field",
- "flume",
- "half",
- "lebe",
- "miniz_oxide 0.7.1",
- "rayon-core",
- "smallvec",
- "zune-inflate",
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
+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.2.0",
+ "pin-project-lite",
 ]
 
 [[package]]
@@ -1548,7 +1633,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b0377f1edc77dbd1118507bc7a66e4ab64d2b90c66f90726dc801e73a8c68f9"
 dependencies = [
  "cfg-if",
- "rustix 0.38.20",
+ "rustix",
  "windows-sys 0.48.0",
 ]
 
@@ -1574,19 +1659,13 @@ dependencies = [
 ]
 
 [[package]]
-name = "fixedbitset"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
-
-[[package]]
 name = "flate2"
-version = "1.0.24"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
- "miniz_oxide 0.5.4",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -1597,100 +1676,209 @@ checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
 
 [[package]]
 name = "floem"
-version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "copypasta",
  "crossbeam-channel",
+ "downcast-rs",
  "educe",
+ "floem-editor-core",
+ "floem-peniko",
+ "floem-winit",
  "floem_reactive",
  "floem_renderer",
- "floem_tiny_skia",
- "floem_vger",
+ "floem_tiny_skia_renderer",
+ "floem_vger_renderer",
  "im",
+ "im-rc",
  "image",
- "indexmap 2.0.2",
- "kurbo",
+ "indexmap",
+ "kurbo 0.9.5",
+ "lapce-xi-rope",
  "once_cell",
- "parking_lot 0.12.1",
- "peniko",
- "raw-window-handle 0.5.2",
+ "parking_lot",
+ "raw-window-handle 0.6.0",
  "rfd",
  "rustc-hash",
+ "serde",
  "sha2",
  "smallvec",
+ "strum",
+ "strum_macros",
  "taffy",
  "unicode-segmentation",
- "winit",
+ "wgpu",
 ]
 
 [[package]]
-name = "floem_reactive"
+name = "floem-cosmic-text"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43d74a7975acd84233e843c26da850aa43b39f1e64503fd46d6af9be4ea498dd"
+dependencies = [
+ "floem-peniko",
+ "fontdb",
+ "libm",
+ "log",
+ "once_cell",
+ "ouroboros",
+ "parking_lot",
+ "rangemap",
+ "rustybuzz",
+ "stretto",
+ "swash",
+ "sys-locale",
+ "ttf-parser 0.20.0",
+ "unicode-bidi",
+ "unicode-linebreak",
+ "unicode-script",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "floem-editor-core"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
+dependencies = [
+ "bitflags 2.5.0",
+ "itertools 0.12.1",
+ "lapce-xi-rope",
+ "memchr",
+ "once_cell",
+ "serde",
+ "strum",
+ "strum_macros",
+]
+
+[[package]]
+name = "floem-peniko"
 version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f505394c816e710e2b664647a7a1a4ffdf45e3b3493ad6560d9489f23100430"
+dependencies = [
+ "kurbo 0.9.5",
+ "smallvec",
+]
+
+[[package]]
+name = "floem-vger"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ef11c9c2f1668ec58b1712f85afec989caaae19273b653aaad1964575f8871c"
+dependencies = [
+ "euclid",
+ "floem-cosmic-text",
+ "fontdue",
+ "rect_packer",
+ "wgpu",
+]
+
+[[package]]
+name = "floem-winit"
+version = "0.29.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fc88e6b23b93c7ba38e9cd465d2d0cbd3cd4999f05f685349e2b3cdfe88813a"
+dependencies = [
+ "ahash",
+ "android-activity",
+ "atomic-waker",
+ "bitflags 2.5.0",
+ "bytemuck",
+ "calloop",
+ "cfg_aliases 0.1.1",
+ "core-foundation",
+ "core-graphics",
+ "cursor-icon",
+ "icrate",
+ "js-sys",
+ "libc",
+ "log",
+ "memmap2 0.9.0",
+ "ndk",
+ "ndk-sys",
+ "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",
+ "serde",
+ "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 = "floem_reactive"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
  "smallvec",
 ]
 
 [[package]]
 name = "floem_renderer"
-version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
- "cosmic-text",
+ "floem-cosmic-text",
+ "floem-peniko",
  "image",
- "peniko",
  "resvg",
 ]
 
 [[package]]
-name = "floem_tiny_skia"
-version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+name = "floem_tiny_skia_renderer"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
  "anyhow",
  "bytemuck",
+ "floem-peniko",
  "floem_renderer",
  "futures",
  "image",
- "peniko",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "resvg",
  "softbuffer",
  "swash",
 ]
 
 [[package]]
-name = "floem_vger"
-version = "0.1.0"
-source = "git+https://github.com/lapce/floem?rev=0694f9672a10a49290af223cac3dc2ab53b1b1dd#0694f9672a10a49290af223cac3dc2ab53b1b1dd"
+name = "floem_vger_renderer"
+version = "0.1.1"
+source = "git+https://github.com/lapce/floem?rev=a3dd7599823d74977ff431ecb08fffbcf4df2d8a#a3dd7599823d74977ff431ecb08fffbcf4df2d8a"
 dependencies = [
  "anyhow",
+ "floem-peniko",
+ "floem-vger",
  "floem_renderer",
  "futures",
  "image",
- "peniko",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "resvg",
  "swash",
- "vger",
  "wgpu",
 ]
 
 [[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"
@@ -1702,28 +1890,14 @@ version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4"
 dependencies = [
- "roxmltree",
+ "roxmltree 0.18.0",
 ]
 
 [[package]]
 name = "fontdb"
-version = "0.14.1"
+version = "0.16.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8d8cbea8f21307d7e84bca254772981296f058a1d36b461bf4d83a7499fc9e"
-dependencies = [
- "fontconfig-parser",
- "log",
- "memmap2 0.6.2",
- "slotmap",
- "tinyvec",
- "ttf-parser 0.19.1",
-]
-
-[[package]]
-name = "fontdb"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98b88c54a38407f7352dd2c4238830115a6377741098ffd1f997c813d0e088a6"
+checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3"
 dependencies = [
  "fontconfig-parser",
  "log",
@@ -1735,12 +1909,12 @@ dependencies = [
 
 [[package]]
 name = "fontdue"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0793f5137567643cf65ea42043a538804ff0fbf288649e2141442b602d81f9bc"
+checksum = "9099a2f86b8e674b75d03ff154b3fe4c5208ed249ced8d69cc313a9fa40bb488"
 dependencies = [
- "hashbrown 0.13.2",
- "ttf-parser 0.15.2",
+ "hashbrown",
+ "ttf-parser 0.20.0",
 ]
 
 [[package]]
@@ -1770,7 +1944,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1787,9 +1961,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1800,22 +1974,12 @@ version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dd738b84894214045e8414eaded76359b4a5773f0a0a56b16575110739cdcf39"
 dependencies = [
- "io-lifetimes 2.0.2",
- "rustix 0.38.20",
+ "io-lifetimes",
+ "rustix",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "fs2"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
 name = "fs_extra"
 version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1832,9 +1996,9 @@ dependencies = [
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1847,9 +2011,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",
@@ -1857,15 +2021,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.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1874,53 +2038,51 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
-version = "1.12.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
 dependencies = [
- "fastrand 1.8.0",
+ "fastrand 2.0.1",
  "futures-core",
  "futures-io",
- "memchr",
  "parking",
  "pin-project-lite",
- "waker-fn",
 ]
 
 [[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[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.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1949,7 +2111,7 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "debugid",
  "fxhash",
  "serde",
@@ -1968,12 +2130,12 @@ dependencies = [
 
 [[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]]
@@ -1992,10 +2154,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
 dependencies = [
  "cfg-if",
- "js-sys",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "wasm-bindgen",
+ "wasi",
 ]
 
 [[package]]
@@ -2015,17 +2175,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
 dependencies = [
  "fallible-iterator",
- "indexmap 2.0.2",
+ "indexmap",
  "stable_deref_trait",
 ]
 
 [[package]]
 name = "git2"
-version = "0.18.1"
+version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd"
+checksum = "1b3ba52851e73b46a4c3df1d89343741112003f0f6f13beb0dfac9e457c3fdcd"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "libc",
  "libgit2-sys",
  "log",
@@ -2053,34 +2213,22 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 
 [[package]]
 name = "globset"
-version = "0.4.9"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
 dependencies = [
- "aho-corasick 0.7.19",
+ "aho-corasick 1.1.2",
  "bstr",
- "fnv",
  "log",
- "regex",
-]
-
-[[package]]
-name = "gloo-timers"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
-dependencies = [
- "futures-channel",
- "futures-core",
- "js-sys",
- "wasm-bindgen",
+ "regex-automata",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
 name = "glow"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "886c2a30b160c4c6fec8f987430c26b526b7988ca71f664e6a699ddf6f9601e4"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -2103,7 +2251,7 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "gpu-alloc-types",
 ]
 
@@ -2113,16 +2261,15 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
 ]
 
 [[package]]
 name = "gpu-allocator"
-version = "0.23.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40fe17c8a05d60c38c0a4e5a3c802f2f1ceb66b76c67d96ffb34bef0475a7fad"
+checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884"
 dependencies = [
- "backtrace",
  "log",
  "presser",
  "thiserror",
@@ -2132,13 +2279,13 @@ dependencies = [
 
 [[package]]
 name = "gpu-descriptor"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a"
+checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "gpu-descriptor-types",
- "hashbrown 0.12.3",
+ "hashbrown",
 ]
 
 [[package]]
@@ -2161,9 +2308,9 @@ dependencies = [
 
 [[package]]
 name = "grep-regex"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1345f8d33c89f2d5b081f2f2a41175adef9fd0bed2fea6a26c96c2deb027e58e"
+checksum = "997598b41d53a37a2e3fc5300d5c11d825368c054420a9c65125b8fe1078463f"
 dependencies = [
  "aho-corasick 0.7.19",
  "bstr",
@@ -2176,9 +2323,9 @@ dependencies = [
 
 [[package]]
 name = "grep-searcher"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48852bd08f9b4eb3040ecb6d2f4ade224afe880a9a0909c5563cc59fa67932cc"
+checksum = "5601c4b9f480f0c9ebb40b1f6cbf447b8a50c5369223937a6c5214368c58779f"
 dependencies = [
  "bstr",
  "bytecount",
@@ -2191,15 +2338,15 @@ dependencies = [
 
 [[package]]
 name = "grid"
-version = "0.10.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eec1c01eb1de97451ee0d60de7d81cf1e72aabefb021616027f3d1c3ec1c723c"
+checksum = "d196ffc1627db18a531359249b2bf8416178d84b729f3cebeb278f285fb9b58c"
 
 [[package]]
 name = "h2"
-version = "0.3.21"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
 dependencies = [
  "bytes",
  "fnv",
@@ -2207,7 +2354,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap 1.9.3",
+ "indexmap",
  "slab",
  "tokio",
  "tokio-util",
@@ -2216,50 +2363,30 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
-dependencies = [
- "crunchy",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.6",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.13.2"
+version = "1.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
-dependencies = [
- "ahash 0.8.3",
-]
+checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
- "ahash 0.8.3",
+ "ahash",
+ "allocator-api2",
 ]
 
 [[package]]
 name = "hassle-rs"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0"
+checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890"
 dependencies = [
- "bitflags 1.3.2",
- "com-rs",
+ "bitflags 2.5.0",
+ "com",
  "libc",
- "libloading 0.7.3",
+ "libloading 0.8.1",
  "thiserror",
  "widestring",
  "winapi",
@@ -2267,18 +2394,9 @@ dependencies = [
 
 [[package]]
 name = "heck"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "heck"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
@@ -2291,9 +2409,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.2"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -2430,9 +2548,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.3.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -2440,11 +2558,10 @@ dependencies = [
 
 [[package]]
 name = "ignore"
-version = "0.4.18"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d"
+checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
 dependencies = [
- "crossbeam-utils",
  "globset",
  "lazy_static",
  "log",
@@ -2472,22 +2589,42 @@ dependencies = [
 ]
 
 [[package]]
+name = "im-rc"
+version = "15.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
+dependencies = [
+ "bitmaps",
+ "rand_core",
+ "rand_xoshiro",
+ "sized-chunks",
+ "typenum",
+ "version_check",
+]
+
+[[package]]
 name = "image"
-version = "0.24.7"
+version = "0.25.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11"
 dependencies = [
  "bytemuck",
  "byteorder",
- "color_quant",
- "exr",
- "gif",
- "jpeg-decoder",
- "num-rational",
+ "image-webp",
  "num-traits",
  "png",
- "qoi",
- "tiff",
+ "zune-core",
+ "zune-jpeg",
+]
+
+[[package]]
+name = "image-webp"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a84a25dcae3ac487bc24ef280f9e20c79c9b1a3e5e32cbed3041d1c514aa87c"
+dependencies = [
+ "byteorder",
+ "thiserror",
 ]
 
 [[package]]
@@ -2517,27 +2654,17 @@ dependencies = [
  "proc-macro-hack",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[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.0.2"
+version = "2.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown",
  "serde",
 ]
 
@@ -2602,18 +2729,7 @@ version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d3c230ee517ee76b1cc593b52939ff68deda3fae9e41eca426c6b4993df51c4"
 dependencies = [
- "io-lifetimes 2.0.2",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi 0.3.2",
- "libc",
+ "io-lifetimes",
  "windows-sys 0.48.0",
 ]
 
@@ -2639,6 +2755,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "is-terminal"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
+dependencies = [
+ "hermit-abi 0.3.9",
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "is-wsl"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2658,6 +2785,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
 version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2719,15 +2855,12 @@ name = "jpeg-decoder"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
-dependencies = [
- "rayon",
-]
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2791,17 +2924,18 @@ dependencies = [
 ]
 
 [[package]]
-name = "kv-log-macro"
-version = "1.0.7"
+name = "kurbo"
+version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
+checksum = "1618d4ebd923e97d67e7cd363d80aef35fe961005cbbbb3d2dad8bdd1bc63440"
 dependencies = [
- "log",
+ "arrayvec",
+ "smallvec",
 ]
 
 [[package]]
 name = "lapce"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "lapce-app",
  "lapce-proxy",
@@ -2809,28 +2943,30 @@ dependencies = [
 
 [[package]]
 name = "lapce-app"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "Inflector",
  "alacritty_terminal",
  "anyhow",
- "base64",
+ "backtrace",
+ "base64 0.21.7",
  "bytemuck",
  "chrono",
  "clap",
  "config",
+ "criterion",
  "crossbeam-channel",
  "directories",
  "dmg",
  "flate2",
  "floem",
  "fs_extra",
- "futures",
+ "globset",
  "im",
  "include_dir",
- "indexmap 2.0.2",
+ "indexmap",
  "interprocess",
- "itertools",
+ "itertools 0.12.1",
  "lapce-core",
  "lapce-proxy",
  "lapce-rpc",
@@ -2840,7 +2976,7 @@ dependencies = [
  "nucleo",
  "once_cell",
  "open",
- "parking_lot 0.11.2",
+ "parking_lot",
  "pulldown-cmark",
  "rayon",
  "regex",
@@ -2848,40 +2984,39 @@ dependencies = [
  "serde",
  "serde_json",
  "sha2",
- "sled",
  "smallvec",
  "structdesc",
  "strum",
  "strum_macros",
  "tar",
  "thiserror",
- "tokio",
- "toml 0.5.9",
- "toml_edit 0.19.14",
+ "toml",
+ "toml_edit 0.20.2",
  "tracing 0.2.0",
  "tracing-appender",
+ "tracing-log",
  "tracing-subscriber",
  "unicode-width",
  "url",
+ "windows-sys 0.36.1",
  "zip",
 ]
 
 [[package]]
 name = "lapce-core"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "anyhow",
  "arc-swap",
- "bitflags 1.3.2",
  "directories",
+ "floem-editor-core",
  "include_dir",
- "itertools",
+ "itertools 0.12.1",
  "lapce-rpc",
  "lapce-xi-rope",
- "libloading 0.7.3",
+ "libloading 0.8.1",
  "lsp-types",
  "once_cell",
- "serde",
  "slotmap",
  "strum",
  "strum_macros",
@@ -2902,7 +3037,7 @@ dependencies = [
 
 [[package]]
 name = "lapce-proxy"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "alacritty_terminal",
  "anyhow",
@@ -2912,13 +3047,14 @@ dependencies = [
  "directories",
  "dyn-clone",
  "flate2",
+ "floem-editor-core",
  "git2",
  "globset",
  "grep-matcher",
  "grep-regex",
  "grep-searcher",
  "ignore",
- "indexmap 2.0.2",
+ "indexmap",
  "interprocess",
  "jsonrpc-lite",
  "lapce-core",
@@ -2930,8 +3066,8 @@ dependencies = [
  "notify",
  "objc",
  "once_cell",
- "parking_lot 0.11.2",
- "polling 3.2.0",
+ "parking_lot",
+ "polling",
  "psp-types",
  "regex",
  "reqwest",
@@ -2940,9 +3076,10 @@ dependencies = [
  "strum",
  "strum_macros",
  "tar",
- "toml 0.5.9",
- "toml_edit 0.19.14",
+ "toml",
+ "toml_edit 0.20.2",
  "tracing 0.2.0",
+ "tracing-log",
  "trash",
  "url",
  "walkdir",
@@ -2955,15 +3092,15 @@ dependencies = [
 
 [[package]]
 name = "lapce-rpc"
-version = "0.3.1"
+version = "0.4.0"
 dependencies = [
  "anyhow",
  "crossbeam-channel",
  "human-sort",
- "indexmap 2.0.2",
+ "indexmap",
  "lapce-xi-rope",
  "lsp-types",
- "parking_lot 0.11.2",
+ "parking_lot",
  "serde",
  "serde_json",
  "tracing 0.2.0",
@@ -3002,22 +3139,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
 
 [[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.149"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libgit2-sys"
-version = "0.16.1+1.7.1"
+version = "0.16.2+1.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c"
+checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8"
 dependencies = [
  "cc",
  "libc",
@@ -3029,9 +3160,9 @@ dependencies = [
 
 [[package]]
 name = "libloading"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
 dependencies = [
  "cfg-if",
  "winapi",
@@ -3081,24 +3212,21 @@ dependencies = [
 
 [[package]]
 name = "line-wrap"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
-dependencies = [
- "safemem",
-]
+checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4"
 
 [[package]]
 name = "locale_config"
@@ -3125,20 +3253,14 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
- "serde",
- "value-bag",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "lsp-types"
-version = "0.93.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3bcfee315dde785ba887edb540b08765fd7df75a7d948844be6bf5712246734"
+version = "0.95.1"
+source = "git+https://github.com/lapce/lsp-types?rev=feaa1e2ec80975c9dadd400a238ceacf071058e6#feaa1e2ec80975c9dadd400a238ceacf071058e6"
 dependencies = [
  "bitflags 1.3.2",
  "serde",
@@ -3173,9 +3295,9 @@ checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4"
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memfd"
@@ -3183,7 +3305,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64"
 dependencies = [
- "rustix 0.38.20",
+ "rustix",
 ]
 
 [[package]]
@@ -3197,24 +3319,6 @@ dependencies = [
 
 [[package]]
 name = "memmap2"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d28bba84adfe6646737845bc5ebbfa2c08424eb1c37e94a1fd2a82adb56a872"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memmap2"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memmap2"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375"
@@ -3255,7 +3359,7 @@ version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "block",
  "core-graphics-types",
  "foreign-types 0.5.0",
@@ -3278,15 +3382,6 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "miniz_oxide"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
@@ -3297,13 +3392,13 @@ dependencies = [
 
 [[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",
  "log",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "windows-sys 0.48.0",
 ]
 
@@ -3318,15 +3413,15 @@ dependencies = [
 
 [[package]]
 name = "naga"
-version = "0.14.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61d829abac9f5230a85d8cc83ec0879b4c09790208ae25b5ea031ef84562e071"
+checksum = "50e3524642f53d9af419ab5e8dd29d3ba155708267667c2f3f06c88c9e130843"
 dependencies = [
  "bit-set",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "codespan-reporting",
  "hexf-parse",
- "indexmap 2.0.2",
+ "indexmap",
  "log",
  "num-traits",
  "rustc-hash",
@@ -3337,15 +3432,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "nanorand"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
 name = "native-tls"
 version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3369,7 +3455,7 @@ version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "jni-sys",
  "log",
  "ndk-sys",
@@ -3396,27 +3482,26 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.24.2"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
  "libc",
- "memoffset 0.6.5",
+ "memoffset 0.7.1",
 ]
 
 [[package]]
 name = "nix"
-version = "0.26.4"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "cfg-if",
  "libc",
- "memoffset 0.7.1",
- "pin-utils",
+ "memoffset 0.9.0",
 ]
 
 [[package]]
@@ -3431,9 +3516,9 @@ dependencies = [
 
 [[package]]
 name = "notify"
-version = "5.0.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed2c66da08abae1c024c01d635253e402341b4060a12e99b31c7594063bf490a"
+checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486"
 dependencies = [
  "bitflags 1.3.2",
  "crossbeam-channel",
@@ -3445,7 +3530,7 @@ dependencies = [
  "mio",
  "serde",
  "walkdir",
- "winapi",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -3460,57 +3545,30 @@ dependencies = [
 
 [[package]]
 name = "nucleo"
-version = "0.2.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ccab936f2c8ad271bb31430944d98d358f74153566ea323265497f5639b11b6"
+checksum = "5262af4c94921c2646c5ac6ff7900c2af9cbb08dc26a797e18130a7019c039d4"
 dependencies = [
  "nucleo-matcher",
- "parking_lot 0.12.1",
+ "parking_lot",
  "rayon",
 ]
 
 [[package]]
 name = "nucleo-matcher"
-version = "0.2.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b702b402fe286162d1f00b552a046ce74365d2ac473a2607ff36ba650f9bd57"
+checksum = "bf33f538733d1a5a3494b836ba913207f14d9d4a1d3cd67030c5061bdd2cac85"
 dependencies = [
- "cov-mark",
  "memchr",
  "unicode-segmentation",
 ]
 
 [[package]]
-name = "num-bigint"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
-[[package]]
-name = "num-rational"
-version = "0.4.1"
+name = "num-conv"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
 
 [[package]]
 name = "num-traits"
@@ -3549,16 +3607,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "num_threads"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
-dependencies = [
- "libc",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -3629,22 +3678,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
 dependencies = [
  "crc32fast",
- "hashbrown 0.14.2",
- "indexmap 2.0.2",
+ "hashbrown",
+ "indexmap",
  "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 = "oorandom"
+version = "11.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
 
 [[package]]
 name = "open"
-version = "5.0.0"
+version = "5.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfabf1927dce4d6fdf563d63328a0a506101ced3ec780ca2135747336c98cef8"
+checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32"
 dependencies = [
  "is-wsl",
  "libc",
@@ -3653,11 +3708,11 @@ dependencies = [
 
 [[package]]
 name = "openssl"
-version = "0.10.42"
+version = "0.10.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13"
+checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "cfg-if",
  "foreign-types 0.3.2",
  "libc",
@@ -3674,7 +3729,7 @@ checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -3685,20 +3740,19 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-src"
-version = "111.22.0+1.1.1q"
+version = "300.2.3+3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f31f0d509d1c1ae9cada2f9539ff8f37933831fd5098879e482aa687d659853"
+checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.76"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5230151e44c0f05157effb743e8d517472843121cf9243e8b81393edb5acd9ce"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
- "autocfg",
  "cc",
  "libc",
  "openssl-src",
@@ -3717,41 +3771,37 @@ dependencies = [
 
 [[package]]
 name = "ordered-stream"
-version = "0.0.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44630c059eacfd6e08bdaa51b1db2ce33119caa4ddc1235e923109aa5f25ccb1"
+checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
 dependencies = [
  "futures-core",
  "pin-project-lite",
 ]
 
 [[package]]
-name = "os_str_bytes"
-version = "6.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff"
-
-[[package]]
 name = "ouroboros"
-version = "0.15.6"
+version = "0.18.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db"
+checksum = "97b7be5a8a3462b752f4be3ff2b2bf2f7f1d00834902e46be2a4d68b87b0573c"
 dependencies = [
  "aliasable",
  "ouroboros_macro",
+ "static_assertions",
 ]
 
 [[package]]
 name = "ouroboros_macro"
-version = "0.15.6"
+version = "0.18.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7"
+checksum = "b645dcde5f119c2c454a92d0dfa271a2a3b205da92e4292a68ead4bdbfde1f33"
 dependencies = [
- "Inflector",
- "proc-macro-error",
+ "heck",
+ "itertools 0.12.1",
  "proc-macro2",
+ "proc-macro2-diagnostics",
  "quote",
- "syn 1.0.101",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -3771,20 +3821,9 @@ dependencies = [
 
 [[package]]
 name = "parking"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
-
-[[package]]
-name = "parking_lot"
-version = "0.11.2"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.5",
-]
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
@@ -3793,24 +3832,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.3",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
-dependencies = [
- "backtrace",
- "cfg-if",
- "instant",
- "libc",
- "petgraph",
- "redox_syscall 0.2.16",
- "smallvec",
- "thread-id",
- "winapi",
+ "parking_lot_core",
 ]
 
 [[package]]
@@ -3839,29 +3861,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 
 [[package]]
-name = "peniko"
-version = "0.1.0"
-source = "git+https://github.com/linebender/peniko?rev=cafdac9a211a0fb2fec5656bd663d1ac770bcc81#cafdac9a211a0fb2fec5656bd663d1ac770bcc81"
-dependencies = [
- "kurbo",
- "smallvec",
-]
-
-[[package]]
 name = "percent-encoding"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
-
-[[package]]
-name = "petgraph"
-version = "0.5.1"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7"
-dependencies = [
- "fixedbitset",
- "indexmap 1.9.3",
-]
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pico-args"
@@ -3900,15 +3903,43 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
 
 [[package]]
 name = "plist"
-version = "1.4.3"
+version = "1.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bd9647b268a3d3e14ff09c23201133a62589c658db02bb7388c7246aafe0590"
+checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9"
 dependencies = [
- "base64",
- "indexmap 1.9.3",
+ "base64 0.21.7",
+ "indexmap",
  "line-wrap",
- "quick-xml 0.28.2",
- "time 0.3.14",
+ "quick-xml",
+ "time",
+]
+
+[[package]]
+name = "plotters"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45"
+dependencies = [
+ "num-traits",
+ "plotters-backend",
+ "plotters-svg",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "plotters-backend"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609"
+
+[[package]]
+name = "plotters-svg"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
+dependencies = [
+ "plotters-backend",
 ]
 
 [[package]]
@@ -3921,37 +3952,22 @@ dependencies = [
  "crc32fast",
  "fdeflate",
  "flate2",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
 ]
 
 [[package]]
 name = "polling"
-version = "2.8.0"
+version = "3.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
+checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
 dependencies = [
- "autocfg",
- "bitflags 1.3.2",
  "cfg-if",
- "concurrent-queue 2.2.0",
- "libc",
- "log",
+ "concurrent-queue",
+ "hermit-abi 0.3.9",
  "pin-project-lite",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "polling"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62a79e457c9898100b4298d57d69ec53d06f9a6ed352431ce5f377e082d2e846"
-dependencies = [
- "cfg-if",
- "concurrent-queue 2.2.0",
- "pin-project-lite",
- "rustix 0.38.20",
+ "rustix",
  "tracing 0.1.37",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3961,6 +3977,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2"
 
 [[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3979,31 +4001,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
  "once_cell",
- "toml_edit 0.19.14",
-]
-
-[[package]]
-name = "proc-macro-error"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
-dependencies = [
- "proc-macro-error-attr",
- "proc-macro2",
- "quote",
- "syn 1.0.101",
- "version_check",
-]
-
-[[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
-dependencies = [
- "proc-macro2",
- "quote",
- "version_check",
+ "toml_edit 0.19.15",
 ]
 
 [[package]]
@@ -4014,14 +4012,27 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[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 = "proc-macro2-diagnostics"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.57",
+ "version_check",
+ "yansi",
+]
+
+[[package]]
 name = "profiling"
 version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4048,48 +4059,37 @@ dependencies = [
 
 [[package]]
 name = "pulldown-cmark"
-version = "0.9.3"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998"
+checksum = "5f0530d13d87d1f549b66a3e8d0c688952abe5994e204ed62615baaf25dc029c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "getopts",
  "memchr",
+ "pulldown-cmark-escape",
  "unicase",
 ]
 
 [[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.28.2"
+name = "pulldown-cmark-escape"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
-dependencies = [
- "memchr",
-]
+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",
 ]
@@ -4159,9 +4159,9 @@ checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
 dependencies = [
  "either",
  "rayon-core",
@@ -4169,21 +4169,15 @@ 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",
 ]
 
 [[package]]
-name = "rctree"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
-
-[[package]]
 name = "rect_packer"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4208,6 +4202,15 @@ dependencies = [
 ]
 
 [[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 = "redox_users"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4221,10 +4224,9 @@ dependencies = [
 [[package]]
 name = "regalloc2"
 version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
+source = "git+https://github.com/bytecodealliance/regalloc2?rev=5d79e12d0a93b10fc181f4da409b4671dd365228#5d79e12d0a93b10fc181f4da409b4671dd365228"
 dependencies = [
- "hashbrown 0.13.2",
+ "hashbrown",
  "log",
  "rustc-hash",
  "slice-group-by",
@@ -4233,38 +4235,21 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick 1.1.2",
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata",
  "regex-syntax 0.8.2",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-
-[[package]]
-name = "regex-automata"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
-dependencies = [
- "aho-corasick 1.1.2",
- "memchr",
- "regex-syntax 0.7.5",
-]
-
-[[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 1.1.2",
  "memchr",
@@ -4279,12 +4264,6 @@ checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
 
 [[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"
@@ -4306,11 +4285,11 @@ checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b"
 
 [[package]]
 name = "reqwest"
-version = "0.11.22"
+version = "0.11.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "bytes",
  "encoding_rs",
  "futures-core",
@@ -4328,9 +4307,11 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
+ "rustls-pemfile",
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
  "system-configuration",
  "tokio",
  "tokio-native-tls",
@@ -4345,9 +4326,9 @@ dependencies = [
 
 [[package]]
 name = "resvg"
-version = "0.33.0"
+version = "0.40.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df5f3de3bb51d8a4766a1ef5d85851f2737716dea899516248d25e313a51b0d"
+checksum = "024e40e1ba7313fc315b1720298988c0cd6f8bfe3754b52838aafecebd11355a"
 dependencies = [
  "gif",
  "jpeg-decoder",
@@ -4355,35 +4336,32 @@ dependencies = [
  "pico-args",
  "png",
  "rgb",
- "svgfilters",
  "svgtypes",
- "tiny-skia 0.9.1",
+ "tiny-skia",
  "usvg",
 ]
 
 [[package]]
 name = "rfd"
-version = "0.11.4"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fe664af397d2b6a13a8ba1d172a2b5c87c6c5149039edbf8fa122b98c9ed96f"
+checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251"
 dependencies = [
  "ashpd",
- "async-io",
  "block",
  "dispatch",
- "futures-util",
  "js-sys",
  "log",
  "objc",
  "objc-foundation",
  "objc_id",
  "pollster",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "urlencoding",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
- "windows 0.44.0",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -4396,19 +4374,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "rosvgtree"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad747e7384940e7bf33b15ba433b7bad9f44c0c6d5287a67c2cb22cd1743d497"
-dependencies = [
- "log",
- "roxmltree",
- "simplecss",
- "siphasher",
- "svgtypes",
-]
-
-[[package]]
 name = "roxmltree"
 version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4418,6 +4383,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "roxmltree"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
+
+[[package]]
 name = "rustc-demangle"
 version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4440,31 +4411,17 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
-dependencies = [
- "bitflags 1.3.2",
- "errno",
- "io-lifetimes 1.0.11",
- "libc",
- "linux-raw-sys 0.3.8",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.20"
+version = "0.38.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "errno",
  "itoa",
  "libc",
- "linux-raw-sys 0.4.10",
+ "linux-raw-sys 0.4.13",
  "once_cell",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -4475,39 +4432,38 @@ checksum = "a25c3aad9fc1424eb82c88087789a7d938e1829724f3e4043163baf0d13cfc12"
 dependencies = [
  "errno",
  "libc",
- "rustix 0.38.20",
+ "rustix",
 ]
 
 [[package]]
-name = "rustybuzz"
-version = "0.7.0"
+name = "rustls-pemfile"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "162bdf42e261bee271b3957691018634488084ef577dddeb6420a9684cab2a6a"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "bitflags 1.3.2",
- "bytemuck",
- "smallvec",
- "ttf-parser 0.18.1",
- "unicode-bidi-mirroring",
- "unicode-ccc",
- "unicode-general-category",
- "unicode-script",
+ "base64 0.21.7",
 ]
 
 [[package]]
+name = "rustversion"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
+[[package]]
 name = "rustybuzz"
-version = "0.8.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82eea22c8f56965eeaf3a209b3d24508256c7b920fb3b6211b8ba0f7c0583250"
+checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "bytemuck",
  "libm",
  "smallvec",
- "ttf-parser 0.19.1",
+ "ttf-parser 0.20.0",
  "unicode-bidi-mirroring",
  "unicode-ccc",
- "unicode-general-category",
+ "unicode-properties",
  "unicode-script",
 ]
 
@@ -4518,12 +4474,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
 
 [[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.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4564,7 +4514,7 @@ dependencies = [
  "log",
  "memmap2 0.9.0",
  "smithay-client-toolkit",
- "tiny-skia 0.11.1",
+ "tiny-skia",
 ]
 
 [[package]]
@@ -4604,22 +4554,22 @@ checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
 
 [[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.57",
 ]
 
 [[package]]
@@ -4641,7 +4591,7 @@ checksum = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -4666,38 +4616,21 @@ dependencies = [
 ]
 
 [[package]]
-name = "serde_yaml"
-version = "0.9.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574"
-dependencies = [
- "indexmap 2.0.2",
- "itoa",
- "ryu",
- "serde",
- "unsafe-libyaml",
-]
-
-[[package]]
 name = "sha1"
-version = "0.6.1"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
- "sha1_smol",
+ "cfg-if",
+ "cpufeatures",
+ "digest",
 ]
 
 [[package]]
-name = "sha1_smol"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
-
-[[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -4782,22 +4715,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "sled"
-version = "0.34.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935"
-dependencies = [
- "crc32fast",
- "crossbeam-epoch",
- "crossbeam-utils",
- "fs2",
- "fxhash",
- "libc",
- "log",
- "parking_lot 0.11.2",
-]
-
-[[package]]
 name = "slice-group-by"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4805,18 +4722,18 @@ checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec"
 
 [[package]]
 name = "slotmap"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
 dependencies = [
  "version_check",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "smithay-client-toolkit"
@@ -4824,22 +4741,22 @@ version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "calloop",
  "calloop-wayland-source",
  "cursor-icon",
  "libc",
  "log",
  "memmap2 0.9.0",
- "rustix 0.38.20",
+ "rustix",
  "thiserror",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "wayland-backend",
+ "wayland-client",
  "wayland-csd-frame",
  "wayland-cursor",
  "wayland-protocols",
  "wayland-protocols-wlr",
- "wayland-scanner 0.31.0",
+ "wayland-scanner",
  "xkeysym",
 ]
 
@@ -4851,7 +4768,7 @@ checksum = "0bb62b280ce5a5cba847669933a0948d00904cf83845c944eae96a4738cea1a6"
 dependencies = [
  "libc",
  "smithay-client-toolkit",
- "wayland-backend 0.3.2",
+ "wayland-backend",
 ]
 
 [[package]]
@@ -4885,46 +4802,36 @@ dependencies = [
 
 [[package]]
 name = "softbuffer"
-version = "0.3.1"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bd56fe5e6c6f1881aad2bd37acaef4ac4a3689c970dfcbd87a36a6e60210ec8"
+checksum = "071916a85d1db274b4ed57af3a14afb66bd836ae7f82ebb6f1fd3455107830d9"
 dependencies = [
  "as-raw-xcb-connection",
  "bytemuck",
- "cfg_aliases",
+ "cfg_aliases 0.2.0",
  "cocoa",
  "core-graphics",
  "drm",
- "drm-sys",
  "fastrand 2.0.1",
  "foreign-types 0.5.0",
  "js-sys",
  "log",
- "memmap2 0.7.1",
- "nix 0.26.4",
+ "memmap2 0.9.0",
  "objc",
- "raw-window-handle 0.5.2",
- "redox_syscall 0.3.5",
+ "raw-window-handle 0.6.0",
+ "redox_syscall 0.4.1",
+ "rustix",
  "tiny-xlib",
  "wasm-bindgen",
- "wayland-backend 0.1.2",
- "wayland-client 0.30.2",
- "wayland-sys 0.30.1",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-sys",
  "web-sys",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
  "x11rb",
 ]
 
 [[package]]
-name = "spin"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
-dependencies = [
- "lock_api",
-]
-
-[[package]]
 name = "spinning"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4935,12 +4842,11 @@ dependencies = [
 
 [[package]]
 name = "spirv"
-version = "0.2.0+1.5.4"
+version = "0.3.0+sdk-1.3.268.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830"
+checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
 dependencies = [
- "bitflags 1.3.2",
- "num-traits",
+ "bitflags 2.5.0",
 ]
 
 [[package]]
@@ -4969,7 +4875,7 @@ checksum = "63eada6d62b660f5c1d4862c180ae70193de86df12386eee74da694ae2177583"
 dependencies = [
  "atomic",
  "crossbeam-channel",
- "parking_lot 0.12.1",
+ "parking_lot",
  "rand",
  "seahash",
  "thiserror",
@@ -4996,49 +4902,40 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 [[package]]
 name = "structdesc"
 version = "0.1.0"
-source = "git+https://github.com/lapce/structdesc#a6a2b8ab65d43475238f889736c4aa5dfff4500a"
+source = "git+https://github.com/lapce/structdesc#47d8201fb13240166f4d842c718d63c1e24f0236"
 dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "strum"
-version = "0.21.0"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
+checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
 
 [[package]]
 name = "strum_macros"
-version = "0.21.1"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
+checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
 dependencies = [
- "heck 0.3.3",
+ "heck",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
-]
-
-[[package]]
-name = "svgfilters"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "639abcebc15fdc2df179f37d6f5463d660c1c79cd552c12343a4600827a04bce"
-dependencies = [
- "float-cmp",
- "rgb",
+ "rustversion",
+ "syn 2.0.57",
 ]
 
 [[package]]
 name = "svgtypes"
-version = "0.11.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed4b0611e7f3277f68c0fa18e385d9e2d26923691379690039548f867cef02a7"
+checksum = "59d7618f12b51be8171a7cfdda1e7a93f79cbc57c4e7adf89a749cf671125241"
 dependencies = [
- "kurbo",
+ "kurbo 0.10.4",
  "siphasher",
 ]
 
@@ -5054,9 +4951,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.101"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5065,9 +4962,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "11a6ae1e52eb25aab8f3fb9fca13be982a373b8f1157ca14b897a825ba4a2d35"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5075,6 +4972,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
 name = "sys-locale"
 version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5114,33 +5017,34 @@ version = "0.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "27ce32341b2c0b70c144bbf35627fdc1ef18c76ced5e5e7b3ee8b5ba6b2ab6a0"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cap-fs-ext",
  "cap-std",
  "fd-lock",
- "io-lifetimes 2.0.2",
- "rustix 0.38.20",
+ "io-lifetimes",
+ "rustix",
  "windows-sys 0.48.0",
  "winx",
 ]
 
 [[package]]
 name = "taffy"
-version = "0.3.18"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2287b6d7f721ada4cddf61ade5e760b2c6207df041cac9bfaa192897362fd3"
+checksum = "7b2e140b328c6cb5e744bb2c65910b47df86b239afc793ee2c52262569cf9225"
 dependencies = [
  "arrayvec",
  "grid",
  "num-traits",
+ "serde",
  "slotmap",
 ]
 
 [[package]]
 name = "tar"
-version = "0.4.38"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
 dependencies = [
  "filetime",
  "libc",
@@ -5169,48 +5073,31 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.1.3"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
-name = "textwrap"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-
-[[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",
-]
-
-[[package]]
-name = "thread-id"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fdfe0627923f7411a43ec9ec9c39c3a9b4151be313e0922042581fb6c9b717f"
-dependencies = [
- "libc",
- "redox_syscall 0.2.16",
- "winapi",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -5223,83 +5110,56 @@ dependencies = [
 ]
 
 [[package]]
-name = "tiff"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
-dependencies = [
- "flate2",
- "jpeg-decoder",
- "weezl",
-]
-
-[[package]]
 name = "time"
-version = "0.1.44"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "deranged",
+ "itoa",
+ "num-conv",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
 ]
 
 [[package]]
-name = "time"
-version = "0.3.14"
+name = "time-core"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b"
-dependencies = [
- "itoa",
- "libc",
- "num_threads",
-]
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
-name = "tiny-skia"
-version = "0.9.1"
+name = "time-macros"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce2986c82f77818c7b9144c70818fdde98db15308e329ae2f7204d767808fd3c"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
- "arrayref",
- "arrayvec",
- "bytemuck",
- "cfg-if",
- "log",
- "png",
- "tiny-skia-path 0.9.0",
+ "num-conv",
+ "time-core",
 ]
 
 [[package]]
 name = "tiny-skia"
-version = "0.11.1"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4e37fdc219ee3d551882d24dc5e4df5f72fd9723cbca1ffaa57f7348bf7a47d"
+checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
 dependencies = [
  "arrayref",
  "arrayvec",
  "bytemuck",
  "cfg-if",
  "log",
- "tiny-skia-path 0.11.1",
-]
-
-[[package]]
-name = "tiny-skia-path"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7acb0ccda1ac91084353a56d0b69b0e29c311fd809d2088b1ed2f9ae1841c47"
-dependencies = [
- "arrayref",
- "bytemuck",
- "strict-num",
+ "png",
+ "tiny-skia-path",
 ]
 
 [[package]]
 name = "tiny-skia-path"
-version = "0.11.1"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93a323d1de20dad9bc8b32daf57702c585ce76e80792d8151de1fc9dfc8d1ca7"
+checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
 dependencies = [
  "arrayref",
  "bytemuck",
@@ -5313,12 +5173,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d"
 dependencies = [
  "as-raw-xcb-connection",
- "ctor 0.2.5",
+ "ctor",
  "libloading 0.8.1",
  "tracing 0.1.37",
 ]
 
 [[package]]
+name = "tinytemplate"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
 name = "tinyvec"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5341,16 +5211,16 @@ checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8"
 
 [[package]]
 name = "tokio"
-version = "1.33.0"
+version = "1.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
 dependencies = [
  "backtrace",
  "bytes",
  "libc",
  "mio",
  "num_cpus",
- "parking_lot 0.12.1",
+ "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
  "socket2 0.5.5",
@@ -5360,13 +5230,13 @@ dependencies = [
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -5415,18 +5285,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "toml"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
-dependencies = [
- "serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit 0.20.2",
-]
-
-[[package]]
 name = "toml_datetime"
 version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5437,13 +5295,11 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.19.14"
+version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.0.2",
- "serde",
- "serde_spanned",
+ "indexmap",
  "toml_datetime",
  "winnow",
 ]
@@ -5454,7 +5310,7 @@ version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
 dependencies = [
- "indexmap 2.0.2",
+ "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -5483,7 +5339,7 @@ dependencies = [
 [[package]]
 name = "tracing"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "pin-project-lite",
  "tracing-attributes 0.2.0",
@@ -5493,11 +5349,11 @@ dependencies = [
 [[package]]
 name = "tracing-appender"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "crossbeam-channel",
  "thiserror",
- "time 0.3.14",
+ "time",
  "tracing-subscriber",
 ]
 
@@ -5509,17 +5365,17 @@ checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "tracing-attributes"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -5534,7 +5390,7 @@ dependencies = [
 [[package]]
 name = "tracing-core"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "once_cell",
 ]
@@ -5542,7 +5398,7 @@ dependencies = [
 [[package]]
 name = "tracing-log"
 version = "0.2.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "log",
  "once_cell",
@@ -5552,7 +5408,7 @@ dependencies = [
 [[package]]
 name = "tracing-subscriber"
 version = "0.3.0"
-source = "git+https://github.com/tokio-rs/tracing?rev=c14525e1610db88986f849d46bd3e9795878b012#c14525e1610db88986f849d46bd3e9795878b012"
+source = "git+https://github.com/tokio-rs/tracing?rev=908cc432a5994f6e17c8f36e13c217dc40085704#908cc432a5994f6e17c8f36e13c217dc40085704"
 dependencies = [
  "nu-ansi-term",
  "sharded-slab",
@@ -5599,9 +5455,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",
@@ -5609,9 +5465,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-cpp"
-version = "0.20.0"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a869e3c5cef4e5db4e9ab16a8dc84d73010e60ada14cdc60d2f6d8aed17779d"
+checksum = "46b04a5ada71059afb9895966a6cc1094acc8d2ea1971006db26573e7dfebb74"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -5619,9 +5475,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",
@@ -5629,8 +5485,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-json"
-version = "0.20.0"
-source = "git+https://github.com/tree-sitter/tree-sitter-json.git?rev=11e2cc12d9b267766fb11a06e52952792fd8e3f0#11e2cc12d9b267766fb11a06e52952792fd8e3f0"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a9a38a9c679b55cc8d17350381ec08d69fa1a17a53fcf197f344516e485ed4d"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -5702,18 +5559,6 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
 
 [[package]]
 name = "ttf-parser"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd"
-
-[[package]]
-name = "ttf-parser"
-version = "0.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633"
-
-[[package]]
-name = "ttf-parser"
 version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a464a4b34948a5f67fddd2b823c62d9d92e44be75058b99939eae6c5b6960b33"
@@ -5732,10 +5577,11 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
 
 [[package]]
 name = "uds_windows"
-version = "1.0.2"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
+ "memoffset 0.9.0",
  "tempfile",
  "winapi",
 ]
@@ -5751,9 +5597,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.8"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-bidi-mirroring"
@@ -5768,12 +5614,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
 
 [[package]]
-name = "unicode-general-category"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7"
-
-[[package]]
 name = "unicode-ident"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5795,6 +5635,12 @@ dependencies = [
 ]
 
 [[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"
@@ -5825,16 +5671,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
-name = "unsafe-libyaml"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa"
-
-[[package]]
 name = "url"
-version = "2.3.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -5850,69 +5690,36 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
 
 [[package]]
 name = "usvg"
-version = "0.33.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae32eb823aab35fc343b19c4d354f70e713b442ce34cdfa8497bf6c39af8a342"
-dependencies = [
- "base64",
- "log",
- "pico-args",
- "usvg-parser",
- "usvg-text-layout",
- "usvg-tree",
- "xmlwriter",
-]
-
-[[package]]
-name = "usvg-parser"
-version = "0.33.0"
+version = "0.40.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7529174e721c8078d62b08399258469b1d68b4e5f2983b347d6a9d39779366c"
+checksum = "c04150a94f0bfc3b2c15d4e151524d14cd06765fc6641d8b1c59a248360d4474"
 dependencies = [
+ "base64 0.21.7",
  "data-url",
  "flate2",
+ "fontdb",
  "imagesize",
- "kurbo",
+ "kurbo 0.9.5",
  "log",
- "rosvgtree",
+ "pico-args",
+ "roxmltree 0.19.0",
+ "rustybuzz",
+ "simplecss",
+ "siphasher",
  "strict-num",
  "svgtypes",
- "usvg-tree",
-]
-
-[[package]]
-name = "usvg-text-layout"
-version = "0.33.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e672fbc19261c6553113cc04ff2ff38ae52fadbd90f2d814040857795fb5c50"
-dependencies = [
- "fontdb 0.14.1",
- "kurbo",
- "log",
- "rustybuzz 0.7.0",
+ "tiny-skia-path",
  "unicode-bidi",
  "unicode-script",
  "unicode-vo",
- "usvg-tree",
-]
-
-[[package]]
-name = "usvg-tree"
-version = "0.33.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a56e9cd3be5eb6d6744477e95b82d52d393fc1dba4b5b090912c33af337c20b"
-dependencies = [
- "kurbo",
- "rctree",
- "strict-num",
- "svgtypes",
+ "xmlwriter",
 ]
 
 [[package]]
 name = "utf8parse"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
@@ -5921,16 +5728,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
 
 [[package]]
-name = "value-bag"
-version = "1.0.0-alpha.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
-dependencies = [
- "ctor 0.1.26",
- "version_check",
-]
-
-[[package]]
 name = "vcpkg"
 version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5943,24 +5740,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "vger"
-version = "0.2.7"
-source = "git+https://github.com/lapce/vger-rs?rev=ed10537c72a732a03f782225a39da80e6f9acbbe#ed10537c72a732a03f782225a39da80e6f9acbbe"
-dependencies = [
- "cosmic-text",
- "euclid",
- "fontdue",
- "rect_packer",
- "wgpu",
-]
-
-[[package]]
 name = "vte"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401dc1020e10f74d38616c1f1ab92ccd85dc902705a29d0730e0fbea8534f91a"
+checksum = "40eb22ae96f050e0c0d6f7ce43feeae26c348fc4dea56928ca81537cfaa6188b"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cursor-icon",
  "log",
  "serde",
@@ -5979,19 +5764,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "waker-fn"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
-
-[[package]]
 name = "walkdir"
-version = "2.3.2"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
- "winapi",
  "winapi-util",
 ]
 
@@ -6007,12 +5785,6 @@ dependencies = [
 
 [[package]]
 name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
@@ -6031,9 +5803,9 @@ dependencies = [
  "cap-time-ext",
  "fs-set-times",
  "io-extras",
- "io-lifetimes 2.0.2",
+ "io-lifetimes",
  "once_cell",
- "rustix 0.38.20",
+ "rustix",
  "system-interface",
  "tracing 0.1.37",
  "wasi-common",
@@ -6047,12 +5819,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6efb2e9d72c6a070d62cf7b698acebab6faca9aacf26412bdecb9fabab79fd09"
 dependencies = [
  "anyhow",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cap-rand",
  "cap-std",
  "io-extras",
  "log",
- "rustix 0.38.20",
+ "rustix",
  "thiserror",
  "tracing 0.1.37",
  "wasmtime",
@@ -6081,9 +5853,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -6091,24 +5863,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
  "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",
@@ -6118,9 +5890,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -6128,22 +5900,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "wasm-encoder"
@@ -6160,7 +5932,7 @@ version = "0.115.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e06c0641a4add879ba71ccb3a1e4278fd546f76f1eafb21d8f7b07733b547cd5"
 dependencies = [
- "indexmap 2.0.2",
+ "indexmap",
  "semver",
 ]
 
@@ -6187,7 +5959,7 @@ dependencies = [
  "cfg-if",
  "encoding_rs",
  "fxprof-processed-profile",
- "indexmap 2.0.2",
+ "indexmap",
  "libc",
  "log",
  "object",
@@ -6230,15 +6002,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6c16f85353656b301a4472ad649e9b17cc47400cee50a94bd9b24e7886a8130f"
 dependencies = [
  "anyhow",
- "base64",
+ "base64 0.21.7",
  "bincode",
  "directories-next",
  "log",
- "rustix 0.38.20",
+ "rustix",
  "serde",
  "serde_derive",
  "sha2",
- "toml 0.5.9",
+ "toml",
  "windows-sys 0.48.0",
  "zstd",
 ]
@@ -6252,7 +6024,7 @@ dependencies = [
  "anyhow",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
  "wasmtime-component-util",
  "wasmtime-wit-bindgen",
  "wit-parser",
@@ -6314,7 +6086,7 @@ dependencies = [
  "anyhow",
  "cranelift-entity",
  "gimli",
- "indexmap 2.0.2",
+ "indexmap",
  "log",
  "object",
  "serde",
@@ -6336,7 +6108,7 @@ checksum = "8702d1efdf73df040a586e239fffc6883d88edf60ac6f593b41392cc1f97c754"
 dependencies = [
  "cc",
  "cfg-if",
- "rustix 0.38.20",
+ "rustix",
  "wasmtime-asm-macros",
  "wasmtime-versioned-export-macros",
  "windows-sys 0.48.0",
@@ -6358,7 +6130,7 @@ dependencies = [
  "log",
  "object",
  "rustc-demangle",
- "rustix 0.38.20",
+ "rustix",
  "serde",
  "serde_derive",
  "target-lexicon",
@@ -6377,7 +6149,7 @@ checksum = "0fa128cdc680b5982087ea64eb73b63e96570b338fd6438b704b313eb854fd94"
 dependencies = [
  "object",
  "once_cell",
- "rustix 0.38.20",
+ "rustix",
  "wasmtime-versioned-export-macros",
 ]
 
@@ -6402,7 +6174,7 @@ dependencies = [
  "cc",
  "cfg-if",
  "encoding_rs",
- "indexmap 2.0.2",
+ "indexmap",
  "libc",
  "log",
  "mach",
@@ -6410,7 +6182,7 @@ dependencies = [
  "memoffset 0.9.0",
  "paste",
  "rand",
- "rustix 0.38.20",
+ "rustix",
  "sptr",
  "wasm-encoder",
  "wasmtime-asm-macros",
@@ -6443,7 +6215,7 @@ checksum = "73190422af3b408daa3c791f97f50c62509746c09de934d69dae602c65809663"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -6454,7 +6226,7 @@ checksum = "1022616613f6279243392b00990ac81135f0c46018eba620538392342fc93df9"
 dependencies = [
  "anyhow",
  "async-trait",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "bytes",
  "cap-fs-ext",
  "cap-net-ext",
@@ -6464,11 +6236,11 @@ dependencies = [
  "fs-set-times",
  "futures",
  "io-extras",
- "io-lifetimes 2.0.2",
+ "io-lifetimes",
  "libc",
  "log",
  "once_cell",
- "rustix 0.38.20",
+ "rustix",
  "system-interface",
  "thiserror",
  "tokio",
@@ -6505,8 +6277,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f672060c021afd9a3ab72f4e319d1f7bb1f4e973d5e24130bb0bb11eba356f5e"
 dependencies = [
  "anyhow",
- "heck 0.4.0",
- "indexmap 2.0.2",
+ "heck",
+ "indexmap",
  "wit-parser",
 ]
 
@@ -6548,21 +6320,6 @@ dependencies = [
 
 [[package]]
 name = "wayland-backend"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b48e27457e8da3b2260ac60d0a94512f5cba36448679f3747c0865b7893ed8"
-dependencies = [
- "cc",
- "downcast-rs",
- "io-lifetimes 1.0.11",
- "nix 0.26.4",
- "scoped-tls",
- "smallvec",
- "wayland-sys 0.30.1",
-]
-
-[[package]]
-name = "wayland-backend"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4"
@@ -6572,19 +6329,7 @@ dependencies = [
  "nix 0.26.4",
  "scoped-tls",
  "smallvec",
- "wayland-sys 0.31.1",
-]
-
-[[package]]
-name = "wayland-client"
-version = "0.30.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8"
-dependencies = [
- "bitflags 1.3.2",
- "nix 0.26.4",
- "wayland-backend 0.1.2",
- "wayland-scanner 0.30.1",
+ "wayland-sys",
 ]
 
 [[package]]
@@ -6593,10 +6338,10 @@ version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "nix 0.26.4",
- "wayland-backend 0.3.2",
- "wayland-scanner 0.31.0",
+ "wayland-backend",
+ "wayland-scanner",
 ]
 
 [[package]]
@@ -6605,9 +6350,9 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "cursor-icon",
- "wayland-backend 0.3.2",
+ "wayland-backend",
 ]
 
 [[package]]
@@ -6617,7 +6362,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b"
 dependencies = [
  "nix 0.26.4",
- "wayland-client 0.31.1",
+ "wayland-client",
  "xcursor",
 ]
 
@@ -6627,10 +6372,10 @@ version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c"
 dependencies = [
- "bitflags 2.4.0",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
- "wayland-scanner 0.31.0",
+ "bitflags 2.5.0",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-scanner",
 ]
 
 [[package]]
@@ -6639,11 +6384,11 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
 dependencies = [
- "bitflags 2.4.0",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "bitflags 2.5.0",
+ "wayland-backend",
+ "wayland-client",
  "wayland-protocols",
- "wayland-scanner 0.31.0",
+ "wayland-scanner",
 ]
 
 [[package]]
@@ -6652,49 +6397,26 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
 dependencies = [
- "bitflags 2.4.0",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "bitflags 2.5.0",
+ "wayland-backend",
+ "wayland-client",
  "wayland-protocols",
- "wayland-scanner 0.31.0",
-]
-
-[[package]]
-name = "wayland-scanner"
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9b873b257fbc32ec909c0eb80dea312076a67014e65e245f5eb69a6b8ab330e"
-dependencies = [
- "proc-macro2",
- "quick-xml 0.28.2",
- "quote",
+ "wayland-scanner",
 ]
 
 [[package]]
 name = "wayland-scanner"
-version = "0.31.0"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
 dependencies = [
  "proc-macro2",
- "quick-xml 0.30.0",
+ "quick-xml",
  "quote",
 ]
 
 [[package]]
 name = "wayland-sys"
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06"
-dependencies = [
- "dlib",
- "lazy_static",
- "log",
- "pkg-config",
-]
-
-[[package]]
-name = "wayland-sys"
 version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
@@ -6707,9 +6429,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.64"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -6739,25 +6461,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f390449c16e0679435fc97a6b49d24e67f09dd05fea1de54db1b60902896d273"
 dependencies = [
  "atomic-waker",
- "parking_lot 0.12.1",
+ "parking_lot",
  "triomphe",
 ]
 
 [[package]]
 name = "wgpu"
-version = "0.18.0"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30e7d227c9f961f2061c26f4cb0fbd4df0ef37e056edd0931783599d6c94ef24"
+checksum = "a4b1213b52478a7631d6e387543ed8f642bc02c578ef4e3b49aca2a29a7df0cb"
 dependencies = [
  "arrayvec",
  "cfg-if",
- "flume",
+ "cfg_aliases 0.1.1",
  "js-sys",
  "log",
  "naga",
- "parking_lot 0.12.1",
+ "parking_lot",
  "profiling",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "smallvec",
  "static_assertions",
  "wasm-bindgen",
@@ -6770,19 +6492,22 @@ dependencies = [
 
 [[package]]
 name = "wgpu-core"
-version = "0.18.0"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "837e02ddcdc6d4a9b56ba4598f7fd4202a7699ab03f6ef4dcdebfad2c966aea6"
+checksum = "f9f6b033c2f00ae0bc8ea872c5989777c60bc241aac4e58b24774faa8b391f78"
 dependencies = [
  "arrayvec",
  "bit-vec",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
+ "cfg_aliases 0.1.1",
  "codespan-reporting",
+ "indexmap",
  "log",
  "naga",
- "parking_lot 0.12.1",
+ "once_cell",
+ "parking_lot",
  "profiling",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "rustc-hash",
  "smallvec",
  "thiserror",
@@ -6793,16 +6518,17 @@ dependencies = [
 
 [[package]]
 name = "wgpu-hal"
-version = "0.18.0"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e30b9a8155c83868e82a8c5d3ce899de6c3961d2ef595de8fc168a1677fc2d8"
+checksum = "49f972c280505ab52ffe17e94a7413d9d54b58af0114ab226b9fc4999a47082e"
 dependencies = [
  "android_system_properties",
  "arrayvec",
  "ash",
  "bit-set",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "block",
+ "cfg_aliases 0.1.1",
  "core-graphics-types",
  "d3d12",
  "glow",
@@ -6818,12 +6544,13 @@ dependencies = [
  "log",
  "metal",
  "naga",
+ "ndk-sys",
  "objc",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "profiling",
  "range-alloc",
- "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "renderdoc-sys",
  "rustc-hash",
  "smallvec",
@@ -6836,11 +6563,11 @@ dependencies = [
 
 [[package]]
 name = "wgpu-types"
-version = "0.18.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd"
+checksum = "b671ff9fb03f78b46ff176494ee1ebe7d603393f42664be55b64dc8d53969805"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "js-sys",
  "web-sys",
 ]
@@ -6859,7 +6586,7 @@ checksum = "334709283558d9ebb0206cd1842c4fa619ff467d68c71eff982376d9c999d636"
 dependencies = [
  "anyhow",
  "async-trait",
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "thiserror",
  "tracing 0.1.37",
  "wasmtime",
@@ -6873,11 +6600,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4143cb3a8c65efceba6fc3bf49769b7b5d60090f1226e708365044c1136584ee"
 dependencies = [
  "anyhow",
- "heck 0.4.0",
+ "heck",
  "proc-macro2",
  "quote",
  "shellexpand",
- "syn 2.0.38",
+ "syn 2.0.57",
  "witx",
 ]
 
@@ -6889,7 +6616,7 @@ checksum = "56981968f26952a527f78cf3aeb5ac436db82d3be1682a217a1835754fa50f51"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.57",
  "wiggle-generate",
 ]
 
@@ -6919,15 +6646,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"
@@ -7009,6 +6727,15 @@ dependencies = [
 ]
 
 [[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"
@@ -7039,6 +6766,21 @@ dependencies = [
 ]
 
 [[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"
@@ -7051,6 +6793,12 @@ 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.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7069,6 +6817,12 @@ 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.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7087,6 +6841,12 @@ 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.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7105,6 +6865,12 @@ 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.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7123,6 +6889,12 @@ 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"
@@ -7135,6 +6907,12 @@ 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.36.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7153,52 +6931,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
-name = "winit"
-version = "0.29.4"
-source = "git+https://github.com/lapce/winit?rev=e8c26d691a20a96c4e9d841d31fc315dabd5a5a1#e8c26d691a20a96c4e9d841d31fc315dabd5a5a1"
-dependencies = [
- "ahash 0.8.3",
- "android-activity",
- "atomic-waker",
- "bitflags 2.4.0",
- "bytemuck",
- "calloop",
- "cfg_aliases",
- "core-foundation",
- "core-graphics",
- "cursor-icon",
- "icrate",
- "js-sys",
- "libc",
- "log",
- "memmap2 0.9.0",
- "ndk",
- "ndk-sys",
- "objc2",
- "once_cell",
- "orbclient",
- "percent-encoding",
- "raw-window-handle 0.5.2",
- "raw-window-handle 0.6.0",
- "redox_syscall 0.3.5",
- "rustix 0.38.20",
- "sctk-adwaita",
- "smithay-client-toolkit",
- "smol_str",
- "unicode-segmentation",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
- "wayland-protocols",
- "wayland-protocols-plasma",
- "web-sys",
- "web-time",
- "windows-sys 0.48.0",
- "x11-dl",
- "x11rb",
- "xkbcommon-dl",
-]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "winnow"
@@ -7225,7 +6961,7 @@ version = "0.36.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "357bb8e2932df531f83b052264b050b81ba0df90ee5a59b2d1d3949f344f81e5"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.5.0",
  "windows-sys 0.48.0",
 ]
 
@@ -7237,7 +6973,7 @@ checksum = "f6ace9943d89bbf3dbbc71b966da0e7302057b311f36a4ac3d65ddfef17b52cf"
 dependencies = [
  "anyhow",
  "id-arena",
- "indexmap 2.0.2",
+ "indexmap",
  "log",
  "semver",
  "serde",
@@ -7260,10 +6996,11 @@ dependencies = [
 
 [[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",
 ]
 
@@ -7280,37 +7017,34 @@ dependencies = [
 
 [[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 = [
  "as-raw-xcb-connection",
  "gethostname",
  "libc",
- "libloading 0.7.3",
- "nix 0.26.4",
+ "libloading 0.8.1",
  "once_cell",
- "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 0.26.4",
-]
+checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
 
 [[package]]
 name = "xattr"
-version = "0.2.3"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
+ "linux-raw-sys 0.4.13",
+ "rustix",
 ]
 
 [[package]]
@@ -7323,12 +7057,22 @@ dependencies = [
 ]
 
 [[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.0",
+ "bitflags 2.5.0",
  "dlib",
  "log",
  "once_cell",
@@ -7366,6 +7110,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b"
 
 [[package]]
+name = "yansi"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
+
+[[package]]
 name = "yazi"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7373,29 +7123,28 @@ checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1"
 
 [[package]]
 name = "zbus"
-version = "3.3.0"
+version = "4.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ce2de393c874ba871292e881bf3c13a0d5eb38170ebab2e50b4c410eaa222b"
+checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030"
 dependencies = [
  "async-broadcast",
- "async-channel",
  "async-executor",
+ "async-fs",
  "async-io",
- "async-lock",
+ "async-lock 3.3.0",
+ "async-process",
  "async-recursion",
  "async-task",
  "async-trait",
- "byteorder",
+ "blocking",
  "derivative",
- "dirs",
  "enumflags2",
- "event-listener",
+ "event-listener 5.2.0",
  "futures-core",
  "futures-sink",
  "futures-util",
  "hex",
- "nix 0.24.2",
- "once_cell",
+ "nix 0.27.1",
  "ordered-stream",
  "rand",
  "serde",
@@ -7404,7 +7153,8 @@ dependencies = [
  "static_assertions",
  "tracing 0.1.37",
  "uds_windows",
- "winapi",
+ "windows-sys 0.52.0",
+ "xdg-home",
  "zbus_macros",
  "zbus_names",
  "zvariant",
@@ -7412,22 +7162,23 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.3.0"
+version = "4.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a13d08f5dc6cf725b693cb6ceacd43cd430ec0664a879188f29e7d7dcd98f96d"
+checksum = "b7a3e850ff1e7217a3b7a07eba90d37fe9bb9e89a310f718afcde5885ca9b6d7"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
  "regex",
- "syn 1.0.101",
+ "syn 1.0.109",
+ "zvariant_utils",
 ]
 
 [[package]]
 name = "zbus_names"
-version = "2.2.0"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41a408fd8a352695690f53906dc7fd036be924ec51ea5e05666ff42685ed0af5"
+checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
 dependencies = [
  "serde",
  "static_assertions",
@@ -7441,6 +7192,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c110ba09c9b3a43edd4803d570df0da2414fed6e822e22b976a4e3ef50860701"
 
 [[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.57",
+]
+
+[[package]]
 name = "zip"
 version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7482,23 +7253,28 @@ dependencies = [
 ]
 
 [[package]]
-name = "zune-inflate"
-version = "0.2.54"
+name = "zune-core"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
+checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
+
+[[package]]
+name = "zune-jpeg"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448"
 dependencies = [
- "simd-adler32",
+ "zune-core",
 ]
 
 [[package]]
 name = "zvariant"
-version = "3.7.1"
+version = "4.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b794fb7f59af4105697b0449ba31731ee5dbb3e773a17dbdf3d36206ea1b1644"
+checksum = "4e09e8be97d44eeab994d752f341e67b3b0d80512a8b315a0671d47232ef1b65"
 dependencies = [
- "byteorder",
+ "endi",
  "enumflags2",
- "libc",
  "serde",
  "static_assertions",
  "url",
@@ -7507,12 +7283,24 @@ dependencies = [
 
 [[package]]
 name = "zvariant_derive"
-version = "3.7.1"
+version = "4.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd58d4b6c8e26d3dd2149c8c40c6613ef6451b9885ff1296d1ac86c388351a54"
+checksum = "72a5857e2856435331636a9fbb415b09243df4521a267c5bedcd5289b4d5799e"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 1.0.101",
+ "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/applications/editors/lapce/default.nix b/pkgs/applications/editors/lapce/default.nix
index 299c5e06cbd53..73cff823859a2 100644
--- a/pkgs/applications/editors/lapce/default.nix
+++ b/pkgs/applications/editors/lapce/default.nix
@@ -39,33 +39,29 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "lapce";
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "lapce";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-R7z3E6Moyc6yMFGzfggiYgglLs/A+iOx8ZJKMPhbAz0=";
+    repo = "lapce";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-x/EObvrMZ3bkdHk5SbfQEarXA7jcQ9rEFZINQrHjcl4=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "alacritty_config-0.1.2-dev" = "sha256-6FSi5RU7YOzNIB2kd/O1OKswn54ak6qrLvN/FbJD3g0=";
-      "cosmic-text-0.7.0" = "sha256-ATBeQeSlRCuBZIV4Fdam3p+eW5YH8uJadJearZuONrQ=";
-      "floem-0.1.0" = "sha256-UVmqF2vkX71o4JBrhIIhd2SkLNBaqibwl51FKLJUo4c=";
+      "floem-0.1.1" = "sha256-/RUsi0LUJ/LjDj8xjoiF+f4MeUjFASL0TDS0eDUEHio=";
       "human-sort-0.2.2" = "sha256-tebgIJGXOY7pwWRukboKAzXY47l4Cn//0xMKQTaGu8w=";
-      "peniko-0.1.0" = "sha256-FZu56HLN5rwSWOwIC00FvKShSv4QPCR44l9MURgC+iI=";
+      "lsp-types-0.95.1" = "sha256-+tWqDBM5x/gvQOG7V3m2tFBZB7smgnnZHikf9ja2FfE=";
       "psp-types-0.1.0" = "sha256-/oFt/AXxCqBp21hTSYrokWsbFYTIDCrHMUBuA2Nj5UU=";
-      "structdesc-0.1.0" = "sha256-4j6mJ1H5hxJXr7Sz0UsZxweyAm9sYuxjq8yg3ZlpksI=";
-      "tracing-0.2.0" = "sha256-Tc44Mg2Ue4HyB1z+9UBqpjdecJa60ekGXs+npqv22uA=";
+      "regalloc2-0.9.3" = "sha256-tzXFXs47LDoNBL1tSkLCqaiHDP5vZjvh250hz0pbEJs=";
+      "structdesc-0.1.0" = "sha256-gMTnRudc3Tp9JRa+Cob5Ke23aqajP8lSun5CnT13+eQ=";
+      "tracing-0.2.0" = "sha256-31jmSvspNstOAh6VaWie+aozmGu4RpY9Gx2kbBVD+CI=";
       "tree-sitter-bash-0.19.0" = "sha256-gTsA874qpCI/N5tmBI5eT8KDaM25gXM4VbcCbUU2EeI=";
-      "tree-sitter-json-0.20.0" = "sha256-pXa6WFJ4wliXHBiuHuqtAFWz+OscTOxbna5iymS547w=";
       "tree-sitter-md-0.1.2" = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE=";
       "tree-sitter-yaml-0.0.1" = "sha256-bQ/APnFpes4hQLv37lpoADyjXDBY7J4Zg+rLyUtbra4=";
-      "vger-0.2.7" = "sha256-evri/64mA0TQY7mFn+9bCl3c247V2QEYlwyMPpOcv5Y=";
       "wasi-experimental-http-wasmtime-0.10.0" = "sha256-FuF3Ms1bT9bBasbLK+yQ2xggObm/lFDRyOvH21AZnQI=";
-      "winit-0.29.4" = "sha256-Y71QsRiHo0ldUAoAhid3yRDtHyIdd3HJ3AA6YJG04as=";
     };
   };
 
@@ -125,8 +121,11 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Lightning-fast and Powerful Code Editor written in Rust";
     homepage = "https://github.com/lapce/lapce";
+    changelog = "https://github.com/lapce/lapce/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ elliot ];
     mainProgram = "lapce";
+    # Undefined symbols for architecture x86_64: "_NSPasteboardTypeFileURL"
+    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix
index 4d715d8c7cc4d..36d35bc44dc1a 100644
--- a/pkgs/applications/editors/poke/default.nix
+++ b/pkgs/applications/editors/poke/default.nix
@@ -1,37 +1,35 @@
 { lib
 , stdenv
 , fetchurl
-, gettext
 , help2man
 , pkg-config
 , texinfo
 , boehmgc
 , readline
-, guiSupport ? false, makeWrapper, tcl, tcllib, tk
-, miSupport ? true, json_c
 , nbdSupport ? !stdenv.isDarwin, libnbd
-, textStylingSupport ? true
+, textStylingSupport ? true, gettext
 , dejagnu
 
-# update script only
+  # update script only
 , writeScript
 }:
 
 let
   isCross = stdenv.hostPlatform != stdenv.buildPlatform;
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation (finalAttrs: {
   pname = "poke";
-  version = "3.2";
+  version = "4.0";
 
   src = fetchurl {
-    url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-dY5VHdU6bM5U7JTY/CH6TWtSon0cJmcgbVmezcdPDZc=";
+    url = "mirror://gnu/poke/poke-${finalAttrs.version}.tar.gz";
+    hash = "sha256-ArqyLLH6YVOhtqknyLs81Y1QhUPBRIQqbX7nTxmXOnc=";
   };
 
   outputs = [ "out" "dev" "info" "lib" ]
-  # help2man can't cross compile because it runs `poke --help` to
-  # generate the man page
-  ++ lib.optional (!isCross) "man";
+    # help2man can't cross compile because it runs `poke --help` to
+    # generate the man page
+    ++ lib.optional (!isCross) "man";
 
   postPatch = ''
     patchShebangs .
@@ -40,53 +38,33 @@ in stdenv.mkDerivation rec {
   strictDeps = true;
 
   nativeBuildInputs = [
-    gettext
     pkg-config
     texinfo
   ] ++ lib.optionals (!isCross) [
     help2man
-  ] ++ lib.optionals guiSupport [
-    makeWrapper
-    tcl.tclPackageHook
   ];
 
   buildInputs = [ boehmgc readline ]
-  ++ lib.optionals guiSupport [ tcl tcllib tk ]
-  ++ lib.optional miSupport json_c
-  ++ lib.optional nbdSupport libnbd
-  ++ lib.optional textStylingSupport gettext
-  ++ lib.optional (!isCross) dejagnu;
+    ++ lib.optional nbdSupport libnbd
+    ++ lib.optional textStylingSupport gettext
+    ++ lib.optional finalAttrs.finalPackage.doCheck dejagnu;
 
   configureFlags = [
     # libpoke depends on $datadir/poke, so we specify the datadir in
     # $lib, and later move anything else it doesn't depend on to $out
     "--datadir=${placeholder "lib"}/share"
-  ] ++ lib.optionals guiSupport [
-    "--enable-gui"
-    "--with-tcl=${tcl}/lib"
-    "--with-tk=${tk}/lib"
-    "--with-tkinclude=${tk.dev}/include"
   ];
 
   enableParallelBuilding = true;
 
-  doCheck = !isCross;
-  nativeCheckInputs = lib.optionals (!isCross) [ dejagnu ];
+  doCheck = true;
+  nativeCheckInputs = [ dejagnu ];
 
   postInstall = ''
     moveToOutput share/emacs "$out"
     moveToOutput share/vim "$out"
   '';
 
-  # Prevent tclPackageHook from auto-wrapping all binaries, we only
-  # need to wrap poke-gui
-  dontWrapTclBinaries = true;
-
-  postFixup = lib.optionalString guiSupport ''
-    wrapProgram "$out/bin/poke-gui" \
-      --prefix TCLLIBPATH ' ' "$TCLLIBPATH"
-  '';
-
   passthru = {
     updateScript = writeScript "update-poke" ''
       #!/usr/bin/env nix-shell
@@ -97,18 +75,17 @@ in stdenv.mkDerivation rec {
       # Expect the text in format of '<a href="...">poke 2.0</a>'
       new_version="$(curl -s https://www.jemarch.net/poke |
           pcregrep -o1 '>poke ([0-9.]+)</a>')"
-      update-source-version ${pname} "$new_version"
+      update-source-version poke "$new_version"
     '';
   };
 
-  meta = with lib; {
+  meta = {
     description = "Interactive, extensible editor for binary data";
     homepage = "http://www.jemarch.net/poke";
-    changelog = "https://git.savannah.gnu.org/cgit/poke.git/plain/ChangeLog?h=releases/poke-${version}";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres kira-bruneau ];
-    platforms = platforms.unix;
+    changelog = "https://git.savannah.gnu.org/cgit/poke.git/plain/ChangeLog?h=releases/poke-${finalAttrs.version}";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ AndersonTorres kira-bruneau ];
+    platforms = lib.platforms.unix;
+    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
-}
-
-# TODO: Enable guiSupport by default once it's more than just a stub
+})
diff --git a/pkgs/applications/editors/pulsar/default.nix b/pkgs/applications/editors/pulsar/default.nix
index b1af335ec1d49..a2b572ae516b8 100644
--- a/pkgs/applications/editors/pulsar/default.nix
+++ b/pkgs/applications/editors/pulsar/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , git
+, git-lfs
 , fetchurl
 , wrapGAppsHook
 , alsa-lib
@@ -139,14 +140,34 @@ stdenv.mkDerivation rec {
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       $opt/resources/app.asar.unpacked/node_modules/symbol-provider-ctags/vendor/ctags-linux
 
-  '' + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
     # Replace the bundled git with the one from nixpkgs
     dugite=$opt/resources/app.asar.unpacked/node_modules/dugite
     rm -f $dugite/git/bin/git
     ln -s ${git}/bin/git $dugite/git/bin/git
-    rm -f $dugite/git/libexec/git-core/git
-    ln -s ${git}/bin/git $dugite/git/libexec/git-core/git
 
+    # Not only do we need to replace the git binary itself, we also need to replace
+    # all the symlinks in dugite/git/libexec/git-core.
+    for file in "$dugite/git/libexec/git-core"/*; do
+      if [ -x "$file" ] && file "$file" | grep -q "ELF"; then
+          # Remove ELF executable
+          rm "$file"
+
+          # Get the corresponding filename in nixpkgs's git
+          filename=$(basename "$file")
+          git_executable="${git}/libexec/git-core/$filename"
+
+          # Create symlink to $git_executable
+          ln -s "$git_executable" "$file"
+
+          echo "Replaced $file with symlink to $git_executable"
+        fi
+    done
+
+    # Was symlinked in previous loop, but actually, nixpkgs has a separate package for git-lfs
+    # Unlink to avoid a "File exists" error and relink correctly
+    unlink $dugite/git/libexec/git-core/git-lfs
+    ln -s ${git-lfs}/bin/git-lfs $dugite/git/libexec/git-core/git-lfs
+  '' + lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
     # We have to patch a prebuilt binary in the asar archive
     # But asar complains because the node_gyp unpacked dependency uses a prebuilt Python3 itself
 
@@ -208,7 +229,7 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ colamaroro bryango ];
+    maintainers = with maintainers; [ bryango ];
     knownVulnerabilities = [
       "CVE-2023-5217"
       "CVE-2022-21718"
diff --git a/pkgs/applications/editors/quartus-prime/default.nix b/pkgs/applications/editors/quartus-prime/default.nix
index 51a1a2925e92d..2b3ee40951755 100644
--- a/pkgs/applications/editors/quartus-prime/default.nix
+++ b/pkgs/applications/editors/quartus-prime/default.nix
@@ -3,6 +3,7 @@
 , withQuesta ? true
 , supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
 , unwrapped ? callPackage ./quartus.nix { inherit unstick supportedDevices withQuesta; }
+, extraProfile ? ""
 }:
 
 let
@@ -114,7 +115,7 @@ in buildFHSEnv rec {
     if [ "$NIXPKGS_IS_QUESTA_WRAPPER" != 1 ]; then
         export LD_PRELOAD=''${LD_PRELOAD:+$LD_PRELOAD:}/usr/lib/libudev.so.0
     fi
-  '';
+  '' + extraProfile;
 
   # Run the wrappers directly, instead of going via bash.
   runScript = "";
diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix
index e61f57c76448c..bc44c8e9f6200 100644
--- a/pkgs/applications/editors/standardnotes/default.nix
+++ b/pkgs/applications/editors/standardnotes/default.nix
@@ -4,6 +4,9 @@
 , dpkg
 , makeWrapper
 , electron
+, libsecret
+, asar
+, glib
 , desktop-file-utils
 , callPackage
 }:
@@ -28,16 +31,28 @@ stdenv.mkDerivation rec {
 
   dontBuild = true;
 
-  nativeBuildInputs = [ makeWrapper dpkg desktop-file-utils ];
+  nativeBuildInputs = [ makeWrapper dpkg desktop-file-utils asar ];
 
   unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner";
 
-  installPhase = ''
+  installPhase = let
+    libPath = lib.makeLibraryPath [
+      libsecret
+      glib
+      stdenv.cc.cc.lib
+    ];
+  in
+    ''
     runHook preInstall
 
     mkdir -p $out/bin $out/share/standardnotes
     cp -R usr/share/{applications,icons} $out/share
     cp -R opt/Standard\ Notes/resources/app.asar $out/share/standardnotes/
+    asar e $out/share/standardnotes/app.asar asar-unpacked
+    find asar-unpacked -name '*.node' -exec patchelf \
+      --add-rpath "${libPath}" \
+      {} \;
+    asar p asar-unpacked $out/share/standardnotes/app.asar
 
     makeWrapper ${electron}/bin/electron $out/bin/standardnotes \
       --add-flags $out/share/standardnotes/app.asar
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index d33891c37d26f..74afc2182dd52 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -36,7 +36,7 @@ rec {
     description = "The most popular clone of the VI editor";
     homepage    = "http://www.vim.org";
     license     = licenses.vim;
-    maintainers = with maintainers; [ das_j equirosa ];
+    maintainers = with maintainers; [ das_j equirosa philiptaron ];
     platforms   = platforms.unix;
     mainProgram = "vim";
     outputsToInstall = [ "out" "xxd" ];
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 48f6720104b17..e477fa1f520ec 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -4715,14 +4715,14 @@ final: prev:
 
   hydra-nvim = buildVimPlugin {
     pname = "hydra.nvim";
-    version = "2023-02-06";
+    version = "2024-03-15";
     src = fetchFromGitHub {
-      owner = "anuvyklack";
+      owner = "nvimtools";
       repo = "hydra.nvim";
-      rev = "3ced42c0b6a6c85583ff0f221635a7f4c1ab0dd0";
-      sha256 = "1dwhi2543drbncrqx80nsi5hw48d6my4wbsp71gx6m0clkp4469h";
+      rev = "8578056a2226ed49fc608167edc143a87f75d809";
+      sha256 = "sha256-Qxp2FigXlupAw/ZwZRVJ+hRKzVRtupV6L4a6jOslwI0=";
     };
-    meta.homepage = "https://github.com/anuvyklack/hydra.nvim/";
+    meta.homepage = "https://github.com/nvimtools/hydra.nvim/";
   };
 
   i3config-vim = buildVimPlugin {
@@ -5590,6 +5590,18 @@ final: prev:
     meta.homepage = "https://github.com/smjonas/live-command.nvim/";
   };
 
+  llm-nvim = buildVimPlugin {
+    pname = "llm.nvim";
+    version = "2024-02-22";
+    src = fetchFromGitHub {
+      owner = "huggingface";
+      repo = "llm.nvim";
+      rev = "51b76dac9c33c0122adfe28daf52ceaa31c4aa02";
+      sha256 = "07i1ixbiby4c81lkydwvygz6vxs1xhqnwzcsad3xzcaz7zdl00kx";
+    };
+    meta.homepage = "https://github.com/huggingface/llm.nvim/";
+  };
+
   lsp-colors-nvim = buildVimPlugin {
     pname = "lsp-colors.nvim";
     version = "2023-02-27";
@@ -7657,6 +7669,18 @@ final: prev:
     meta.homepage = "https://github.com/theHamsta/nvim-dap-virtual-text/";
   };
 
+  nvim-dbee = buildVimPlugin {
+    pname = "nvim-dbee";
+    version = "2024-01-13";
+    src = fetchFromGitHub {
+      owner = "kndndrj";
+      repo = "nvim-dbee";
+      rev = "513708655383f9253cb6d46523a2152a8d13e775";
+      hash = "sha256-HiceS+e8aQhrCUBqtLKwOZ2IRA7l0yHlHsF95rmMjhE=";
+    };
+    meta.homepage = "https://github.com/kndndrj/nvim-dbee/";
+  };
+
   nvim-docs-view = buildVimPlugin {
     pname = "nvim-docs-view";
     version = "2024-01-20";
@@ -8184,6 +8208,18 @@ final: prev:
     meta.homepage = "https://github.com/ishan9299/nvim-solarized-lua/";
   };
 
+  nvim-sops = buildVimPlugin {
+    pname = "nvim-sops";
+    version = "2023-07-31";
+    src = fetchFromGitHub {
+      owner = "lucidph3nx";
+      repo = "nvim-sops";
+      rev = "cb2209562d00ef8c6c88bdec836d9edb8fbb96ef";
+      sha256 = "0fvxnx5ji3d4kgsxl2ssqs7s567ibk4h38mz70m3nhs3sxk696lj";
+    };
+    meta.homepage = "https://github.com/lucidph3nx/nvim-sops/";
+  };
+
   nvim-spectre = buildVimPlugin {
     pname = "nvim-spectre";
     version = "2024-04-17";
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 58524a92d1a7a..24435666c0768 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -19,6 +19,7 @@
 , dasht
 , deno
 , direnv
+, duckdb
 , fish
 , fzf
 , gawk
@@ -245,7 +246,7 @@
   };
 
   cmp-git = super.cmp-git.overrideAttrs {
-    dependencies = with self; [ nvim-cmp ];
+    dependencies = with self; [ nvim-cmp plenary-nvim ];
   };
 
   cmp-greek = super.cmp-greek.overrideAttrs {
@@ -1027,8 +1028,30 @@
     passthru.python3Dependencies = [ python3.pkgs.mwclient ];
   };
 
+  nvim-dbee = super.nvim-dbee.overrideAttrs (oa: let
+        dbee-go = buildGoModule {
+          name = "nvim-dbee";
+          src = "${oa.src}/dbee";
+          vendorHash = "sha256-AItvgOehVskGLARJWDnJLtWM5YHKN/zn/FnZQ0evAtI=";
+          buildInputs = [ duckdb ];
+        };
+      in {
+    dependencies = [ self.nui-nvim ];
+
+    # nvim-dbee looks for the go binary in paths returned bu M.dir() and M.bin() defined in lua/dbee/install/init.lua
+    postPatch = ''
+      substituteInPlace lua/dbee/install/init.lua \
+        --replace-fail 'return vim.fn.stdpath("data") .. "/dbee/bin"' 'return "${dbee-go}/bin"'
+    '';
+
+    preFixup = ''
+      mkdir $target/bin
+      ln -s ${dbee-go}/bin/dbee $target/bin/dbee
+      '';
+  });
+
   nvim-navic = super.nvim-navic.overrideAttrs {
-    dependencies = with self; [ nvim-lspconfig ];
+    dependencies =  [ self.nvim-lspconfig ];
   };
 
   nvim-spectre = super.nvim-spectre.overrideAttrs (old:
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 25709a73a6980..faf446c70f415 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -394,7 +394,7 @@ https://github.com/smoka7/hop.nvim/,,
 https://github.com/rktjmp/hotpot.nvim/,,
 https://github.com/lewis6991/hover.nvim/,HEAD,
 https://github.com/othree/html5.vim/,HEAD,
-https://github.com/anuvyklack/hydra.nvim/,HEAD,
+https://github.com/nvimtools/hydra.nvim/,HEAD,
 https://github.com/mboughaba/i3config.vim/,,
 https://github.com/cocopon/iceberg.vim/,,
 https://github.com/idris-hackers/idris-vim/,,
@@ -468,6 +468,7 @@ https://github.com/ldelossa/litee-filetree.nvim/,,
 https://github.com/ldelossa/litee-symboltree.nvim/,,
 https://github.com/ldelossa/litee.nvim/,,
 https://github.com/smjonas/live-command.nvim/,HEAD,
+https://github.com/huggingface/llm.nvim/,HEAD,
 https://github.com/folke/lsp-colors.nvim/,,
 https://github.com/lukas-reineke/lsp-format.nvim/,HEAD,
 https://github.com/lvimuser/lsp-inlayhints.nvim/,HEAD,
@@ -644,6 +645,7 @@ https://github.com/leoluz/nvim-dap-go/,HEAD,
 https://github.com/mfussenegger/nvim-dap-python/,HEAD,
 https://github.com/rcarriga/nvim-dap-ui/,,
 https://github.com/theHamsta/nvim-dap-virtual-text/,,
+https://github.com/kndndrj/nvim-dbee/,HEAD,
 https://github.com/amrbashir/nvim-docs-view/,HEAD,
 https://github.com/allendang/nvim-expand-expr/,,
 https://github.com/vijaymarupudi/nvim-fzf/,,
@@ -688,6 +690,7 @@ https://github.com/dstein64/nvim-scrollview/,,
 https://github.com/s1n7ax/nvim-search-and-replace/,HEAD,
 https://github.com/dcampos/nvim-snippy/,HEAD,
 https://github.com/ishan9299/nvim-solarized-lua/,,
+https://github.com/lucidph3nx/nvim-sops/,HEAD,
 https://github.com/nvim-pack/nvim-spectre/,,
 https://github.com/chrisgrieser/nvim-spider/,HEAD,
 https://github.com/kylechui/nvim-surround/,main,
@@ -935,6 +938,7 @@ https://github.com/xiyaowong/transparent.nvim/,HEAD,
 https://github.com/Wansmer/treesj/,main,
 https://github.com/tremor-rs/tremor-vim/,,
 https://github.com/cappyzawa/trim.nvim/,,
+https://github.com/simonclean/triptych.nvim/,HEAD,
 https://github.com/folke/trouble.nvim/,,
 https://github.com/Pocco81/true-zen.nvim/,,
 https://github.com/tesaguri/trust.vim/,HEAD,
diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix
deleted file mode 100644
index 479a475e07416..0000000000000
--- a/pkgs/applications/editors/vis/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper
-, copyDesktopItems, makeDesktopItem
-, ncurses, libtermkey, lua, tre
-, acl, libselinux
-}:
-
-let
-  luaEnv = lua.withPackages(ps: [ ps.lpeg ]);
-in
-stdenv.mkDerivation rec {
-  pname = "vis";
-  version  = "0.8";
-
-  src = fetchFromGitHub {
-    rev = "v${version}";
-    sha256 = "sha256-XvWj6fZxzXeRA5oCAqIIwlfjrJcHnDrjeiPExEQKSkY=";
-    repo = "vis";
-    owner = "martanne";
-  };
-
-  nativeBuildInputs = [ pkg-config makeWrapper copyDesktopItems ];
-
-  buildInputs = [
-    ncurses
-    libtermkey
-    luaEnv
-    tre
-  ] ++ lib.optionals stdenv.isLinux [
-    acl
-    libselinux
-  ];
-
-  postInstall = ''
-    wrapProgram $out/bin/vis \
-      --prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \
-      --prefix LUA_PATH ';' "${luaEnv}/share/lua/${lua.luaversion}/?.lua" \
-      --prefix VIS_PATH : "\$HOME/.config:$out/share/vis"
-  '';
-
-  desktopItems = [
-    (makeDesktopItem {
-      name = "vis";
-      exec = "vis %U";
-      type = "Application";
-      icon = "accessories-text-editor";
-      comment = meta.description;
-      desktopName = "vis";
-      genericName = "Text editor";
-      categories = [ "Application" "Development" "IDE" ];
-      mimeTypes = [ "text/plain" "application/octet-stream" ];
-      startupNotify = false;
-      terminal = true;
-    })
-  ];
-
-  meta = with lib; {
-    description = "A vim like editor";
-    homepage = "https://github.com/martanne/vis";
-    license = licenses.isc;
-    maintainers = with maintainers; [ vrthra ramkromberg ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix b/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix
index 4ab87219a7cf3..983ae07bb196e 100644
--- a/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix
@@ -1,22 +1,21 @@
-{ lib
-, vscode-utils }:
+{ lib, vscode-utils }:
 
 let
   inherit (vscode-utils) buildVscodeMarketplaceExtension;
 in
-  buildVscodeMarketplaceExtension {
-    mktplcRef = {
-      name = "vscode-wakatime";
-      publisher = "WakaTime";
-      version = "18.0.5";
-      hash = "sha256-vWqGxMbxKqd4UgKK0sOKadMTDf6Y3TQxfWsc93MHjFs=";
-    };
+buildVscodeMarketplaceExtension {
+  mktplcRef = {
+    name = "vscode-wakatime";
+    publisher = "WakaTime";
+    version = "18.0.5";
+    hash = "sha256-vWqGxMbxKqd4UgKK0sOKadMTDf6Y3TQxfWsc93MHjFs=";
+  };
 
-    meta = {
-      description = ''
-        Visual Studio Code plugin for automatic time tracking and metrics generated
-        from your programming activity
-      '';
-      license = lib.licenses.bsd3;
-    };
-  }
+  meta = {
+    description = ''
+      Visual Studio Code plugin for automatic time tracking and metrics generated
+      from your programming activity
+    '';
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
index 5717ac0c12b57..fadcfe758a553 100644
--- a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
@@ -1,11 +1,19 @@
-{ lib, stdenv, vscode-utils, callPackage }:
+{
+  lib,
+  stdenv,
+  vscode-utils,
+  callPackage,
+}:
 let
   version = "1.50.0";
   rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
   arch =
-    if stdenv.isLinux then "linux"
-    else if stdenv.isDarwin then "darwin"
-    else throw "Unsupported system: ${stdenv.system}";
+    if stdenv.isLinux then
+      "linux"
+    else if stdenv.isDarwin then
+      "darwin"
+    else
+      throw "Unsupported system: ${stdenv.system}";
   analysisDir = "server/analysis_binaries/${arch}";
 in
 vscode-utils.buildVscodeMarketplaceExtension rec {
@@ -23,7 +31,10 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
   meta = {
     description = "The official VSCode plugin for ReScript";
     homepage = "https://github.com/rescript-lang/rescript-vscode";
-    maintainers = [ lib.maintainers.dlip lib.maintainers.jayesh-bhoot ];
+    maintainers = [
+      lib.maintainers.dlip
+      lib.maintainers.jayesh-bhoot
+    ];
     license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix
index 9ab9e4f165ddc..9a00fb31cd41e 100644
--- a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix
+++ b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix
@@ -1,4 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, bash, ocaml, ocamlPackages, dune_3, version }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  bash,
+  ocaml,
+  ocamlPackages,
+  dune_3,
+  version,
+}:
 
 stdenv.mkDerivation {
   pname = "rescript-editor-analysis";
@@ -11,7 +20,11 @@ stdenv.mkDerivation {
     hash = "sha256-+Ht8qWwxtFWHFMiV/aoZIs2S3SxkOWgdwSKN+akp/LU=";
   };
 
-  nativeBuildInputs = [ ocaml dune_3 ocamlPackages.cppo ];
+  nativeBuildInputs = [
+    ocaml
+    dune_3
+    ocamlPackages.cppo
+  ];
 
   # Skip testing phases because they need to download and install node modules
   postPatch = ''
@@ -28,7 +41,10 @@ stdenv.mkDerivation {
   meta = {
     description = "Analysis binary for the ReScript VSCode plugin";
     homepage = "https://github.com/rescript-lang/rescript-vscode";
-    maintainers = [ lib.maintainers.dlip lib.maintainers.jayesh-bhoot ];
+    maintainers = [
+      lib.maintainers.dlip
+      lib.maintainers.jayesh-bhoot
+    ];
     license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/contextmapper.context-mapper-vscode-extension/default.nix b/pkgs/applications/editors/vscode/extensions/contextmapper.context-mapper-vscode-extension/default.nix
index 5ba82c59fee56..9202ddb72b16d 100644
--- a/pkgs/applications/editors/vscode/extensions/contextmapper.context-mapper-vscode-extension/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/contextmapper.context-mapper-vscode-extension/default.nix
@@ -1,8 +1,9 @@
-{ graphviz
-, jre
-, lib
-, makeWrapper
-, vscode-utils
+{
+  graphviz,
+  jre,
+  lib,
+  makeWrapper,
+  vscode-utils,
 }:
 
 vscode-utils.buildVscodeMarketplaceExtension rec {
@@ -13,13 +14,9 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
     hash = "sha256-TvApcBBI+Egu7t4tJuEYTs6mhvABOY2eXVb57O4gWfs=";
   };
 
-  nativeBuildInputs = [
-    makeWrapper
-  ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  buildInputs = [
-    graphviz
-  ];
+  buildInputs = [ graphviz ];
 
   postInstall = ''
     wrapProgram $out/share/vscode/extensions/contextmapper.context-mapper-vscode-extension/lsp/bin/context-mapper-lsp \
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 24d0a32ef9cbf..260711bd4880b 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -948,35 +948,30 @@ let
             sources = {
               "x86_64-linux" = {
                 arch = "linux-x64";
-                sha256 = "1y5g8ay9sfz7r21fhwb2wr28yng7w3f2l265ljnfkz8yv8qzqpgk";
+                hash = "sha256-GQH+KKteWbCz18AlTWjLWrVpPRxumi+iDPS5n+5xy/0=";
               };
               "x86_64-darwin" = {
                 arch = "darwin-x64";
-                sha256 = "14v9p5k9c9s9hfb1ymmkp66kmm9pvnvvljzrrs9wmajss5mlglf5";
+                hash = "sha256-xBwuAtvRdOgYkfxP0JaxhAQZx5AJWymDVQ50piTx608=";
               };
               "aarch64-linux" = {
                 arch = "linux-arm64";
-                sha256 = "1mngfy42crp8xs14s06rkyzv16ci12bq8y39miyy7wa3a343b0ii";
+                hash = "sha256-oLLKnNZ+E06PbUrhj5Y0HOdHhUs/fXd+3lZXX/P2C10=";
               };
               "aarch64-darwin" = {
                 arch = "darwin-arm64";
-                sha256 = "1gd1kr91s52kc8ldzy78cbn6gix1b8cvd6jh4sfrhq7k8yyn7g1l";
+                hash = "sha256-nWuyqOIELp8MrjzCFH3yu4pWm5KsNxmx3eacgStWKG0=";
               };
             };
           in
           {
             name = "continue";
             publisher = "Continue";
-            version = "0.8.22";
+            version = "0.8.25";
           }
           // sources.${stdenv.system};
-        nativeBuildInputs = [ autoPatchelfHook ];
+        nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
         buildInputs = [ stdenv.cc.cc.lib ];
-        postInstall = ''
-          cd "$out/$installPrefix"
-          substituteInPlace "out/extension.js" \
-            --replace-fail 'await showTutorial();' '//await showTutorial();'
-        '';
         meta = {
           description = "Open-source autopilot for software development - bring the power of ChatGPT to your IDE";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=Continue.continue";
@@ -1268,6 +1263,23 @@ let
         };
       };
 
+      discloud.discloud = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "discloud";
+          name = "discloud";
+          version = "2.21.2";
+          hash = "sha256-es1WjKchxC2hIWOkIRuf5MqMjTYu6qcBgo8abCqTjFc=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/discloud.discloud/changelog";
+          description = "A Visual Studio Code extension for hosting and managing applications on Discloud";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=discloud.discloud";
+          homepage = "https://github.com/discloud/vscode-discloud";
+          license = lib.licenses.asl20;
+          maintainers = [ lib.maintainers.astindev ];
+        };
+      };
+
       disneystreaming.smithy = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "disneystreaming";
@@ -1793,8 +1805,8 @@ let
         mktplcRef = {
           publisher = "github";
           name = "copilot";
-          version = "1.172.758";
-          hash = "sha256-sK3IiA4mQ6Hse+UpZ81Zb5iBSREzTrs7ypsfGbJiXm4=";
+          version = "1.180.827";
+          hash = "sha256-HA1na9FoExIiAay+tEjxWKqpG2+wq4Oww77Gl2Bhciw=";
         };
 
         meta = {
@@ -1810,8 +1822,8 @@ let
         mktplcRef = {
           publisher = "github";
           name = "copilot-chat";
-          version = "0.13.2024022301"; # compatible with vscode >= 1.87
-          hash = "sha256-WdojLEdrg6iqTH/cNPEWb6VEfk+gIHh2M5GHrAURjy8=";
+          version = "0.14.2024032901"; # compatible with vscode 1.88.1
+          hash = "sha256-+6N7IGO5j0wP5Zg8CwapHeKGWiZzc43VM4jCtqJDJIQ=";
         };
         meta = {
           description = "GitHub Copilot Chat is a companion extension to GitHub Copilot that houses experimental chat features";
@@ -1899,7 +1911,7 @@ let
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=Gleam.gleam";
           homepage = "https://github.com/gleam-lang/vscode-gleam#readme";
           license = lib.licenses.asl20;
-          maintainers = [ lib.maintainers.msfjarvis ];
+          maintainers = [ ];
         };
       };
 
@@ -2073,6 +2085,22 @@ let
         };
       };
 
+      hiukky.flate = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "flate";
+          publisher = "hiukky";
+          version = "0.7.0";
+          hash = "sha256-6ouYQk7mHCJdGrcutM1EXolJAT7/Sp1hi+Bu0983GKw=";
+        };
+        meta = {
+          description = "Colorful dark themes for VS Code";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=hiukky.flate";
+          homepage = "https://github.com/hiukky/flate";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.stunkymonkey ];
+        };
+      };
+
       hookyqr.beautify = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "beautify";
@@ -2825,6 +2853,22 @@ let
 
       ms-python.python = callPackage ./ms-python.python { };
 
+      ms-python.debugpy = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "debugpy";
+          publisher = "ms-python";
+          version = "2023.3.13121011";
+          hash = "sha256-owYUEyQl2FQytApfuI97N4y9p7/dL0lu6EBk/AzSMjw=";
+        };
+        meta = {
+          description = "Python debugger (debugpy) extension for VS Code";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.debugpy";
+          homepage = "https://github.com/Microsoft/vscode-python-debugger";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.carlthome ];
+        };
+      };
+
       ms-python.vscode-pylance = callPackage ./ms-python.vscode-pylance { };
 
       ms-toolsai.datawrangler = buildVscodeMarketplaceExtension {
@@ -3402,6 +3446,8 @@ let
         };
       };
 
+      reditorsupport.r = callPackage ./reditorsupport.r { };
+
       reloadedextensions.reloaded-cpp = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "reloaded-cpp";
@@ -3470,8 +3516,8 @@ let
         mktplcRef = {
           name = "wikitext";
           publisher = "RoweWilsonFrederiskHolme";
-          version = "3.8.0";
-          sha256 = "30540a85163e797028eec9bc3db1866bbf473e98615bf6ade6d1d672017ebe52";
+          version = "3.8.1";
+          hash = "sha256-piwS3SPjx10nsjN5axC+EN0MEDf0r2lVFllqQzciOfc=";
         };
         meta = {
           description = "Extension that helps users view and write MediaWiki's Wikitext files";
@@ -4527,6 +4573,22 @@ let
         };
       };
 
+      vue.volar = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "volar";
+          publisher = "Vue";
+          version = "2.0.16";
+          hash = "sha256-RTBbF7qahYP4L7SZ/5aCM/e5crZAyyPRcgL48FVL1jk=";
+        };
+        meta = {
+          changelog = "https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md";
+          description = "The official Vue VSCode extension";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=Vue.volar";
+          homepage = "https://github.com/vuejs/language-tools";
+          license = lib.licenses.mit;
+        };
+      };
+
       vspacecode.whichkey = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "whichkey";
@@ -4539,6 +4601,22 @@ let
         };
       };
 
+      vue.vscode-typescript-vue-plugin = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-typescript-vue-plugin";
+          publisher = "Vue";
+          version = "1.8.27";
+          hash = "sha256-ym1+WPKBcn4h9lqSFVehfiDoGUEviOSEVXVLhHcYvfc=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/Vue.vscode-typescript-vue-plugin/changelog";
+          description = "Vue VSCode extension for TypeScript";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin";
+          homepage = "https://github.com/vuejs/language-tools";
+          license = lib.licenses.mit;
+        };
+      };
+
       waderyan.gitblame = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "gitblame";
diff --git a/pkgs/applications/editors/vscode/extensions/equinusocio.vsc-material-theme/default.nix b/pkgs/applications/editors/vscode/extensions/equinusocio.vsc-material-theme/default.nix
index f84f625779b39..ba20cb5b3bbe4 100644
--- a/pkgs/applications/editors/vscode/extensions/equinusocio.vsc-material-theme/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/equinusocio.vsc-material-theme/default.nix
@@ -1,6 +1,4 @@
-{ lib
-, vscode-utils
-}:
+{ lib, vscode-utils }:
 
 vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
diff --git a/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix
index a73da886437f0..dca2a081d92be 100644
--- a/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix
@@ -1,4 +1,8 @@
-{ lib, vscode-utils, terraform-ls }:
+{
+  lib,
+  vscode-utils,
+  terraform-ls,
+}:
 vscode-utils.buildVscodeMarketplaceExtension rec {
   mktplcRef = {
     name = "terraform";
diff --git a/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix b/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix
index 0f11ddc5ed2cb..afe4cd7bdb742 100644
--- a/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix
@@ -1,4 +1,10 @@
-{ lib, vscode-utils, plantuml, jq, moreutils }:
+{
+  lib,
+  vscode-utils,
+  plantuml,
+  jq,
+  moreutils,
+}:
 
 vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
@@ -7,7 +13,10 @@ vscode-utils.buildVscodeMarketplaceExtension {
     version = "2.17.4";
     hash = "sha256-fnz6ubB73i7rJcv+paYyNV1r4cReuyFPjgPM0HO40ug=";
   };
-  nativeBuildInputs = [ jq moreutils ];
+  nativeBuildInputs = [
+    jq
+    moreutils
+  ];
   postInstall = ''
     cd "$out/$installPrefix"
     jq '.contributes.configuration.properties."plantuml.java".default = "${plantuml}/bin/plantuml"' package.json | sponge package.json
@@ -15,13 +24,10 @@ vscode-utils.buildVscodeMarketplaceExtension {
 
   meta = {
     description = "A Visual Studio Code extension for supporting Rich PlantUML";
-    downloadPage =
-      "https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml";
+    downloadPage = "https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml";
     homepage = "https://github.com/qjebbs/vscode-plantuml";
-    changelog =
-      "https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog";
+    changelog = "https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.victormignot ];
   };
 }
-
diff --git a/pkgs/applications/editors/vscode/extensions/language-packs.nix b/pkgs/applications/editors/vscode/extensions/language-packs.nix
index 3c3253e2c3da6..6c522acaa1fd2 100644
--- a/pkgs/applications/editors/vscode/extensions/language-packs.nix
+++ b/pkgs/applications/editors/vscode/extensions/language-packs.nix
@@ -4,7 +4,12 @@ with vscode-utils;
 
 let
 
-  buildVscodeLanguagePack = { language, version ? "1.76.2023030809", sha256 }:
+  buildVscodeLanguagePack =
+    {
+      language,
+      version ? "1.76.2023030809",
+      sha256,
+    }:
     buildVscodeMarketplaceExtension {
       mktplcRef = {
         name = "vscode-language-pack-${language}";
@@ -15,7 +20,6 @@ let
         license = lib.licenses.mit;
       };
     };
-
 in
 
 # See list of core language packs at https://github.com/Microsoft/vscode-loc
diff --git a/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix b/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix
index 6c7ba096f6c58..4f947a493542f 100644
--- a/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix
+++ b/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix
@@ -1,4 +1,11 @@
-{ publisher, name, version, arch ? "", sha256 ? "", hash ? "" }:
+{
+  publisher,
+  name,
+  version,
+  arch ? "",
+  sha256 ? "",
+  hash ? "",
+}:
 let
   archurl = (if arch == "" then "" else "?targetPlatform=${arch}");
 in
diff --git a/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix
index e8f5f60ee9edc..50480e3460a95 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix
@@ -1,56 +1,59 @@
-{ lib
-, icu
-, openssl
-, patchelf
-, stdenv
-, vscode-utils
+{
+  lib,
+  icu,
+  openssl,
+  patchelf,
+  stdenv,
+  vscode-utils,
 }:
 let
   inherit (stdenv.hostPlatform) system;
   inherit (vscode-utils) buildVscodeMarketplaceExtension;
 
-  extInfo = {
-    x86_64-linux = {
-      arch = "linux-x64";
-      hash = "sha256-7m85Zl9oV40le3nkNPzoKu/AAf8XhQpI8sBMsQXmBg8=";
-      binaries = [
-        "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller"
-        "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-code-servicehost.linux-x64/Microsoft.VisualStudio.Code.ServiceHost"
-        "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-x64/Microsoft.VisualStudio.Reliability.Monitor"
-        "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-server.linux-x64/Microsoft.VisualStudio.Code.Server"
-      ];
-    };
-    aarch64-linux = {
-      arch = "linux-arm64";
-      hash = "sha256-39D55EdwE4baDYbHc9GD/1XoxGbQkUkS1H2uysJHlxw=";
-      binaries = [
-        "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller"
-        "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-code-servicehost.linux-arm64/Microsoft.VisualStudio.Code.ServiceHost"
-        "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-arm64/Microsoft.VisualStudio.Reliability.Monitor"
-        "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-server.linux-arm64/Microsoft.VisualStudio.Code.Server"
-      ];
-    };
-    x86_64-darwin = {
-      arch = "darwin-x64";
-      hash = "sha256-gfhJX07R+DIw9FbzaEE0JZwEmDeifiq4vHyMHZZ1udM=";
-      binaries = [
-        "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller"
-        "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-x64/Microsoft.VisualStudio.Code.ServiceHost"
-        "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-x64/Microsoft.VisualStudio.Reliability.Monitor"
-        "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-server.darwin-x64/Microsoft.VisualStudio.Code.Server"
-      ];
-    };
-    aarch64-darwin = {
-      arch = "darwin-arm64";
-      hash = "sha256-vogstgCWvI9csNF9JfJ41XPR1POy842g2yhWqIDoHLw=";
-      binaries = [
-        "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller"
-        "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-arm64/Microsoft.VisualStudio.Code.ServiceHost"
-        "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-arm64/Microsoft.VisualStudio.Reliability.Monitor"
-        "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-server.darwin-arm64/Microsoft.VisualStudio.Code.Server"
-      ];
-    };
-  }.${system} or (throw "Unsupported system: ${system}");
+  extInfo =
+    {
+      x86_64-linux = {
+        arch = "linux-x64";
+        hash = "sha256-7m85Zl9oV40le3nkNPzoKu/AAf8XhQpI8sBMsQXmBg8=";
+        binaries = [
+          "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller"
+          "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-code-servicehost.linux-x64/Microsoft.VisualStudio.Code.ServiceHost"
+          "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-x64/Microsoft.VisualStudio.Reliability.Monitor"
+          "components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-server.linux-x64/Microsoft.VisualStudio.Code.Server"
+        ];
+      };
+      aarch64-linux = {
+        arch = "linux-arm64";
+        hash = "sha256-39D55EdwE4baDYbHc9GD/1XoxGbQkUkS1H2uysJHlxw=";
+        binaries = [
+          "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller"
+          "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-code-servicehost.linux-arm64/Microsoft.VisualStudio.Code.ServiceHost"
+          "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-arm64/Microsoft.VisualStudio.Reliability.Monitor"
+          "components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-server.linux-arm64/Microsoft.VisualStudio.Code.Server"
+        ];
+      };
+      x86_64-darwin = {
+        arch = "darwin-x64";
+        hash = "sha256-gfhJX07R+DIw9FbzaEE0JZwEmDeifiq4vHyMHZZ1udM=";
+        binaries = [
+          "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller"
+          "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-x64/Microsoft.VisualStudio.Code.ServiceHost"
+          "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-x64/Microsoft.VisualStudio.Reliability.Monitor"
+          "components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-server.darwin-x64/Microsoft.VisualStudio.Code.Server"
+        ];
+      };
+      aarch64-darwin = {
+        arch = "darwin-arm64";
+        hash = "sha256-vogstgCWvI9csNF9JfJ41XPR1POy842g2yhWqIDoHLw=";
+        binaries = [
+          "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller"
+          "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-arm64/Microsoft.VisualStudio.Code.ServiceHost"
+          "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-arm64/Microsoft.VisualStudio.Reliability.Monitor"
+          "components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-server.darwin-arm64/Microsoft.VisualStudio.Code.Server"
+        ];
+      };
+    }
+    .${system} or (throw "Unsupported system: ${system}");
 in
 buildVscodeMarketplaceExtension {
   mktplcRef = {
@@ -61,50 +64,55 @@ buildVscodeMarketplaceExtension {
   };
   sourceRoot = "extension"; # This has more than one folder.
 
-  nativeBuildInputs = [
-    patchelf
-  ];
+  nativeBuildInputs = [ patchelf ];
 
-  postPatch = ''
-    declare ext_unique_id
-    ext_unique_id="$(basename "$out" | head -c 32)"
+  postPatch =
+    ''
+      declare ext_unique_id
+      ext_unique_id="$(basename "$out" | head -c 32)"
 
-    patchelf_add_icu_as_needed() {
-      declare elf="''${1?}"
-      declare icu_major_v="${
-      lib.head (lib.splitVersion (lib.getVersion icu.name))
-    }"
+      patchelf_add_icu_as_needed() {
+        declare elf="''${1?}"
+        declare icu_major_v="${lib.head (lib.splitVersion (lib.getVersion icu.name))}"
 
-      for icu_lib in icui18n icuuc icudata; do
-        patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
-      done
-    }
+        for icu_lib in icui18n icuuc icudata; do
+          patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
+        done
+      }
 
-    patchelf_common() {
-      declare elf="''${1?}"
+      patchelf_common() {
+        declare elf="''${1?}"
 
-      patchelf_add_icu_as_needed "$elf"
-      patchelf --add-needed "libssl.so" "$elf"
-      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \
-        "$elf"
-    }
+        patchelf_add_icu_as_needed "$elf"
+        patchelf --add-needed "libssl.so" "$elf"
+        patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          --set-rpath "${
+            lib.makeLibraryPath [
+              stdenv.cc.cc
+              openssl
+              icu.out
+            ]
+          }:\$ORIGIN" \
+          "$elf"
+      }
 
-    substituteInPlace dist/extension.js \
-      --replace 'e.extensionPath,"cache"' 'require("os").tmpdir(),"'"$ext_unique_id"'"' \
-      --replace 't.setExecuteBit=async function(e){if("win32"!==process.platform){const t=i.join(e[a.SERVICEHUB_CONTROLLER_COMPONENT_NAME],"Microsoft.ServiceHub.Controller"),n=i.join(e[a.SERVICEHUB_HOST_COMPONENT_NAME],(0,a.getServiceHubHostEntrypointName)()),r=[(0,a.getServerPath)(e),t,n,(0,c.getReliabilityMonitorPath)(e)];await Promise.all(r.map((e=>(0,o.chmod)(e,"0755"))))}}' 't.setExecuteBit=async function(e){}'
+      substituteInPlace dist/extension.js \
+        --replace 'e.extensionPath,"cache"' 'require("os").tmpdir(),"'"$ext_unique_id"'"' \
+        --replace 't.setExecuteBit=async function(e){if("win32"!==process.platform){const t=i.join(e[a.SERVICEHUB_CONTROLLER_COMPONENT_NAME],"Microsoft.ServiceHub.Controller"),n=i.join(e[a.SERVICEHUB_HOST_COMPONENT_NAME],(0,a.getServiceHubHostEntrypointName)()),r=[(0,a.getServerPath)(e),t,n,(0,c.getReliabilityMonitorPath)(e)];await Promise.all(r.map((e=>(0,o.chmod)(e,"0755"))))}}' 't.setExecuteBit=async function(e){}'
 
-  ''
-  + (lib.concatStringsSep "\n" (map
-    (bin: ''
-      chmod +x "${bin}"
-    '')
-    extInfo.binaries))
-  + lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
-    (bin: ''
-      patchelf_common "${bin}"
-    '')
-    extInfo.binaries));
+    ''
+    + (lib.concatStringsSep "\n" (
+      map (bin: ''
+        chmod +x "${bin}"
+      '') extInfo.binaries
+    ))
+    + lib.optionalString stdenv.isLinux (
+      lib.concatStringsSep "\n" (
+        map (bin: ''
+          patchelf_common "${bin}"
+        '') extInfo.binaries
+      )
+    );
 
   meta = {
     changelog = "https://marketplace.visualstudio.com/items/ms-dotnettools.csdevkit/changelog";
@@ -112,6 +120,11 @@ buildVscodeMarketplaceExtension {
     downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit";
     license = lib.licenses.unfree;
     maintainers = [ lib.maintainers.ggg ];
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [
+      "x86_64-linux"
+      "aarch64-linux"
+      "x86_64-darwin"
+      "aarch64-darwin"
+    ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix
index 213ce3550f45c..189804e981781 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix
@@ -1,11 +1,11 @@
-{ lib
-, vscode-utils
-, patchelf
-, icu
-, stdenv
-, openssl
-, coreutils
-,
+{
+  lib,
+  vscode-utils,
+  patchelf,
+  icu,
+  stdenv,
+  openssl,
+  coreutils,
 }:
 let
   inherit (stdenv.hostPlatform) system;
@@ -26,31 +26,32 @@ let
         ".debugger/x86_64/vsdbg"
       ];
     in
-      {
-        x86_64-linux = {
-          arch = "linux-x64";
-          hash = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE=";
-          binaries = linuxBins;
-        };
-        aarch64-linux = {
-          arch = "linux-arm64";
-          hash = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA=";
-          binaries = linuxBins;
-        };
-        x86_64-darwin = {
-          arch = "darwin-x64";
-          hash = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI=";
-          binaries = darwinBins;
-        };
-        aarch64-darwin = {
-          arch = "darwin-arm64";
-          hash = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0=";
-          binaries = darwinBins ++ [
-            ".debugger/arm64/vsdbg-ui"
-            ".debugger/arm64/vsdbg"
-          ];
-        };
-      }.${system} or (throw "Unsupported system: ${system}");
+    {
+      x86_64-linux = {
+        arch = "linux-x64";
+        hash = "sha256-si4HKGVIHu44QNlNI2WEnMff9+QZOMWiBfWQaaFGyQE=";
+        binaries = linuxBins;
+      };
+      aarch64-linux = {
+        arch = "linux-arm64";
+        hash = "sha256-1IXkSRgCHOLD4VeCdqyy54MXCBUX5RDDb3pf7GQH5jA=";
+        binaries = linuxBins;
+      };
+      x86_64-darwin = {
+        arch = "darwin-x64";
+        hash = "sha256-AAbYjZ+YYyGEXSLkiFfluLf7P4OzPhmHzK44N5XT9UI=";
+        binaries = darwinBins;
+      };
+      aarch64-darwin = {
+        arch = "darwin-arm64";
+        hash = "sha256-1m47kX0Jo+UvthNfgdoPdBBOcDyCA8DfP+zRk3SicR0=";
+        binaries = darwinBins ++ [
+          ".debugger/arm64/vsdbg-ui"
+          ".debugger/arm64/vsdbg"
+        ];
+      };
+    }
+    .${system} or (throw "Unsupported system: ${system}");
 in
 buildVscodeMarketplaceExtension {
   mktplcRef = {
@@ -60,16 +61,13 @@ buildVscodeMarketplaceExtension {
     inherit (extInfo) hash arch;
   };
 
-  nativeBuildInputs = [
-    patchelf
-  ];
+  nativeBuildInputs = [ patchelf ];
 
-  postPatch = ''
+  postPatch =
+    ''
       patchelf_add_icu_as_needed() {
         declare elf="''${1?}"
-        declare icu_major_v="${
-        lib.head (lib.splitVersion (lib.getVersion icu.name))
-      }"
+        declare icu_major_v="${lib.head (lib.splitVersion (lib.getVersion icu.name))}"
 
         for icu_lib in icui18n icuuc icudata; do
           patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
@@ -82,7 +80,13 @@ buildVscodeMarketplaceExtension {
         patchelf_add_icu_as_needed "$elf"
         patchelf --add-needed "libssl.so" "$elf"
         patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \
+          --set-rpath "${
+            lib.makeLibraryPath [
+              stdenv.cc.cc
+              openssl
+              icu.out
+            ]
+          }:\$ORIGIN" \
           "$elf"
       }
 
@@ -90,22 +94,29 @@ buildVscodeMarketplaceExtension {
         --replace 'uname -m' '${lib.getExe' coreutils "uname"} -m'
 
     ''
-    + (lib.concatStringsSep "\n" (map
-      (bin: ''
+    + (lib.concatStringsSep "\n" (
+      map (bin: ''
         chmod +x "${bin}"
-      '')
-      extInfo.binaries))
-    + lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
-      (bin: ''
-        patchelf_common "${bin}"
-      '')
-      extInfo.binaries));
+      '') extInfo.binaries
+    ))
+    + lib.optionalString stdenv.isLinux (
+      lib.concatStringsSep "\n" (
+        map (bin: ''
+          patchelf_common "${bin}"
+        '') extInfo.binaries
+      )
+    );
 
   meta = {
     description = "Official C# support for Visual Studio Code";
     homepage = "https://github.com/dotnet/vscode-csharp";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ ggg ];
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [
+      "x86_64-linux"
+      "aarch64-linux"
+      "x86_64-darwin"
+      "aarch64-darwin"
+    ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix b/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix
index 25091b95efc4b..67a96652b6ed6 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix
@@ -1,19 +1,20 @@
-{ lib
-, vscode-utils
-, icu
-, python3
+{
+  lib,
+  vscode-utils,
+  icu,
+  python3,
   # When `true`, the python default setting will be fixed to specified.
   # Use version from `PATH` for default setting otherwise.
   # Defaults to `false` as we expect it to be project specific most of the time.
-, pythonUseFixed ? false
+  pythonUseFixed ? false,
   # For updateScript
-, writeScript
-, bash
-, curl
-, coreutils
-, gnused
-, jq
-, nix
+  writeScript,
+  bash,
+  curl,
+  coreutils,
+  gnused,
+  jq,
+  nix,
 }:
 
 vscode-utils.buildVscodeMarketplaceExtension rec {
@@ -33,33 +34,37 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
     jedi-language-server
   ];
 
-  postPatch = ''
-    # remove bundled python deps and use libs from nixpkgs
-    rm -r pythonFiles/lib
-    mkdir -p pythonFiles/lib/python/
-    ln -s ${python3.pkgs.debugpy}/lib/*/site-packages/debugpy pythonFiles/lib/python/
-    buildPythonPath "$propagatedBuildInputs"
-    for i in pythonFiles/*.py; do
-      patchPythonScript "$i"
-    done
-  '' + lib.optionalString pythonUseFixed ''
-    # Patch `packages.json` so that nix's *python* is used as default value for `python.pythonPath`.
-    substituteInPlace "./package.json" \
-      --replace "\"default\": \"python\"" "\"default\": \"${python3.interpreter}\""
-  '';
+  postPatch =
+    ''
+      # remove bundled python deps and use libs from nixpkgs
+      rm -r pythonFiles/lib
+      mkdir -p pythonFiles/lib/python/
+      ln -s ${python3.pkgs.debugpy}/lib/*/site-packages/debugpy pythonFiles/lib/python/
+      buildPythonPath "$propagatedBuildInputs"
+      for i in pythonFiles/*.py; do
+        patchPythonScript "$i"
+      done
+    ''
+    + lib.optionalString pythonUseFixed ''
+      # Patch `packages.json` so that nix's *python* is used as default value for `python.pythonPath`.
+      substituteInPlace "./package.json" \
+        --replace "\"default\": \"python\"" "\"default\": \"${python3.interpreter}\""
+    '';
 
   passthru.updateScript = writeScript "update" ''
     #! ${bash}/bin/bash
 
     set -eu -o pipefail
 
-    export PATH=${lib.makeBinPath [
-      curl
-      coreutils
-      gnused
-      jq
-      nix
-    ]}
+    export PATH=${
+      lib.makeBinPath [
+        curl
+        coreutils
+        gnused
+        jq
+        nix
+      ]
+    }
 
     api=$(curl -s 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' \
       -H 'accept: application/json;api-version=3.0-preview.1' \
@@ -82,7 +87,14 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
     homepage = "https://github.com/Microsoft/vscode-python";
     changelog = "https://github.com/microsoft/vscode-python/releases";
     license = lib.licenses.mit;
-    platforms = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ];
-    maintainers = [ lib.maintainers.jraygauthier lib.maintainers.jfchevrette ];
+    platforms = [
+      "x86_64-linux"
+      "aarch64-darwin"
+      "x86_64-darwin"
+    ];
+    maintainers = [
+      lib.maintainers.jraygauthier
+      lib.maintainers.jfchevrette
+    ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix
index c5ae57e0f63b0..9b7f63edc74a2 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "vscode-pylance";
     publisher = "MS-python";
-    version = "2023.8.50";
-    hash = "sha256-xJU/j5r/Idp/0VorEfciT4SFKRBpMCv9Z0LKO/++1Gk=";
+    version = "2024.4.1";
+    hash = "sha256-huKu6yefGXOay5Az4vksopRt8heoLxvKUrg/J1NlQFo=";
   };
 
   buildInputs = [ pyright ];
diff --git a/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix b/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
index 99de6b59b1761..41803cadb3a79 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
@@ -1,4 +1,9 @@
-{ lib, vscode-utils, jq, moreutils }:
+{
+  lib,
+  vscode-utils,
+  jq,
+  moreutils,
+}:
 
 vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
diff --git a/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix
index 63e351f69b4a3..3872aad7ea4b8 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix
@@ -1,7 +1,8 @@
-{ lib
-, nixosTests
-, vscode-utils
-, useLocalExtensions ? false
+{
+  lib,
+  nixosTests,
+  vscode-utils,
+  useLocalExtensions ? false,
 }:
 # Note that useLocalExtensions requires that vscode-server is not running
 # on host. If it is, you'll need to remove $HOME/.vscode-server,
@@ -92,7 +93,9 @@ buildVscodeMarketplaceExtension {
       --replace '# Start the server\n' '${patch}'
   '';
 
-  passthru.tests = { inherit (nixosTests) vscode-remote-ssh; };
+  passthru.tests = {
+    inherit (nixosTests) vscode-remote-ssh;
+  };
 
   meta = {
     description = "Use any remote machine with a SSH server as your development environment.";
diff --git a/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix
index bd1d6bf66e755..731bddc3553c5 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix
@@ -1,8 +1,19 @@
-{ lib, vscode-utils
-, fetchurl, writeScript, runtimeShell
-, jq, clang-tools
-, gdbUseFixed ? true, gdb # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise.
-, autoPatchelfHook, makeWrapper, stdenv, lttng-ust, libkrb5, zlib
+{
+  lib,
+  vscode-utils,
+  fetchurl,
+  writeScript,
+  runtimeShell,
+  jq,
+  clang-tools,
+  gdbUseFixed ? true,
+  gdb, # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise.
+  autoPatchelfHook,
+  makeWrapper,
+  stdenv,
+  lttng-ust,
+  libkrb5,
+  zlib,
 }:
 
 /*
@@ -32,11 +43,11 @@ let
   gdbDefaultsTo = if gdbUseFixed then "${gdb}/bin/gdb" else "gdb";
   supported = {
     x86_64-linux = {
-      hash = "sha256-4mKCBqUCOndKEfsJqTIsfwEt+0CZI8QAhBj3Y4+wKlg=";
+      hash = "sha256-p8WFmkQKdzXF0FTWHabyeFMkwXa2RkDRM9SvvkBIOLY=";
       arch = "linux-x64";
     };
     aarch64-linux = {
-      hash = "sha256-Kjl8mEpayA1xMHEAMJ5k3Ctk3l48KlUBU5w3dL4pGWM=";
+      hash = "sha256-HISE8/M9IpeI8iX0mmw9owExnpgiwpesE7YG/+QFYgc=";
       arch = "linux-arm64";
     };
   };
@@ -47,7 +58,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = base // {
     name = "cpptools";
     publisher = "ms-vscode";
-    version = "1.17.3";
+    version = "1.20.2";
   };
 
   nativeBuildInputs = [
@@ -94,7 +105,13 @@ vscode-utils.buildVscodeMarketplaceExtension {
     description = "The C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.";
     homepage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools";
     license = lib.licenses.unfree;
-    maintainers = [ lib.maintainers.jraygauthier lib.maintainers.stargate01 ];
-    platforms = [ "x86_64-linux" "aarch64-linux" ];
+    maintainers = [
+      lib.maintainers.jraygauthier
+      lib.maintainers.stargate01
+    ];
+    platforms = [
+      "x86_64-linux"
+      "aarch64-linux"
+    ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix
index 0f70451c4652e..180490e60a655 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix
@@ -1,4 +1,8 @@
-{ lib, vscode-utils, xsel }:
+{
+  lib,
+  vscode-utils,
+  xsel,
+}:
 
 vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
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 9dbf71b8b1016..3a6d84b24b8a6 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.5";
-    hash = "sha256-p97RREGKhTeXO5s4jP8qUsLtYxOj91ddQhsk6Q+50jc=";
+    version = "0.11.6";
+    hash = "sha256-qS+QY9RmJYXWRcohMcorF3SxoniBPE8SFcg0Ka1vvOE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/vscode/extensions/nvarner.typst-lsp/default.nix b/pkgs/applications/editors/vscode/extensions/nvarner.typst-lsp/default.nix
index ec054521240de..22344e3b2b2b9 100644
--- a/pkgs/applications/editors/vscode/extensions/nvarner.typst-lsp/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/nvarner.typst-lsp/default.nix
@@ -12,8 +12,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
     publisher = "nvarner";
     # Please update the corresponding binary (typst-lsp) when updating
     # this extension.
-    version = "0.12.1";
-    hash = "sha256-JcfFaR1wU5XwapH8vnfVy7Cb7DfUWVeoLfBV3wEtCpE=";
+    version = "0.13.0";
+    hash = "sha256-xiFUJymZOTEqlGvCHvLiI0pVg7NLgIXhZ7x8yx+a5mY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix b/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix
new file mode 100644
index 0000000000000..de1759d7b0e46
--- /dev/null
+++ b/pkgs/applications/editors/vscode/extensions/reditorsupport.r/default.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  vscode-utils,
+  jq,
+  moreutils,
+  python311Packages,
+  R,
+  rPackages,
+}:
+
+vscode-utils.buildVscodeMarketplaceExtension {
+  mktplcRef = {
+    name = "r";
+    publisher = "reditorsupport";
+    version = "2.8.2";
+    hash = "sha256-FPL/JjW452KRchcQ0iHXRJarZXvS3B8PvZhXjf3rMhQ=";
+  };
+  nativeBuildInputs = [
+    jq
+    moreutils
+  ];
+  buildInputs = [
+    python311Packages.radian
+    R
+    rPackages.languageserver
+  ];
+  postInstall = ''
+    cd "$out/$installPrefix"
+    jq '.contributes.configuration.properties."r.rpath.mac".default = "${lib.getExe' R "R"}"' package.json | sponge package.json
+    jq '.contributes.configuration.properties."r.rpath.linux".default = "${lib.getExe' R "R"}"' package.json | sponge package.json
+    jq '.contributes.configuration.properties."r.rterm.mac".default = "${lib.getExe python311Packages.radian}"' package.json | sponge package.json
+    jq '.contributes.configuration.properties."r.rterm.linux".default = "${lib.getExe python311Packages.radian}"' package.json | sponge package.json
+  '';
+  meta = {
+    changelog = "https://marketplace.visualstudio.com/items/REditorSupport.r/changelog";
+    description = "A Visual Studio Code extension for the R programming language";
+    downloadPage = "https://marketplace.visualstudio.com/items?itemName=REditorSupport.r";
+    homepage = "https://github.com/REditorSupport/vscode-R";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.pandapip1 ];
+  };
+}
diff --git a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix
index 056904390c3ea..6fd65c9ae9b4a 100644
--- a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix
@@ -1,16 +1,17 @@
-{ lib
-, fetchFromGitHub
-, vscode-utils
-, jq
-, rust-analyzer
-, nodePackages
-, moreutils
-, esbuild
-, pkg-config
-, libsecret
-, stdenv
-, darwin
-, setDefaultServerPath ? true
+{
+  lib,
+  fetchFromGitHub,
+  vscode-utils,
+  jq,
+  rust-analyzer,
+  nodePackages,
+  moreutils,
+  esbuild,
+  pkg-config,
+  libsecret,
+  stdenv,
+  darwin,
+  setDefaultServerPath ? true,
 }:
 
 let
@@ -29,26 +30,32 @@ let
     hash = "sha256-Oj/RPMridKpYt3eRqUIPg9YNrj6npG8THIGuWjsamnE=";
   };
 
-  build-deps = nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps";
+  build-deps =
+    nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps";
   # FIXME: Making a new derivation to link `node_modules` and run `npm run package`
   # will cause a build failure.
   vsix = build-deps.override {
     src = "${src}/editors/code";
-    outputs = [ "vsix" "out" ];
+    outputs = [
+      "vsix"
+      "out"
+    ];
 
     inherit releaseTag;
 
-    nativeBuildInputs = [
-      jq
-      moreutils
-      esbuild
-      # Required by `keytar`, which is a dependency of `vsce`.
-      pkg-config
-      libsecret
-    ] ++ lib.optionals stdenv.isDarwin [
-      darwin.apple_sdk.frameworks.AppKit
-      darwin.apple_sdk.frameworks.Security
-    ];
+    nativeBuildInputs =
+      [
+        jq
+        moreutils
+        esbuild
+        # Required by `keytar`, which is a dependency of `vsce`.
+        pkg-config
+        libsecret
+      ]
+      ++ lib.optionals stdenv.isDarwin [
+        darwin.apple_sdk.frameworks.AppKit
+        darwin.apple_sdk.frameworks.Security
+      ];
 
     # Follows https://github.com/rust-lang/rust-analyzer/blob/41949748a6123fd6061eb984a47f4fe780525e63/xtask/src/dist.rs#L39-L65
     postRebuild = ''
@@ -65,7 +72,6 @@ let
       echo y | npx vsce package -o $vsix/${pname}.zip
     '';
   };
-
 in
 vscode-utils.buildVscodeExtension {
   inherit version vsix;
@@ -75,7 +81,10 @@ vscode-utils.buildVscodeExtension {
   vscodeExtPublisher = publisher;
   vscodeExtName = pname;
 
-  nativeBuildInputs = lib.optionals setDefaultServerPath [ jq moreutils ];
+  nativeBuildInputs = lib.optionals setDefaultServerPath [
+    jq
+    moreutils
+  ];
 
   preInstall = lib.optionalString setDefaultServerPath ''
     jq '.contributes.configuration.properties."rust-analyzer.server.path".default = $s' \
@@ -86,9 +95,11 @@ vscode-utils.buildVscodeExtension {
   meta = {
     description = "An alternative rust language server to the RLS";
     homepage = "https://github.com/rust-lang/rust-analyzer";
-    license = [ lib.licenses.mit lib.licenses.asl20 ];
+    license = [
+      lib.licenses.mit
+      lib.licenses.asl20
+    ];
     maintainers = [ ];
     platforms = lib.platforms.all;
   };
 }
-
diff --git a/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix b/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix
index a6a33854d3b1a..4a8db2db4be54 100644
--- a/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix
@@ -1,6 +1,7 @@
-{ lib
-, vscode-utils
-, lua-language-server
+{
+  lib,
+  vscode-utils,
+  lua-language-server,
 }:
 
 vscode-utils.buildVscodeMarketplaceExtension {
diff --git a/pkgs/applications/editors/vscode/extensions/updateSettings.nix b/pkgs/applications/editors/vscode/extensions/updateSettings.nix
index 443b409302796..fe23e099b536d 100644
--- a/pkgs/applications/editors/vscode/extensions/updateSettings.nix
+++ b/pkgs/applications/editors/vscode/extensions/updateSettings.nix
@@ -1,39 +1,43 @@
 # Updates the vscode setting file base on a nix expression
 # should run from the workspace root.
-{ writeShellScriptBin
-, lib
-, jq
+{
+  writeShellScriptBin,
+  lib,
+  jq,
 }:
 ##User Input
-{ settings      ? {}
-# if marked as true will create an empty json file if does not exist
-, createIfDoesNotExists ? true
-, vscodeSettingsFile ? ".vscode/settings.json"
-, userSettingsFolder ? ""
-, symlinkFromUserSetting ? false
+{
+  settings ? { },
+  # if marked as true will create an empty json file if does not exist
+  createIfDoesNotExists ? true,
+  vscodeSettingsFile ? ".vscode/settings.json",
+  userSettingsFolder ? "",
+  symlinkFromUserSetting ? false,
 }:
 let
 
   updateVSCodeSettingsCmd = ''
-  (
-    echo 'updateSettings.nix: Updating ${vscodeSettingsFile}...'
-    oldSettings=$(cat ${vscodeSettingsFile})
-    echo $oldSettings' ${builtins.toJSON settings}' | ${jq}/bin/jq -s add > ${vscodeSettingsFile}
-  )'';
+    (
+      echo 'updateSettings.nix: Updating ${vscodeSettingsFile}...'
+      oldSettings=$(cat ${vscodeSettingsFile})
+      echo $oldSettings' ${builtins.toJSON settings}' | ${jq}/bin/jq -s add > ${vscodeSettingsFile}
+    )'';
 
   createEmptySettingsCmd = ''mkdir -p .vscode && echo "{}" > ${vscodeSettingsFile}'';
   fileName = builtins.baseNameOf vscodeSettingsFile;
-  symlinkFromUserSettingCmd = lib.optionalString symlinkFromUserSetting
-    '' && mkdir -p "${userSettingsFolder}" && ln -sfv "$(pwd)/${vscodeSettingsFile}" "${userSettingsFolder}/" '';
+  symlinkFromUserSettingCmd = lib.optionalString symlinkFromUserSetting ''&& mkdir -p "${userSettingsFolder}" && ln -sfv "$(pwd)/${vscodeSettingsFile}" "${userSettingsFolder}/" '';
 in
 
-  writeShellScriptBin ''vscodeNixUpdate-${lib.removeSuffix ".json" (fileName)}''
-  (lib.optionalString (settings != {})
-    (if createIfDoesNotExists then ''
-      [ ! -f "${vscodeSettingsFile}" ] && ${createEmptySettingsCmd}
-      ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
-    ''
-    else ''[ -f "${vscodeSettingsFile}" ] && ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
-    ''
-    )
+writeShellScriptBin ''vscodeNixUpdate-${lib.removeSuffix ".json" (fileName)}'' (
+  lib.optionalString (settings != { }) (
+    if createIfDoesNotExists then
+      ''
+        [ ! -f "${vscodeSettingsFile}" ] && ${createEmptySettingsCmd}
+        ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
+      ''
+    else
+      ''
+        [ -f "${vscodeSettingsFile}" ] && ${updateVSCodeSettingsCmd} ${symlinkFromUserSettingCmd}
+      ''
   )
+)
diff --git a/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix b/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix
index 097b9cad16616..f12350077590d 100644
--- a/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix
+++ b/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix
@@ -1,5 +1,5 @@
-with import <nixpkgs>{};
-callPackage (import ./updateSettings.nix) {} {
+with import <nixpkgs> { };
+callPackage (import ./updateSettings.nix) { } {
   settings = {
     a = "fdsdf";
   };
diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
index b6e47094d57a9..70f4cbd833deb 100644
--- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
@@ -1,5 +1,20 @@
-{ pkgs, lib, stdenv, fetchFromGitHub, runCommand, rustPlatform, makeWrapper, llvmPackages
-, buildNpmPackage, cmake, nodejs, unzip, python3, pkg-config, libsecret, darwin
+{
+  pkgs,
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  runCommand,
+  rustPlatform,
+  makeWrapper,
+  llvmPackages,
+  buildNpmPackage,
+  cmake,
+  nodejs,
+  unzip,
+  python3,
+  pkg-config,
+  libsecret,
+  darwin,
 }:
 assert lib.versionAtLeast python3.version "3.5";
 let
@@ -31,9 +46,7 @@ let
 
     nativeBuildInputs = [ makeWrapper ];
 
-    env = lib.optionalAttrs stdenv.isDarwin {
-      NIX_LDFLAGS = "-llldb -lc++abi";
-    };
+    env = lib.optionalAttrs stdenv.isDarwin { NIX_LDFLAGS = "-llldb -lc++abi"; };
 
     buildAndTestSubdir = "adapter";
 
@@ -76,12 +89,15 @@ let
       pkg-config
     ];
 
-    buildInputs = [
-      libsecret
-    ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-      Security
-      AppKit
-    ]);
+    buildInputs =
+      [ libsecret ]
+      ++ lib.optionals stdenv.isDarwin (
+        with darwin.apple_sdk.frameworks;
+        [
+          Security
+          AppKit
+        ]
+      );
 
     dontNpmBuild = true;
 
@@ -103,14 +119,25 @@ let
       "/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver"
     else
       "${lldb.out}/bin/lldb-server";
-
-in stdenv.mkDerivation {
+in
+stdenv.mkDerivation {
   pname = "vscode-extension-${publisher}-${pname}";
-  inherit src version vscodeExtUniqueId vscodeExtPublisher vscodeExtName;
+  inherit
+    src
+    version
+    vscodeExtUniqueId
+    vscodeExtPublisher
+    vscodeExtName
+    ;
 
   installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
 
-  nativeBuildInputs = [ cmake nodejs unzip makeWrapper ];
+  nativeBuildInputs = [
+    cmake
+    nodejs
+    unzip
+    makeWrapper
+  ];
 
   patches = [ ./cmake-build-extension-only.patch ];
 
@@ -120,12 +147,14 @@ in stdenv.mkDerivation {
       --replace "1.9.2" ${version}
   '';
 
-  postConfigure = ''
-    cp -r ${nodeDeps}/lib/node_modules .
-  '' + lib.optionalString stdenv.isDarwin ''
-    export HOME="$TMPDIR/home"
-    mkdir $HOME
-  '';
+  postConfigure =
+    ''
+      cp -r ${nodeDeps}/lib/node_modules .
+    ''
+    + lib.optionalString stdenv.isDarwin ''
+      export HOME="$TMPDIR/home"
+      mkdir $HOME
+    '';
 
   cmakeFlags = [
     # Do not append timestamp to version.
diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix
index 9c5ce50fa245a..7708c52c80b03 100644
--- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix
@@ -1,5 +1,9 @@
 # Patched lldb for Rust language support.
-{ fetchFromGitHub, runCommand, llvmPackages }:
+{
+  fetchFromGitHub,
+  runCommand,
+  llvmPackages,
+}:
 let
   llvmSrc = fetchFromGitHub {
     owner = "vadimcn";
@@ -8,8 +12,9 @@ let
     rev = "4c267c83cbb55fedf2e0b89644dc1db320fdfde7";
     hash = "sha256-jM//ej6AxnRYj+8BAn4QrxHPT6HiDzK5RqHPSg3dCcw=";
   };
-in (llvmPackages.lldb.overrideAttrs (oldAttrs: rec {
-  passthru = (oldAttrs.passthru or {}) // {
+in
+(llvmPackages.lldb.overrideAttrs (oldAttrs: rec {
+  passthru = (oldAttrs.passthru or { }) // {
     inherit llvmSrc;
   };
 
@@ -23,7 +28,8 @@ in (llvmPackages.lldb.overrideAttrs (oldAttrs: rec {
     echo "'lldb --version' returns: $versionOutput"
     echo "$versionOutput" | grep -q 'rust-enabled'
   '';
-})).override({
-  monorepoSrc = llvmSrc;
-  libllvm = llvmPackages.libllvm.override({ monorepoSrc = llvmSrc; });
-})
+})).override
+  ({
+    monorepoSrc = llvmSrc;
+    libllvm = llvmPackages.libllvm.override ({ monorepoSrc = llvmSrc; });
+  })
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix
index 940a39a217624..d457b156aa97e 100644
--- a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix
@@ -1,77 +1,101 @@
-{ stdenv, lib, buildEnv, writeShellScriptBin, fetchurl, vscode, unzip, jq }:
+{
+  stdenv,
+  lib,
+  buildEnv,
+  writeShellScriptBin,
+  fetchurl,
+  vscode,
+  unzip,
+  jq,
+}:
 let
-  buildVscodeExtension = a@{
-    name,
-    src,
-    # Same as "Unique Identifier" on the extension's web page.
-    # For the moment, only serve as unique extension dir.
-    vscodeExtPublisher,
-    vscodeExtName,
-    vscodeExtUniqueId,
-    configurePhase ? ''
-      runHook preConfigure
-      runHook postConfigure
-    '',
-    buildPhase ?''
-      runHook preBuild
-      runHook postBuild
-    '',
-    dontPatchELF ? true,
-    dontStrip ? true,
-    nativeBuildInputs ? [],
-    passthru ? { },
-    ...
-  }:
-  stdenv.mkDerivation ((removeAttrs a [ "vscodeExtUniqueId" ]) // {
-
-    name = "vscode-extension-${name}";
-
-    passthru = passthru // {
-      inherit vscodeExtPublisher vscodeExtName vscodeExtUniqueId;
-    };
-
-    inherit configurePhase buildPhase dontPatchELF dontStrip;
-
-    # Some .vsix files contain other directories (e.g., `package`) that we don't use.
-    # If other directories are present but `sourceRoot` is unset, the unpacker phase fails.
-    sourceRoot = "extension";
-
-    installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
-
-    nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
-
-    installPhase = ''
-
-      runHook preInstall
-
-      mkdir -p "$out/$installPrefix"
-      find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/"
-
-      runHook postInstall
-    '';
-
-  });
-
-  fetchVsixFromVscodeMarketplace = mktplcExtRef:
-    fetchurl (import ./mktplcExtRefToFetchArgs.nix mktplcExtRef);
-
-  buildVscodeMarketplaceExtension = a@{
-    name ? "",
-    src ? null,
-    vsix ? null,
-    mktplcRef,
-    ...
-  }: assert "" == name; assert null == src;
-  buildVscodeExtension ((removeAttrs a [ "mktplcRef" "vsix" ]) // {
-    name = "${mktplcRef.publisher}-${mktplcRef.name}-${mktplcRef.version}";
-    version = mktplcRef.version;
-    src = if (vsix != null)
-      then vsix
-      else fetchVsixFromVscodeMarketplace mktplcRef;
-    vscodeExtPublisher = mktplcRef.publisher;
-    vscodeExtName = mktplcRef.name;
-    vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}";
-  });
+  buildVscodeExtension =
+    a@{
+      name,
+      src,
+      # Same as "Unique Identifier" on the extension's web page.
+      # For the moment, only serve as unique extension dir.
+      vscodeExtPublisher,
+      vscodeExtName,
+      vscodeExtUniqueId,
+      configurePhase ? ''
+        runHook preConfigure
+        runHook postConfigure
+      '',
+      buildPhase ? ''
+        runHook preBuild
+        runHook postBuild
+      '',
+      dontPatchELF ? true,
+      dontStrip ? true,
+      nativeBuildInputs ? [ ],
+      passthru ? { },
+      ...
+    }:
+    stdenv.mkDerivation (
+      (removeAttrs a [ "vscodeExtUniqueId" ])
+      // {
+
+        name = "vscode-extension-${name}";
+
+        passthru = passthru // {
+          inherit vscodeExtPublisher vscodeExtName vscodeExtUniqueId;
+        };
+
+        inherit
+          configurePhase
+          buildPhase
+          dontPatchELF
+          dontStrip
+          ;
+
+        # Some .vsix files contain other directories (e.g., `package`) that we don't use.
+        # If other directories are present but `sourceRoot` is unset, the unpacker phase fails.
+        sourceRoot = "extension";
+
+        installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
+
+        nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;
+
+        installPhase = ''
+
+          runHook preInstall
+
+          mkdir -p "$out/$installPrefix"
+          find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/"
+
+          runHook postInstall
+        '';
+      }
+    );
+
+  fetchVsixFromVscodeMarketplace =
+    mktplcExtRef: fetchurl (import ./mktplcExtRefToFetchArgs.nix mktplcExtRef);
+
+  buildVscodeMarketplaceExtension =
+    a@{
+      name ? "",
+      src ? null,
+      vsix ? null,
+      mktplcRef,
+      ...
+    }:
+    assert "" == name;
+    assert null == src;
+    buildVscodeExtension (
+      (removeAttrs a [
+        "mktplcRef"
+        "vsix"
+      ])
+      // {
+        name = "${mktplcRef.publisher}-${mktplcRef.name}-${mktplcRef.version}";
+        version = mktplcRef.version;
+        src = if (vsix != null) then vsix else fetchVsixFromVscodeMarketplace mktplcRef;
+        vscodeExtPublisher = mktplcRef.publisher;
+        vscodeExtName = mktplcRef.name;
+        vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}";
+      }
+    );
 
   mktplcRefAttrList = [
     "name"
@@ -82,14 +106,18 @@ let
     "arch"
   ];
 
-  mktplcExtRefToExtDrv = ext:
-    buildVscodeMarketplaceExtension (removeAttrs ext mktplcRefAttrList // {
-      mktplcRef = builtins.intersectAttrs (lib.genAttrs mktplcRefAttrList (_: null)) ext;
-    });
+  mktplcExtRefToExtDrv =
+    ext:
+    buildVscodeMarketplaceExtension (
+      removeAttrs ext mktplcRefAttrList
+      // {
+        mktplcRef = builtins.intersectAttrs (lib.genAttrs mktplcRefAttrList (_: null)) ext;
+      }
+    );
 
   extensionFromVscodeMarketplace = mktplcExtRefToExtDrv;
-  extensionsFromVscodeMarketplace = mktplcExtRefList:
-    builtins.map extensionFromVscodeMarketplace mktplcExtRefList;
+  extensionsFromVscodeMarketplace =
+    mktplcExtRefList: builtins.map extensionFromVscodeMarketplace mktplcExtRefList;
 
   vscodeWithConfiguration = import ./vscodeWithConfiguration.nix {
     inherit lib extensionsFromVscodeMarketplace writeShellScriptBin;
@@ -102,7 +130,13 @@ let
   };
 
   vscodeEnv = import ./vscodeEnv.nix {
-    inherit lib buildEnv writeShellScriptBin extensionsFromVscodeMarketplace jq;
+    inherit
+      lib
+      buildEnv
+      writeShellScriptBin
+      extensionsFromVscodeMarketplace
+      jq
+      ;
     vscodeDefault = vscode;
   };
 
@@ -139,9 +173,16 @@ let
   toExtensionJson = extensions: builtins.toJSON (map toExtensionJsonEntry extensions);
 in
 {
-  inherit fetchVsixFromVscodeMarketplace buildVscodeExtension
-          buildVscodeMarketplaceExtension extensionFromVscodeMarketplace
-          extensionsFromVscodeMarketplace
-          vscodeWithConfiguration vscodeExts2nix vscodeEnv
-          toExtensionJsonEntry toExtensionJson;
+  inherit
+    fetchVsixFromVscodeMarketplace
+    buildVscodeExtension
+    buildVscodeMarketplaceExtension
+    extensionFromVscodeMarketplace
+    extensionsFromVscodeMarketplace
+    vscodeWithConfiguration
+    vscodeExts2nix
+    vscodeEnv
+    toExtensionJsonEntry
+    toExtensionJson
+    ;
 }
diff --git a/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix b/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix
index db00ba13e3c84..37b82075e7518 100644
--- a/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix
@@ -1,47 +1,58 @@
 #Use vscodeWithConfiguration and vscodeExts2nix to create a vscode executable. When the executable exits, it updates the mutable extension file, which is imported when evaluated by Nix later.
-{ lib
-, buildEnv
-, writeShellScriptBin
-, extensionsFromVscodeMarketplace
-, vscodeDefault
-, jq
+{
+  lib,
+  buildEnv,
+  writeShellScriptBin,
+  extensionsFromVscodeMarketplace,
+  vscodeDefault,
+  jq,
 }:
 ##User input
-{ vscode                           ? vscodeDefault
-, nixExtensions                    ? []
-, vscodeExtsFolderName             ? ".vscode-exts"
-# will add to the command updateSettings (which will run on executing vscode) settings to override in settings.json file
-, settings                         ? {}
-, createSettingsIfDoesNotExists    ? true
-, launch                           ? {}
-, createLaunchIfDoesNotExists      ? true
-# will add to the command updateKeybindings(which will run on executing vscode) keybindings to override in keybinding.json file
-, keybindings                      ? {}
-, createKeybindingsIfDoesNotExists ? true
-, user-data-dir ? ''"''${TMP}''${name}"/vscode-data-dir''
-# if file exists will use it and import the extensions in it into this derivation else will use empty extensions list
-# this file will be created/updated by vscodeExts2nix when vscode exists
-, mutableExtensionsFile
+{
+  vscode ? vscodeDefault,
+  nixExtensions ? [ ],
+  vscodeExtsFolderName ? ".vscode-exts",
+  # will add to the command updateSettings (which will run on executing vscode) settings to override in settings.json file
+  settings ? { },
+  createSettingsIfDoesNotExists ? true,
+  launch ? { },
+  createLaunchIfDoesNotExists ? true,
+  # will add to the command updateKeybindings(which will run on executing vscode) keybindings to override in keybinding.json file
+  keybindings ? { },
+  createKeybindingsIfDoesNotExists ? true,
+  user-data-dir ? ''"''${TMP}''${name}"/vscode-data-dir'',
+  # if file exists will use it and import the extensions in it into this derivation else will use empty extensions list
+  # this file will be created/updated by vscodeExts2nix when vscode exists
+  mutableExtensionsFile,
 }:
 let
   mutableExtensionsFilePath = toString mutableExtensionsFile;
-  mutableExtensions = lib.optionals (builtins.pathExists mutableExtensionsFile) (import mutableExtensionsFilePath);
-  vscodeWithConfiguration = import ./vscodeWithConfiguration.nix {
-    inherit lib writeShellScriptBin extensionsFromVscodeMarketplace;
-    vscodeDefault = vscode;
-  }
-  {
-    inherit nixExtensions mutableExtensions vscodeExtsFolderName user-data-dir;
-  };
+  mutableExtensions = lib.optionals (builtins.pathExists mutableExtensionsFile) (
+    import mutableExtensionsFilePath
+  );
+  vscodeWithConfiguration =
+    import ./vscodeWithConfiguration.nix
+      {
+        inherit lib writeShellScriptBin extensionsFromVscodeMarketplace;
+        vscodeDefault = vscode;
+      }
+      {
+        inherit
+          nixExtensions
+          mutableExtensions
+          vscodeExtsFolderName
+          user-data-dir
+          ;
+      };
 
   updateSettings = import ./updateSettings.nix { inherit lib writeShellScriptBin jq; };
-  userSettingsFolder = "${ user-data-dir }/User";
+  userSettingsFolder = "${user-data-dir}/User";
 
   updateSettingsCmd = updateSettings {
     settings = {
-        "extensions.autoCheckUpdates" = false;
-        "extensions.autoUpdate" = false;
-        "update.mode" = "none";
+      "extensions.autoCheckUpdates" = false;
+      "extensions.autoUpdate" = false;
+      "update.mode" = "none";
     } // settings;
     inherit userSettingsFolder;
     createIfDoesNotExists = createSettingsIfDoesNotExists;
@@ -62,14 +73,16 @@ let
     symlinkFromUserSetting = (user-data-dir != "");
   };
 
-  vscodeExts2nix = import ./vscodeExts2nix.nix {
-    inherit lib writeShellScriptBin;
-    vscodeDefault = vscodeWithConfiguration;
-  }
-  {
-    extensionsToIgnore = nixExtensions;
-    extensions = mutableExtensions;
-  };
+  vscodeExts2nix =
+    import ./vscodeExts2nix.nix
+      {
+        inherit lib writeShellScriptBin;
+        vscodeDefault = vscodeWithConfiguration;
+      }
+      {
+        extensionsToIgnore = nixExtensions;
+        extensions = mutableExtensions;
+      };
   code = writeShellScriptBin "code" ''
     ${updateSettingsCmd}/bin/vscodeNixUpdate-settings
     ${updateLaunchCmd}/bin/vscodeNixUpdate-launch
@@ -81,5 +94,11 @@ let
 in
 buildEnv {
   name = "vscodeEnv";
-  paths = [ code vscodeExts2nix updateSettingsCmd updateLaunchCmd updateKeybindingsCmd ];
+  paths = [
+    code
+    vscodeExts2nix
+    updateSettingsCmd
+    updateLaunchCmd
+    updateKeybindingsCmd
+  ];
 }
diff --git a/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix b/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix
index 19a9edbf1afe4..2bca1608d2574 100644
--- a/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix
@@ -1,11 +1,13 @@
-with import <nixpkgs>{};
-callPackage (import ./vscodeEnv.nix) {
-  extensionsFromVscodeMarketplace = vscode-utils.extensionsFromVscodeMarketplace;
-  vscodeDefault = vscode;
-} {
-  mutableExtensionsFile = ./extensions.nix;
-  settings = {
-    a = "fdsdf";
-    t = "test";
-  };
-}
+with import <nixpkgs> { };
+callPackage (import ./vscodeEnv.nix)
+  {
+    extensionsFromVscodeMarketplace = vscode-utils.extensionsFromVscodeMarketplace;
+    vscodeDefault = vscode;
+  }
+  {
+    mutableExtensionsFile = ./extensions.nix;
+    settings = {
+      a = "fdsdf";
+      t = "test";
+    };
+  }
diff --git a/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix
index 58cbe663c9013..96b892911b06d 100644
--- a/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix
@@ -1,14 +1,16 @@
 # based on the passed vscode will stdout a nix expression with the installed vscode extensions
-{ lib
-, vscodeDefault
-, writeShellScriptBin
+{
+  lib,
+  vscodeDefault,
+  writeShellScriptBin,
 }:
 
 ##User input
-{ vscode             ? vscodeDefault
-, extensionsToIgnore ? []
-# will use those extensions to get sha256 if still exists when executed.
-, extensions         ? []
+{
+  vscode ? vscodeDefault,
+  extensionsToIgnore ? [ ],
+  # will use those extensions to get sha256 if still exists when executed.
+  extensions ? [ ],
 }:
 let
   mktplcExtRefToFetchArgs = import ./mktplcExtRefToFetchArgs.nix;
@@ -17,22 +19,32 @@ writeShellScriptBin "vscodeExts2nix" ''
   echo '['
 
   for line in $(${vscode}/bin/code --list-extensions --show-versions \
-    ${lib.optionalString (extensionsToIgnore != []) ''
-      | grep -v -i '^\(${lib.concatMapStringsSep "\\|" (e : "${e.publisher}.${e.name}") extensionsToIgnore}\)'
-    ''}
+    ${
+      lib.optionalString (extensionsToIgnore != [ ]) ''
+        | grep -v -i '^\(${
+          lib.concatMapStringsSep "\\|" (e: "${e.publisher}.${e.name}") extensionsToIgnore
+        }\)'
+      ''
+    }
   ) ; do
     [[ $line =~ ([^.]*)\.([^@]*)@(.*) ]]
     name=''${BASH_REMATCH[2]}
     publisher=''${BASH_REMATCH[1]}
     version=''${BASH_REMATCH[3]}
 
-    extensions="${lib.concatMapStringsSep "." (e : "${e.publisher}${e.name}@${e.sha256}") extensions}"
+    extensions="${lib.concatMapStringsSep "." (e: "${e.publisher}${e.name}@${e.sha256}") extensions}"
     reCurrentExt=$publisher$name"@([^.]*)"
     if [[ $extensions =~ $reCurrentExt ]]; then
       sha256=''${BASH_REMATCH[1]}
     else
       sha256=$(
-        nix-prefetch-url "${(mktplcExtRefToFetchArgs {publisher = ''"$publisher"''; name = ''"$name"''; version = ''"$version"'';}).url}" 2> /dev/null
+        nix-prefetch-url "${
+          (mktplcExtRefToFetchArgs {
+            publisher = ''"$publisher"'';
+            name = ''"$name"'';
+            version = ''"$version"'';
+          }).url
+        }" 2> /dev/null
       )
     fi
 
diff --git a/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix b/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix
index 39479d7c2f2ce..6e2fd767a792e 100644
--- a/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix
@@ -1,54 +1,61 @@
 # wrapper over vscode to control extensions per project (extensions folder will be created in execution path)
-{ lib
-, writeShellScriptBin
-, extensionsFromVscodeMarketplace
-, vscodeDefault
+{
+  lib,
+  writeShellScriptBin,
+  extensionsFromVscodeMarketplace,
+  vscodeDefault,
 }:
 ## User input
-{ vscode ? vscodeDefault
-# extensions to be symlinked into the project's extensions folder
-, nixExtensions        ? []
-# extensions to be copied into the project's extensions folder
-, mutableExtensions    ? []
-, vscodeExtsFolderName ? ".vscode-exts"
-, user-data-dir ? ''"''${TMP}vscodeWithConfiguration/vscode-data-dir"''
+{
+  vscode ? vscodeDefault,
+  # extensions to be symlinked into the project's extensions folder
+  nixExtensions ? [ ],
+  # extensions to be copied into the project's extensions folder
+  mutableExtensions ? [ ],
+  vscodeExtsFolderName ? ".vscode-exts",
+  user-data-dir ? ''"''${TMP}vscodeWithConfiguration/vscode-data-dir"'',
 }:
 let
   nixExtsDrvs = extensionsFromVscodeMarketplace nixExtensions;
   mutExtsDrvs = extensionsFromVscodeMarketplace mutableExtensions;
-  mutableExtsPaths = lib.forEach mutExtsDrvs ( e:
-  {
+  mutableExtsPaths = lib.forEach mutExtsDrvs (e: {
     origin = "${e}/share/vscode/extensions/${e.vscodeExtUniqueId}";
-    target = ''${vscodeExtsFolderName}/${e.vscodeExtUniqueId}-${(lib.findSingle (ext: "${ext.publisher}.${ext.name}" == e.vscodeExtUniqueId) "" "m" mutableExtensions ).version}'';
-  }
-  );
+    target = ''${vscodeExtsFolderName}/${e.vscodeExtUniqueId}-${
+      (lib.findSingle (
+        ext: "${ext.publisher}.${ext.name}" == e.vscodeExtUniqueId
+      ) "" "m" mutableExtensions).version
+    }'';
+  });
 
   #removed not defined extensions
-  rmExtensions =  lib.optionalString (nixExtensions++mutableExtensions != []) ''
+  rmExtensions = lib.optionalString (nixExtensions ++ mutableExtensions != [ ]) ''
     find ${vscodeExtsFolderName} -mindepth 1 -maxdepth 1 ${
-        lib.concatMapStringsSep " " (e : "! -iname ${e.publisher}.${e.name} ") nixExtensions
-        +
-        lib.concatMapStringsSep " " (e : "! -iname ${e.publisher}.${e.name}-${e.version} ") mutableExtensions
-      } -exec rm -rf {} \;
+      lib.concatMapStringsSep " " (e: "! -iname ${e.publisher}.${e.name} ") nixExtensions
+      + lib.concatMapStringsSep " " (
+        e: "! -iname ${e.publisher}.${e.name}-${e.version} "
+      ) mutableExtensions
+    } -exec rm -rf {} \;
   '';
   #copy mutable extension out of the nix store
   cpExtensions = ''
-    ${lib.concatMapStringsSep "\n" (e : "ln -sfn ${e}/share/vscode/extensions/* ${vscodeExtsFolderName}/") nixExtsDrvs}
-    ${lib.concatMapStringsSep "\n" (ePath : ''
+    ${lib.concatMapStringsSep "\n" (
+      e: "ln -sfn ${e}/share/vscode/extensions/* ${vscodeExtsFolderName}/"
+    ) nixExtsDrvs}
+    ${lib.concatMapStringsSep "\n" (ePath: ''
       if [ ! -d ${ePath.target} ]; then
         cp -a ${ePath.origin} ${ePath.target}
         chmod -R u+rwx ${ePath.target}
       fi
-      '') mutableExtsPaths}
+    '') mutableExtsPaths}
   '';
 in
-  writeShellScriptBin "code" ''
-    if ! [[ "$@" =~ "--list-extension" ]]; then
-      mkdir -p "${vscodeExtsFolderName}"
-      ${rmExtensions}
-      ${cpExtensions}
-    fi
-    ${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${
-      lib.optionalString (user-data-dir != "") "--user-data-dir ${user-data-dir}"
-      } "$@"
-  ''
+writeShellScriptBin "code" ''
+  if ! [[ "$@" =~ "--list-extension" ]]; then
+    mkdir -p "${vscodeExtsFolderName}"
+    ${rmExtensions}
+    ${cpExtensions}
+  fi
+  ${vscode}/bin/code --extensions-dir "${vscodeExtsFolderName}" ${
+    lib.optionalString (user-data-dir != "") "--user-data-dir ${user-data-dir}"
+  } "$@"
+''
diff --git a/pkgs/applications/emulators/craftos-pc/default.nix b/pkgs/applications/emulators/craftos-pc/default.nix
index 12c86c3680f83..9ad54f00d4e8e 100644
--- a/pkgs/applications/emulators/craftos-pc/default.nix
+++ b/pkgs/applications/emulators/craftos-pc/default.nix
@@ -1,10 +1,8 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , callPackage
 , patchelf
-, unzip
 , poco
 , openssl
 , SDL2
@@ -16,18 +14,18 @@
 }:
 
 let
-  version = "2.8.1";
+  version = "2.8.2";
   craftos2-lua = fetchFromGitHub {
     owner = "MCJack123";
     repo = "craftos2-lua";
     rev = "v${version}";
-    hash = "sha256-8bl83AOIWtUQ06F2unYEF08VT13o9EGo9YDZpdNxd8w=";
+    hash = "sha256-Kv0supnYKWLaVqOeZAzQNd3tQRP2KJugZqytyoj8QtY=";
   };
   craftos2-rom = fetchFromGitHub {
     owner = "McJack123";
     repo = "craftos2-rom";
     rev = "v${version}";
-    hash = "sha256-aCRJ3idSrRM8ydt8hP8nA1RR0etPnWpQKphXcOGgTfk=";
+    hash = "sha256-5ZsLsqrkO02NLJCzsgf0k/ifsqNybTi4DcB9GLmWDHw=";
   };
 in
 
@@ -39,7 +37,7 @@ stdenv.mkDerivation rec {
     owner = "MCJack123";
     repo = "craftos2";
     rev = "v${version}";
-    hash = "sha256-iQCv4EDdqmnU0fYxMwpCZ2Z5p43P0MGBNIG/dZrWndg=";
+    hash = "sha256-ozebHgUgwdqYtWAyL+EdwpjEvZC+PkWcLYCPWz2FjSw=";
   };
 
   buildInputs = [ patchelf poco openssl SDL2 SDL2_mixer ncurses libpng pngpp libwebp ];
diff --git a/pkgs/applications/emulators/dolphin-emu/default.nix b/pkgs/applications/emulators/dolphin-emu/default.nix
index 3f77dcd105f91..568f43d3564cc 100644
--- a/pkgs/applications/emulators/dolphin-emu/default.nix
+++ b/pkgs/applications/emulators/dolphin-emu/default.nix
@@ -202,7 +202,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [
-      MP2E
       ashkitten
       ivar
     ];
diff --git a/pkgs/applications/emulators/dolphin-emu/primehack.nix b/pkgs/applications/emulators/dolphin-emu/primehack.nix
index 7c409692d939d..b4698480a962d 100644
--- a/pkgs/applications/emulators/dolphin-emu/primehack.nix
+++ b/pkgs/applications/emulators/dolphin-emu/primehack.nix
@@ -143,7 +143,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/shiiion/dolphin";
     description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ MP2E ashkitten Madouura ];
+    maintainers = with maintainers; [ ashkitten Madouura ];
     broken = stdenv.isDarwin;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix
index c61b1662a6c4d..4ba40b417c8cb 100644
--- a/pkgs/applications/emulators/mame/default.nix
+++ b/pkgs/applications/emulators/mame/default.nix
@@ -38,14 +38,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mame";
-  version = "0.264";
+  version = "0.265";
   srcVersion = builtins.replaceStrings [ "." ] [ "" ] version;
 
   src = fetchFromGitHub {
     owner = "mamedev";
     repo = "mame";
     rev = "mame${srcVersion}";
-    hash = "sha256-0UWMBKM//XWm8PFl60JvTLGaDBMVZFnVrbX4omy2F4I=";
+    hash = "sha256-jXGmABFeoT8g2UtVV159gUpdWcBvb9aX3uiFi2neVQI=";
   };
 
   outputs = [ "out" "tools" ];
diff --git a/pkgs/applications/emulators/melonDS/default.nix b/pkgs/applications/emulators/melonDS/default.nix
deleted file mode 100644
index bb0499f97277d..0000000000000
--- a/pkgs/applications/emulators/melonDS/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ lib
-, SDL2
-, cmake
-, extra-cmake-modules
-, fetchFromGitHub
-, libarchive
-, libpcap
-, libsForQt5
-, libslirp
-, libGL
-, pkg-config
-, stdenv
-, wayland
-, zstd
-}:
-
-let
-  inherit (libsForQt5)
-    qtbase
-    qtmultimedia
-    wrapQtAppsHook;
-in
-stdenv.mkDerivation (finalAttrs: {
-  pname = "melonDS";
-  version = "0.9.5-unstable-2024-01-17";
-
-  src = fetchFromGitHub {
-    owner = "melonDS-emu";
-    repo = "melonDS";
-    rev = "7897bd387bfd37615a049eba28d02dc23cfa5194";
-    hash = "sha256-7BrUa8QJnudJkiCtuBdfar+FeeJSrdMGJdhXrPP6uww=";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-    wrapQtAppsHook
-  ];
-
-  buildInputs = [
-    SDL2
-    extra-cmake-modules
-    libarchive
-    libslirp
-    libGL
-    qtbase
-    qtmultimedia
-    wayland
-    zstd
-  ];
-
-  strictDeps = true;
-
-  qtWrapperArgs = [
-    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpcap ]}"
-  ];
-
-  meta = {
-    homepage = "https://melonds.kuribo64.net/";
-    description = "Work in progress Nintendo DS emulator";
-    license = with lib.licenses; [ gpl3Plus ];
-    mainProgram = "melonDS";
-    maintainers = with lib.maintainers; [
-      AndersonTorres
-      artemist
-      benley
-      shamilton
-    ];
-    platforms = lib.platforms.linux;
-  };
-})
diff --git a/pkgs/applications/emulators/mgba/default.nix b/pkgs/applications/emulators/mgba/default.nix
deleted file mode 100644
index 457d5c7e4fcd0..0000000000000
--- a/pkgs/applications/emulators/mgba/default.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ lib
-, SDL2
-, cmake
-, fetchFromGitHub
-, ffmpeg
-, discord-rpc
-, libedit
-, elfutils
-, libepoxy
-, libsForQt5
-, libzip
-, lua
-, minizip
-, pkg-config
-, stdenv
-, wrapGAppsHook
-, enableDiscordRpc ? false
-}:
-
-let
-    inherit (libsForQt5)
-      qtbase
-      qtmultimedia
-      qttools
-      wrapQtAppsHook;
-in
-stdenv.mkDerivation (finalAttrs: {
-  pname = "mgba";
-  version = "0.10.3";
-
-  src = fetchFromGitHub {
-    owner = "mgba-emu";
-    repo = "mgba";
-    rev = finalAttrs.version;
-    hash = "sha256-wSt3kyjRxKBnDOVY10jq4cpv7uIaBUIcsZr6aU7XnMA=";
-  };
-
-  outputs = [ "out" "dev" "doc" "lib" "man" ];
-
-  nativeBuildInputs = [
-    SDL2
-    cmake
-    pkg-config
-    wrapGAppsHook
-    wrapQtAppsHook
-  ];
-
-  buildInputs = [
-    SDL2
-    ffmpeg
-    libedit
-    elfutils
-    libepoxy
-    libzip
-    lua
-    minizip
-    qtbase
-    qtmultimedia
-    qttools
-  ]
-  ++ lib.optionals enableDiscordRpc [ discord-rpc ];
-
-  cmakeFlags = [
-    (lib.cmakeBool "USE_DISCORD_RPC" enableDiscordRpc)
-  ];
-
-  strictDeps = true;
-
-  dontWrapGApps = true;
-
-  preFixup = ''
-    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
-  '';
-
-  meta = {
-    homepage = "https://mgba.io";
-    description = "A modern GBA emulator with a focus on accuracy";
-    longDescription = ''
-      mGBA is a new Game Boy Advance emulator written in C.
-
-      The project started in April 2013 with the goal of being fast enough to
-      run on lower end hardware than other emulators support, without
-      sacrificing accuracy or portability. Even in the initial version, games
-      generally play without problems. It is loosely based on the previous
-      GBA.js emulator, although very little of GBA.js can still be seen in mGBA.
-
-      Other goals include accurate enough emulation to provide a development
-      environment for homebrew software, a good workflow for tool-assist
-      runners, and a modern feature set for emulators that older emulators may
-      not support.
-    '';
-    changelog = "https://raw.githubusercontent.com/mgba-emu/mgba/${finalAttrs.src.rev}/CHANGES";
-    license = with lib.licenses; [ mpl20 ];
-    mainProgram = "mgba";
-    maintainers = with lib.maintainers; [ MP2E AndersonTorres ];
-    platforms = lib.platforms.linux;
-    broken = enableDiscordRpc; # Some obscure `ld` error
-  };
-})
diff --git a/pkgs/applications/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json
index 1be9814b5e179..d0fbc4f338361 100644
--- a/pkgs/applications/emulators/retroarch/hashes.json
+++ b/pkgs/applications/emulators/retroarch/hashes.json
@@ -55,20 +55,20 @@
         "src": {
             "owner": "libretro",
             "repo": "beetle-pce-libretro",
-            "rev": "20b86372b5f490394099ee0ad06e0eb3a4fd5c2e",
-            "hash": "sha256-jYV2eiBSLj9H2RIau8NwYLGV2SY7GqygEYTJ3YVoMNc="
+            "rev": "ebd9f3f003f1268142785e41943e51616c3802b0",
+            "hash": "sha256-ccPMRfCzbFF509Q683rTo23tazk1jdeEbZVWMPpC55U="
         },
-        "version": "unstable-2024-03-22"
+        "version": "unstable-2024-04-26"
     },
     "beetle-pce-fast": {
         "fetcher": "fetchFromGitHub",
         "src": {
             "owner": "libretro",
             "repo": "beetle-pce-fast-libretro",
-            "rev": "6210d0f8c262dcdaa5b76c28057cca6077f488fe",
-            "hash": "sha256-5qONcwTrawd6vMa7157lexFmuj9jdzSDVqt+KUvEm0I="
+            "rev": "be9db7587571893377974575b7c9768e00833bc2",
+            "hash": "sha256-vmqJvfYJDriWf8UL79DgX6EG3YFGQMvo7xosK/1FdrA="
         },
-        "version": "unstable-2024-03-22"
+        "version": "unstable-2024-04-26"
     },
     "beetle-pcfx": {
         "fetcher": "fetchFromGitHub",
@@ -85,10 +85,10 @@
         "src": {
             "owner": "libretro",
             "repo": "beetle-psx-libretro",
-            "rev": "ab39d37f868ba8ff3982ce52c4ec22c162888dd7",
-            "hash": "sha256-Ay3wI9WToSsJNjkNFnHXTt9JUQ6nt+S9jI378E/kK8U="
+            "rev": "866df6445c9863ba03395211cd814224a59f7511",
+            "hash": "sha256-D0Qv6EOAOfmoScv8EzqWbr8SLRl8lH5Rqj/BksQe70k="
         },
-        "version": "unstable-2024-04-19"
+        "version": "unstable-2024-04-26"
     },
     "beetle-saturn": {
         "fetcher": "fetchFromGitHub",
@@ -165,10 +165,10 @@
         "src": {
             "owner": "libretro",
             "repo": "bsnes-libretro",
-            "rev": "51b378454e34f7535f8b627de5b81d33b0fa4cb0",
-            "hash": "sha256-oriFvt0RCt9Bd5DjjLSxMuswfazd31isvt5OxwwNuks="
+            "rev": "8767988ec91357f4e66143525b74b5ddbdedda8d",
+            "hash": "sha256-psSCB0A0nB/Rs4V4Yo/cY/BWpXyiCRH3pd6+JKvu6UU="
         },
-        "version": "unstable-2024-03-22"
+        "version": "unstable-2024-04-26"
     },
     "bsnes-hd": {
         "fetcher": "fetchFromGitHub",
@@ -307,11 +307,11 @@
         "src": {
             "owner": "flyinghead",
             "repo": "flycast",
-            "rev": "3c38fc1f16cc6518db46a5ad350e8b3738eefb48",
-            "hash": "sha256-NfJJcu7noefSgFlCFCgovnrb6FSzIXu3MGQHu6TCJWo=",
+            "rev": "8e96590065fd23cd37a0d426d30f4aef6587d860",
+            "hash": "sha256-NUwqrQqrKthxrToGx70uWtSoU0dp2/KlCiinW/fDwnE=",
             "fetchSubmodules": true
         },
-        "version": "unstable-2024-04-19"
+        "version": "unstable-2024-04-26"
     },
     "fmsx": {
         "fetcher": "fetchFromGitHub",
@@ -358,10 +358,10 @@
         "src": {
             "owner": "libretro",
             "repo": "Genesis-Plus-GX",
-            "rev": "cbacea723690e88e0b11a4b1d0e5b88b1b7eb9d4",
-            "hash": "sha256-7qFBzATlhf89ILHsEoF+SWwD4Pwd5+08VnK5xU1EDuI="
+            "rev": "4e359c1f9c9a77db726c702c073d82905c24da7f",
+            "hash": "sha256-0DpIk+aV0NCkF5XDhO3FwMnV3J/ZERjCcSL7o1CvBuc="
         },
-        "version": "unstable-2024-04-20"
+        "version": "unstable-2024-04-26"
     },
     "gpsp": {
         "fetcher": "fetchFromGitHub",
@@ -408,10 +408,10 @@
         "src": {
             "owner": "libretro",
             "repo": "mame",
-            "rev": "170929e08e13fef6f5284efb0a5ec781a2af08ed",
-            "hash": "sha256-92p6fKN1/kl101qrNMzjOCQJJznTdbteqXpbas36S2c="
+            "rev": "90714f5cdefb2024dc34fdf3a62bd0d3815460ce",
+            "hash": "sha256-5Fd57fLIEKxr5KaHywGyHgA29midWpWEFotvudQKtjs="
         },
-        "version": "unstable-2024-04-10"
+        "version": "unstable-2024-04-26"
     },
     "mame2000": {
         "fetcher": "fetchFromGitHub",
@@ -438,10 +438,10 @@
         "src": {
             "owner": "libretro",
             "repo": "mame2003-plus-libretro",
-            "rev": "bb864ca20b40908b8fbc49a350939160d6af29f6",
-            "hash": "sha256-3AvjOpgBh/p0p9xq4rD8xSKqZWzulw7AKUGQ1o9B2Ck="
+            "rev": "d6732ad36aa3adf3198c565d89d763caa308e2e0",
+            "hash": "sha256-r95vwYMXzJec2GsienkPMbY4g305iEaST6kkzS7/hj0="
         },
-        "version": "unstable-2024-04-19"
+        "version": "unstable-2024-04-27"
     },
     "mame2010": {
         "fetcher": "fetchFromGitHub",
@@ -600,10 +600,10 @@
         "src": {
             "owner": "libretro",
             "repo": "opera-libretro",
-            "rev": "35e16483be900ea8aa20e87d2710b677437f73ce",
-            "hash": "sha256-ZNHSxI8l0KGJ6uAvOsEhNpB0IkBxtb9Imj3tA/LiOto="
+            "rev": "cacba231c3bd71833f06943e230fe03d8ebec0ab",
+            "hash": "sha256-pWLcolQw5ctWrL7YQUaUK04QPS4ReUeJhdig3O5T8BM="
         },
-        "version": "unstable-2024-01-13"
+        "version": "unstable-2024-04-24"
     },
     "parallel-n64": {
         "fetcher": "fetchFromGitHub",
@@ -630,10 +630,10 @@
         "src": {
             "owner": "libretro",
             "repo": "pcsx_rearmed",
-            "rev": "e5cb0939ab32d3c3b90b39e2d49a1652a7cf0db1",
-            "hash": "sha256-K96w3NGXpsnVAmORPdwwhwIJ6PcvaDOEUtLkF4ftX3s="
+            "rev": "87a0a6318564fc171d0b576da8ea7e629aa229e7",
+            "hash": "sha256-quIvyfigl/4itSldj73HpZezeHQwVGlz/jQvwmmsDik="
         },
-        "version": "unstable-2024-04-18"
+        "version": "unstable-2024-04-22"
     },
     "picodrive": {
         "fetcher": "fetchFromGitHub",
@@ -651,11 +651,11 @@
         "src": {
             "owner": "jpd002",
             "repo": "Play-",
-            "rev": "57f8a1389f7f2987ab2ad99fdc846663994603ad",
-            "hash": "sha256-MwqLSTDL6C823grCMRYZrwjhIhbVipAR+4vF5k8UhyE=",
+            "rev": "07c1898303a9af41f5e91172b6b73ddf2f97b984",
+            "hash": "sha256-lOeoIHSahWoLxmLje1XwFc9wOVbDDUwIuE7BuSU5QSU=",
             "fetchSubmodules": true
         },
-        "version": "unstable-2024-04-15"
+        "version": "unstable-2024-04-17"
     },
     "ppsspp": {
         "fetcher": "fetchFromGitHub",
@@ -753,10 +753,10 @@
         "src": {
             "owner": "snes9xgit",
             "repo": "snes9x",
-            "rev": "8077396d399424de89d0a6cc15134523965658e0",
-            "hash": "sha256-p6apk/8bRKSM3H3hGPr/fYGsDFgMv7syVmTHV0zgmOg="
+            "rev": "af4ec50b16f267245350ab099dde62a38aec66bd",
+            "hash": "sha256-B9F1mn2Hd23OO3bK21Fj5hQXX+fnnoeVJAkE0mO+9jI="
         },
-        "version": "unstable-2024-04-20"
+        "version": "unstable-2024-04-25"
     },
     "snes9x2002": {
         "fetcher": "fetchFromGitHub",
@@ -813,10 +813,10 @@
         "src": {
             "owner": "libretro",
             "repo": "swanstation",
-            "rev": "c7fefb5bfdec2569c2528f8daa6e75b7a3de0880",
-            "hash": "sha256-dE8F/NXGIEMrdmBWUTzanCSlT0ddkwG8RLZFmy1XvzQ="
+            "rev": "6ed491d6ba46ac8ba64a580b3004a163c0725bd2",
+            "hash": "sha256-JRo1+zFBBtO0Ws7x32bltcm5WoDSIZBgLdPl75lpKAo="
         },
-        "version": "unstable-2024-04-18"
+        "version": "unstable-2024-04-26"
     },
     "tgbdual": {
         "fetcher": "fetchFromGitHub",
diff --git a/pkgs/applications/emulators/retroarch/retroarch-assets.nix b/pkgs/applications/emulators/retroarch/retroarch-assets.nix
index eba4a71021969..b97d551a6c868 100644
--- a/pkgs/applications/emulators/retroarch/retroarch-assets.nix
+++ b/pkgs/applications/emulators/retroarch/retroarch-assets.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "retroarch-assets";
-  version = "unstable-2024-04-18";
+  version = "1.17.0-unstable-2024-04-24";
 
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "retroarch-assets";
-    rev = "912f652740986549f41967d615d9da27c325c2b9";
-    hash = "sha256-HpmRnbj6CQp7+rmZY46MyT8Ga6832COm1it2z9rKUEU=";
+    rev = "9c0bd0d1015889592ad4362b800ac90ff4d019e1";
+    hash = "sha256-DB4i4iKx174822OJwJ5QIuMBLywufcR4+4Y+R01W+KQ=";
   };
 
   makeFlags = [
@@ -24,7 +24,9 @@ stdenvNoCC.mkDerivation {
 
   dontBuild = true;
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    tagPrefix = "v";
+  };
 
   meta = with lib; {
     description = "Assets needed for RetroArch";
diff --git a/pkgs/applications/emulators/ripes/default.nix b/pkgs/applications/emulators/ripes/default.nix
index e6451f89c5c3d..d1ebaf34be25b 100644
--- a/pkgs/applications/emulators/ripes/default.nix
+++ b/pkgs/applications/emulators/ripes/default.nix
@@ -14,14 +14,14 @@
 stdenv.mkDerivation rec {
   pname = "ripes";
   # Pulling unstable version as latest stable does not build against gcc-13.
-  version = "2.2.6-unstable-2024-04-02";
+  version = "2.2.6-unstable-2024-04-04";
 
   src = fetchFromGitHub {
     owner = "mortbopet";
     repo = "Ripes";
-    rev = "027e678a44b7b9f3e81e5b6863b0d68af05fd69c";
+    rev = "878087332afa3558dc8ca657f80a16ecdcf82818";
     fetchSubmodules = true;
-    hash = "sha256-u6JxXCX1BMdbHTF7EBGEnXOV+eF6rgoZZcHqB/1nVjE=";
+    hash = "sha256-aNJTM/s4GNhWVXQxK1R/rIN/NmeKglibQZMh8ENjIzo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/emulators/snes9x/default.nix b/pkgs/applications/emulators/snes9x/default.nix
deleted file mode 100644
index 8f374b7e18183..0000000000000
--- a/pkgs/applications/emulators/snes9x/default.nix
+++ /dev/null
@@ -1,128 +0,0 @@
-{ lib
-, stdenv
-, alsa-lib
-, cmake
-, fetchFromGitHub
-, gtkmm3
-, libepoxy
-, libpng
-, libselinux
-, libX11
-, libXdmcp
-, libXext
-, libXinerama
-, libXrandr
-, libXv
-, minizip
-, ninja
-, pcre2
-, pkg-config
-, portaudio
-, pulseaudio
-, python3
-, SDL2
-, util-linuxMinimal
-, wrapGAppsHook
-, zlib
-, withGtk ? false
-}:
-
-stdenv.mkDerivation rec {
-  pname =
-    if withGtk then
-      "snes9x-gtk"
-    else
-      "snes9x";
-  version = "1.62.3";
-
-  src = fetchFromGitHub {
-    owner = "snes9xgit";
-    repo = "snes9x";
-    rev = version;
-    fetchSubmodules = true;
-    hash = "sha256-+KHpvz7nfwGXjzDAK/V+2JDRT1sa0kXDkg7XcRyvSP8=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    python3
-  ]
-  ++ lib.optionals withGtk [
-    cmake
-    ninja
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    libX11
-    libXv
-    minizip
-    zlib
-  ]
-  # on non-Linux platforms this will build without sound support on X11 build
-  ++ lib.optionals stdenv.isLinux [
-    alsa-lib
-    pulseaudio
-  ]
-  ++ lib.optionals (!withGtk) [
-    libpng
-    libXext
-    libXinerama
-  ]
-  ++ lib.optionals withGtk [
-    gtkmm3
-    libepoxy
-    libselinux
-    libXdmcp
-    libXrandr
-    pcre2
-    portaudio
-    SDL2
-    util-linuxMinimal # provides libmount
-  ];
-
-  configureFlags =
-    lib.optional stdenv.hostPlatform.sse4_1Support "--enable-sse41"
-    ++ lib.optional stdenv.hostPlatform.avx2Support "--enable-avx2";
-
-  installPhase = lib.optionalString (!withGtk) ''
-    runHook preInstall
-
-    install -Dm755 snes9x -t "$out/bin/"
-    install -Dm644 snes9x.conf.default -t "$out/share/doc/${pname}/"
-    install -Dm644 ../docs/{control-inputs,controls,snapshots}.txt -t \
-      "$out/share/doc/${pname}/"
-
-    runHook postInstall
-  '';
-
-  preConfigure = if withGtk then "cd gtk" else "cd unix";
-
-  enableParallelBuilding = true;
-
-  meta = with lib;
-    let
-      interface = if withGtk then "GTK" else "X11";
-    in
-    {
-      homepage = "https://www.snes9x.com";
-      description = "Super Nintendo Entertainment System (SNES) emulator, ${interface} version";
-
-      longDescription = ''
-        Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
-        emulator. It basically allows you to play most games designed for the SNES
-        and Super Famicom Nintendo game systems on your PC or Workstation; which
-        includes some real gems that were only ever released in Japan.
-
-        Version build with ${interface} interface.
-      '';
-
-      license = licenses.unfreeRedistributable // {
-        url = "https://github.com/snes9xgit/snes9x/blob/${version}/LICENSE";
-      };
-      maintainers = with maintainers; [ qknight thiagokokada ];
-      platforms = platforms.unix;
-      broken = (withGtk && stdenv.isDarwin);
-      mainProgram = "snes9x";
-    };
-}
diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix
index 8efe9c7ab8227..9ee1f53601a3b 100644
--- a/pkgs/applications/emulators/wine/sources.nix
+++ b/pkgs/applications/emulators/wine/sources.nix
@@ -69,9 +69,9 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the hash for staging as well.
-    version = "9.6";
+    version = "9.7";
     url = "https://dl.winehq.org/wine/source/9.x/wine-${version}.tar.xz";
-    hash = "sha256-Dglg7YK2AX6ILtozOLrRJwoRd7bPBfA6wfqxVavoIEg=";
+    hash = "sha256-2fPDM2VuiL1M71Mx80sci2nJZKUnWe73RdjdrlGhU1M=";
     inherit (stable) patches;
 
     ## see http://wiki.winehq.org/Gecko
@@ -88,9 +88,9 @@ in rec {
 
     ## see http://wiki.winehq.org/Mono
     mono = fetchurl rec {
-      version = "9.0.0";
+      version = "9.1.0";
       url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
-      hash = "sha256-efbEMQBnVWbBEvQZm56nuUTTOBZLNL2R+hGwsKQU4cQ=";
+      hash = "sha256-igoeaDe0lN9Jkn5ddZscaQjom4ovjjrQJeHCiBiCR24=";
     };
 
     updateScript = writeShellScript "update-wine-unstable" ''
@@ -117,7 +117,7 @@ in rec {
   staging = fetchFromGitLab rec {
     # https://gitlab.winehq.org/wine/wine-staging
     inherit (unstable) version;
-    hash = "sha256-6AKN/KpmsTw9qxErhTTzqWuglgFdOAhtaoBlVRcs71Q=";
+    hash = "sha256-KU6i1P81Fr+4aZH/SJ+YibaIfX88SZMPdPcGS2mT2CE=";
     domain = "gitlab.winehq.org";
     owner = "wine";
     repo = "wine-staging";
diff --git a/pkgs/applications/file-managers/nnn/default.nix b/pkgs/applications/file-managers/nnn/default.nix
index 4e08dc0543e9f..5972139b25b50 100644
--- a/pkgs/applications/file-managers/nnn/default.nix
+++ b/pkgs/applications/file-managers/nnn/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "Small ncurses-based file browser forked from noice";
     homepage = "https://github.com/jarun/nnn";
-    changelog = "https://github.com/jarun/nnn/blob/v${version}/CHANGELOG";
+    changelog = "https://github.com/jarun/nnn/blob/v${finalAttrs.version}/CHANGELOG";
     license = licenses.bsd2;
     platforms = platforms.all;
     maintainers = with maintainers; [ Br1ght0ne ];
diff --git a/pkgs/applications/file-managers/ranger/default.nix b/pkgs/applications/file-managers/ranger/default.nix
index 4906a06123c80..ee2df2a60f693 100644
--- a/pkgs/applications/file-managers/ranger/default.nix
+++ b/pkgs/applications/file-managers/ranger/default.nix
@@ -1,5 +1,6 @@
-{ lib, fetchFromGitHub, python3Packages, file, less, highlight, w3m, ranger, testers
+{ lib, fetchFromGitHub, python3Packages, file, less, highlight, w3m, ranger, imagemagick, testers
 , imagePreviewSupport ? true
+, sixelPreviewSupport ? true
 , neoVimSupport ? true
 , improvedEncodingDetection ? true
 , rightToLeftTextSupport ? false
@@ -7,22 +8,23 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ranger";
-  version = "1.9.3";
+  version = "1.9.3-unstable-2023-08-23";
 
   src = fetchFromGitHub {
     owner = "ranger";
     repo = "ranger";
-    rev = "v${version}";
-    sha256= "1rygfryczanvqxn43lmlkgs04sbqznbvbb9hlbm3h5qgdcl0xlw8";
+    rev = "38bb8901004b75a407ffee4b9e176bc0a436cb15";
+    hash = "sha256-NpsrABk95xHNvhlRjKFh326IW83mYj1cmK3aE9JQSRo=";
   };
 
   LC_ALL = "en_US.UTF-8";
 
-  nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
+  nativeCheckInputs = with python3Packages; [ pytestCheckHook astroid pylint ];
   propagatedBuildInputs = [
     less
     file
   ] ++ lib.optionals imagePreviewSupport [ python3Packages.pillow ]
+    ++ lib.optionals sixelPreviewSupport [ imagemagick ]
     ++ lib.optionals neoVimSupport [ python3Packages.pynvim ]
     ++ lib.optionals improvedEncodingDetection [ python3Packages.chardet ]
     ++ lib.optionals rightToLeftTextSupport [ python3Packages.python-bidi ];
@@ -49,10 +51,6 @@ python3Packages.buildPythonApplication rec {
       --replace "set preview_images false" "set preview_images true"
   '';
 
-  passthru.tests.version = testers.testVersion {
-    package = ranger;
-  };
-
   meta =  with lib; {
     description = "File manager with minimalistic curses interface";
     homepage = "https://ranger.github.io/";
diff --git a/pkgs/applications/graphics/curtail/default.nix b/pkgs/applications/graphics/curtail/default.nix
index d12c3e6f22614..0ef67bdcc85fa 100644
--- a/pkgs/applications/graphics/curtail/default.nix
+++ b/pkgs/applications/graphics/curtail/default.nix
@@ -20,14 +20,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "curtail";
-  version = "1.8.0";
+  version = "1.9.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "Huluti";
     repo = "Curtail";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-LLz4nZ9WFQMogQR2gCKn80gvHUG5hlpQpcNjpr4fs2s=";
+    sha256 = "sha256-9xTdT2mS3aWyimkxrNwCuWIzZ0dPE7w4xUwO53kKr30=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index fdc3770676ffe..324ba3cf8a9c0 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -64,6 +64,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Fu3AoHApPi082k6hDkm9qb3pMuI/nmLi+i56x0rPev0=";
   };
 
+  patches = [
+    ./fix_darwin_x86_compile.patch
+  ];
+
+
   nativeBuildInputs = [ cmake ninja llvmPackages.llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch b/pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch
new file mode 100644
index 0000000000000..617b4b1bf02d4
--- /dev/null
+++ b/pkgs/applications/graphics/darktable/fix_darwin_x86_compile.patch
@@ -0,0 +1,22 @@
+From 1620befa933fbe525d8851a8f465db9926b7a588 Mon Sep 17 00:00:00 2001
+From: Mario Zimmermann <mail@zisoft.de>
+Date: Wed, 14 Feb 2024 22:18:42 +0100
+Subject: [PATCH] fix xcode compiler segfault
+
+---
+ src/common/darktable.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/darktable.h b/src/common/darktable.h
+index e5bd1a28902c..2c43b4878bcf 100644
+--- a/src/common/darktable.h
++++ b/src/common/darktable.h
+@@ -140,7 +140,7 @@ extern "C" {
+ /* Create cloned functions for various CPU SSE generations */
+ /* See for instructions https://hannes.hauswedell.net/post/2017/12/09/fmv/ */
+ /* TL;DR : use only on SIMD functions containing low-level paralellized/vectorized loops */
+-#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH)
++#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && !defined(__APPLE__)
+ # if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)
+ #define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", "sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4")))
+ # elif defined(__PPC64__)
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index b53879974d00d..330e88c50ef73 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -14,14 +14,14 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "24.1.0";
+  version = "24.2.5";
 
   src = fetchFromGitHub {
     owner = "jgraph";
     repo = "drawio-desktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-vwytqlPv8LfOceuBs/MNPxzO1ZYv1hwjIRyBh/wuVEU=";
+    hash = "sha256-8Cs+uME6uXWIWeuS9cgKnlYJG/m13l2BIVNDG0bqEmc=";
   };
 
   # `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-mRnGsfxrdfzk6+z07174zZ7pcS68Zut6inuBPZkLtWQ=";
+    hash = "sha256-tQFcdZc+4N6TYY6MDAwUgpaIvqYkU681DbuYCQhvJ1c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/gnome-photos/default.nix b/pkgs/applications/graphics/gnome-photos/default.nix
index fbcc5ebcf4785..fe100492a95cd 100644
--- a/pkgs/applications/graphics/gnome-photos/default.nix
+++ b/pkgs/applications/graphics/gnome-photos/default.nix
@@ -115,7 +115,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Access, organize and share your photos";
     mainProgram = "gnome-photos";
-    homepage = "https://wiki.gnome.org/Apps/Photos";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-photos";
     license = licenses.gpl3Plus;
     maintainers = teams.gnome.members;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index 79793c6887116..ca9406044fc92 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -107,7 +107,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/Gthumb";
+    homepage = "https://gitlab.gnome.org/GNOME/gthumb";
     description = "Image browser and viewer for GNOME";
     mainProgram = "gthumb";
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index d546baa98415f..e2a0d62acae6f 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -8,23 +8,26 @@
 , python3Packages
 , qtbase
 , qtcharts
+, makeDesktopItem
+, copyDesktopItems
 }:
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "566";
+  version = "572";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0vz2UnfU7yZIy1S+KOXLFrlQDuPCbpSw1GYEK8YZ/Qc=";
+    hash = "sha256-mLb4rUsoMDxl7lPrrRJq/bWSqZlgg94efHJzgykZJ/g=";
   };
 
   nativeBuildInputs = [
     wrapQtAppsHook
     python3Packages.mkdocs-material
+    copyDesktopItems
   ];
 
   buildInputs = [
@@ -32,6 +35,20 @@ python3Packages.buildPythonPackage rec {
     qtcharts
   ];
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "hydrus-client";
+      exec = "hydrus-client";
+      desktopName = "Hydrus Client";
+      icon = "hydrus-client";
+      comment = meta.description;
+      terminal = false;
+      type = "Application";
+      categories = [ "FileTools" "Utility" ];
+    })
+  ];
+
+
   propagatedBuildInputs = with python3Packages; [
     beautifulsoup4
     cbor2
@@ -104,6 +121,8 @@ python3Packages.buildPythonPackage rec {
   outputs = [ "out" "doc" ];
 
   installPhase = ''
+    runHook preInstall
+
     # Move the hydrus module and related directories
     mkdir -p $out/${python3Packages.python.sitePackages}
     mv {hydrus,static,db} $out/${python3Packages.python.sitePackages}
@@ -118,12 +137,18 @@ python3Packages.buildPythonPackage rec {
     mkdir -p $out/bin
     install -m0755 hydrus_server.py $out/bin/hydrus-server
     install -m0755 hydrus_client.py $out/bin/hydrus-client
+
+    # desktop item
+    mkdir -p "$out/share/icons/hicolor/scalable/apps"
+    ln -s "$doc/share/doc/hydrus/assets/hydrus-white.svg" "$out/share/icons/hicolor/scalable/apps/hydrus-client.svg"
   '' + lib.optionalString enableSwftools ''
     mkdir -p $out/${python3Packages.python.sitePackages}/bin
     # swfrender seems to have to be called sfwrender_linux
     # not sure if it can be loaded through PATH, but this is simpler
     # $out/python3Packages.python.sitePackages/bin is correct NOT .../hydrus/bin
     ln -s ${swftools}/bin/swfrender $out/${python3Packages.python.sitePackages}/bin/swfrender_linux
+  '' + ''
+    runHook postInstall
   '';
 
   dontWrapQtApps = true;
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index 6381c399315f1..80067fa7c6c39 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -46,6 +46,29 @@ in buildPythonApplication rec {
       url = "https://github.com/mypaint/mypaint/commit/032a155b72f2b021f66a994050d83f07342d04af.patch";
       hash = "sha256-EI4WJbpZrCtFMKd6QdXlWpRpIHi37gJffDjclzTLaLc=";
     })
+    # Fix drag-n-drop file opening
+    (fetchpatch {
+      url = "https://github.com/mypaint/mypaint/commit/66b2ba98bd953afa73d0d6ac71040b14a4ea266b.patch";
+      hash = "sha256-4AWXD/JMpNA5otl2ad1ZLVPW49pycuOXGcgfzvj0XEE=";
+    })
+    # Fix crash with locked layer
+    (fetchpatch {
+      url = "https://github.com/mypaint/mypaint/commit/0b720f8867f18acccc8e6ec770a9cc494aa81dcf.patch";
+      hash = "sha256-ahYeERiMLA8yKIXQota6/ApAbOW0XwsHO2JkEEMm1Ow=";
+    })
+    # Refactoring for the following patch to apply.
+    (fetchpatch {
+      url = "https://github.com/mypaint/mypaint/commit/d7d2496401a112a178d5fa2e491f0cc7537d24cd.patch";
+      hash = "sha256-dIW6qWqY96+bsUDQQtGtjENvypnh//Ep3xW+wooCJ14=";
+      includes = [
+        "gui/colors/hcywheel.py"
+      ];
+    })
+    # Fix crash with hcy wheel masking
+    (fetchpatch {
+      url = "https://github.com/mypaint/mypaint/commit/5496b1cd1113fcd46230d87760b7e6b51cc747bc.patch";
+      hash = "sha256-h+sE1LW04xDU2rofH5KqXsY1M0jacfBNBC+Zb0i6y1w=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/ocrfeeder/default.nix b/pkgs/applications/graphics/ocrfeeder/default.nix
index 25df4c69c66c0..d6243bdbffac3 100644
--- a/pkgs/applications/graphics/ocrfeeder/default.nix
+++ b/pkgs/applications/graphics/ocrfeeder/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/OCRFeeder";
+    homepage = "https://gitlab.gnome.org/GNOME/ocrfeeder";
     description = "Complete Optical Character Recognition and Document Analysis and Recognition program";
     maintainers = with maintainers; [ doronbehar ];
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/graphics/oculante/default.nix b/pkgs/applications/graphics/oculante/default.nix
index d7e322f39588d..3c571a2adf768 100644
--- a/pkgs/applications/graphics/oculante/default.nix
+++ b/pkgs/applications/graphics/oculante/default.nix
@@ -22,16 +22,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oculante";
-  version = "0.8.18";
+  version = "0.8.19";
 
   src = fetchFromGitHub {
     owner = "woelper";
     repo = "oculante";
     rev = version;
-    hash = "sha256-TLY6ydYeRuT93jjUeE7EaFNNllwla4h563UhXAxSyko=";
+    hash = "sha256-oCgnz1WMg7YypIT8Tjk2m+f/43Aj88rDVCxQ92aL3RY=";
   };
 
-  cargoHash = "sha256-RKJE09Z4XxRLWQ95Om3tru4rI2TD7XmxoHhPHFirREo=";
+  cargoHash = "sha256-vlU7egAht+kgA5Vx0HAwQOIax9qD4FLRo1ZUNx4RieY=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 2613304b17c23..77458c3cc5af8 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-FzlukSQSKeQY6H53UfWXwL8bXkOXRhaA92/Kgxh4oms=";
+    hash = "sha256-E1D2DvwwrtlY06kvCZkoAO5VcdtkBJYLcxuqGsulFUA=";
     # Apparently upstream requires that the compiled executable will know the
     # commit hash and the date of the commit. This information is also presented
     # in the output of `pdfcpu version` which we use as a sanity check in the
@@ -31,7 +31,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorHash = "sha256-jVX/CFf9dd9qD3gyGVDjbfINtPLCsgdjWFix4BCpDZ0=";
+  vendorHash = "sha256-4k4aZnQ9SjcGr/ziCacfcVfVk7w4Qhli2rOeYE76Qs0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix
index 3df5013cc078f..5fa438ef975d8 100644
--- a/pkgs/applications/graphics/processing/default.nix
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, ant, unzip, makeWrapper, jdk, jogl, rsync, ffmpeg, batik, wrapGAppsHook, libGL }:
+{ lib, stdenv, fetchFromGitHub, fetchurl, ant, unzip, makeWrapper, jdk, jogl, rsync, ffmpeg, batik, stripJavaArchivesHook, wrapGAppsHook, libGL }:
 let
   buildNumber = "1293";
   vaqua = fetchurl {
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-SzQemZ6iZ9o89/doV8YMv7DmyPSDyckJl3oyxJyfrm0=";
   };
 
-  nativeBuildInputs = [ ant unzip makeWrapper wrapGAppsHook ];
+  nativeBuildInputs = [ ant unzip makeWrapper stripJavaArchivesHook wrapGAppsHook ];
   buildInputs = [ jdk jogl ant rsync ffmpeg batik ];
 
   dontWrapGApps = true;
diff --git a/pkgs/applications/graphics/pureref/default.nix b/pkgs/applications/graphics/pureref/default.nix
index 825ea4c51e190..552f56a6b5c42 100644
--- a/pkgs/applications/graphics/pureref/default.nix
+++ b/pkgs/applications/graphics/pureref/default.nix
@@ -12,10 +12,6 @@ appimageTools.wrapType1 rec {
     curl "https://www.pureref.com/files/build.php?build=LINUX64.Appimage&version=${version}&downloadKey=$key" --output $out
   '';
 
-  extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-  '';
-
   meta = with lib; {
     description = "Reference Image Viewer";
     homepage = "https://www.pureref.com";
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index e6d6eb41b9e08..df056d92fbe49 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -35,8 +35,6 @@
 , gsettings-desktop-schemas
 }:
 
-# for dependencies see https://wiki.gnome.org/Apps/Shotwell/BuildingAndInstalling
-
 stdenv.mkDerivation (finalAttrs: {
   pname = "shotwell";
   version = "0.32.6";
@@ -97,9 +95,9 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "Popular photo organizer for the GNOME desktop";
     mainProgram = "shotwell";
-    homepage = "https://wiki.gnome.org/Apps/Shotwell";
+    homepage = "https://gitlab.gnome.org/GNOME/shotwell";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [];
+    maintainers = with maintainers; [ bobby285271 ];
     platforms = platforms.linux;
   };
 })
diff --git a/pkgs/applications/graphics/structorizer/default.nix b/pkgs/applications/graphics/structorizer/default.nix
index e639efa4e2a72..46332a12907aa 100644
--- a/pkgs/applications/graphics/structorizer/default.nix
+++ b/pkgs/applications/graphics/structorizer/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "structorizer";
-  version = "3.32-20";
+  version = "3.32-21";
 
   desktopItems = [
     (makeDesktopItem {
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     owner = "fesch";
     repo = "Structorizer.Desktop";
     rev = version;
-    hash = "sha256-kFgypwSmXRkIyb0ZMcoTSgQdODfn9F81ABlFWATvh3M=";
+    hash = "sha256-pwakwIMmG7A0Rw8XYH/f2PkzzX9bIADL0+52Ucawn3Q=";
   };
 
   patches = [ ./makeStructorizer.patch ./makeBigJar.patch ];
diff --git a/pkgs/applications/graphics/tev/default.nix b/pkgs/applications/graphics/tev/default.nix
index ca70027eb2029..c1932c3e11c39 100644
--- a/pkgs/applications/graphics/tev/default.nix
+++ b/pkgs/applications/graphics/tev/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tev";
-  version = "1.26";
+  version = "1.27";
 
   src = fetchFromGitHub {
     owner = "Tom94";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-6acFt0fyL0yStUwreGggJ+7Zi+0Fqburj/ytmf+Oi4w=";
+    sha256 = "sha256-+qCRHP0AbYOQBAE4zK2cmWPHZGWjjxC3DZPNm8sgBzs=";
   };
 
   nativeBuildInputs = [ cmake wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/texturepacker/default.nix b/pkgs/applications/graphics/texturepacker/default.nix
index ccae60f1433e8..fdf1d2b9fa6c7 100644
--- a/pkgs/applications/graphics/texturepacker/default.nix
+++ b/pkgs/applications/graphics/texturepacker/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "texturepacker";
-  version = "7.2.0";
+  version = "7.3.0";
 
   src = fetchurl {
     url = "https://www.codeandweb.com/download/texturepacker/${finalAttrs.version}/TexturePacker-${finalAttrs.version}.deb";
-    hash = "sha256-64aAg8V61MwJjFLYcf/nv5Bp7W0+cQBZac2e1HzkJBw=";
+    hash = "sha256-0i6LDrLBvTFKC5kW2PXP3Be6boUIJZ0fd1JG6FoS1kQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/upscayl/default.nix b/pkgs/applications/graphics/upscayl/default.nix
index 9675f4cf17dcc..f7e1d41b51352 100644
--- a/pkgs/applications/graphics/upscayl/default.nix
+++ b/pkgs/applications/graphics/upscayl/default.nix
@@ -4,11 +4,11 @@
   lib,
 }: let
   pname = "upscayl";
-  version = "2.10.0";
+  version = "2.11.0";
 
   src = fetchurl {
     url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
-    hash = "sha256-nRYNYNHIkbvvQZd1zRDCCsCadgRgV/yn9WfaKjt44O8=";
+    hash = "sha256-XhvOzARP8Ytlf23vNMYZ5x1UKvKOlM/69yhysasW3dA=";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -26,8 +26,6 @@ in
       cp ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
       cp ${appimageContents}/${pname}.png $out/share/pixmaps/${pname}.png
 
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       substituteInPlace $out/share/applications/${pname}.desktop \
         --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
     '';
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index 7ff575acab669..54f7287513b1c 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://xournalpp.github.io/";
     changelog   = "https://github.com/xournalpp/xournalpp/blob/v${version}/CHANGELOG.md";
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ andrew-d sikmir ];
+    maintainers = with maintainers; [ sikmir ];
     platforms   = platforms.unix;
     mainProgram = "xournalpp";
   };
diff --git a/pkgs/applications/kde/filelight.nix b/pkgs/applications/kde/filelight.nix
index 017a5eb2f532f..4793da1562a7e 100644
--- a/pkgs/applications/kde/filelight.nix
+++ b/pkgs/applications/kde/filelight.nix
@@ -20,7 +20,7 @@ mkDerivation {
     mainProgram = "filelight";
     homepage = "https://apps.kde.org/filelight/";
     license = with lib.licenses; [ gpl2 ];
-    maintainers = with lib.maintainers; [ fridh vcunat ];
+    maintainers = with lib.maintainers; [ vcunat ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
diff --git a/pkgs/applications/kde/kcalc.nix b/pkgs/applications/kde/kcalc.nix
index fdd8bb89f96ec..b17bda85fb724 100644
--- a/pkgs/applications/kde/kcalc.nix
+++ b/pkgs/applications/kde/kcalc.nix
@@ -12,7 +12,6 @@ mkDerivation {
     description = "Scientific calculator";
     mainProgram = "kcalc";
     license = with lib.licenses; [ gpl2 ];
-    maintainers = [ lib.maintainers.fridh ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
diff --git a/pkgs/applications/kde/kdeconnect-kde.nix b/pkgs/applications/kde/kdeconnect-kde.nix
index eec6615967f27..56ccd7f103c87 100644
--- a/pkgs/applications/kde/kdeconnect-kde.nix
+++ b/pkgs/applications/kde/kdeconnect-kde.nix
@@ -77,7 +77,6 @@ mkDerivation {
     description = "KDE Connect provides several features to integrate your phone and your computer";
     homepage = "https://community.kde.org/KDEConnect";
     license = with licenses; [ gpl2 ];
-    maintainers = with maintainers; [ fridh ];
     mainProgram = "kdeconnect-app";
   };
 }
diff --git a/pkgs/applications/kde/kolourpaint.nix b/pkgs/applications/kde/kolourpaint.nix
index 4af7cd12b8964..0844cbe0a23ea 100644
--- a/pkgs/applications/kde/kolourpaint.nix
+++ b/pkgs/applications/kde/kolourpaint.nix
@@ -20,7 +20,6 @@ mkDerivation {
     homepage = "https://apps.kde.org/kolourpaint/";
     description = "Paint program";
     mainProgram = "kolourpaint";
-    maintainers = [ lib.maintainers.fridh ];
     license = with lib.licenses; [ gpl2 ];
   };
 }
diff --git a/pkgs/applications/kde/kwalletmanager.nix b/pkgs/applications/kde/kwalletmanager.nix
index 63534d584d9f5..64d4d36806f2e 100644
--- a/pkgs/applications/kde/kwalletmanager.nix
+++ b/pkgs/applications/kde/kwalletmanager.nix
@@ -19,7 +19,6 @@ mkDerivation {
     description = "KDE wallet management tool";
     mainProgram = "kwalletmanager5";
     license = with lib.licenses; [ gpl2 ];
-    maintainers = with lib.maintainers; [ fridh ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
diff --git a/pkgs/applications/kde/yakuake.nix b/pkgs/applications/kde/yakuake.nix
index ce1cf3d161ff6..cf88cd280c2eb 100644
--- a/pkgs/applications/kde/yakuake.nix
+++ b/pkgs/applications/kde/yakuake.nix
@@ -29,7 +29,6 @@ mkDerivation {
     homepage = "https://yakuake.kde.org";
     description = "Quad-style terminal emulator for KDE";
     mainProgram = "yakuake";
-    maintainers = with lib.maintainers; [ fridh ];
     license = lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index e977dffc444b6..c151bedd29e61 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -59,7 +59,7 @@ let
     homepage = "https://1password.com/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ timstott savannidgerinel amaxine sebtm ];
+    maintainers = with maintainers; [ timstott savannidgerinel sebtm ];
     platforms = builtins.attrNames sources.${channel};
     mainProgram = "1password";
   };
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index a213c7ef89b8c..09bae86572cf9 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -63,6 +63,8 @@ stdenv.mkDerivation {
     $out/bin/${mainProgram} --version
   '';
 
+  passthru.updateScript = ./update.sh;
+
   passthru.tests.version = testers.testVersion {
     package = _1password;
   };
@@ -71,7 +73,7 @@ stdenv.mkDerivation {
     description = "1Password command-line tool";
     homepage = "https://developer.1password.com/docs/cli/";
     downloadPage = "https://app-updates.agilebits.com/product_history/CLI2";
-    maintainers = with maintainers; [ joelburget marsam ];
+    maintainers = with maintainers; [ joelburget ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     inherit mainProgram platforms;
diff --git a/pkgs/applications/misc/1password/update.sh b/pkgs/applications/misc/1password/update.sh
new file mode 100755
index 0000000000000..562c1af31a257
--- /dev/null
+++ b/pkgs/applications/misc/1password/update.sh
@@ -0,0 +1,42 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused nurl xq-xml
+
+set -eu
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+NIX_DRV="$ROOT/default.nix"
+if [ ! -f "$NIX_DRV" ]; then
+  echo "ERROR: cannot find default.nix in $ROOT"
+  exit 1
+fi
+
+fetch_linux() {
+  VER="$1"
+  ARCH="$2"
+  URL="https://cache.agilebits.com/dist/1P/op2/pkg/v${VER}/op_${ARCH}_v${VER}.zip"
+  nurl --hash --expr "(import <nixpkgs> { }).fetchzip { url = \"$URL\"; stripRoot = false; }"
+}
+
+fetch_darwin() {
+  VER="$1"
+  URL="https://cache.agilebits.com/dist/1P/op2/pkg/v${VER}/op_apple_universal_v${VER}.pkg"
+  nurl --hash --expr "(import <nixpkgs> { }).fetchurl { url = \"$URL\"; }"
+}
+
+replace_sha() {
+  sed -i "s|\"$1\" \"sha256-.\{44\}\"|\"$1\" \"$2\"|" "$NIX_DRV"
+}
+
+CLI_VERSION="$(curl -Ls https://app-updates.agilebits.com/product_history/CLI2 | xq -q 'h3' | head -n1)"
+
+CLI_LINUX_AARCH64_SHA256=$(fetch_linux "$CLI_VERSION" "linux_arm64")
+CLI_LINUX_I686_SHA256=$(fetch_linux "$CLI_VERSION" "linux_386")
+CLI_LINUX_X64_SHA256=$(fetch_linux "$CLI_VERSION" "linux_amd64")
+CLI_DARWIN_UNIVERSAL_SHA256=$(fetch_darwin "$CLI_VERSION")
+
+sed -i "s/version = \".*\"/version = \"$CLI_VERSION\"/" "$NIX_DRV"
+
+replace_sha "linux_arm64" "$CLI_LINUX_AARCH64_SHA256"
+replace_sha "linux_386" "$CLI_LINUX_I686_SHA256"
+replace_sha "linux_amd64" "$CLI_LINUX_X64_SHA256"
+replace_sha "apple_universal" "$CLI_DARWIN_UNIVERSAL_SHA256"
diff --git a/pkgs/applications/misc/ablog/default.nix b/pkgs/applications/misc/ablog/default.nix
index 932db21317c66..67b21e5199de5 100644
--- a/pkgs/applications/misc/ablog/default.nix
+++ b/pkgs/applications/misc/ablog/default.nix
@@ -5,12 +5,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "ablog";
-  version = "0.11.6";
+  version = "0.11.8";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fV4W4AaiqyruIz3OQ7/lGkMPMKmyiFa+fdU2QeeQCvs=";
+    hash = "sha256-PpNBfa4g14l8gm9+PxOFc2NDey031D7Ohutx2OGUeak=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/misc/almanah/default.nix b/pkgs/applications/misc/almanah/default.nix
index 35677f56cccbc..48e663fe796c3 100644
--- a/pkgs/applications/misc/almanah/default.nix
+++ b/pkgs/applications/misc/almanah/default.nix
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Small GTK application to allow to keep a diary of your life";
     mainProgram = "almanah";
-    homepage = "https://wiki.gnome.org/Apps/Almanah_Diary";
+    homepage = "https://gitlab.gnome.org/GNOME/almanah";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = teams.gnome.members;
diff --git a/pkgs/applications/misc/authy/default.nix b/pkgs/applications/misc/authy/default.nix
deleted file mode 100644
index 95a439b675390..0000000000000
--- a/pkgs/applications/misc/authy/default.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ autoPatchelfHook
-, electron
-, fetchurl
-, lib
-, makeWrapper
-, squashfsTools
-, stdenv
-}:
-
-stdenv.mkDerivation rec {
-  pname = "authy";
-  # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/authy?channel=stable' | jq '.download_url,.version'
-  version = "2.4.1";
-  rev = "21";
-
-  src = fetchurl {
-    url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
-    hash = "sha256-a5z6Lwdgody88f7has/f2AMg9m9fGWsJSexZM6KUGOY=";
-  };
-
-  nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];
-
-  unpackPhase = ''
-    runHook preUnpack
-    unsquashfs "$src"
-    cd squashfs-root
-    if ! grep -q '${version}' meta/snap.yaml; then
-      echo "Package version differs from version found in snap metadata:"
-      grep 'version: ' meta/snap.yaml
-      echo "While the nix package specifies: ${version}."
-      echo "You probably chose the wrong revision or forgot to update the nix version."
-      exit 1
-    fi
-    runHook postUnpack
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin $out/share/applications $out/share/pixmaps/apps
-
-    # Copy only what is needed
-    cp -r resources* $out/
-    cp -r locales* $out/
-    cp meta/gui/authy.desktop $out/share/applications/
-    cp meta/gui/icon.png $out/share/pixmaps/authy.png
-
-    # Replace icon name in Desktop file
-    sed -i 's|''${SNAP}/meta/gui/icon.png|authy|g' "$out/share/applications/authy.desktop"
-
-    runHook postInstall
-  '';
-
-  postFixup = ''
-    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
-      --add-flags $out/resources/app.asar
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.authy.com";
-    description = "Twilio Authy two factor authentication desktop application";
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.unfree;
-    maintainers = with maintainers; [ iammrinal0 ];
-    platforms = [ "x86_64-linux" ];
-    mainProgram = "authy";
-  };
-}
diff --git a/pkgs/applications/misc/avalonia-ilspy/default.nix b/pkgs/applications/misc/avalonia-ilspy/default.nix
index 797a8ffe5c936..d8ae98e66acd6 100644
--- a/pkgs/applications/misc/avalonia-ilspy/default.nix
+++ b/pkgs/applications/misc/avalonia-ilspy/default.nix
@@ -15,7 +15,6 @@
 , makeDesktopItem
 , copyDesktopItems
 , icoutils
-, autoPatchelfHook
 , bintools
 , fixDarwinDylibNames
 , autoSignDarwinBinariesHook
@@ -40,8 +39,7 @@ buildDotnetModule rec {
   nativeBuildInputs = [
     copyDesktopItems
     icoutils
-  ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]
-    ++ lib.optionals stdenv.hostPlatform.isDarwin [ bintools fixDarwinDylibNames ]
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ bintools fixDarwinDylibNames ]
     ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ autoSignDarwinBinariesHook ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix
index 64fa760ef9d24..43b6cb8769ef7 100644
--- a/pkgs/applications/misc/bambu-studio/default.nix
+++ b/pkgs/applications/misc/bambu-studio/default.nix
@@ -1,49 +1,50 @@
-{ stdenv
-, lib
-, openexr
-, jemalloc
-, c-blosc
-, binutils
-, fetchFromGitHub
-, cmake
-, pkg-config
-, wrapGAppsHook
-, boost179
-, cereal
-, cgal_5
-, curl
-, dbus
-, eigen
-, expat
-, gcc-unwrapped
-, glew
-, glfw
-, glib
-, glib-networking
-, gmp
-, gstreamer
-, gst-plugins-base
-, gst-plugins-bad
-, gst-plugins-good
-, gtest
-, gtk3
-, hicolor-icon-theme
-, ilmbase
-, libpng
-, mesa
-, mpfr
-, nlopt
-, opencascade-occt
-, openvdb
-, pcre
-, qhull
-, systemd
-, tbb_2021_11
-, webkitgtk
-, wxGTK31
-, xorg
-, fetchpatch
-, withSystemd ? stdenv.isLinux
+{
+  stdenv,
+  lib,
+  openexr,
+  jemalloc,
+  c-blosc,
+  binutils,
+  fetchFromGitHub,
+  cmake,
+  pkg-config,
+  wrapGAppsHook,
+  boost179,
+  cereal,
+  cgal_5,
+  curl,
+  dbus,
+  eigen,
+  expat,
+  gcc-unwrapped,
+  glew,
+  glfw,
+  glib,
+  glib-networking,
+  gmp,
+  gstreamer,
+  gst-plugins-base,
+  gst-plugins-bad,
+  gst-plugins-good,
+  gtest,
+  gtk3,
+  hicolor-icon-theme,
+  ilmbase,
+  libpng,
+  mesa,
+  mpfr,
+  nlopt,
+  opencascade-occt,
+  openvdb,
+  pcre,
+  qhull,
+  systemd,
+  tbb_2021_11,
+  webkitgtk,
+  wxGTK31,
+  xorg,
+  fetchpatch,
+  withSystemd ? stdenv.isLinux,
 }:
 let
   wxGTK31' = wxGTK31.overrideAttrs (old: {
@@ -53,7 +54,14 @@ let
     ];
   });
   openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: rec {
-    buildInputs = [ openexr boost179 tbb_2021_11 jemalloc c-blosc ilmbase ];
+    buildInputs = [
+      openexr
+      boost179
+      tbb_2021_11
+      jemalloc
+      c-blosc
+      ilmbase
+    ];
   });
 in
 stdenv.mkDerivation rec {
@@ -106,9 +114,7 @@ stdenv.mkDerivation rec {
     webkitgtk
     wxGTK31'
     xorg.libX11
-  ] ++ lib.optionals withSystemd [
-    systemd
-  ] ++ checkInputs;
+  ] ++ lib.optionals withSystemd [ systemd ] ++ checkInputs;
 
   patches = [
     # Fix for webkitgtk linking
@@ -169,11 +175,8 @@ stdenv.mkDerivation rec {
   # needed to prevent collisions between the LICENSE.txt files of
   # bambu-studio and orca-slicer.
   postInstall = ''
-    mkdir -p $out/share/doc
-    mv $out/LICENSE.txt $out/share/doc/LICENSE.txt
-    if [ -f $out/README.md ]; then
-      mv $out/README.md $out/share/doc/README.md
-    fi
+    mv $out/LICENSE.txt $out/share/BambuStudio/LICENSE.txt
+    mv $out/README.md $out/share/BambuStudio/README.md
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/bambu-studio/orca-slicer.nix b/pkgs/applications/misc/bambu-studio/orca-slicer.nix
index 5e10050078d6c..af89be65246d3 100644
--- a/pkgs/applications/misc/bambu-studio/orca-slicer.nix
+++ b/pkgs/applications/misc/bambu-studio/orca-slicer.nix
@@ -1,27 +1,41 @@
-{ lib, fetchFromGitHub, makeDesktopItem, bambu-studio }:
+{
+  lib,
+  fetchFromGitHub,
+  bambu-studio,
+}:
 
-bambu-studio.overrideAttrs (finalAttrs: previousAttrs: {
-  version = "2.0.0";
-  pname = "orca-slicer";
+bambu-studio.overrideAttrs (
+  finalAttrs: previousAttrs: {
+    version = "2.0.0";
+    pname = "orca-slicer";
 
-  # Don't inherit patches from bambu-studio
-  patches = [
-    ./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch
-  ];
+    # Don't inherit patches from bambu-studio
+    patches = [ ./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch ];
 
-  src = fetchFromGitHub {
-    owner = "SoftFever";
-    repo = "OrcaSlicer";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-YlLDUH3ODIfax5QwnsVJi1JjZ9WtxP3ssqRP1C4d4bw=";
-  };
+    src = fetchFromGitHub {
+      owner = "SoftFever";
+      repo = "OrcaSlicer";
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-YlLDUH3ODIfax5QwnsVJi1JjZ9WtxP3ssqRP1C4d4bw=";
+    };
 
-  meta = with lib; {
-    description = "G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc";
-    homepage = "https://github.com/SoftFever/OrcaSlicer";
-    license = licenses.agpl3Only;
-    maintainers = with maintainers; [ zhaofengli ovlach pinpox ];
-    mainProgram = "orca-slicer";
-    platforms = platforms.linux;
-  };
-})
+    # needed to prevent collisions between the LICENSE.txt files of
+    # bambu-studio and orca-slicer.
+    postInstall = ''
+      mv $out/LICENSE.txt $out/share/OrcaSlicer/LICENSE.txt
+    '';
+
+    meta = with lib; {
+      description = "G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc";
+      homepage = "https://github.com/SoftFever/OrcaSlicer";
+      license = licenses.agpl3Only;
+      maintainers = with maintainers; [
+        zhaofengli
+        ovlach
+        pinpox
+      ];
+      mainProgram = "orca-slicer";
+      platforms = platforms.linux;
+    };
+  }
+)
diff --git a/pkgs/applications/misc/bazecor/default.nix b/pkgs/applications/misc/bazecor/default.nix
index 128c668eb0a51..7387bc212c649 100644
--- a/pkgs/applications/misc/bazecor/default.nix
+++ b/pkgs/applications/misc/bazecor/default.nix
@@ -37,8 +37,6 @@ appimageTools.wrapAppImage rec {
   # to allow non-root modifications to the keyboards.
 
   extraInstallCommands = ''
-    mv $out/bin/bazecor-* $out/bin/bazecor
-
     install -m 444 -D ${src}/Bazecor.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/Bazecor.desktop \
       --replace 'Exec=Bazecor' 'Exec=bazecor'
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 3f57531e099d1..ce72458f3a0f6 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -32,11 +32,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "calibre";
-  version = "7.8.0";
+  version = "7.9.0";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz";
-    hash = "sha256-FxYuQzzuaWZihSsmeJc6ssG3VBr2YNEi3TkXyyymLUQ=";
+    hash = "sha256-Ilzv4HXW6ZmEVNUWQm04cHZ71FEgjfWVX9IvrfYCHIk=";
   };
 
   patches = [
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
     (fetchpatch {
       name = "0001-only-plugin-update.patch";
       url = "https://raw.githubusercontent.com/debian-calibre/calibre/debian/${finalAttrs.version}+ds-1/debian/patches/0001-only-plugin-update.patch";
-      hash = "sha256-uL1mSjgCl5ZRLbSuKxJM6XTfvVwog70F7vgKtQzQNEQ=";
+      hash = "sha256-mHZkUoVcoVi9XBOSvM5jyvpOTCcM91g9+Pa/lY6L5p8=";
     })
     (fetchpatch {
       name = "0007-Hardening-Qt-code.patch";
diff --git a/pkgs/applications/misc/cobalt/default.nix b/pkgs/applications/misc/cobalt/default.nix
index e35939536a614..1fda517675416 100644
--- a/pkgs/applications/misc/cobalt/default.nix
+++ b/pkgs/applications/misc/cobalt/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cobalt";
-  version = "0.19.2";
+  version = "0.19.3";
 
   src = fetchFromGitHub {
     owner = "cobalt-org";
     repo = "cobalt.rs";
     rev = "v${version}";
-    sha256 = "sha256-W0XbNZDSeSK6oxOD1JeLNF+c6/6cy/WQrrmQbSKeqk4=";
+    sha256 = "sha256-aAhceExz5SENL+FhPHyx8HmaNOWjNsynv81Rj2cS5M8=";
   };
 
-  cargoHash = "sha256-IM2SKovb8FYwA/c4R3N7M+oVuGfuc5sK+r6FP9YMk+I=";
+  cargoHash = "sha256-vw7fGsTSEVO8s1LzilKJN5lGzOfQcms1h7rnTOyE4Kw=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/applications/misc/cobang/default.nix b/pkgs/applications/misc/cobang/default.nix
index e36ece60d751c..336b4d7c1a507 100644
--- a/pkgs/applications/misc/cobang/default.nix
+++ b/pkgs/applications/misc/cobang/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonApplication rec {
   pname = "cobang";
-  version = "0.10.5";
+  version = "0.10.9";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "hongquan";
     repo = "CoBang";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CfT/farNOJiWIioFBPx2q7bAFAE4khcojdZ7AsYaU6o=";
+    hash = "sha256-xOP2XkmHOGMe50dn4StX/9veTdloLHq76ENWEUK4Keo=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
index 16a59b2fdb710..ca96bd3d2eec8 100644
--- a/pkgs/applications/misc/cointop/default.nix
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -25,7 +25,7 @@ buildGoModule rec {
       The interface is inspired by htop and shortcut keys are inspired by vim.
     '';
     homepage = "https://cointop.sh";
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ sarcasticadmin ];
     license = licenses.asl20;
     mainProgram = "cointop";
   };
diff --git a/pkgs/applications/misc/confclerk/default.nix b/pkgs/applications/misc/confclerk/default.nix
index 7646cb9ae87be..0ace0e1e493b0 100644
--- a/pkgs/applications/misc/confclerk/default.nix
+++ b/pkgs/applications/misc/confclerk/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "confclerk";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchurl {
     url = "https://www.toastfreeware.priv.at/tarballs/confclerk/confclerk-${version}.tar.gz";
-    sha256 = "0l5i4d6lymh0k6gzihs41x4i8v1dz0mrwpga096af0vchpvlcarg";
+    sha256 = "sha256-GgWvPHcQnQrK9SOC8U9F2P8kuPCn8I2EhoWEEMtKBww=";
   };
 
   buildInputs = [ qtbase ];
diff --git a/pkgs/applications/misc/devdocs-desktop/default.nix b/pkgs/applications/misc/devdocs-desktop/default.nix
index 55fe2b9e2cf79..c6307cb3fa9a1 100644
--- a/pkgs/applications/misc/devdocs-desktop/default.nix
+++ b/pkgs/applications/misc/devdocs-desktop/default.nix
@@ -3,7 +3,6 @@
 let
   version = "0.7.2";
   pname = "devdocs-desktop";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/egoist/devdocs-desktop/releases/download/v${version}/DevDocs-${version}.AppImage";
@@ -11,14 +10,13 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 
 in appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/devdocs.desktop $out/share/applications/devdocs.desktop
     install -m 444 -D ${appimageContents}/devdocs.png $out/share/icons/hicolor/0x0/apps/devdocs.png
     substituteInPlace $out/share/applications/devdocs.desktop \
diff --git a/pkgs/applications/misc/fead/default.nix b/pkgs/applications/misc/fead/default.nix
index 73907a1758817..d18ff21801d77 100644
--- a/pkgs/applications/misc/fead/default.nix
+++ b/pkgs/applications/misc/fead/default.nix
@@ -1,14 +1,12 @@
-{ lib, stdenv, fetchFromSourcehut, python3, help2man }:
+{ lib, stdenv, fetchzip, python3, help2man }:
 
 stdenv.mkDerivation rec {
   pname = "fead";
-  version = "0.1.3";
+  version = "1.0.0";
 
-  src = fetchFromSourcehut {
-    owner = "~cnx";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-cW0GxyvC9url2QAAWD0M2pR4gBiPA3eeAaw77TwMV/0=";
+  src = fetchzip {
+    url = "https://trong.loang.net/~cnx/fead/snapshot/fead-${version}.tar.gz";
+    hash = "sha256-cbU379Zz+mwRqEHiDUlGvWheLkkr0YidHeVs/1Leg38=";
   };
 
   nativeBuildInputs = [ help2man ];
@@ -29,9 +27,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Advert generator from web feeds";
-    homepage = "https://git.sr.ht/~cnx/fead";
+    homepage = "https://trong.loang.net/~cnx/fead";
     license = licenses.agpl3Plus;
-    changelog = "https://git.sr.ht/~cnx/fead/refs/${version}";
+    changelog = "https://trong.loang.net/~cnx/fead/tag?h=${version}";
     maintainers = with maintainers; [ McSinyx ];
     mainProgram = "fead";
   };
diff --git a/pkgs/applications/misc/firefly-desktop/default.nix b/pkgs/applications/misc/firefly-desktop/default.nix
index 9df2118b02fb7..41cd6c42a5b3f 100644
--- a/pkgs/applications/misc/firefly-desktop/default.nix
+++ b/pkgs/applications/misc/firefly-desktop/default.nix
@@ -16,7 +16,6 @@ in appimageTools.wrapType2 {
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications $out/share/pixmaps
-    mv $out/bin/${pname}-${version} $out/bin/firefly-desktop
     cp ${appimageContents}/desktop.desktop $out/share/applications/firefly-desktop.desktop
     substituteInPlace $out/share/applications/firefly-desktop.desktop \
       --replace 'Exec=AppRun' 'Exec=firefly-desktop' \
diff --git a/pkgs/applications/misc/fspy/default.nix b/pkgs/applications/misc/fspy/default.nix
index 1a4504d5608c0..96178649efe7f 100644
--- a/pkgs/applications/misc/fspy/default.nix
+++ b/pkgs/applications/misc/fspy/default.nix
@@ -11,10 +11,6 @@ let
 in appimageTools.wrapType2 {
   inherit pname version src;
 
-  extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-  '';
-
   meta = with lib; {
     description = "A cross platform app for quick and easy still image camera matching";
     license = licenses.gpl3;
diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix
index e456fd595617a..afe2f188363e7 100644
--- a/pkgs/applications/misc/fuzzel/default.nix
+++ b/pkgs/applications/misc/fuzzel/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   meta = with lib; {
-    changelog = "https://codeberg.org/dnkl/fuzzel/releases/tag/${version}";
+    changelog = "https://codeberg.org/dnkl/fuzzel/releases/tag/${finalAttrs.version}";
     description = "Wayland-native application launcher, similar to rofi’s drun mode";
     homepage = "https://codeberg.org/dnkl/fuzzel";
     license = with licenses; [ mit zlib ];
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index c4dd51951bd2b..f89fdbe71a043 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -47,6 +47,6 @@ buildPythonApplication rec {
     changelog = "https://github.com/mikf/gallery-dl/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl2Only;
     mainProgram = "gallery-dl";
-    maintainers = with maintainers; [ dawidsowa marsam ];
+    maintainers = with maintainers; [ dawidsowa ];
   };
 }
diff --git a/pkgs/applications/misc/gnome-frog/default.nix b/pkgs/applications/misc/gnome-frog/default.nix
index 6570ea7968539..85dde662becd0 100644
--- a/pkgs/applications/misc/gnome-frog/default.nix
+++ b/pkgs/applications/misc/gnome-frog/default.nix
@@ -25,13 +25,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gnome-frog";
-  version = "1.4.2";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "TenderOwl";
     repo = "Frog";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-w/ENUhJt7bYy5htBLolb/HysK8/scRaPQX5qEezQcXY=";
+    sha256 = "sha256-zL6zuqHF1pTXT3l1mAFx2EL+0ThzjXfst/nEyNVorZg=";
   };
 
   format = "other";
@@ -70,7 +70,11 @@ python3Packages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3Packages; [
+    loguru
+    nanoid
+    posthog
     pygobject3
+    python-dateutil
     pillow
     pytesseract
     pyzbar
diff --git a/pkgs/applications/misc/gnome-frog/update-compatible-with-non-flatpak-env.patch b/pkgs/applications/misc/gnome-frog/update-compatible-with-non-flatpak-env.patch
index aac9b4f76fd24..5ae0458ceeea7 100644
--- a/pkgs/applications/misc/gnome-frog/update-compatible-with-non-flatpak-env.patch
+++ b/pkgs/applications/misc/gnome-frog/update-compatible-with-non-flatpak-env.patch
@@ -1,28 +1,8 @@
-diff --git a/frog/config.py b/frog/config.py
-index 9837755..b73e4e3 100644
---- a/frog/config.py
-+++ b/frog/config.py
-@@ -30,10 +30,14 @@ import os
- APP_ID = "com.github.tenderowl.frog"
- RESOURCE_PREFIX = "/com/github/tenderowl/frog"
- 
-+# This is based from the XDG Base Directory specification.
-+if not os.getenv('XDG_DATA_HOME'):
-+    os.environ['XDG_DATA_HOME'] = os.path.expanduser("~/.local/share")
-+
- if not os.path.exists(os.path.join(os.environ['XDG_DATA_HOME'], 'tessdata')):
-     os.mkdir(os.path.join(os.environ['XDG_DATA_HOME'], 'tessdata'))
- 
- tessdata_url = "https://github.com/tesseract-ocr/tessdata/raw/main/"
- tessdata_best_url = "https://github.com/tesseract-ocr/tessdata_best/raw/main/"
- tessdata_dir = os.path.join(os.environ['XDG_DATA_HOME'], 'tessdata')
--tessdata_config = f'--tessdata-dir {tessdata_dir} –psm 6'
-+tessdata_config = f'–-psm 6 --tessdata-dir {tessdata_dir}'
 diff --git a/frog/language_manager.py b/frog/language_manager.py
-index 5752be6..4f6a908 100644
+index d822c44..bc289db 100644
 --- a/frog/language_manager.py
 +++ b/frog/language_manager.py
-@@ -156,7 +156,7 @@ class LanguageManager(GObject.GObject):
+@@ -193,7 +193,7 @@ class LanguageManager(GObject.GObject):
              os.mkdir(tessdata_dir)
  
          dest_path = os.path.join(tessdata_dir, 'eng.traineddata')
diff --git a/pkgs/applications/misc/gnome-multi-writer/default.nix b/pkgs/applications/misc/gnome-multi-writer/default.nix
index b4cca2f3bf63b..0a37cadb8e2cb 100644
--- a/pkgs/applications/misc/gnome-multi-writer/default.nix
+++ b/pkgs/applications/misc/gnome-multi-writer/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Tool for writing an ISO file to multiple USB devices at once";
     mainProgram = "gnome-multi-writer";
-    homepage = "https://wiki.gnome.org/Apps/MultiWriter";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-multi-writer";
     license = licenses.gpl2Plus;
     maintainers = teams.gnome.members;
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/gnome-recipes/default.nix b/pkgs/applications/misc/gnome-recipes/default.nix
index dc4df70bc00e4..d1680cdbaee2b 100644
--- a/pkgs/applications/misc/gnome-recipes/default.nix
+++ b/pkgs/applications/misc/gnome-recipes/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Recipe management application for GNOME";
     mainProgram = "gnome-recipes";
-    homepage = "https://wiki.gnome.org/Apps/Recipes";
+    homepage = "https://gitlab.gnome.org/GNOME/recipes";
     maintainers = teams.gnome.members;
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
diff --git a/pkgs/applications/misc/golden-cheetah-bin/default.nix b/pkgs/applications/misc/golden-cheetah-bin/default.nix
index ff46b57e1a3ce..308f43b7d4634 100644
--- a/pkgs/applications/misc/golden-cheetah-bin/default.nix
+++ b/pkgs/applications/misc/golden-cheetah-bin/default.nix
@@ -17,7 +17,7 @@ appimageTools.wrapType2 {
   extraPkgs = pkgs: with pkgs; [ R zlib libusb-compat-0_1 ];
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/GoldenCheetah
+    mv $out/bin/${pname} $out/bin/GoldenCheetah
     mkdir -p $out/share/applications
     mkdir -p $out/share/pixmaps
     cp ${appimageContents}/GoldenCheetah.desktop $out/share/applications/
diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix
index 293c3c5691ecf..44e96cb9085a9 100644
--- a/pkgs/applications/misc/gpsprune/default.nix
+++ b/pkgs/applications/misc/gpsprune/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gpsprune";
-  version = "23.2";
+  version = "24";
 
   src = fetchurl {
     url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
-    sha256 = "sha256-r2iw1vINWgqxoW0Zc8Sloa+wN/GUbUQfJ0e2BSP9vxM=";
+    sha256 = "sha256-gMwTdwYjYJt1j5MpHw6UD1wqmF7q3ikzjVSOGakIP30=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index b4e2acc645fbe..947c18050ea76 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -18,13 +18,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gpxsee";
-  version = "13.18";
+  version = "13.19";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = finalAttrs.version;
-    hash = "sha256-FetXV1D1aW7eanhPQkNzcGwKMMwzXLhBZjrzg1LD980=";
+    hash = "sha256-Q/Na+uc6a+OSLvJK75MEIxgdJhg/At830SBrix38Qj8=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/gremlin-console/default.nix b/pkgs/applications/misc/gremlin-console/default.nix
index ee7d7d3a95b95..eccb7df29166b 100644
--- a/pkgs/applications/misc/gremlin-console/default.nix
+++ b/pkgs/applications/misc/gremlin-console/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "gremlin-console";
-  version = "3.7.1";
+  version = "3.7.2";
   src = fetchzip {
     url = "https://downloads.apache.org/tinkerpop/${version}/apache-tinkerpop-gremlin-console-${version}-bin.zip";
-    sha256 = "sha256-uiJy4kfcTFUymyE0DxP6GlMX7ONogLFrx6K9IcgwTSE=";
+    sha256 = "sha256-lIrqMvI/sYGu36X3jNptoIz7mPVomk8YCIR/6y8mpEc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/gum/default.nix b/pkgs/applications/misc/gum/default.nix
index b85e00d095ed0..258079f61c93d 100644
--- a/pkgs/applications/misc/gum/default.nix
+++ b/pkgs/applications/misc/gum/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gum";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-NgMEgSfHVLCEKZ3MmNV571ySMUD8wj+kq5EccGrxtZc=";
+    hash = "sha256-TpLaZ/935S57K60NdgJXVY+YQEedralZMoQHWRgkH+A=";
   };
 
-  vendorHash = "sha256-fmc6nbS/Xmn/YRwToRH7EhP4SFRMf8hjZ/rLtaP/USo=";
+  vendorHash = "sha256-UgpOHZ/CEnGsmUTyNrhh+qDmKEplr18b/OrO2qcIhF4=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/applications/misc/has/default.nix b/pkgs/applications/misc/has/default.nix
index a18a996f92aa8..6fa84195a2f06 100644
--- a/pkgs/applications/misc/has/default.nix
+++ b/pkgs/applications/misc/has/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: rec {
   pname = "has";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "kdabir";
     repo = "has";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-3XsNSl4lQfJjEPNGoFj6ABXGkwOUsg9AFDAz8euZApE=";
+    hash = "sha256-TL8VwFx2tf+GkBwz0ILQg0pwcLJSTky57Wx9OW5+lS4=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index a8245a2234669..55acb6ef0db2a 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -52,7 +52,6 @@ let
     multiArch = false; # no 32bit needed
     extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
     extraInstallCommands = ''
-      mv $out/bin/{${pname}-${version},${pname}}
       source "${makeWrapper}/nix-support/setup-hook"
       wrapProgram $out/bin/${pname} \
         --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}"
diff --git a/pkgs/applications/misc/jotta-cli/default.nix b/pkgs/applications/misc/jotta-cli/default.nix
index 23da5323e21f2..b2239298d1a29 100644
--- a/pkgs/applications/misc/jotta-cli/default.nix
+++ b/pkgs/applications/misc/jotta-cli/default.nix
@@ -5,10 +5,10 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jotta-cli";
-  version = "0.15.98319";
+  version = "0.15.107955";
   src = fetchzip {
       url = "https://repo.jotta.us/archives/linux/${arch}/jotta-cli-${version}_linux_${arch}.tar.gz";
-      sha256 = "sha256-0gc3uXBByBR2shKhtUElEiz2saCwmH9vxWFf/WZm6hw=";
+      sha256 = "sha256-qCG3yi0ACmqOnn+gaCN8GedciUobpOww50Kz5AdknqU=";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/misc/kile-wl/default.nix b/pkgs/applications/misc/kile-wl/default.nix
index 842499f845a68..c33ca9bd2a68e 100644
--- a/pkgs/applications/misc/kile-wl/default.nix
+++ b/pkgs/applications/misc/kile-wl/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kile-wl";
-  version = "unstable-2023-07-23";
+  version = "2.1-unstable-2023-07-23";
 
   src = fetchFromGitLab {
     owner = "snakedye";
@@ -13,6 +13,7 @@ rustPlatform.buildRustPackage rec {
 
   passthru.updateScript = unstableGitUpdater {
     url = "https://gitlab.com/snakedye/kile.git";
+    tagPrefix = "v";
   };
 
   cargoLock = {
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index eacd64b06b557..5fe74bbe204a7 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -5,6 +5,7 @@
 , makeWrapper
 # graphs will not sync without matching upstream's major electron version
 , electron_27
+, autoPatchelfHook
 , git
 , nix-update-script
 }:
@@ -14,11 +15,11 @@ stdenv.mkDerivation (finalAttrs: let
 
 in {
   pname = "logseq";
-  version = "0.10.8";
+  version = "0.10.9";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    hash = "sha256-kVnQ33gozrL6BOWQxUfiMypiIZOffeT2cMVMHIfsaWg=";
+    hash = "sha256-XROuY2RlKnGvK1VNvzauHuLJiveXVKrIYPppoz8fCmc=";
     name = "${pname}-${version}.AppImage";
   };
 
@@ -30,7 +31,8 @@ in {
   dontConfigure = true;
   dontBuild = true;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
+  buildInputs = [ stdenv.cc.cc.lib ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/applications/misc/lunatask/default.nix b/pkgs/applications/misc/lunatask/default.nix
index 017eb17a40ad1..84ad583c63b5d 100644
--- a/pkgs/applications/misc/lunatask/default.nix
+++ b/pkgs/applications/misc/lunatask/default.nix
@@ -1,12 +1,12 @@
 { lib, appimageTools, fetchurl }:
 
 let
-  version = "1.7.8";
+  version = "2.0.0";
   pname = "lunatask";
 
   src = fetchurl {
     url = "https://lunatask.app/download/Lunatask-${version}.AppImage";
-    sha256 = "sha256-DhTWD9uL7zKWiRfeLYKxPtmAy1yR20wjlVA+N33YgpQ=";
+    sha256 = "sha256-rRE7VE6Fugqbbv/fTIZGuWDQmTP1tRDiKrb6VcpsBjk=";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -18,8 +18,6 @@ appimageTools.wrapType2 rec {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png
     substituteInPlace $out/share/applications/${pname}.desktop \
diff --git a/pkgs/applications/misc/marktext/default.nix b/pkgs/applications/misc/marktext/default.nix
index bc9418d57838e..647e833e69604 100644
--- a/pkgs/applications/misc/marktext/default.nix
+++ b/pkgs/applications/misc/marktext/default.nix
@@ -27,9 +27,6 @@ appimageTools.wrapType2 rec {
   ];
 
   extraInstallCommands = ''
-    # Strip version from binary name.
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/marktext.desktop $out/share/applications/marktext.desktop
     substituteInPlace $out/share/applications/marktext.desktop \
       --replace "Exec=AppRun" "Exec=${pname} --"
diff --git a/pkgs/applications/misc/neo4j-desktop/default.nix b/pkgs/applications/misc/neo4j-desktop/default.nix
index 42cd8067fe326..f01ef56e5d02c 100644
--- a/pkgs/applications/misc/neo4j-desktop/default.nix
+++ b/pkgs/applications/misc/neo4j-desktop/default.nix
@@ -2,21 +2,19 @@
 let
   pname = "neo4j-desktop";
   version = "1.5.8";
-  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://s3-eu-west-1.amazonaws.com/dist.neo4j.org/${pname}/linux-offline/${name}-x86_64.AppImage";
+    url = "https://s3-eu-west-1.amazonaws.com/dist.neo4j.org/${pname}/linux-offline/${pname}-${version}-x86_64.AppImage";
     hash = "sha256-RqzR4TuvDasbkj/wKvOOS7r46sXDxvw3B5ydFGZeHX8=";
   };
 
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraPkgs = pkgs: with pkgs; [ libsecret ];
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/misc/notable/default.nix b/pkgs/applications/misc/notable/default.nix
index 4606ee9432787..45416035f7b34 100644
--- a/pkgs/applications/misc/notable/default.nix
+++ b/pkgs/applications/misc/notable/default.nix
@@ -5,15 +5,13 @@ let
   version = "1.8.4";
   sha256 = "0rvz8zwsi62kiq89pv8n2wh9h5yb030kvdr1vf65xwqkhqcrzrby";
 
-  name = "${pname}-${version}";
-
   src = fetchurl {
     url = "https://github.com/notable/notable/releases/download/v${version}/Notable-${version}.AppImage";
     inherit sha256;
   };
 
   appimageContents = appimageTools.extract {
-    inherit name src;
+    inherit pname version src;
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -29,7 +27,6 @@ appimageTools.wrapType2 rec {
   multiArch = false; # no 32bit needed
   extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.at-spi2-atk p.at-spi2-core ];
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
     install -m 444 -D ${appimageContents}/notable.desktop $out/share/applications/notable.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/1024x1024/apps/notable.png \
       $out/share/icons/hicolor/1024x1024/apps/notable.png
diff --git a/pkgs/applications/misc/notesnook/default.nix b/pkgs/applications/misc/notesnook/default.nix
index 62788b5a7f13f..48f3e6e9cce8f 100644
--- a/pkgs/applications/misc/notesnook/default.nix
+++ b/pkgs/applications/misc/notesnook/default.nix
@@ -51,7 +51,6 @@ let
     multiPkgs = null; # no 32bit needed
     extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
     extraInstallCommands = ''
-      mv $out/bin/{${pname}-${version},${pname}}
       install -Dm444 ${appimageContents}/notesnook.desktop -t $out/share/applications
       install -Dm444 ${appimageContents}/notesnook.png -t $out/share/pixmaps
       substituteInPlace $out/share/applications/notesnook.desktop \
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 0a13013e5da2e..c537afbb98ed1 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -115,13 +115,13 @@ let
           self: super: {
             octoprint = self.buildPythonPackage rec {
               pname = "OctoPrint";
-              version = "1.9.3";
+              version = "1.10.0";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint";
                 rev = version;
-                hash = "sha256-71uE8JvcS++xH8WSVWj5x0+9s3XIwf3A64c6YtxpSRc=";
+                hash = "sha256-gM989Wh4HYU5/afCcZ6iRJWb4bkFZfnnxBmyklSZep4=";
               };
 
               propagatedBuildInputs = with self; [
diff --git a/pkgs/applications/misc/pdfsam-basic/default.nix b/pkgs/applications/misc/pdfsam-basic/default.nix
index 0d1e5e5f737cc..c7d88edef8678 100644
--- a/pkgs/applications/misc/pdfsam-basic/default.nix
+++ b/pkgs/applications/misc/pdfsam-basic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pdfsam-basic";
-  version = "5.2.2";
+  version = "5.2.3";
 
   src = fetchurl {
     url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
-    hash = "sha256-+Hc3f8rf0ymddIu52vLtdqNZO4ODW9JnPlyneSZt/OQ=";
+    hash = "sha256-ai1UHMeLvCba6WV6f6dGc53CxPP7bJaPgo8Tm7ddkOM=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/misc/perkeep/default.nix b/pkgs/applications/misc/perkeep/default.nix
index da67c39ab585d..11bee79962e39 100644
--- a/pkgs/applications/misc/perkeep/default.nix
+++ b/pkgs/applications/misc/perkeep/default.nix
@@ -55,6 +55,6 @@ buildGoModule rec {
     description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
     homepage = "https://perkeep.org";
     license = licenses.asl20;
-    maintainers = with maintainers; [ danderson kalbasit ];
+    maintainers = with maintainers; [ kalbasit ];
   };
 }
diff --git a/pkgs/applications/misc/projectlibre/default.nix b/pkgs/applications/misc/projectlibre/default.nix
index 52e56ed0623c6..fbb25f30d41be 100644
--- a/pkgs/applications/misc/projectlibre/default.nix
+++ b/pkgs/applications/misc/projectlibre/default.nix
@@ -1,46 +1,79 @@
-{ lib, stdenv, fetchgit, ant, jdk, makeWrapper, jre, coreutils, which }:
+{
+  lib,
+  stdenv,
+  fetchgit,
+  ant,
+  jdk,
+  stripJavaArchivesHook,
+  makeWrapper,
+  jre,
+  coreutils,
+  which,
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "projectlibre";
-  version = "1.7.0";
+  version = "1.9.3";
 
   src = fetchgit {
     url = "https://git.code.sf.net/p/projectlibre/code";
-    rev = "0c939507cc63e9eaeb855437189cdec79e9386c2"; # version 1.7.0 was not tagged
-    sha256 = "0vy5vgbp45ai957gaby2dj1hvmbxfdlfnwcanwqm9f8q16qipdbq";
+    rev = "20814e88dc83694f9fc6780c2550ca5c8a87aa16"; # version 1.9.3 was not tagged
+    hash = "sha256-yXgYyy3jWxYMXKsNCRWdO78gYRmjKpO9U5WWU6PtwMU=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ant jdk ];
+  nativeBuildInputs = [
+    ant
+    jdk
+    stripJavaArchivesHook
+    makeWrapper
+  ];
+
+  runtimeDeps = [
+    jre
+    coreutils
+    which
+  ];
+
+  env.JAVA_TOOL_OPTIONS = "-Dfile.encoding=UTF8";
+
   buildPhase = ''
-    export ANT_OPTS=-Dbuild.sysclasspath=ignore
-    ${ant}/bin/ant -f openproj_build/build.xml
+    runHook preBuild
+    ant -f projectlibre_build/build.xml
+    runHook postBuild
   '';
 
-  resourcesPath = "openproj_build/resources";
-  desktopItem = "${resourcesPath}/projectlibre.desktop";
-
   installPhase = ''
-    mkdir -p $out/share/{applications,projectlibre/samples,pixmaps,doc/projectlibre} $out/bin
+    runHook preInstall
+
+    mkdir -p $out/share/{projectlibre/samples,doc/projectlibre}
+
+    pushd projectlibre_build
+    cp -R dist/* $out/share/projectlibre
+    cp -R license $out/share/doc/projectlibre
+    cp -R resources/samples/* $out/share/projectlibre/samples
+    install -Dm644 resources/projectlibre.desktop -t $out/share/applications
+    install -Dm644 resources/projectlibre.png -t $out/share/pixmaps
+    install -Dm755 resources/projectlibre -t $out/bin
+    popd
+
+    substituteInPlace $out/bin/projectlibre \
+        --replace-fail "/usr/share/projectlibre" "$out/share/projectlibre"
 
-    substitute $resourcesPath/projectlibre $out/bin/projectlibre \
-      --replace "\"/usr/share/projectlibre\"" "\"$out/share/projectlibre\""
-    chmod +x $out/bin/projectlibre
     wrapProgram $out/bin/projectlibre \
-     --prefix PATH : "${jre}/bin:${coreutils}/bin:${which}/bin"
+        --prefix PATH : ${lib.makeBinPath finalAttrs.runtimeDeps}
 
-    cp -R openproj_build/dist/* $out/share/projectlibre
-    cp -R openproj_build/license $out/share/doc/projectlibre
-    cp $desktopItem $out/share/applications
-    cp $resourcesPath/projectlibre.png $out/share/pixmaps
-    cp -R $resourcesPath/samples/* $out/share/projectlibre/samples
+    runHook postInstall
   '';
 
-  meta = with lib; {
-    homepage = "https://www.projectlibre.com/";
+  meta = {
     description = "Project-Management Software similar to MS-Project";
+    homepage = "https://www.projectlibre.com/";
+    license = lib.licenses.cpal10;
     mainProgram = "projectlibre";
-    maintainers = [ maintainers.Mogria ];
-    license = licenses.cpal10;
+    maintainers = with lib.maintainers; [
+      Mogria
+      tomasajt
+    ];
+    platforms = jre.meta.platforms;
   };
-}
+})
diff --git a/pkgs/applications/misc/protonup-qt/default.nix b/pkgs/applications/misc/protonup-qt/default.nix
index 24cc1f5438ec5..8823744bf3a1f 100644
--- a/pkgs/applications/misc/protonup-qt/default.nix
+++ b/pkgs/applications/misc/protonup-qt/default.nix
@@ -1,10 +1,10 @@
 { appimageTools, fetchurl, lib }:
 let
   pname = "protonup-qt";
-  version = "2.9.1";
+  version = "2.9.2";
   src = fetchurl {
     url = "https://github.com/DavidoTek/ProtonUp-Qt/releases/download/v${version}/ProtonUp-Qt-${version}-x86_64.AppImage";
-    hash = "sha256-rT+vRYGE62SMBYhCsxYc9gnvKpOkqz0Qkr9QtKQx/Uc=";
+    hash = "sha256-d1UjyhU7BezOoQZBnmrk96gD0MbYST0XR+PWVYmvGFQ=";
   };
   appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in
@@ -12,7 +12,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},${pname}}
     mkdir -p $out/share/{applications,pixmaps}
     cp ${appimageContents}/net.davidotek.pupgui2.desktop $out/share/applications/${pname}.desktop
     cp ${appimageContents}/net.davidotek.pupgui2.png $out/share/pixmaps/${pname}.png
@@ -21,6 +20,8 @@ appimageTools.wrapType2 {
       --replace 'Icon=net.davidotek.pupgui2' 'Icon=${pname}'
   '';
 
+  extraPkgs = pkgs: with pkgs; [ zstd ];
+
   meta = with lib; {
     homepage = "https://davidotek.github.io/protonup-qt/";
     description = "Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris with this graphical user interface.";
diff --git a/pkgs/applications/misc/pueue/default.nix b/pkgs/applications/misc/pueue/default.nix
index 69483be06db65..6a9c6e0e5febe 100644
--- a/pkgs/applications/misc/pueue/default.nix
+++ b/pkgs/applications/misc/pueue/default.nix
@@ -62,6 +62,6 @@ rustPlatform.buildRustPackage rec {
     '';
     changelog = "https://github.com/Nukesor/pueue/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ sarcasticadmin ];
   };
 }
diff --git a/pkgs/applications/misc/qcad/default.nix b/pkgs/applications/misc/qcad/default.nix
index e67a96fe7cd3d..c36068e65962d 100644
--- a/pkgs/applications/misc/qcad/default.nix
+++ b/pkgs/applications/misc/qcad/default.nix
@@ -18,14 +18,14 @@
 
 mkDerivation rec {
   pname = "qcad";
-  version = "3.29.4.1";
+  version = "3.29.6.2";
 
   src = fetchFromGitHub {
     name = "qcad-${version}-src";
     owner = "qcad";
     repo = "qcad";
     rev = "v${version}";
-    hash = "sha256-00lPgiE3hsP3SL96ygBP91CaAWi1IGOYUO7zC/ORG1U=";
+    hash = "sha256-NKWuvhVGtlhWOfV0MWyViTgk0luA8mvnwQS0TZj7Ulc=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/remnote/default.nix b/pkgs/applications/misc/remnote/default.nix
index 585f7443ec476..198922f1876c8 100644
--- a/pkgs/applications/misc/remnote/default.nix
+++ b/pkgs/applications/misc/remnote/default.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation (finalAttrs: let
 in
 {
   pname = "remnote";
-  version = "1.15.4";
+  version = "1.16.4";
 
   src = fetchurl {
     url = "https://download.remnote.io/remnote-desktop/RemNote-${version}.AppImage";
-    hash = "sha256-6WBdTOj/seinx1wJGb/4if3PzCPmtzHyNAFmQwmsrvE=";
+    hash = "sha256-dgbQ0cbPq7BSQ9VwwH6+GoAxb85HDxRixfjeDJBtOrg=";
   };
 
   appexec = appimageTools.wrapType2 {
@@ -40,7 +40,7 @@ in
   installPhase = ''
     runHook preInstall
 
-    install -Dm755 ${appexec}/bin/remnote-${version} $out/bin/remnote
+    install -Dm755 ${appexec}/bin/remnote $out/bin/remnote
     install -Dm444 "${desktopItem}/share/applications/"* -t $out/share/applications/
     install -Dm444 ${icon} $out/share/pixmaps/remnote.png
 
diff --git a/pkgs/applications/misc/rofi-rbw/default.nix b/pkgs/applications/misc/rofi-rbw/default.nix
index ede6912a2764a..9e3df3fc36675 100644
--- a/pkgs/applications/misc/rofi-rbw/default.nix
+++ b/pkgs/applications/misc/rofi-rbw/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonApplication rec {
   pname = "rofi-rbw";
-  version = "1.3.0";
+  version = "1.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "fdw";
     repo = "rofi-rbw";
     rev = "refs/tags/${version}";
-    hash = "sha256-aTMKwb4BLupY0UmvPC86RnElZ9DFep8sApaMrlGbJ0M=";
+    hash = "sha256-1xbdZlZa3YPz+33AMgvhiMO12vc/ej0RybypQUzEn+8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/smpq/default.nix b/pkgs/applications/misc/smpq/default.nix
deleted file mode 100644
index a1879241bd214..0000000000000
--- a/pkgs/applications/misc/smpq/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl, cmake, stormlib }:
-
-stdenv.mkDerivation rec {
-  pname = "smpq";
-  version = "1.6";
-
-  src = fetchurl {
-    url = "https://launchpad.net/smpq/trunk/${version}/+download/${pname}_${version}.orig.tar.gz";
-    sha256 = "1jqq5x3b17jy66x3kkf5hs5l322dx2v14djxxrqrnqp8bn5drlmm";
-  };
-
-  cmakeFlags = [
-    "-DWITH_KDE=OFF"
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ stormlib ];
-
-  meta = with lib; {
-    description = "StormLib MPQ archiving utility";
-    homepage = "https://launchpad.net/smpq";
-    license = licenses.gpl3Only;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ aanderse karolchmist ];
-    mainProgram = "smpq";
-  };
-}
diff --git a/pkgs/applications/misc/sqls/default.nix b/pkgs/applications/misc/sqls/default.nix
index 5851ea49289e5..fe5735d0e553a 100644
--- a/pkgs/applications/misc/sqls/default.nix
+++ b/pkgs/applications/misc/sqls/default.nix
@@ -22,6 +22,6 @@ buildGoModule rec {
     description = "SQL language server written in Go";
     mainProgram = "sqls";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ vinnymeller ];
   };
 }
diff --git a/pkgs/applications/misc/ssw/default.nix b/pkgs/applications/misc/ssw/default.nix
index 062f106369124..e94c84209fcde 100644
--- a/pkgs/applications/misc/ssw/default.nix
+++ b/pkgs/applications/misc/ssw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ssw";
-  version = "0.8";
+  version = "0.10";
 
   src = fetchurl {
     url = "https://alpha.gnu.org/gnu/ssw/spread-sheet-widget-${version}.tar.gz";
-    sha256 = "sha256-hYnYKY/PO1hQ0JaLBIAaT0D68FVVRPbMnZVLAWLplUs=";
+    sha256 = "sha256-gGkuw1AnGZXhR9x1mSnN1507ZF5rXvqmtX9NLQXoR+U=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/misc/sway-launcher-desktop/default.nix b/pkgs/applications/misc/sway-launcher-desktop/default.nix
index f377e493dfd9b..cd81fee9f1ec0 100644
--- a/pkgs/applications/misc/sway-launcher-desktop/default.nix
+++ b/pkgs/applications/misc/sway-launcher-desktop/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/Biont/sway-launcher-desktop/releases/tag/v${version}";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.thehedgeh0g ];
+    maintainers = [ maintainers.pyrox0 ];
   };
 }
diff --git a/pkgs/applications/misc/swaynotificationcenter/default.nix b/pkgs/applications/misc/swaynotificationcenter/default.nix
index b22c483f61779..3f2310a8507f7 100644
--- a/pkgs/applications/misc/swaynotificationcenter/default.nix
+++ b/pkgs/applications/misc/swaynotificationcenter/default.nix
@@ -12,9 +12,11 @@
 , gobject-introspection
 , gtk-layer-shell
 , gtk3
+, gvfs
 , json-glib
 , libgee
 , libhandy
+, libnotify
 , libpulseaudio
 , librsvg
 , meson
@@ -65,9 +67,11 @@ stdenv.mkDerivation (finalAttrs: rec {
     glib
     gtk-layer-shell
     gtk3
+    gvfs
     json-glib
     libgee
     libhandy
+    libnotify
     libpulseaudio
     librsvg
     pantheon.granite
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index bc429817d55ae..4745a942304ad 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -6,6 +6,7 @@
 , makeDesktopItem
 , jdk
 , ant
+, stripJavaArchivesHook
 , gtk3
 , gsettings-desktop-schemas
 , p7zip
@@ -51,7 +52,7 @@ let
       find . -name '*.so' | xargs strings | { grep '/nix/store' || :; } >> ./.jar-paths
     '';
 
-    nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
+    nativeBuildInputs = [ makeWrapper autoPatchelfHook stripJavaArchivesHook ];
     buildInputs = [ ant jdk p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
 
     # upstream targets Java 7 by default
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index f4fe14fb6751b..a426494b61f64 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -5,6 +5,7 @@
 , makeDesktopItem
 , jdk
 , ant
+, stripJavaArchivesHook
 , gtk3
 , gsettings-desktop-schemas
 , sweethome3dApp
@@ -33,7 +34,7 @@ let
       categories = [ "Graphics" "2DGraphics" "3DGraphics" ];
     };
 
-    nativeBuildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper stripJavaArchivesHook ];
     buildInputs = [ ant jdk gtk3 gsettings-desktop-schemas ];
 
     # upstream targets Java 7 by default
diff --git a/pkgs/applications/misc/todoist-electron/default.nix b/pkgs/applications/misc/todoist-electron/default.nix
index 351df8c558ad2..c4fef60cff0c6 100644
--- a/pkgs/applications/misc/todoist-electron/default.nix
+++ b/pkgs/applications/misc/todoist-electron/default.nix
@@ -28,7 +28,6 @@ in appimageTools.wrapAppImage {
 
   extraInstallCommands = ''
     # Add desktop convencience stuff
-    mv $out/bin/{${pname}-*,${pname}}
     install -Dm444 ${appimageContents}/todoist.desktop -t $out/share/applications
     install -Dm444 ${appimageContents}/todoist.png -t $out/share/pixmaps
     substituteInPlace $out/share/applications/todoist.desktop \
diff --git a/pkgs/applications/misc/tui-journal/default.nix b/pkgs/applications/misc/tui-journal/default.nix
index 639c46b9bd374..555af71d37257 100644
--- a/pkgs/applications/misc/tui-journal/default.nix
+++ b/pkgs/applications/misc/tui-journal/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tui-journal";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "AmmarAbouZor";
     repo = "tui-journal";
     rev = "v${version}";
-    hash = "sha256-qHNB+jRLQoiHPuTblpCHg2+6e5j8W6YPsuygRlTidtE=";
+    hash = "sha256-G8p1eaHebUH2lFNyC2njUzZacE6rayApCb7PBFcpKLk=";
   };
 
-  cargoHash = "sha256-T+fXSca1u9+c305yuKOF+soxnSZ1YbBs57wco5TLpQw=";
+  cargoHash = "sha256-iM5PsgCUxBbjeWGEIohZwMiCIdXqj/bhFoL0GtVKKq4=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/misc/twitch-chat-downloader/default.nix b/pkgs/applications/misc/twitch-chat-downloader/default.nix
index a602c31008ded..459a47bfcab09 100644
--- a/pkgs/applications/misc/twitch-chat-downloader/default.nix
+++ b/pkgs/applications/misc/twitch-chat-downloader/default.nix
@@ -34,6 +34,6 @@ buildPythonApplication rec {
     mainProgram = "tcd";
     homepage = "https://github.com/TheDrHax/Twitch-Chat-Downloader";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix
index 3715ef27524e9..2247344ba765a 100644
--- a/pkgs/applications/misc/urlscan/default.nix
+++ b/pkgs/applications/misc/urlscan/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "urlscan";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "firecat53";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-OzcoOIgEiadWrsUPIxBJTuZQYjScJBYKyqCu1or6fz8=";
+    hash = "sha256-nyq4BrpfbZwK/nOnB8ZEN1wlM8CssYVRvV7ytpX7k40=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/misc/valent/default.nix b/pkgs/applications/misc/valent/default.nix
index 4e07cf62821d2..b65d2b36e31f9 100644
--- a/pkgs/applications/misc/valent/default.nix
+++ b/pkgs/applications/misc/valent/default.nix
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
     homepage = "https://valent.andyholmes.ca";
     changelog = "https://github.com/andyholmes/valent/blob/${src.rev}/CHANGELOG.md";
     license = with lib.licenses; [ gpl3Plus cc0 cc-by-sa-30 ];
-    maintainers = with lib.maintainers; [ aleksana federicoschonborn ];
+    maintainers = with lib.maintainers; [ aleksana ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/volnoti/default.nix b/pkgs/applications/misc/volnoti/default.nix
index b54df7e951689..bd61cd753f986 100644
--- a/pkgs/applications/misc/volnoti/default.nix
+++ b/pkgs/applications/misc/volnoti/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/davidbrazdil/volnoti";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.gilligan ];
+    maintainers = [];
   };
 }
diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix
deleted file mode 100644
index d4122e6571d98..0000000000000
--- a/pkgs/applications/misc/waybar/default.nix
+++ /dev/null
@@ -1,211 +0,0 @@
-{ lib
-, stdenv
-, bash
-, fetchFromGitHub
-, fetchFromGitLab
-, SDL2
-, alsa-lib
-, catch2_3
-, fftw
-, glib
-, gobject-introspection
-, gtk-layer-shell
-, gtkmm3
-, howard-hinnant-date
-, hyprland
-, iniparser
-, jsoncpp
-, libdbusmenu-gtk3
-, libevdev
-, libinotify-kqueue
-, libinput
-, libjack2
-, libmpdclient
-, libnl
-, libpulseaudio
-, libsigcxx
-, libxkbcommon
-, meson
-, ncurses
-, ninja
-, pipewire
-, pkg-config
-, playerctl
-, portaudio
-, python3
-, scdoc
-, sndio
-, spdlog
-, sway
-, udev
-, upower
-, wayland
-, wireplumber
-, wrapGAppsHook
-
-, cavaSupport ? true
-, evdevSupport ? true
-, experimentalPatches ? true
-, hyprlandSupport ? true
-, inputSupport ? true
-, jackSupport ? true
-, mpdSupport ? true
-, mprisSupport ? stdenv.isLinux
-, nlSupport ? true
-, pipewireSupport ? true
-, pulseSupport ? true
-, rfkillSupport ? true
-, runTests ? true
-, sndioSupport ? true
-, swaySupport ? true
-, traySupport ? true
-, udevSupport ? true
-, upowerSupport ? true
-, wireplumberSupport ? true
-, withMediaPlayer ? mprisSupport && false
-, nix-update-script
-}:
-
-let
-  # Derived from subprojects/cava.wrap
-  libcava.src = fetchFromGitHub {
-    owner = "LukashonakV";
-    repo = "cava";
-    rev = "0.10.1";
-    hash = "sha256-iIYKvpOWafPJB5XhDOSIW9Mb4I3A4pcgIIPQdQYEqUw=";
-  };
-
-  wireplumber_0_4 = wireplumber.overrideAttrs (attrs: rec {
-    version = "0.4.17";
-    src = fetchFromGitLab {
-      domain = "gitlab.freedesktop.org";
-      owner = "pipewire";
-      repo = "wireplumber";
-      rev = version;
-      hash = "sha256-vhpQT67+849WV1SFthQdUeFnYe/okudTQJoL3y+wXwI=";
-    };
-  });
-in
-stdenv.mkDerivation (finalAttrs: {
-  pname = "waybar";
-  version = "0.10.0";
-
-  src = fetchFromGitHub {
-    owner = "Alexays";
-    repo = "Waybar";
-    rev = finalAttrs.version;
-    hash = "sha256-p1VRrKT2kTDy48gDXPMHlLbfcokAOFeTZXGzTeO1SAE=";
-  };
-
-  postUnpack = lib.optional cavaSupport ''
-    pushd "$sourceRoot"
-    cp -R --no-preserve=mode,ownership ${libcava.src} subprojects/cava-0.10.1
-    patchShebangs .
-    popd
-  '';
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    scdoc
-    wrapGAppsHook
-  ] ++ lib.optional withMediaPlayer gobject-introspection;
-
-  propagatedBuildInputs = lib.optionals withMediaPlayer [
-    glib
-    playerctl
-    python3.pkgs.pygobject3
-  ];
-
-  strictDeps = false;
-
-  buildInputs = [
-    gtk-layer-shell
-    gtkmm3
-    howard-hinnant-date
-    jsoncpp
-    libsigcxx
-    libxkbcommon
-    spdlog
-    wayland
-  ]
-  ++ lib.optionals cavaSupport [
-    SDL2
-    alsa-lib
-    fftw
-    iniparser
-    ncurses
-    portaudio
-  ]
-  ++ lib.optional evdevSupport libevdev
-  ++ lib.optional hyprlandSupport hyprland
-  ++ lib.optional inputSupport libinput
-  ++ lib.optional jackSupport libjack2
-  ++ lib.optional mpdSupport libmpdclient
-  ++ lib.optional mprisSupport playerctl
-  ++ lib.optional nlSupport libnl
-  ++ lib.optional pulseSupport libpulseaudio
-  ++ lib.optional sndioSupport sndio
-  ++ lib.optional swaySupport sway
-  ++ lib.optional traySupport libdbusmenu-gtk3
-  ++ lib.optional udevSupport udev
-  ++ lib.optional upowerSupport upower
-  ++ lib.optional wireplumberSupport wireplumber_0_4
-  ++ lib.optional (cavaSupport || pipewireSupport) pipewire
-  ++ lib.optional (!stdenv.isLinux) libinotify-kqueue;
-
-  nativeCheckInputs = [ catch2_3 ];
-  doCheck = runTests;
-
-  mesonFlags = (lib.mapAttrsToList lib.mesonEnable {
-    "cava" = cavaSupport;
-    "dbusmenu-gtk" = traySupport;
-    "jack" = jackSupport;
-    "libinput" = inputSupport;
-    "libnl" = nlSupport;
-    "libudev" = udevSupport;
-    "man-pages" = true;
-    "mpd" = mpdSupport;
-    "mpris" = mprisSupport;
-    "pipewire" = pipewireSupport;
-    "pulseaudio" = pulseSupport;
-    "rfkill" = rfkillSupport;
-    "sndio" = sndioSupport;
-    "systemd" = false;
-    "tests" = runTests;
-    "upower_glib" = upowerSupport;
-    "wireplumber" = wireplumberSupport;
-  }) ++ lib.optional experimentalPatches (lib.mesonBool "experimental" true);
-
-  postPatch = ''
-    substituteInPlace include/util/command.hpp \
-      --replace-fail /bin/sh ${lib.getExe' bash "sh"}
-  '';
-
-  preFixup = lib.optionalString withMediaPlayer ''
-    cp $src/resources/custom_modules/mediaplayer.py $out/bin/waybar-mediaplayer.py
-
-    wrapProgram $out/bin/waybar-mediaplayer.py \
-      --prefix PYTHONPATH : "$PYTHONPATH:$out/${python3.sitePackages}"
-  '';
-
-  passthru.updateScript = nix-update-script { };
-
-  meta = {
-    homepage = "https://github.com/alexays/waybar";
-    description = "Highly customizable Wayland bar for Sway and Wlroots based compositors";
-    changelog = "https://github.com/alexays/waybar/releases/tag/${finalAttrs.version}";
-    license = lib.licenses.mit;
-    mainProgram = "waybar";
-    maintainers = with lib.maintainers; [
-      FlorianFranzen
-      lovesegfault
-      minijackson
-      rodrgz
-      synthetica
-      khaneliman
-    ];
-    platforms = lib.platforms.linux;
-  };
-})
diff --git a/pkgs/applications/misc/wmenu/default.nix b/pkgs/applications/misc/wmenu/default.nix
index 748c2d3b84c92..23d9f2404ea20 100644
--- a/pkgs/applications/misc/wmenu/default.nix
+++ b/pkgs/applications/misc/wmenu/default.nix
@@ -9,6 +9,7 @@
 , pango
 , wayland
 , wayland-protocols
+, wayland-scanner
 , libxkbcommon
 , scdoc
 }:
@@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  nativeBuildInputs = [ pkg-config meson ninja ];
+  nativeBuildInputs = [ pkg-config meson ninja wayland-scanner ];
   buildInputs = [ cairo pango wayland libxkbcommon wayland-protocols scdoc ];
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/wttrbar/default.nix b/pkgs/applications/misc/wttrbar/default.nix
deleted file mode 100644
index 6cba42d0c1582..0000000000000
--- a/pkgs/applications/misc/wttrbar/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, rustPlatform
-, darwin
-, nix-update-script
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "wttrbar";
-  version = "0.9.4";
-
-  src = fetchFromGitHub {
-    owner = "bjesus";
-    repo = "wttrbar";
-    rev = version;
-    hash = "sha256-kRrVqUfkrSK/9z3Hj4J+mKcdV7JdTzjhxlVRa/kf8sw=";
-  };
-
-  buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Security SystemConfiguration ]);
-
-  cargoHash = "sha256-HxSyGME95FWR5VwodmrMUX0jPlfE9SJV0WBbICuuTok=";
-
-  passthru.updateScript = nix-update-script { };
-
-  meta = {
-    description = "A simple but detailed weather indicator for Waybar using wttr.in";
-    homepage = "https://github.com/bjesus/wttrbar";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ khaneliman ];
-    mainProgram = "wttrbar";
-  };
-}
diff --git a/pkgs/applications/misc/xlights/default.nix b/pkgs/applications/misc/xlights/default.nix
deleted file mode 100644
index e878039d0ede2..0000000000000
--- a/pkgs/applications/misc/xlights/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, appimageTools, fetchurl }:
-
-appimageTools.wrapType2 rec {
-  pname = "xlights";
-  version = "2023.13";
-
-  src = fetchurl {
-    url = "https://github.com/smeighan/xLights/releases/download/${version}/xLights-${version}-x86_64.AppImage";
-    hash = "sha256-vNauKG7F7AiSMZrkMPwR9C+Mshot4NOf4oIdEr5Pu3Q=";
-  };
-
-  meta = with lib; {
-    description = "xLights is a sequencer for Lights. xLights has usb and E1.31 drivers. You can create sequences in this object oriented program. You can create playlists, schedule them, test your hardware, convert between different sequencers.";
-    homepage = "https://xlights.org";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ kashw2 ];
-    platforms = platforms.linux;
-    mainProgram = "xlights-${version}";
-  };
-}
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index db7bdd4fc727b..ff9965c3403db 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -15,13 +15,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "6.21.2";
+  version = "6.21.3";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    hash = "sha256-0ej2+g+B9K50JIs0wi1SfLBsaYTsk+0/cImLLZLNtmc=";
+    hash = "sha256-1lIrxJ1Y5YRoXbZn77Msah5lSVW71gDczYUlXQjf01s=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/zettlr/generic.nix b/pkgs/applications/misc/zettlr/generic.nix
index 0b26d57e7c4e9..da45da749e2c6 100644
--- a/pkgs/applications/misc/zettlr/generic.nix
+++ b/pkgs/applications/misc/zettlr/generic.nix
@@ -10,22 +10,20 @@
 
 # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
 let
-  name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
     inherit hash;
   };
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 in
 appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   multiArch = false; # no 32bit needed
   extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ texliveMedium pandoc ];
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
     install -m 444 -D ${appimageContents}/Zettlr.desktop $out/share/applications/Zettlr.desktop
     install -m 444 -D ${appimageContents}/Zettlr.png $out/share/icons/hicolor/512x512/apps/Zettlr.png
     substituteInPlace $out/share/applications/Zettlr.desktop \
diff --git a/pkgs/applications/networking/Sylk/default.nix b/pkgs/applications/networking/Sylk/default.nix
index b7eca10fc7cfd..41ff2de95ceee 100644
--- a/pkgs/applications/networking/Sylk/default.nix
+++ b/pkgs/applications/networking/Sylk/default.nix
@@ -6,7 +6,7 @@ let
 in
 
 appimageTools.wrapType2 rec {
-  name = "${pname}-${version}";
+  inherit pname version;
 
   src = fetchurl {
     url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage";
@@ -19,7 +19,6 @@ appimageTools.wrapType2 rec {
 
   multiArch = false; # no 32bit needed
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
-  extraInstallCommands = "mv $out/bin/{${name},${pname}}";
 
   meta = with lib; {
     description = "Sylk WebRTC client";
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index daed65d0c21d7..7971a05b8c55c 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -6,17 +6,17 @@ callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ])
     if stdenv.isAarch64 then
       {
         pname = "brave";
-        version = "1.64.122";
-        url = "https://github.com/brave/brave-browser/releases/download/v1.64.122/brave-browser_1.64.122_arm64.deb";
-        hash = "sha256-PBYiCTy/QaPfxvWAzUnXLEzBELISNSKX0kG/mYTDDEA=";
+        version = "1.65.122";
+        url = "https://github.com/brave/brave-browser/releases/download/v1.65.122/brave-browser_1.65.122_arm64.deb";
+        hash = "sha256-9xcXuK9Qdf8MwE3tcJLpTuJYMCjM3h27eFdgsT/yD38=";
         platform = "aarch64-linux";
       }
     else if stdenv.isx86_64 then
       {
         pname = "brave";
-        version = "1.64.122";
-        url = "https://github.com/brave/brave-browser/releases/download/v1.64.122/brave-browser_1.64.122_amd64.deb";
-        hash = "sha256-9tSoOn9XGbX/b8n9vD9Hmpi26jzmUVJomoCFdSJoaoU=";
+        version = "1.65.122";
+        url = "https://github.com/brave/brave-browser/releases/download/v1.65.122/brave-browser_1.65.122_amd64.deb";
+        hash = "sha256-zhRH/EG+8Qx9B2Gm5n9DYVwheyfiqIBwyYygART5b6A=";
         platform = "x86_64-linux";
       }
     else
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index df33a2bbe7571..a59efb64d9356 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -248,8 +248,8 @@ let
       # Partial revert of https://github.com/chromium/chromium/commit/3687976b0c6d36cf4157419a24a39f6770098d61
       # allowing us to use our rustc and our clang.
       ./patches/chromium-121-rust.patch
-    ] ++ lib.optionals (chromiumVersionAtLeast "124" && !chromiumVersionAtLeast "125") [
-      # M124 shipped with broken --ozone-platform-hint flag handling, which we rely on
+    ] ++ lib.optionals (chromiumVersionAtLeast "124" && !chromiumVersionAtLeast "124.0.6367.118") [
+      # M124 < 124.0.6367.118 shipped with broken --ozone-platform-hint flag handling, which we rely on
       # for our NIXOS_OZONE_WL (wayland) environment variable.
       # See <https://issues.chromium.org/issues/329678163>.
       # This is the commit for the fix that landed in M125, which applies clean on M124.
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index d75b5df530328..345370868d715 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,11 +1,11 @@
 {
   stable = {
     chromedriver = {
-      hash_darwin = "sha256-PmLV++FK6aCvdhNNhb2ZAmRLumr+VRFvN+7IByieEZk=";
+      hash_darwin = "sha256-RGOChK4JhrFUgVY/5YqgE0KFLRl6a7X2llw1ZfhiPXY=";
       hash_darwin_aarch64 =
-        "sha256-6Ys1EMSLmJNNaWdPeQiCT+bC0H7ABInVNzwXorGavn4=";
-      hash_linux = "sha256-iimq37dcEcY2suW73a6lhgHuNaoqtzbAZCHkQP9ro/Y=";
-      version = "123.0.6312.122";
+        "sha256-K1jFXmWtXrS43UJg2mQ39Kae6tv7E9Fxm6LUWg+uwLo=";
+      hash_linux = "sha256-xwaRNh7sllyNaq8+aLAZDQ3uDg06cu3KYqc02LWPSyw=";
+      version = "124.0.6367.91";
     };
     deps = {
       gn = {
@@ -15,25 +15,25 @@
         version = "2024-03-14";
       };
     };
-    hash = "sha256-apEniFKhIxPo4nhp9gCU+WpiV/EB40qif4RfE7Uniog=";
-    hash_deb_amd64 = "sha256-rSbigG5/xbL32d1ntOn6gnZyxSpgrg1h7lb/RD4YROI=";
-    version = "124.0.6367.60";
+    hash = "sha256-+r/48dxipSAo74v1deMuKalW+Hj85hCun63ZcgLYDLk=";
+    hash_deb_amd64 = "sha256-H3bv6WiVBl4j38ROZ80+SD9UO9ok+xxcKFxDd9yjWNY=";
+    version = "124.0.6367.118";
   };
   ungoogled-chromium = {
     deps = {
       gn = {
-        hash = "sha256-JvilCnnb4laqwq69fay+IdAujYC1EHD7uWpkF/C8tBw=";
-        rev = "d4f94f9a6c25497b2ce0356bb99a8d202c8c1d32";
+        hash = "sha256-aEL1kIhgPAFqdb174dG093HoLhCJ07O1Kpqfu7r14wQ=";
+        rev = "22581fb46c0c0c9530caa67149ee4dd8811063cf";
         url = "https://gn.googlesource.com/gn";
-        version = "2024-02-19";
+        version = "2024-03-14";
       };
       ungoogled-patches = {
-        hash = "sha256-ojKIAkJB/gfg6scCxUYNAGx4lsquAaCySBDcUCFLqSU=";
-        rev = "d5773b0fb696ef107cc6df6a94cbe732c9e905f9";
+        hash = "sha256-1/J3BhUlef8CH/jZ5P5fWGXnWxTiuB0Ep+AWrMrv9cE=";
+        rev = "124.0.6367.91-1";
       };
     };
-    hash = "sha256-7H7h621AHPyhFYbaVFO892TtS+SP3Qu7cYUVk3ICL14=";
-    hash_deb_amd64 = "sha256-tNkO1mPZg1xltBfoWeNhLekITtZV/WNgu//i2DJb17c=";
-    version = "123.0.6312.122";
+    hash = "sha256-tajZtdiXgs5lRLTmDmgNTM2vD+N+LuWpBS0dYzxUsMA=";
+    hash_deb_amd64 = "sha256-CyCbZQ5ce8WLTt2JVSqbDkLDboE4BloiZ8pJff3dmSY=";
+    version = "124.0.6367.91";
   };
 }
diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix
index 4b9270b7d5180..409319493a64f 100644
--- a/pkgs/applications/networking/browsers/eolie/default.nix
+++ b/pkgs/applications/networking/browsers/eolie/default.nix
@@ -72,7 +72,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "A new GNOME web browser";
     mainProgram = "eolie";
-    homepage = "https://wiki.gnome.org/Apps/Eolie";
+    homepage = "https://gitlab.gnome.org/World/eolie";
     license  = licenses.gpl3Plus;
     maintainers = with maintainers; [ samdroid-apps ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index af824112def4a..b96632f6df6e2 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "125.0b9";
+  version = "126.0b5";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ach/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ach/firefox-126.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "c344c4b54b62ac7f1f5d41f1aee666402b61999114a1d2c33d1f18d319836ae8";
+      sha256 = "7b882806b6cf50f3d1ca03600d75a99be305a029dbf23c98f4e78a9ae37971d2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/af/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/af/firefox-126.0b5.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "e69a6bbe83c8f1c2b9412d438de8daaa84b247ede40bf274bfce16c8d91d8e7e";
+      sha256 = "caa21874c4bf34a8130902f9fb3515cdadb5aba45d1de703c243e941759fd791";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/an/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/an/firefox-126.0b5.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "3f79e6acbb0f6500bdcc79cf35d94851afc89a58294c5f48e4fa6295389a4fc4";
+      sha256 = "627a705df2572943d4a0d79aa8c107a215d9f55c99d76ce395ed4e03d244deba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ar/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ar/firefox-126.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "dd3832a6cb08bcae90f6cc5bf2196d3fee1ba62ba618e3a872782a60de32185d";
+      sha256 = "f1f62fe5f81cea3aca86b58436ece8f3074fd71a3198686b8449200867511c97";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ast/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ast/firefox-126.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "2e411ae04db3baa2b10c8fe4004f0023cd46dc50c3e28f1e3e73ba6be5a1e6be";
+      sha256 = "df6cfc21cc15f619c019c48108d228b37531c6e5eb6e21b2ded2d56fbab277e7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/az/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/az/firefox-126.0b5.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "d3b472f51de3c31db73c19e8d76f3b376c53f5f6122b4d6640ee9249dc1e22b8";
+      sha256 = "1a4addc76c8f5d4df74f4731571d680d3ce024530a94d91d9ce49abd899a7d26";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/be/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/be/firefox-126.0b5.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "b658e6e89cc8e82735f66c941fde9abdffed882fa530734ef200cb0e28bc8c48";
+      sha256 = "62c41d913c7cb3102baa8ad27df221cb889ea80240e038e0573bbb48ed5d69d5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/bg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/bg/firefox-126.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "f0604e9440e4d78d34bce1ff06e125bb4411c8081345e5f74afcba5e337f2ed0";
+      sha256 = "a45e0c8dc7e3ea1a57a3f7e0dca7c2ab908d75ad81a312434e7b021defa5bd34";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/bn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/bn/firefox-126.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "30c25ba6c3a496a12c7990a83348201b2dcd459b820ab814ecd97979c3034fff";
+      sha256 = "810908bbcb86f7af0f79ffcde6e8f7026143390c1b73fa8a81a94b3a1478b107";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/br/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/br/firefox-126.0b5.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "3544f5d274c05a2df5bc8e51b2e0ab886f166cc64720cce2ea1b1748c452c236";
+      sha256 = "e3031ab47d44f798f64399ad24ba58b49bf5bdc1a6fb6243d7c25f7064a751fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/bs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/bs/firefox-126.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "a12f08d89f0b2077040a3f8917dda9a09193a613984297a7395b926b9fcce347";
+      sha256 = "af2ad1f920ea9aaf36b6c53a0988bb64d118ee4188e6d4eab19b3c850d469101";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ca-valencia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ca-valencia/firefox-126.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "37608aaaf55fe2f93dabc29ac711b4a1e1d7be521e99ad5c20347a43cd1e88ef";
+      sha256 = "1147f887f5a55686120e576178bac7c1d1f942972ca71278b2f7f8f68ec82902";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ca/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ca/firefox-126.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "6bd24aee5a121bbe27e0a8649b9742e0c0c1512479586fb3059c2391d0bd3865";
+      sha256 = "70fbde5bd2c164c8dfc59d60ad2fe1cebd0bc004b77f6907fb85524dd43cc5f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/cak/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/cak/firefox-126.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "e4aa2bb9a6e5e02327b31b150a549fb695e1f49f60a85f4b1bef5c5019fb1b8d";
+      sha256 = "7154ac05107c2a533835c41fdd2caa2725c794a1572269bb191d8c2bc0b70738";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/cs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/cs/firefox-126.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "2e4730cc98751d9aa45f82605240953c9dad307e10846e1065c5adeeb2a54d0c";
+      sha256 = "6b78f1f546a2c98523fb0dd7215fad87ccd1a4e9dfa3e5695c46afcb74e003f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/cy/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/cy/firefox-126.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "60179b3635afae11e0bb4f0523135183627b16d974d8aa93fb594723e386a887";
+      sha256 = "9b08898afb1134a2de2c1236774a02354795cd8bb8f7d41130b137cb4d14b1a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/da/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/da/firefox-126.0b5.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "08b6d9ec3af57f9fc298baa2dde23ca3cd6ec1031c448735cc580d354cecbc63";
+      sha256 = "31571ea197dc8cd61b79c061ca32dfdc60d3b74f2dee43f2641d534ca83dca2f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/de/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/de/firefox-126.0b5.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "163e1daeca14555be4d01193fc6eae95d6e25062c8ebba4e0b8118ff377dcf62";
+      sha256 = "f89bee1b43c832b710776280a25119846bf2a5f7c5cfb179bd6b5008c39bfe20";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/dsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/dsb/firefox-126.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "f173c4c3d5b98efe37850ce66fcf91709211a0a2c1a401cdd96d5caa86684b0b";
+      sha256 = "881cc3a38e34d8083082de26b53d2e129273841dc6ab07f7cbb9af0222e0ca87";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/el/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/el/firefox-126.0b5.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "5af84ecc3f9f3a412c961d8686a81d7b23925cacb407e9c7c0684b078b1116a6";
+      sha256 = "797b56a42f2034ef81aca234ac19374069dac7ff911e2077f65a9e8c05f17820";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/en-CA/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/en-CA/firefox-126.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "670bbeb9d23086c025b2fdff3ff43d261e55120d2783ad43c3362ee0de84d27f";
+      sha256 = "592abdec04a68e1d9d33eeeae10b7abddbdd0f7e92bf4bc9db92e8aedbc6dda2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/en-GB/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/en-GB/firefox-126.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "c0ae89d0500bdb13df19920f8488516e83920b42d2b5b8b115afed86ade33c92";
+      sha256 = "8979a85a9f1b41ab5cb3f1ef3ea8252a4aca21930772f058964ad96ae685f92f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/en-US/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/en-US/firefox-126.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "ed5c38fdba8bcbc9cf1b1a87a5fbdefee45e9d2be5018a00b5b597cb33ff2c17";
+      sha256 = "8f96bbe7c30b3a8c43d05ec33e20f51353ad5ed207af93aa9eb886119f371b81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/eo/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/eo/firefox-126.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "3ccfced1562a2a23144e851c4d115f1e1c97f197d10329fadc1064b749fa7a1b";
+      sha256 = "a42ffd0c0a474f33b3aa5a7619526cbafbd94c5e217dc3472edafee268ea01ec";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/es-AR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/es-AR/firefox-126.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "84db5118492d597ab68438702252ccd45b1e569b347839dfef9be02b90ff9e6b";
+      sha256 = "6939b66072807cad29b5a56ea64c58f1ddc42e1dad730a045b21940f8c896879";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/es-CL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/es-CL/firefox-126.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "8e45adc81628d26b6c117fd7b2e5a5a4621bef7fe64065d7c0cef2fd2e989605";
+      sha256 = "fd6c3249039600fe1a740015adbbd8c84658771291e2d9a4a6b6df1f710c5d5f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/es-ES/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/es-ES/firefox-126.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "615d10f77d0432a1b2bdbce98cb1df96e17735dbbf6aeb328e2ad0f332ae55d3";
+      sha256 = "23b69a886876a95eaee696132818e5cc3a7a104412b1ce3b53d844c239856d40";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/es-MX/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/es-MX/firefox-126.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "7b485bb17efe9b3ed1ffdd32f88be45905f6197b181d8b4ab4e5ab335284c456";
+      sha256 = "accf92b324c8bbc8cd5205a33bd837b3dce351f7fa431ebd434881cb597a665f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/et/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/et/firefox-126.0b5.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "d561379114bb49e08f3bacbeb67fbd07079aff5877055a49af53aa7507b8aadc";
+      sha256 = "0d244490fa6cde3d8299cf42328a062efaebd33aff5f4ab07b3d3e96401f5477";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/eu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/eu/firefox-126.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "0b6874785fc39076a9d5a4da1aa0dcf1ce8586a1fb197d09610c1d8b6a595593";
+      sha256 = "48022a4dde833a1ae4572b08e6d863dccd18c8e775c361c71de7a4a4d89688b3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fa/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fa/firefox-126.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "c5d3dcf22df0d39bf7d14992dcff180f9d1b8b5121d473dd384b7e735665ef92";
+      sha256 = "f0791730cb92dc1945ea45ee5aaae6e736bd5817cb98b66d6fc60ff828ba1e57";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ff/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ff/firefox-126.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "7dfe6d710dd5c77754f4b18cd507ca6ed81a10c714d2e113fa10003e74d6e809";
+      sha256 = "4b824de7cb4d997e74a4f51c109d6a68d01478ea68c4b03a58a68d20b9ff97e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fi/firefox-126.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "b90d9c99bed3ce22f1fada29aabf141b030c2f8a4ec29eaae566aa17482474c1";
+      sha256 = "fbd79f64bed89e6817dee05a0bb783518389947577f247e83b41021a4cfa4fe0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fr/firefox-126.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "06026a38b497501eedb0c7aed1f110a3b8bc958d7b002472070c60266afbb5f0";
+      sha256 = "de4d18a481b2d30f204884d3b1cb7d6a427f23cb4b97a8618e0eb77cfb829903";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fur/firefox-126.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "e957395ce9b6153dfbd00537797a73cca0714e4d14df98f7be225ba5c4842804";
+      sha256 = "4d98682733fb1cd5825a30a6a2cd2808eaa7539612130e83f480bf17a1f862bd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/fy-NL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/fy-NL/firefox-126.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "5e18f6d538c0829a2911e2c8620ec851f1cf4afd6274009012e2e98901572e88";
+      sha256 = "67b89c68dbfead6a537e18a61281a2b12c411952279757de375380f3f38fb7c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ga-IE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ga-IE/firefox-126.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "64695bf6614a9f9932f851ef76a2696ebcec1f0f0c34bffe9c4bb0cb42b48da4";
+      sha256 = "909cddd2346ea631708c586f45dd58b60843e1a30511a6882239a88797a5e335";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/gd/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/gd/firefox-126.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "a24e0bd5314d6d63f9ef85b11be8f474db48e535d1e17c6eac45d51073724fc7";
+      sha256 = "e5ac8f176af8dde4d32d12e09a29676d47715cdf1a75890aeed560f3f6bfc0af";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/gl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/gl/firefox-126.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "30ad8e7474dafc303d22f8390533c1e847a8ce14ccaeca097be185253357780e";
+      sha256 = "5767e287441bcf2ae9955c5cacb5ce4ee222c7fece242c192d117c9cb30cbaa1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/gn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/gn/firefox-126.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "f7320d7c4a7735007f3e011a0491b8c6379b0f5cb222db5097ca35c950f490e1";
+      sha256 = "fa3b43ba4186f5707904eddfc968665e1865686a365e56d267271decea5d5bf7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/gu-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/gu-IN/firefox-126.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "e195b45447e89d8809e3b944f0899d5a3ae06ccc1f5b3f884cc66ce8b05a10aa";
+      sha256 = "4c4b63c08739d8527346a2ab4b3f8c8fff696b66389bfd7073d093502744e3e2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/he/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/he/firefox-126.0b5.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "5f0d61c3ea28c1bffc241f7626fbd9cd14b2354bc8729cfeea32ddc0aa4e326f";
+      sha256 = "97e24f445558ee478b491761b6d374dece22899914e6196eaf24d17d4b06e675";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hi-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hi-IN/firefox-126.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "d214c41e231a8fb716bbce931d96442b3abb4d713edca75eda7f4242495f720b";
+      sha256 = "e7bfc3309faa60007a20ca89d737ff6201a2af87f7190cef0de3df75dfe5a356";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hr/firefox-126.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "5372a8e58fb691e586066559640a44dc6c4ece391de3ead63b477554aac4fe5e";
+      sha256 = "d196b1f8239b471fbe1e22a9000e90879df086f19efad662df850e933089447e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hsb/firefox-126.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "bcd62563ce8e66b1f5363b79afef151b3584576c0e064d0ed274b831cc205302";
+      sha256 = "0e5f22c52a587add26909e3a98797e05413e7af6c9cc6f55c724e3c7c2b945a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hu/firefox-126.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "0d75b991b41ba370db28aeb35491b42ba41385cc3a17a1d8cef3b6e5c681a5ee";
+      sha256 = "b4b8d4e2f5016775a78b4e2607f65f3f44051a79d8a43d9299cb4bcabb5b43b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/hy-AM/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/hy-AM/firefox-126.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "e25f813793f3ae14bf7d8152b034d9fd858ccc20bf7d04bd589122c7dfa6e55c";
+      sha256 = "dbd0a975300046bcbcd93349454984c72a99f45e0eb974bd1f82d88216ea6939";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ia/firefox-126.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "f9d1ea389b150b10c6f8875c3897af7a03e0ae9604851d392230d6714f43cf21";
+      sha256 = "61c295524f18e44e23ef905df305f047fd2b3b31c2c9aa08e69ebb19ea695a96";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/id/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/id/firefox-126.0b5.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "fa851b2e29890feddd9fc77856e263b2f009a37e34fb873d7c88287329ceeffd";
+      sha256 = "9dc418697f4fed0e16a4c2d88b4aaf5e62369a438f104980db44a21598330dda";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/is/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/is/firefox-126.0b5.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "58e95e71ff9e72a6dff5cc58b9dd90d34ad46fd3791e8c2475baeba98aa222eb";
+      sha256 = "84ce271d9b6a9af3b16e1adb5e71acba1483ec794cb25bf0197f5a521de98a4b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/it/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/it/firefox-126.0b5.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "1343be59b8aa78912587d3a53437b8c1ff54bd804d006e9d97beffb790525bfe";
+      sha256 = "caacae564d5cf9662a559cc0b11078c33882b70607e4298f41db18d790106863";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ja/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ja/firefox-126.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "3e2e8d99282a414a137ed5060b5d32389f66056e348e31170313ec38e7050ad9";
+      sha256 = "873e6213fbdb9e437d5e7abec993c0464db0692797be79f4249aae4a9eae6b93";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ka/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ka/firefox-126.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "ae5ab1acef2688a2528f729a52485d9bcbfc503d206d21b9348c3731388af5db";
+      sha256 = "f515d3859e404430d40728d6af708d95c0f73e4bd2fd23e4da5cc59a4a184f8a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/kab/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/kab/firefox-126.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "da9bd1b96dbcda3d71d167623a0b3c489efb7d96a6499283448f24f71ba0b16c";
+      sha256 = "de4334799536e6c191dc07f463f96f69773473f8bb1096011d0efce6facf6199";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/kk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/kk/firefox-126.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "f0f2ab2fb418e1d1849c49b98f4cd3ff7aa454974aca32c089162eef31091839";
+      sha256 = "0887ed3d14a160fd908762468f485a9ad10d49db871a434d3adc48065d395003";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/km/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/km/firefox-126.0b5.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "401002d169a47d90dfbec657d87bc2885a668bb787dd2d3ac0db5e6a47645d23";
+      sha256 = "789081a881369cb3a775c702e57637ce06a895ef85e191764ce712783f32d4c8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/kn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/kn/firefox-126.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "ed9a227b8e9cc65d8b12856626e57013bc00afc4fbae0458a5286e41a01b499b";
+      sha256 = "58c6c22c636cc3b6a25ef72d22f5dda2bba19d08c6988b7be671fe502de1ecd3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ko/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ko/firefox-126.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "1cb2dda0fb445e44e097c9c176f1410f2d01dbd6f87983d2aaf734d9bebf5802";
+      sha256 = "47cf06195afb1010674e4e0cb196ba621d5832c6f24dbb4147a7fd7fe3d7a5c8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/lij/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/lij/firefox-126.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "9d64f74749268fe6287e48225d2dbf62b7add07035f17d3d649bbda77b5ba562";
+      sha256 = "e3310f86e5bb92de78fda8be73d61eed3e7195fc1f3195a4e0891dfa244ea308";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/lt/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/lt/firefox-126.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "d170d89b3576f047d95accf8d6a09941f4dede8216529d54ff87183092e7a69c";
+      sha256 = "51dae70743bd22abc588fc868307ad80b8b12254a17d42a9a71b6dbd7c87dcaf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/lv/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/lv/firefox-126.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "eb82b0c7d9bddaed90faab23cb89be202199a354d089ee46ae6e756cb9c44216";
+      sha256 = "814d16867bba81fa2a4694ba23e56d2fd7b6e303855b715ef386235b587612d6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/mk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/mk/firefox-126.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "aeb01c14cdc4c14a23411979b01fc5f11cb1b11cd66b75031cc9bf2391b27e30";
+      sha256 = "02971f2e9e48dbdb6f30ce99100d9212bd49caa26d97b02f6cae80c4ab288923";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/mr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/mr/firefox-126.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "02e86be51a8e6769bec058ce2254f2da3bfcff8061f44035871b9efd53b4d511";
+      sha256 = "73414133309979d604cd0b05fd21aae2bd4cfbdded58035606901b10e28c7d3f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ms/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ms/firefox-126.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "b0952b0a240e42828ab093517aba3f9212465c586ed1e524e0a80cedf04bcac2";
+      sha256 = "bcfe246fd61ba41e23d9860b88abbbd61e4da5ed9755d2d39c1d24785cb6ffc2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/my/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/my/firefox-126.0b5.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "104a9df768080d091bb4c5d5a389e7f2a761dcf82f1b755bf8a4c152f6ef462c";
+      sha256 = "4170ad2c245f34d0cddd54e7bcaccfe505b417fc1d453b82b79ec052bb887e89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/nb-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/nb-NO/firefox-126.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "72844860b05b99edaf933933747dab23c8d717a64d2990b8f0af5c3d27455610";
+      sha256 = "881a2a3f2304618ec949050808290f324860e25d80dd3172b443fc27ba938384";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ne-NP/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ne-NP/firefox-126.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "a85df3885d24109c1d156ae9449167ce70e91a06bf3f02820e65f3e381d6963b";
+      sha256 = "3c293cafc653bd77971bf8344e7b93c5df2699f02b76e8bd2671eb7853f418a7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/nl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/nl/firefox-126.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "7f9c0a118663c5e32f6820384cda369461c4a59cef78957595c5f49af37b2cf8";
+      sha256 = "409eedae4cf7340a9111213e6c88fd91340ca1d85b5aedd74605f70cf20cad1b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/nn-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/nn-NO/firefox-126.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "aba9eab27dd617622091acd9f4637d25f8c1b74f8b4ddbbc7cb64ee97e423be4";
+      sha256 = "d59cd6b50c11672670bccfc315d36c0496967dee986f03214185718c44189729";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/oc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/oc/firefox-126.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "ac1560c5cf7680c535c0d3ba783083b4fe28516ba3a4f1eed9344ab25bb64aba";
+      sha256 = "c4e3d1eb11eac47343c8c9080e1e73b72185bb09bb52b25eed31d69fa21529c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/pa-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/pa-IN/firefox-126.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "894292de9a5bec6303e9865ff21d5f4d601fe5093bf816f079404d23bef63e7f";
+      sha256 = "39fcdf41135ec80db479cb38cb4b825620dde6563463886080a41b606890cec8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/pl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/pl/firefox-126.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "4db19e52c3521457a97f5b90f134bf540cdf142c262f27997502c1c9b2a77440";
+      sha256 = "1bfe057079a573385fe74e2fd28314242568e0701f3380830cc9dd4bfee0d753";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/pt-BR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/pt-BR/firefox-126.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "ed34def0ed1d8ce308c5fb5aaa31bc86c5b96aa09587696bed09f2f4e2517f21";
+      sha256 = "fef1097e86873f5f440cb8c2287ba1fb759a8a6cdfcdcb463a52bd422d683f28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/pt-PT/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/pt-PT/firefox-126.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "aa5729deb776cb1d6ece711e1a29d852f6600fd81e6bcfcf73efec918f934aeb";
+      sha256 = "2c3d49059792fe94a58d617211bd0425e26ae826cd14acc9337b0bc10142d006";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/rm/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/rm/firefox-126.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "7d830af829163a49bc91b8c3bcd21f96f5aa877c16b6e19488d1b006214db744";
+      sha256 = "2d55c3f9b253d636d971c0ed075b8e05b5afceb419ebd5a04a73f8ff4a70550d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ro/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ro/firefox-126.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "86abeb933c8f4b5ee8bf065f1b17dc8a62cb9f0f995de2718b5a36965beff40f";
+      sha256 = "1fd413429bb9643903e01edce0954fb8e58aa381d4d5443c1f625599dc4e9072";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ru/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ru/firefox-126.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "6b3a15971b7b8086ae252ed7fd3a01fba45f373326f1b98253b526445383b436";
+      sha256 = "6d775551e9afd71352e3b9680d6b73a94763b650ff887577f387c8182d44a982";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sat/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sat/firefox-126.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "27981b77a30d8492c5f219790dbbd15205cdede25d3320fedd11b06d27789293";
+      sha256 = "276e336274bc16684842d0f16960071d9c967372e9b2db6a9d922b93a974877f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sc/firefox-126.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "4a9375aa8a13ea042a4980823d3c53338adec15dfed9a107856f0b791cd11ce5";
+      sha256 = "98fd54a97fded3e2529da8f38027579b0138d672f600c172cf480d99ba83a0e6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sco/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sco/firefox-126.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "79c507e3fb3f76a4386f2564021e58392e678a496875ad836b3141abfc5c0978";
+      sha256 = "547a86fece1ce1194d4125ed0a692e6b58de3d91f987cdbd986b51545944e4a2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/si/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/si/firefox-126.0b5.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "652a062f663b0f9f9b88fa11beaee5bdd43c0ce0efbef09d3a4f7f8640febb2e";
+      sha256 = "b51da37e167c6c8007364f7dae2dab54b3bb8be7be77172fca509da47a44496a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sk/firefox-126.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "0097047998a727ba637ca3815baa3c9225d541530dc1f61dac3b5c3f47f07553";
+      sha256 = "d7cb0bb885280bf8d127c353c75eca0ff7d29c664a581777feb7ef8e2cdad224";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sl/firefox-126.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "dae503138aa312d14d4f9166edf6f7727dc32fa8aab89f038f28514d558c107f";
+      sha256 = "a3aed1ac28bc1cab53f102d9babf78f9ef911ca4bbc82df112849aef5b44a340";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/son/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/son/firefox-126.0b5.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "d222c4b8932d40ca3e369efc6640fc451eadf85774a5988cb9596cea2eb3b938";
+      sha256 = "76aab06c52a21bcd47e2b011d615c0a24d7948a4bc41795523acdc970f169edd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sq/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sq/firefox-126.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "b4af76eae0bd8fc99b93cc2b84bf82b711a56aaf939bfbfa9b91dd12c64a6813";
+      sha256 = "a9e607be04fb14a780ae3f691460e251ef040bc5d63a161c4cb57eaea1d03e06";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sr/firefox-126.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "cf7fdd51186046d4361a29f04473cd963c8ed7ea0b6e5c87435013664f75f593";
+      sha256 = "7577abfc5615d03e905a8b3a6e6907f9ac3fc9f852ac4b74ea420aafa4027974";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/sv-SE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/sv-SE/firefox-126.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "4ca01747d4d58e4068e30a0910adb30b7417e9f0099fda0643c2d6cb6a674dd5";
+      sha256 = "2a290055cb7452176a8cb36879611a8608b08439ea2c56c07d0f38ad7ed1d78d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/szl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/szl/firefox-126.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "093f2e5bebc9b56c263046adcbec0c70c388949c6303726d1c7145f082e56584";
+      sha256 = "9c9717adb2694e4c4a2d2e8743709be2fdafe1a39756527bca41e08bcbdae5ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ta/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ta/firefox-126.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "ab841373a4506f5fc75b432a27891451174a314159683d60588dc686706a18d0";
+      sha256 = "e15a375ed866faf40fc3721bfba4a7db657e06cbf4b95b7e98446d47be2944f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/te/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/te/firefox-126.0b5.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "fb6f570fa87efc7c7b806a00b7d415382dec3b56033898d49308cca56a21a2f5";
+      sha256 = "73744888ccb61dfa0d7e00578a3562b7a52c3cb959c9fd42dc865d94cd2e0853";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/tg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/tg/firefox-126.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "740c51b2b8d923947c8172f3ca682a50a3ba4608d9986aa0276d9c74eff88159";
+      sha256 = "6bb78afe160c7f2aa81b6fefb8019fe15b43f6b3ae1520dd2f2e3a2cf095f684";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/th/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/th/firefox-126.0b5.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "e68545dc159e09bc6e5b9b71f2adff5fb3b1e04d9b3215655df90ed93096ce31";
+      sha256 = "68594ec62ac6f9e5d625b98808500da43894c6e620ce84294b19d69baf507057";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/tl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/tl/firefox-126.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "ad9e56e649d1abe0b121422cfde5bbea64eab4cd7a6abb958653ec14343a41bd";
+      sha256 = "e84ae356c9c5ade2c74c5efd31f8d0763ce08f2bfab47c9fd78803565ddbb8eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/tr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/tr/firefox-126.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "4751fbfdab41dc742489bb37cc3c306a8afa727447124c3c605abcda75c4394f";
+      sha256 = "3f69c024458eb206a833063aacecd4a70cf6992226b77a9ab95badab12ec9e2c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/trs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/trs/firefox-126.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "03e0ed538ea78cf0e794cf8e3b630c23fd9c9fb6f84e80903a55a72927cd5f0c";
+      sha256 = "466c44c5db785b3727a3240b955cbc9a70da512c94230663957f7d7207065149";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/uk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/uk/firefox-126.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "fe1e2704f50e9ee187602d5ab2c48a6a9bed36f0484f58b35c089c26b1056c2b";
+      sha256 = "142d8c32e7670b0ede164d9b0d90f60990cd98794f94af00d4710f7669371129";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/ur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/ur/firefox-126.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "213f70f78079921d26c1fff7aa67c429889cf78d4525df184e74050460c95dc3";
+      sha256 = "de606cffb9b8d5441bbcea0db6718a3c5ef5352385b966790c01b8e2703141b4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/uz/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/uz/firefox-126.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "a994f6bc2472957bee8cbd04e61d44ffccabde6cd6e1e6190810b8b8f617f749";
+      sha256 = "862a18e1be26effe08af12a805f4a9b33a43249c63fa22ecee7d0129d5321a6c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/vi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/vi/firefox-126.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "53c7af3af45c0b48f29bc251403c6790a36ee8b18d2d411aa00fe17a21f8c005";
+      sha256 = "90567dd577f106ea84f87211ba0a1657c91f6b09063cad90ec99d26c2ec49f02";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/xh/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/xh/firefox-126.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "23d8e28070e02b6a57c3b73af9a963f644576acff5d596c6adb5c9a4fa916fc1";
+      sha256 = "65d18f15887e7b83e5d1026599bab3eb49b34c79cdc2c59db20d1ac94fa92312";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/zh-CN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/zh-CN/firefox-126.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "20734b69aa6528d67c895b0c31299b11e832939870417a3060c0e91c63514259";
+      sha256 = "cbe68dab2ce96b73bc397bb0b925df0e2c10df9b3bafcb4b74c667aeb8950a03";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-x86_64/zh-TW/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-x86_64/zh-TW/firefox-126.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "775a1d2ae1bf13a1c071cdbe7f112adcaf4acd3f487a16109eff2f163669147b";
+      sha256 = "f8e8a1ec3d71f59d5ed74ad43c8988ea8ae535cc8a256c1b4c43470891fd920a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ach/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ach/firefox-126.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "56d52f45f887ab8ea2c453c451ce06ffa50207074ea13c88cb91f64a933766c3";
+      sha256 = "ceca411e0d96ff89b59b8073abbd228ac246e7c09c3465825f8ffa22c8534a25";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/af/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/af/firefox-126.0b5.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "c54935b5256e20534233f48e76f6db85a876086e0f0638482e2e2e334f36b55e";
+      sha256 = "6a68baed628ddcb9e271745dbcdffacd59ba071e3cd40602bfa17ad37d41e219";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/an/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/an/firefox-126.0b5.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "7d18571a839b581fc7a0d726387865799908b7effdf48de674de5a7324b5ec35";
+      sha256 = "6d399f5c9b0a5e3d2ba183956625276549c1bdffaca198d17a6b7e41d3504df2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ar/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ar/firefox-126.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "8d1c53c88118fe051c3a879bf8c2c4ef8753a2bdfe798f4589484b6c2e10d5a5";
+      sha256 = "36c8d6c2fb1a53effd23093de381b206199c49af71c457b584d77a54875cc85e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ast/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ast/firefox-126.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "2855d453a4c09affb10d1df1fa28509fdb83c2a661ddb52d7dcc47fc441582ba";
+      sha256 = "f082b51e0a8f001241b01dd68710185e30dc486bdbe72e88ebd4a5d8f81ad2f1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/az/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/az/firefox-126.0b5.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "37604b46b07eab4e8548d62dc46456f4316a6a6b6d90ad2e3225736bfb465d52";
+      sha256 = "414f65c8da90cac9dd9263b1676d87b6d45f6d70684b471c48ecc1c77ef3fc94";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/be/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/be/firefox-126.0b5.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "d5eb6679664e991c25103f9bd373d61d22f8e7a84d6e14372c6d809265253ad7";
+      sha256 = "c8422e7b05de0b06bbee7ccb00662950aba2fc39c4de3a3ccaab678b1eab67ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/bg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/bg/firefox-126.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "8c552b4d5e99a65a585eff6b097aff7ece9a04e9a59c2e243406e9da752c9ccc";
+      sha256 = "af6eda65e459df5ba22750ed561299a0d3098321969f0d6c838e7c259872457a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/bn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/bn/firefox-126.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "28fdd013daca582517d6db0198e52c3b23b4b88cd1a63acdd5b1c7301aad56b6";
+      sha256 = "46724ab53c981519d9992b87ada36b97953785a64ff73867ecb180decaefb0c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/br/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/br/firefox-126.0b5.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "3cd74cc500442edd471b4e74683e852a818da10078afc9a2c7fae2116d083c21";
+      sha256 = "84eca14fec1998e46f13b4005f7342b7e7ef983e74c4f92429a67765d6772873";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/bs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/bs/firefox-126.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "d74f1df7dfbfd915265e198f32d6335ca143b7920e7fb2b8a73d13d8d640a8ff";
+      sha256 = "690b5119417934a49bf7bab42f616f5cd02e066868914eef14dec467c26caf7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ca-valencia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ca-valencia/firefox-126.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "99f2bdd3c4f97cf497fc76936c93d4ec3e58683ecb2840989c3b308406045688";
+      sha256 = "0235b4daedb450be2d520cbdc2761668bc534fcef98bcab46cff4b5a1fc5a993";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ca/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ca/firefox-126.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "2aef3753c8656cc41d8d29e8a667596578ca72f88fb72f14e481513425e44098";
+      sha256 = "7004c1c5e76103084bfc33078cce427eb12e5165cb025c9b98437a2552e97ebd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/cak/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/cak/firefox-126.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "6410e5de36e97b26b5f93b2b04ac97dcb97f8bc30738e4a96875ae4d373d0f1f";
+      sha256 = "12e2a6fc96f7cf7dc02d0d0cc62c07c22afa794b11a0c0a9ff78f7a58dfb82eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/cs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/cs/firefox-126.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "1f9669945955a2abce5c3c38803bd4c127ae9adf8949ebdf53cb3afd205b4fda";
+      sha256 = "9dc39fef30ce900c2590aa83e4d835497d0c8f0c92b12ced53b7fb69b575ff46";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/cy/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/cy/firefox-126.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "3d18ac42eb8a2224f1f267d4f398ec71def89e57568fcb66559cb7f5ab93f3a6";
+      sha256 = "b2717e2b66f40ab699d6b6ad7bde1dfbb9f05b25a9991338a2ce870309d50d33";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/da/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/da/firefox-126.0b5.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "ec72a711a47e1e7c5ff0942a908f35db1ccd73f652a988333ba43bc322e38a88";
+      sha256 = "5e65737aa2c58e85e2a5da501fb074774edbaf3c90ba35adbda5e228e989367c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/de/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/de/firefox-126.0b5.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "3f53ca69ee578d01cfe30fa5932f84eb51157abc28a6d9c96c0fffa235b4abab";
+      sha256 = "13ec999725bd3e29a75564abd8382b18d7a93fad5190f90f566896de1d4e4391";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/dsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/dsb/firefox-126.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "151ea9ef796fc707ca55cb4b682bbaae8363f5cc8572d4e439ce917c38930946";
+      sha256 = "735c6d3989a8477771eb90c0d3e002ecb1fd6ad86df2330c1e6934ee9306ecde";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/el/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/el/firefox-126.0b5.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "8f5c2be305f8ff83d5a05415747fcf751cb70e8d49da51f554ce628f3c7b94e9";
+      sha256 = "340384791251a7b150fa7b0971b8e0be096b810a739374af0e5196b94c486227";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/en-CA/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/en-CA/firefox-126.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "d9813f6c7f09b90f3eef95a53634ed7fb292bd4e4dd0d1d9eb03085c3cc864ce";
+      sha256 = "c9160a9b6d84a47d772a86839bd571e32e5e709cba968904d529d1e6037424f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/en-GB/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/en-GB/firefox-126.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "eaa7a84d1c3895f5afa8d81194b936d0b2bcfd701bf94da5d06a95afcf548bf3";
+      sha256 = "009bc08956d4e277e7f755dc5d646af918c897bfc1c19e53b3798d5fc6c27552";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/en-US/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/en-US/firefox-126.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "1af2d8d41483939e7e8a611644983be405bf42afe386d5e794e96d18c5c40de2";
+      sha256 = "2ba786e17d399865c2804e2f482486c88b96147fda2940f91ebc5d6fb8c8c7cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/eo/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/eo/firefox-126.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "89ae418ce031b101206438b4064754c2d71fd59edbda1eb61d80c4612d1fe5d0";
+      sha256 = "671d2040f839b2b04365cdb39a9843cc5b44d865cabc21c990a3c8bab8352298";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/es-AR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/es-AR/firefox-126.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "279ba454c1ad9b7f62e94eee415ca2bcaa1cd4452307d2160c61d625247ce7a2";
+      sha256 = "6794493fba480b3edf6fdbbff5fddbe512df75d67a1e5776e0191adcac31bbf3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/es-CL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/es-CL/firefox-126.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "ddf225b2c97201e375913004e3329cd278abffae0aec3e33963dbad2d581080e";
+      sha256 = "5bd489e8169dd4fd8b1e1176ad55eaef9db0f80608ff6b76aa87905f7e31947f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/es-ES/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/es-ES/firefox-126.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "0b26dd7323c3b533a0d76984d2a7e40302579d8db0f3907bb801d1ee1e5764a8";
+      sha256 = "ed36b3d79a6c104c8dc6c28c5f90cd874313facde07b8d8a147207e14d262f4a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/es-MX/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/es-MX/firefox-126.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "39ebd0d768bc4971a3d0bb14159e4df3fb2da29bc82b7e086542d8ff6431830f";
+      sha256 = "c63912d626371e8608a10e2fde4ab08dccd683b843266fe5a9751bd6f181cd18";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/et/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/et/firefox-126.0b5.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "3139b8fe4dd94e3d2e662069ede9cc7c2f3435e7d774891a485f2b28c8e2e33b";
+      sha256 = "aab284558624951a0b456b0aeec3dbe24f7db2b6d9200af844a4feecbcf2e5f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/eu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/eu/firefox-126.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "8aaf4ffa5d9c315f5e0b183decec2e67989e9febfbb32dbe1935e2f403c3e482";
+      sha256 = "12f2c0ff6b6aa9ee57123658a3c4780eb1715b348340832db593c00597f70ae7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fa/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fa/firefox-126.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "1312c8b7af60aa772d966dd668a0081db4a70229de05c362ae63e0d18e619f1f";
+      sha256 = "9152133624785ee9d890885daef561b8d40afe20dbbe8a322a607e68f53fa930";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ff/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ff/firefox-126.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "944fdbfa79b94e4fca811adf74d0ee4a3e48069a334e8d596c819363025e33ad";
+      sha256 = "54d96ce8f7aa91fc003d84aac88e4b64541d8dd637e73b28bcaeeab7174bc5bc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fi/firefox-126.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "7d82840552072b9ab100b17222d0f4ef0ff21136c3920e9a9e75bd5c7ab651bc";
+      sha256 = "0027ef0b7bcb74c71207b719fa11d4037f8fa094ec1ada6f2eb4a122546227e3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fr/firefox-126.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "83b74222a01946da395f32d464136600afa662d67b9f4f29ec0cb25af2a8df6b";
+      sha256 = "19d1b85044fb62490459f73a2950c7f838cafca1ad6faea453b1a0d863f9773a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fur/firefox-126.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "4444ea9359f4b5cf6d27a623eb067044bd3e65b334017761ea42a4cd59651f93";
+      sha256 = "e828482839a6ab4ad5b07129f68aa20df4e87f5ad00549b6a935d78c104be608";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/fy-NL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/fy-NL/firefox-126.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "156649d35ecceb71f2cdd0963035a408047660e938119183e7b4cae6f8378621";
+      sha256 = "ceed7138a03e781d886c4501237c0debe4ccc1c93bdb13a2a66c123e533ff984";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ga-IE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ga-IE/firefox-126.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "097d64c713311f2fdae7abf39a1a0e9aefe1f15c3d1590212c856982893a2bd9";
+      sha256 = "07a926e35884398db3128a54f90699c61abb289f4fb56f5f1c538b27f7c990b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/gd/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/gd/firefox-126.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "f973d001c697c3eaba250ace22bab505061cbede236e29886f7da0702d395da0";
+      sha256 = "a69ed32870bf43b616d09007c09697e4e7929cbfaf4c986a9f434c829a46451e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/gl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/gl/firefox-126.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "7e79913ad4665d4cb092e1a2df60c973d5f1411a68e860e54b49365718f712b7";
+      sha256 = "39eca241d736369e09e327daaae521a01c2ee126baebee0559471e5377e559b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/gn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/gn/firefox-126.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "9a432f51acc845932474f8e34759c10c7846e14c2938e03ba439d75f8f2410f3";
+      sha256 = "17810d1a89e594d3513650bafcc631d500fa984e6790cf852e6e9d71365321c5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/gu-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/gu-IN/firefox-126.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "5c93832a32b01be515ae199a09ccd2f3d3aa2a93541a90c639a444f4e91effdb";
+      sha256 = "357987ac6755e622fb3c744b5cfe530240f3192075c5f3f826a9daf7da420712";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/he/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/he/firefox-126.0b5.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "541f41dbc1aedb460a75f5f20f7020c803a30a2db500a737b7248c16ebd520f8";
+      sha256 = "a14429a035e34d2993dabc4492dc6ee57c5cee6173b453e19a07d268a89f01eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hi-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hi-IN/firefox-126.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "a6bacfd4871c8576e4bb9173d896af8d77bb6c7476df3eb602dc78a176401f47";
+      sha256 = "ac426d39cb3e064127a769c8a2bb45d165c7a72b9ad2cb8ebf05da192f0ce348";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hr/firefox-126.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "4f80ab934f8930dfa0bdb7937e61103cfb79d337d170ed6cd3bd308cab7f28b4";
+      sha256 = "ddf235e1f3f9228d7e8c88a8b0cea6c1d63f1cf63e46223e5e73b07b0d593245";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hsb/firefox-126.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "bdd0b4a3d723e2c165f65d585848c2036f022236be4b108b3449144d64f085b5";
+      sha256 = "2620c4edcc178bd4827e46ee6bee9a51c06d95d0e4412fcd906fcab47a2f481e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hu/firefox-126.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "5fedc53cc3fd9587d725fbe40c13f63ca3b3b5818d560ec610945d0b35a87c2f";
+      sha256 = "9aded5f3993dc498c37f9f91fcf5b778a02f664f3ee25ec880691d2480fb8f03";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/hy-AM/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/hy-AM/firefox-126.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "6672a11e3eb3bf05070928abf9d9505fcb9cb54481c338d8f9bd81a8970a3de0";
+      sha256 = "fc35e1abdfc19be9424dde459c02114e1e8263d1a7526e1bdadeef3cba571903";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ia/firefox-126.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "215fc720b28cfed1030866e3a9e668587a5848414042ce5af290de472627e6a1";
+      sha256 = "8ec912f951202389d97105df641d4f30fdab1131acb9d426f7038e65fa0d494f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/id/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/id/firefox-126.0b5.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "73705440c0afc58584d6045d22a8a4ae3ba50d278b214eb86d3f3fa21400a201";
+      sha256 = "7b64a8997419df4f5474a80538ab970510598bce5a13cd57d45db67b95559609";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/is/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/is/firefox-126.0b5.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "689fc69fdbb6377dacf07c1905233747a8dde9588ede378d6e24e55ab2d0f956";
+      sha256 = "71613574a4b1e4a33d29b282d4e50b77865733a744eae17e15a62aa747855d66";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/it/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/it/firefox-126.0b5.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "4c02e1a4b814353c43bc9df9c817205ac95329eff0925b629c4aba54d4b1bbcf";
+      sha256 = "939fbabba1f341d1296df1140a94dcbc0180887df70134021a94f8d9b370f42e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ja/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ja/firefox-126.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "a67e094199ca42002b76f5f2657b6579ddc28dea22c85b6cd6734666f2507d74";
+      sha256 = "62f9ba084329183ed68295bc2f1dfc374ee665fd842ee0bf21b1e25a1b5416bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ka/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ka/firefox-126.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "4090c415bd52544aba3bc03112d75c85d60f6648a621aef2b1fc98fd55d402ca";
+      sha256 = "d9af3d20399e9aa786cfec4c86a3c833a01bbd3a8987473668937557ee44e186";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/kab/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/kab/firefox-126.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "512f9e1c9e78e888d06682c0be5d92ed04c4205ffcb7e129f8ac186fdcdb922c";
+      sha256 = "2cd13c1e82bab687d17b1a517cefa10729b951dbbd021e4d98a1c26e791314e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/kk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/kk/firefox-126.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "9f047e003a30f6fbe69b025b6ec0eddcaf9f2ebe89920d81e2d9ec6ccac9db2b";
+      sha256 = "cb41f01e7d62c82da4c0d73868acf9580f9847e0c8ea9d9d255ba7e517d657a6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/km/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/km/firefox-126.0b5.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "528ef891ff6364b94f4a34d269cb9065b80911a779910180ae26a3ae3c55a4d0";
+      sha256 = "b6b18a47c9544880f2996092d11aaf61e9db093e55d75f5781bcb1ecb72b1008";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/kn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/kn/firefox-126.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "44f7648828c93e5190401270fb2b40813376d4b63e09d60bd88d34002acd63ad";
+      sha256 = "91c94c7b774b01bdbd9bc779beed08a84f63461aa8026da13e77cc5732d04609";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ko/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ko/firefox-126.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "8bb3b5d2d47fb8fe4e1640ff7f190dbb3e8c2e5df3ce954d09242935d6142fd4";
+      sha256 = "ef58ac71e216ae522860a4aece4901120e53592ffa13c6a59cd06f78a8272dba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/lij/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/lij/firefox-126.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "168ba4b30162d99d6627d72cd1be0c3ee52a68518c3133834676f7dfa8ca4b9c";
+      sha256 = "751281d726765270d445575a09bcf021269a0d0205a03b49fafa95b6a109ae85";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/lt/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/lt/firefox-126.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "ab5bb9302ec3335343d252195675396712e04174ce922642e88d61ae9e91aadf";
+      sha256 = "d70751a805a1b09cb7dd113c64b3ee2ae49c26c5c576e8be05f20a4074cafc1b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/lv/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/lv/firefox-126.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "d0448e7e053614e8fcafb29e8c374fdb733992770506e0a8fa97e5e93166b128";
+      sha256 = "d117fcc82eeeeaaa468ef3191a682c0605930c6dc9321ae31546d4a0805f6a1e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/mk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/mk/firefox-126.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "8baa80bdb4a33e2fc22224b179b4b5e383c6106b82a3d7761aa47a8e50989dda";
+      sha256 = "ab07439555307e5174608c44ec3083051ebc98e712041cdd6a55c18854a5516f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/mr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/mr/firefox-126.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "029725d79e5b070e53196036605c805030f52c7a9c9b11b39666da8950066df4";
+      sha256 = "e9f7cad42a6b23557ce6393228763eacf617d39c22d3a25e672b05303648a149";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ms/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ms/firefox-126.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "4c502415b50a299f93b3c3a4ff5f740b6cfcabe5dbfaa67db2025d025a03dc52";
+      sha256 = "8081bb08a4cd0df2cfb2af38233ce90d5ff279250de8b00fab1c6ea7a1070c74";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/my/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/my/firefox-126.0b5.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "25e9f31f91e7e3ee83b85d3b01e7793941a1cdf3e35f200f14d1dbdbe67b64a9";
+      sha256 = "fdde8f4f13f4ec204d6dd1f0cc538f26c7fc10d4820a3c300a68c89a4708ea43";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/nb-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/nb-NO/firefox-126.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "d34db6f7582793fac80928b41008d3e55fad22605910ccadfbc9a5c429d0656b";
+      sha256 = "f03070ab64b573765e8afe8cfa1d1bd361e26ebb61c43665a1fe5ea5423ca6d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ne-NP/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ne-NP/firefox-126.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "d697188584025b85f5af51d0f6bcde48f08b53946cd5c3480e634309b4361479";
+      sha256 = "841139b185d724fb24163c4e940257d73a1d10255d8cf85c0130320a92486fda";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/nl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/nl/firefox-126.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "01386e3bafab95109939a485131083800c801914af4a86b197c4c4b79416d600";
+      sha256 = "5d399980953adf1612522ff9e1e24f556b7ae0889b66acd3b2e8a0755308cab6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/nn-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/nn-NO/firefox-126.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "e8e0421331d93df112ecbe9a769bfb6466b772c7cfea616f9e7aabaf7a9db0d0";
+      sha256 = "eb37103d8f4ef619f6809f6dfb1d87b235f9bd357acb93a1c97c929bdf18c6a2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/oc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/oc/firefox-126.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "5e461f5fc46895d3e962f08124085610434b9b980ba61c44ddd78b703362904a";
+      sha256 = "8a10238c0e8cc48234ff6acd073dc0cab6dc494b20b701b8f3b426242d64b08b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/pa-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/pa-IN/firefox-126.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "57fd046620762ab4e114dde80d34d7e5954df44e76733ac705cb26020e65447f";
+      sha256 = "845ea79e53f8bd03a12d443d51122a769c0d3aa95cfdce9ac82fcff2fecf1882";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/pl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/pl/firefox-126.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "8f9a90346f5e4908f090f965c6e579b0a85cdfa895a304874671349c302e4d2e";
+      sha256 = "e6787b2d190da966d48ce17189c442bfd7376f55d271b02afbc6555e50052060";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/pt-BR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/pt-BR/firefox-126.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "80fac4d4cdd0d501dcbd72a710c499b656b6f80a12b1246d3c31ea3f8d601fa7";
+      sha256 = "61526013ebbbc38d753423acba412e6df40e8872a1a8890b2bcb010d0749f773";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/pt-PT/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/pt-PT/firefox-126.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "9fcee0a4e8a84bf307a94b91892741a3b5f1a7e1d8a0e230869aa6a5284fa624";
+      sha256 = "c6ac02f336e13313693cd50bd744a15ae9948d7f21bb65cd2b71ddf05bd84f68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/rm/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/rm/firefox-126.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "f7e39bdb3d4ca6b69366a983a17fdc76049ee55878cc7561b813dda33b578c0d";
+      sha256 = "6b68fd8bfc7d7c923b9e85a5876789be4d2e293a06e2ce94f63b89314297d723";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ro/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ro/firefox-126.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "3363738bb741a890aef513571244389beca8fa46be1a89019e33ca4c7e0219ba";
+      sha256 = "96dcf7577671ab41572b84fa33c91b1f847a819a20f62b23fdf86f9047ed9ff6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ru/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ru/firefox-126.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "75377fa4fe3ab20d6f85a9bee69674419d119706dc62e8f9a43f1c7b8f92f303";
+      sha256 = "13838f4841acd30745acc6d8ac4e4fe9317408ff0334d24b857c44a589960076";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sat/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sat/firefox-126.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "711caf4da6b05f767493923f6f5d9fa6cfc10ecdd8bc6f0b634a0b1e4ef0ee3e";
+      sha256 = "4e1aa1e417289c790f67061fdc7ca753ba5f0a6ac0cf2c7b319ff56e96059ea1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sc/firefox-126.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "5ea83a4f67b5c5eb58d765998b9bfe9392886668effa1ef91d7a59be30f63a6e";
+      sha256 = "5370018102b2d99eb1095f579a2eb913f814fd6119f981b9091e3d2ab31ae6f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sco/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sco/firefox-126.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "ebcdc5d3bd4ae75a9b75b1f6e2a5c385becf317fc65d6e90af7648c7723cd1f9";
+      sha256 = "6b630539247d6a3bf04bd49bf88e017d6124cb122236ea78bd1411d4aaabf722";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/si/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/si/firefox-126.0b5.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "1180b1a4b66c33c6b4a4686832d7301ad38c51c91fe733989cd4512d9a363846";
+      sha256 = "24b6d7657d85e9fc6c4c2040d9265294e625523e74f41654b3d2cb3ab7f7cdce";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sk/firefox-126.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "d40196fb37852a6f7271f957b10fe7efee0399e16c15156165a75e6eb897e99c";
+      sha256 = "454c0fa1d2d0192fc3c292a65f343b626209858874af70b61ef23ab553960fd0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sl/firefox-126.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "3e453a5f1f2cd162c322e1783c821f3d0c6c1a3029fad9cb4137460ebb416180";
+      sha256 = "06404ae7588f88cca7298a8be3d642824fa4f36a81fcc2153986b008aa92d55a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/son/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/son/firefox-126.0b5.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "66f8d948dbfe9c4e9e3bb98f4158651749e79c30383d659962aca9637ae13a01";
+      sha256 = "b4314086740ecff614b996820b8510f21a945a0d6ffa47d335ed29f2905b0b68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sq/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sq/firefox-126.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "685c3f88030bc4082d13fe3b496219a591554d7470301b52a3b650366e4965a7";
+      sha256 = "2d765c05e3760fb409f3b1150485f601a053d86ea04af1a2e50b9561811b22aa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sr/firefox-126.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "47cb9c59f071dda48794ef0e5a121d711862ccb1f4c7fceb49b8a07df6a279e8";
+      sha256 = "8ff306adbd480e9cd2d970a53fef27d3c395e34fdec447f7336610647bd699d2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/sv-SE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/sv-SE/firefox-126.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "5d513a96e613959689aef88b805d7ca72eeb02ba909122271381c9332f856647";
+      sha256 = "ba9c313ba259620e99e9a6081e441a09dc93f79c684986ff8f4d5cbc31d5a8c4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/szl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/szl/firefox-126.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "bb9c37c214cf988dafa50c100528168004783004e9c944c488fa69685fe53af3";
+      sha256 = "cddeccf3445bc9f109b828ec6c19ff4afc16977a92e44490db269851e502830c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ta/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ta/firefox-126.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "1a1911144b8877ef8d6c12bab468f29aec88a999ce8abca715a310fe2afaa175";
+      sha256 = "a658ad77c57548a19187b504c5684e6e94f41013dd2778579419e909bc709058";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/te/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/te/firefox-126.0b5.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "7189b85c076a2bed2414f8e2378ae23411e112d6d2ca4018e2c1e0e8dfa73b1c";
+      sha256 = "1cbb9543785690ff78e2cee8b02305b32ca7b5a5df190cbf9f00237357c05f41";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/tg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/tg/firefox-126.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "5ef586cf4d00f4c06510a2870e15971db40cb39bf28a7488979056f4ba67cb31";
+      sha256 = "bb93d2995e8d39bace1a7cc4641b56ac79631669a993a1f296e7fe016617df1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/th/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/th/firefox-126.0b5.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "eb5c44af129c8f5610d3cd8f609775baaa99917f62276c589044fbb4706b9d6c";
+      sha256 = "955e20194a32a7c08ad96fab1ba6afd6850b0cb012c0e4de395c1c5cbfbd8dc4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/tl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/tl/firefox-126.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "6c4282f4a591dfb9fe6640bd54ddd9a226e0c81398e0fae3a870f183eb3bd1a2";
+      sha256 = "fa982788ef58d98081b9670932549e9d8220dddcf643069d1ac944253dc0e610";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/tr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/tr/firefox-126.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "7dbc7bec063f87f3f819be6bd6fb86ea391ec1ffdb5e37a851da12ecee04ceb8";
+      sha256 = "3f12c1b742d4945b8fc7019a470b682ad409d89ca679900d6f0185b313640dde";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/trs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/trs/firefox-126.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "f07ac8d5971d46bbbbcb000e5171a90326dd43ddedfd380e5c16c445bd75a1e5";
+      sha256 = "b059aa4c12343e7940fdf7de08da40fcf9a5f230c5470ccd8ef3bd491c8ce2db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/uk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/uk/firefox-126.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "545bfc1e7747017e7f7455aa1cd0b49768f50b38c8d688e502970d153638d3f6";
+      sha256 = "f6349cd8a79e36f81d53b597b1068a5b853f34378dac2aaa59db213081764b76";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/ur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/ur/firefox-126.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "06854c5ecee95ac99b5cfa60cd1613d46bd682e943faacdc73bc37ba6f525d2a";
+      sha256 = "94ec0fc0bc2d3d53d7acce4300cf09571a0cfbace00ba41a69ef75ef742c709e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/uz/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/uz/firefox-126.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "b90820febdf7ad047c20a7fe30e451e28db57a4e37801a897769d3327e5fa1c5";
+      sha256 = "e77772aabe8473943b5c062a1d7e6b887cd2e8205d5c0d87ac69819832c493f6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/vi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/vi/firefox-126.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "0fc392639fab1c4355d81483901da48cc330f32c73219307459943369fbfcc4f";
+      sha256 = "c73802774f2f9dd73a62b9d07fa77d2e8da62f2ab519d4a1454b71d6a67cf9fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/xh/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/xh/firefox-126.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "c9a28f90105395816316f1e3dd530db01fa2816d28df72cdaf72ea948e6d09a6";
+      sha256 = "cea6198851ea912ac1d0e2e060fcec056054230dd532ba64996cb1e148fef6cd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/zh-CN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/zh-CN/firefox-126.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "30b8b1356f61011d7d55d30517f64fbe000830ad488d9e7e3aec3f691483b035";
+      sha256 = "0ece0aef6ee9112e92e72c570be6eca108b5331694de4247a2aaab2003a95770";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0b9/linux-i686/zh-TW/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/126.0b5/linux-i686/zh-TW/firefox-126.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "d52898626df662970547ab0e9e407966dbed09e3c078f80d3a0a4552f4905b04";
+      sha256 = "b2cd12df0910ce19de2a1a4f09415ed318b25e9059b526c79cea473e72c60727";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
index 7a02d4c8704fa..fe964b95703ec 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "125.0b9";
+  version = "126.0b5";
   sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ach/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ach/firefox-126.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "5763a1d8083ed8eb427559dae674d2d28de8d89bbbd34b7019ac560b08dcccee";
+      sha256 = "aadea702b7fd435c9a6a90673c1b055e78e6c31bf5ea8b22b362c394b429cfc0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/af/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/af/firefox-126.0b5.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "35843e4753345b554047212b8fbaa964c9f551bc17bc74b675630ed7ce975743";
+      sha256 = "9d0443133506dfbd6f20038aa8fc5449baffc2ec39290332145c2069f8bc9a14";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/an/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/an/firefox-126.0b5.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "0b41f5d40954495cb185e9f30784d6ce35202d1b28639c5a6dbcd63ef9d1e034";
+      sha256 = "687d8a868302fac2a46168d1e0c3b9b6d40eadd906a17cc67732c7c1d9abeaed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ar/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ar/firefox-126.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "9dd02b44542ad9c672038b2c810cd4aa4650a0463ef3e4be803e64e44a78bb3f";
+      sha256 = "f69161d5163d3d36686a3ccb6a8d60a86846c2858e9c9bd1c471677f3bb9e6e3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ast/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ast/firefox-126.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "bcbc69b092d2b82a8ab1ec31e7514789f5b86eecb164a1893855b206547c7a11";
+      sha256 = "652bbb9d51ace74d186ae3de36aeebbd7e71a5e72a354c604106da44e632931e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/az/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/az/firefox-126.0b5.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "a106c810bfe2225aef6b264e76d80938b4202c9bac411f50d8f1d0dfea8e8d35";
+      sha256 = "30e40363485d7bd0893c08f05dc97741e08cfceb04a7d2eb7d5ccf17c72bf944";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/be/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/be/firefox-126.0b5.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "3126353bb4bb59d248e7f48ddfabfa22c4cc28d855c76dc221989be1a91e8048";
+      sha256 = "fac31c7f86d82dd015f1227d4b39924e1e08cbc9d0b6a9dde5207f2e3529c76d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/bg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/bg/firefox-126.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "62091a371df3c8c592608dbc6ce888ed543cdecf481e20a69063442cf11a23e2";
+      sha256 = "9a6fa24f51767f3b303d61d7dfc760ca55defa1296bfc9d037ecd1ed6afd9c09";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/bn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/bn/firefox-126.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "4c16ce4aaa860641e99b91a67b41d0e0acc249fc079a0e086c483fef14d81fa9";
+      sha256 = "65b6bc95679547df0a6986fbd7156be0fb1e6848bcdba02b645c5779e54054a7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/br/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/br/firefox-126.0b5.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "48245fcc1eea99682635271c2eaa9557772c90e4a64b0b05258919bc06d0adfb";
+      sha256 = "d555b830bbdc48e0b5a59d4a4f2f73a2294c099b5a91bdbbd32531f4a89b84ab";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/bs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/bs/firefox-126.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "b42fe380f2e758695f2eca9743482d0d2218943a2318df6ec026588513507f07";
+      sha256 = "3cba8d16d5edc777353a8654b91e7cd1176cdc2acb8c7df5d2713951dc21bb2a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ca-valencia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ca-valencia/firefox-126.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "d1e45ea220681430c3f797828c5dbfa49f6f13a5ad67d51494fee6ac2da42277";
+      sha256 = "040147cd8ecd354485d3df4691ca99036d8ec2ff0f25add7729e4a2751d9d178";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ca/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ca/firefox-126.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "b9fd921b7ba24bd7cf4fb39e79bbd2410d515742477303e602d2c9b7c851ac50";
+      sha256 = "0614be9b81fb8ec1156a6b226d82e02346a2c229b148ff170583a0f14a7b66f8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/cak/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/cak/firefox-126.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "b963950aad364cc55e313bc0137ab64306e00d257a2aa04a9a005e28dad4fda5";
+      sha256 = "7ab6099b339aa64775562c0e388b604a571ba610ed2d22835b6ba3fea3f685ce";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/cs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/cs/firefox-126.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "5a1bbf1995be530f85af2007bd78637e070220e49f4639f5591a6ee784b1accd";
+      sha256 = "b367e93b63e0eab7a7e1176b2cc877cc31e1b8bfbe23c64c4db2492f915ebd64";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/cy/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/cy/firefox-126.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "e60170253b00740f68dbb2bf89fef3ff4ae54728dc5663b4ff1ec2902861f977";
+      sha256 = "fc659db104968d92aebdbf60b0341132891ed6d14c0b444547a10a2a2d4be262";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/da/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/da/firefox-126.0b5.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "e9917414d63b04cd67b36ecf5e042107cdddeacfae82cc5df812478e073c8db7";
+      sha256 = "4ba74c927d83e8e84f4db5b8e20b9a593c2866640187deb15c9308242cd20994";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/de/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/de/firefox-126.0b5.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "b74db687258caf7ea7cf5a0a25a456dbb7ce06de7ec08cf7e84b641bf468fcaa";
+      sha256 = "e7bd1092bc9bef535a642ad0abc90bc855f83350f22bd2345f23f0924917b194";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/dsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/dsb/firefox-126.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "a63af3feb1795d1384754f739ed9c8264578cbd1245aa1df276b2bb1fccf0f8b";
+      sha256 = "8a27aec7aa633671f6e5ec385f2787216257b3a667f79246db496b239f6216d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/el/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/el/firefox-126.0b5.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "476d56afd9907e10b390ec24b9a32cffef32361ff2f53e82ca3dcb06d804e37a";
+      sha256 = "4a773f33acfe4f2f6e27d8b59dc5df448262f972985c1cfeeb86debd167eb536";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/en-CA/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/en-CA/firefox-126.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "f83776d4acede5b43b66a64361c5a0adc88118db0094d9f2e846baf93c17b180";
+      sha256 = "bb878750660b575da5519c88cf06200e5006ba8072b580c4aea1dd9b701ad4ba";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/en-GB/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/en-GB/firefox-126.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "f38a1f63adb9a83611741d070fb383a358ceb281d1531e7df1756ac45e685d6a";
+      sha256 = "ac6fbb711d9de6c3a307b0bffcfcf7e5a3d50b9b62a280b026bfd7695280c223";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/en-US/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/en-US/firefox-126.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "044ecea7ba76658458a4993bdde9f3ee11f728ee80f30814549a0650479918d5";
+      sha256 = "8698e5366a2f746208a52ac38ccf4087fb1c1ae4b2cc5596ab6ad289339a88cd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/eo/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/eo/firefox-126.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "bd2c479b2713f6bf6a97a29a97af4c746c223cf8383b0b141562c641625b2aab";
+      sha256 = "e7f31b325611365b62223d816ce6f6a0d5b5d1b13d7683d37f6dbf1fe134cccd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/es-AR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/es-AR/firefox-126.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "ff04b00f2fbb4b141a457144c7004fb3603da8de4e91dbae8f8213b12c2bf62e";
+      sha256 = "e2e6cec00240ff005879786c3b2ac9eaa32bf52f1c9bb56119161f16121f7476";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/es-CL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/es-CL/firefox-126.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "f9c123392943f120fc4da1db741ac37546c5f11f131acdc0ca3a78356cfd063a";
+      sha256 = "d31e59b6ab3bb8ff78c334edf03e4151e56449b5d4de5a1463e3e5e720488cbb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/es-ES/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/es-ES/firefox-126.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "613ddac4090a69282b6dd71a4406d5b6a8bd0c80213727f405a907a03a959a06";
+      sha256 = "bac16e3d7bf01339fac50077514f0e8444290a6c0349839bb155a8539324679d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/es-MX/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/es-MX/firefox-126.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "e29803b3625237c89eae9fc822a9d0e1c4df787b05403c7608f50dd09b214e36";
+      sha256 = "e41b8afba817a5eb84117a1526cfe26ebf3f8467d6dc5abac057ffe0d2e0ea94";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/et/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/et/firefox-126.0b5.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "8ce5eb6067e6ebe543edc7300483168b37e8517d510f1043fc3268eb6a974dc7";
+      sha256 = "20ad510b43d37a58fd80c590340a947c1b6df95590b97bfff7cd4c62d07723b2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/eu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/eu/firefox-126.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "17cda4971616dd4b94e2fda1f14b04a6732d7d696c70220a85df84d60fbf4e70";
+      sha256 = "d1806f999e5b91deb3fa5e4c7858e35c8e141f347efc990fa461069bcc5f8175";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fa/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fa/firefox-126.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "137bbfcc720f9b816b12cdf8411bd2b2eea9f64ab55a097d4cbd183d3d4b30a2";
+      sha256 = "db81f9f32f2ffa07d99ffec55c19ab610a71ce33acdad63aed6a51482f73b3ad";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ff/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ff/firefox-126.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "c83bb94bb16d6bc70279c51c1e2b437747548013d019434629b526d371ed7301";
+      sha256 = "590d831346b3e052dc07ad2682ede64289c7d34698eaa5e367403553429f6b6f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fi/firefox-126.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "c4a6597b6c859a6aa8d34c7bf7223245efab431dd4d11bfc7211336b78a135d9";
+      sha256 = "a97ad5462016ca9bb909ed62989257a2a84f6474541fd4d110f85d5363e86323";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fr/firefox-126.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "a36791d4bb76ff3ab44f4ef255904e354657fe9293fcb94d276063d430dde71c";
+      sha256 = "f376c6778bc22ccc6fb08164e246d86a1410a767c76530c0e995bba633805c49";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fur/firefox-126.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "a4380bfafbfe0e752d67f5797e592f3be615ca054b78cdd1afabab227d23bfcb";
+      sha256 = "bc5b436e9b1ef0a835ca79d522a802b105792bac55fc94c21f5e1cc8c2ae650c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/fy-NL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/fy-NL/firefox-126.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "0071da3213e18c38cfda739d00a546772f1726461ce0c9d1ca268137af1db628";
+      sha256 = "e6e84437be056e031149e13ae3ad67327c1aa737cb1c4f4d2aadb20be453c057";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ga-IE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ga-IE/firefox-126.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "e55e26f3f9c3a1326d299345177e4f44a088f4342b264bb039882495f2e66fb6";
+      sha256 = "147bfbeff3cef160c82f978c88f6fc2f2aaf1225213a96704343d5baffde7a24";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/gd/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/gd/firefox-126.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "92cfd3ae367a1dcd42cc8b6a206bc7429d3eabc26c4f98662894ffa904c27fe2";
+      sha256 = "e00839b12a3bf928ed25804ed34607bb2d5904a9aa16a1cb701d45105cc36301";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/gl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/gl/firefox-126.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "99032185cb6591ea1330c3e83d5e5fd5acc6bfc735eb1d50758224301e96f745";
+      sha256 = "0689aa03acab6daec08748be34ce4dbb59419706dbb92e1ec5796ea574160d3e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/gn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/gn/firefox-126.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "2dd02e5fe5e49e7ec5fa6d29c88ba1e33ff5181f086620ecf0782936a43f0c95";
+      sha256 = "4a4177a177e6fd1c9c2d284c968ddd1eabf95cc68a1521f6727787235b0f8cfb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/gu-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/gu-IN/firefox-126.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "5392cb825509e6398de432d3146e3a6739cef31db9455aec3ad9c80fdbf8f48c";
+      sha256 = "4df4c1632484eb1de64dff8cc3e564b85a1f0d3f3fd984caaea9cfa7ec330a67";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/he/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/he/firefox-126.0b5.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "43b5397f82010d596bd8d9601b2302b06b31d7e4fe458595ae28cbefdf6e47f0";
+      sha256 = "50f51a218cb85bfb291b35f19d320886c31c86f3bc62dadb4b8a67e61f09dbe2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hi-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hi-IN/firefox-126.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "6d5cd029f6ea5324121c8ac5625b7fae0dca18a40175372f826ec6c4734e8043";
+      sha256 = "78628f9f924247648ca6bfa5f9879d9d971e5cfd20c38d490d545f37544a5631";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hr/firefox-126.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "e654f0e7c19eb8aa7ef774f83106a2ea0c2f0fe5574299b1a3245424de68d213";
+      sha256 = "e423d5f514b7a81a6b0587e507ddf3ec34dea9c2355b3637fe928dc19a94680f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hsb/firefox-126.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "3fdd5e833d0a781007d78ea4bb0c0f80cc51a36afbb22021e55f3136405a3ec7";
+      sha256 = "aa12cd9f3f5e40e4cb34835bde908d19fa49cd56fd5644ea7d10e7b246181e06";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hu/firefox-126.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "2619bb98fdd5a1fdb66ba05124abf2d74ffd70bcd46e20381cbcf27ca34b1d11";
+      sha256 = "84b3e5042cef460bc83703274f77dd0eeb8b4b0afca499b5ce9521beb994ca9e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/hy-AM/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/hy-AM/firefox-126.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "521687b599c57f3e689096fecf3366351f4eb4416324d72cebc2da7667c0b2be";
+      sha256 = "8871dce1aa612830bce519312efcbcfda4f117397cc5e87b2dc0456e6d71fbff";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ia/firefox-126.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "61c341f8a29984f504bc0b6a236d7aa3871d5c7b85d136526eb91c7e8c89abfa";
+      sha256 = "6b5464a8913c7a6cca023c5e19466e2ea217a71366d833b50dad61fb27f9a4ed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/id/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/id/firefox-126.0b5.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "5c8b39401c0307fcc863fc9ac6df19347754bc0cbc95a1337fd6ffec8a0c6cb8";
+      sha256 = "bebdc7251b629e9aef7456180cc8ec38f624d50239d92ab4290e0ced3013c14b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/is/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/is/firefox-126.0b5.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "f3db46c7e8dd670fcfb3b4e03fff7c058c391366e1271aa0bce22dd92544dcb5";
+      sha256 = "489c56e584acade82eecc7873c3c4e68c8ba23c6441311cf1c166e633f233618";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/it/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/it/firefox-126.0b5.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "6d8648f7f86947640436b7f690860437b9aa23968f238c0de788943b50c18347";
+      sha256 = "7f0724aafaeb78001de81008e165bd8c7e76db4633b8f452d577a5f50a1eaa7d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ja/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ja/firefox-126.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "0b0e74e3a132883deca562684e5ad6002779e4103a8a222c9d73744a5198e230";
+      sha256 = "d6fbcb972566b90e4858b14ae864eaed088e4ef04e4a642b43656765e15be008";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ka/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ka/firefox-126.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "8113f606240b54623e6995d73c38375008b8510d586a86127a73d88f15c9d29c";
+      sha256 = "b5454dacd7c3b2af91f880980d6948fb864c99a92f5a6b7d1cf775a70bb1df22";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/kab/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/kab/firefox-126.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "c1364acc20e9930eba1571408c5554d7668b3ebef7d481d437eec5ecb4d34d6e";
+      sha256 = "326a5e1c452b869ecf119a3874330ccb341baf10f68a17716350e39dcc6621dd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/kk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/kk/firefox-126.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a3d4d4cb5dc5374ea732fc69a350f1263e12529e09358329e926bcb4db13493f";
+      sha256 = "bdecf37f2f73eba68e3690dbf8c3a8c6174e4e54d6255f1e435bf106212f30ae";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/km/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/km/firefox-126.0b5.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "7c44d1566004a5bb60239842c344db63d458d58ddad6bd1aba1dcbc1c2d50b49";
+      sha256 = "f9f37b2e1b81d104295ae5c926ae201b2bf1e6620eda3c1d0a82e17153c3efb8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/kn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/kn/firefox-126.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "ebc55e0ec99fdbe237d159f8ca7dc2e8f12aefd6777f56e667d18684a77a0040";
+      sha256 = "9d3cba10d8ddaa85e7e1ade5484f3638f88c4b6d009cef4225ce53f2b5870096";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ko/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ko/firefox-126.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "0f01a3973f7c56de695bb59ae2d5086a8c968afb832a2064ee66db91400f80ee";
+      sha256 = "10884ab9adc0203b5352ac38e1a496b5accca5dbc364c2b383de351f16d6a420";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/lij/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/lij/firefox-126.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "9d87ba2f9481706aa171987b997db8d6f46bf06d4b169f69e5176b2f46361300";
+      sha256 = "954f466f7a1803b63aef624e02e3a8bb1bb449e5941695e61596962d56679821";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/lt/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/lt/firefox-126.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "0c591ab551bad318e76cde71442b31e131e9c1384aa857e88a8e091b16b7fdfb";
+      sha256 = "0995741098c46398493bc153ee797d540d63d77bec642143326d066e9a4349ee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/lv/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/lv/firefox-126.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "83c4cb164524bdb06fec6663b47ec6ef8c4c875fe77234c3378e5a893617106b";
+      sha256 = "20063e09da70ce19d9abb0bc6c6f657c6d5661f4a20c281fa56c06354034dc10";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/mk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/mk/firefox-126.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "a16ad06e6cfa4f3423398017da2b790da75a7fbc07c0ea69b8608368636229a6";
+      sha256 = "b27ce3d8dc0fa083afaab8844350cba8d0b356cc0dd8cc591458c993396f637a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/mr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/mr/firefox-126.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "8b2bd7a5eb289c8bdd3d39cdd9191bcc52373e0d82948337b185176057350dac";
+      sha256 = "6fa92ad541934296b50c34105908feaf2124125350cf913bb1656bf7fac5784b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ms/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ms/firefox-126.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "5d417aedb9c82d764cb282b545af3a0861b450aa6c3b5a52eb1122b6eac5d0d3";
+      sha256 = "d0623362a8a8830f117870464de0c0e648e32cb66b960efdf49c43a3c6dd3530";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/my/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/my/firefox-126.0b5.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "036be95f31d2c807c314f8037f7eb4d29636d51e624d2e4f7bd969504debe089";
+      sha256 = "4a96f707867cc48b34c558da67b4b3ab2c561d4f9221635bb559a622d5ac5481";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/nb-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/nb-NO/firefox-126.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "3d508277cbd1c7f0144f4ed84c55856debdf46ecd12850fed41863666e6e9335";
+      sha256 = "155a097e982c47636f7f9f9816669ad201dd11f2e4d034a4b5f27757234ac73d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ne-NP/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ne-NP/firefox-126.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "0b4a561c4a27e08686af8739a5156f4ee18f04844ba25797c1c04fdbfdf1570e";
+      sha256 = "7e9dd8d3cfd969b25c2e01d813f997df86e9c05016e98a8e991dbc72482c545f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/nl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/nl/firefox-126.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "1ce7061b04a54c7c889bb5d01f6c142f14380859be09c98bff65ac5997ea9b27";
+      sha256 = "25fc631ec62ba8b488c923c06dc7d1846102069f6b9fec259017809bb964ace0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/nn-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/nn-NO/firefox-126.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "f9599b1bff9bde775ec288191f5bdfa3a1d9e0b2f8bd537d205f1678108156d1";
+      sha256 = "3d76232fe1126d94f64c7dfec0975acb6b8db9668275cc43fad5a62a2b9f9a04";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/oc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/oc/firefox-126.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "63f2d7377795fa765465327e56fd40d2208d4d1248ce57ac148c2e9b394171a1";
+      sha256 = "0dfda755cc4f2b4db90bb1715fce8ea630f8458cb42aa32a6008ecb8f2d7535c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/pa-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/pa-IN/firefox-126.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "fc3a2cfc86ab632f37a6b52f68c6b3f8fd88b27c7d396a62e926589e187a14f2";
+      sha256 = "10b14b2f8d54dda727c1ecd6dba83a5e9cad880f4228cc398e6ca7fc1b43227b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/pl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/pl/firefox-126.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "5fce867b9c70330c0c73f24020adb2a822baf0781fde828e387b82c23edd31e2";
+      sha256 = "50ee99d11d384f079480bbb9c824519e7b4756b3d4c7fd908353b3d95d538b6c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/pt-BR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/pt-BR/firefox-126.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "7854d304aef9c0b91e2c116580a622cb2e3b4c856e2bdd953243631c4ff098b0";
+      sha256 = "2e09ea51ac746045fd40fa6a7925e0683d7fc13eab785de294d7b1ed540d04b7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/pt-PT/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/pt-PT/firefox-126.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "81ccd6d70fb796183871f57544de81b54a20a809a82376c24924c82b6e775242";
+      sha256 = "ab9bd6fa3dac37103ceaeee7665ed803c4934d4d8412b22fc6ce175c1b537b1f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/rm/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/rm/firefox-126.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "c4f015e71bc3e16f5a6d24c6e29b7338dd34ecf9ee2d40ccdb699fd688b4f7ef";
+      sha256 = "1b86c15f6bc1036dfd583ead5ffb1495850c1d6f513af0cb9ee6c7e0703d51c8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ro/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ro/firefox-126.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "ea6f517ac3c7c30a0d07aa9bc6f43aa64d48165bcb5ff4a59ba460305c317666";
+      sha256 = "6611b9c1af4dab80244af1d6f90354d5ff55e7fc3a29ca7ac07a408c62aa527f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ru/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ru/firefox-126.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "75d7d6d46808d100e83490ce251297e813d182479a8160f9283f7dac22d9df3e";
+      sha256 = "8991c38c843101718b10b0d1e1380711593284cc270a7e0897201f3d667a39fc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sat/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sat/firefox-126.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "73172b38d03c036b5c96e7d4ae2cfd3d1e1ca27e6e9970c434722083065e3c37";
+      sha256 = "d61c74fca1b02ce76d2565219fdd29becb88ec31fa1d66395c9d31fad04cdeee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sc/firefox-126.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "1757e66e8287439ee4e792a332008c923accbca70aa091800d0107ed33b49fe2";
+      sha256 = "64c02479980bf2971bdcf570529375e934c809ecd476fc9b51d892b1a50ea662";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sco/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sco/firefox-126.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "014438de65995412947e4e7f36a4c03632ea16666d3ce810d663534b307f3c82";
+      sha256 = "665a262095be81ba608fe959c31a1f90a6f46c20dc73b974fa82892a66559304";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/si/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/si/firefox-126.0b5.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "5f53868cf700ff746501302b820700542b5bfc2ad40f9db3baef08e0c4c1f0c4";
+      sha256 = "6f32d4c36a30e855f467095935fc2b9417046868602506d3b7b575ad8e3f373a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sk/firefox-126.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "c0aea479860022b95edde68a58bdc7e720a8274a53019d0ae926025cd0ec3fed";
+      sha256 = "d603440e7ee9b65e12327024ffbd240a63493feab83fd09d2b6ff5ee5c6565c8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sl/firefox-126.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "74ea3e505f41a8fe1c527bdd7642aef0cfc39d7718a6eb277380dd3a952c9b24";
+      sha256 = "19fe649c94f9f5d6f583c2fc437d63c4998fd8954f14674e691d8c55329a865c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/son/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/son/firefox-126.0b5.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "feb11969767e697bec405c77e80c9267cca92c8d3d486e176730a68e3b34699f";
+      sha256 = "33ffee14974d1723f91fb456d2a2f7a61f4b9d8f8c205744b455b143cb22f32d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sq/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sq/firefox-126.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "f471f651aaea6db472408295c86b9d07c8d554a42e68662ee42fedd0d97465db";
+      sha256 = "b6a69416597c5b62863d5bcc9ee4ac63de03e13808b7875bbf75d531578e1db7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sr/firefox-126.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "35d161eb1933458b1c0dff11e4cec387a1e190c2da6efe80441c7819a0eb005e";
+      sha256 = "7a354737335048a21a95c581a7db7b4186779f97e4900304a5bb93566af4952f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/sv-SE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/sv-SE/firefox-126.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "725c451b118b76f4faa4bca2be8ccf2085bac6e1022421d5f7f8701b1a96addf";
+      sha256 = "58e676c649f9d6135cc347349660a7b364429fdf8f025570f8b0791868f5d0ab";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/szl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/szl/firefox-126.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "e7c62582be07fff7b98142564e248d05cf5b9c4e38ca6bb4910bcb3504ca95c1";
+      sha256 = "4dedbb590cc4ef2330aea3d99a6f782b3c8ac2bb3cdbf21ae4f96527ea75d1bb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ta/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ta/firefox-126.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "3a4b492c5c9805d2fd39f7efce9a926200347c857a5c4b556fe9146a783af14e";
+      sha256 = "91d142a2c2a0d85cb468889d84ecd6411309083b7a7802e0ecaf0767a697e574";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/te/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/te/firefox-126.0b5.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "ab334857e420a93f95fb1273a1d54252992b185dcfdc339b0b4215f768520d7d";
+      sha256 = "a803b84500d8d456f27e48bec8e28b6dfe1b3a2138928edbba8a493f49752e84";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/tg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/tg/firefox-126.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "a12e6605636f8c70db0e14213a68087ac089c94fb1bb68829c029b59aed076a0";
+      sha256 = "3deececb0f338d687eb691efac5a4cb653ebbeff9e5cb8532c7c7f8a7566429b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/th/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/th/firefox-126.0b5.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "602669936f1bd0f9dd8d0dddb303bbe5910df5e7b43bf9de09daa06163fc3e65";
+      sha256 = "ef83982d27cff044938d0648bd4eaeae5ffa99e3d64f5abeee0b5008fa2ed93d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/tl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/tl/firefox-126.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "75008dda2d18caa901a50596b4551fb3ea667714c1ef1d3201a39c3f3a539804";
+      sha256 = "2b52f3b404d8f7d289300116f7069a19bfdcef4d28cbc31951137ee91b771f01";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/tr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/tr/firefox-126.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "fb2010550552ab278008b45a59e78096b84fdf06efc739ce6f0a8b20ad3168c0";
+      sha256 = "abdd243d3de3fe4410da0d5c332538fd106a3bf7007d7bc410700bc83277b1a2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/trs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/trs/firefox-126.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "69498b0e7f74dcb47ee0d7bf96cd94bbc647d2428ce9a328e2bbe7c3c33a7cb2";
+      sha256 = "bbfe1fba6424c743ff7e6e8ba692e7cf9a46491e29af4d9efba330d44d4625e8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/uk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/uk/firefox-126.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "6d176a9adc95a6bc825fb9efe393f22910814e1680549f8b75435e637626bb66";
+      sha256 = "85d2599c2161979f181df50a17c1b77cb74e71f1be94d2b753b8987ec9349eb7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/ur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/ur/firefox-126.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "6e21ac2eaa71cf1994f21ec9f7054db139503344b4702260a83e83471003734a";
+      sha256 = "9eba764802ef50860b4a1c85b3202a6464c3e1ef2bb5df70d6d052735cfac21b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/uz/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/uz/firefox-126.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "c0eff534fbc1ff7d1b09880498df980abddfd9540ad386b7b62d89552bd3a831";
+      sha256 = "82f8614c230a75f41e5c5639c60b658d4fac8fa9056615c64cf4a928ae1eb418";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/vi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/vi/firefox-126.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "825f7eeb10a192cfd69481d1534de17814240d133f3ca90fc53f5719d4e87b00";
+      sha256 = "f595caa6bd9f77b151c9a5d74020870df9a8c7827360a491fa6174d85265a026";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/xh/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/xh/firefox-126.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "874a64ec14de047f2fe9b81b8742b6be39db1895b166bd2584cae6328ac45790";
+      sha256 = "27ff854d32c01c3a2bb9e7133b7a2ced467e47ef99f5144b8d24a3b7ca313ad6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/zh-CN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/zh-CN/firefox-126.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "21a8ac3fce56809cae9b8da6a98691561e1c929a44ca65025c4769c9944c811c";
+      sha256 = "67636bffcfb4e156be1fcb3f4d686ae892a78385f77d8d735f79b2c849740a6e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-x86_64/zh-TW/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-x86_64/zh-TW/firefox-126.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "71722eabea75d8200c881549f0e04c00592b8c995c62047c34b9a30e8061fea9";
+      sha256 = "62229e20c259a5d9f070477bce5c5082053b68f10017014eaef714a627056ec1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ach/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ach/firefox-126.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "9d086981de24e8ae62b5e07c7bd49c9c64f86f388ad6fa5f53a8274400bc47e2";
+      sha256 = "e745ec55aee55bb8f68fbe076d0177eeffd730390633b31817575a0e644dcb03";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/af/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/af/firefox-126.0b5.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "1cd8db9ae142d8f043f9b4978dbbaa671b16b7e3a5d3e47d4cbdad60fbcbab7b";
+      sha256 = "e70f999ee5b532d1602e7cb43db58219ea09ba123ef571ce39374fb6afa15c07";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/an/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/an/firefox-126.0b5.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "1d85f09937844989db25c498c3c7c9937c5e7d69fe0ccaeb0b46503ee9909bfd";
+      sha256 = "4f50f835ceeed6552c71faa076b8d4828ca555224c21d57044fe895ee28175b6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ar/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ar/firefox-126.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "165ae5280ec473aecea02ce552fd9feb38ef365a7b381f3b9f7909884ab54e0b";
+      sha256 = "ba0d02b76cfdb14da5be452c51c19825ae41a866248e7cb5f2b997f75a25c505";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ast/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ast/firefox-126.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "d2fff1131f320cf0a4f5dc279d1ffc2ece3ac239accec36a69f8c49b9a01593b";
+      sha256 = "83031e923adbcb3e2e97fd2e76e8babac19de9cd74e9645524181dc10a3b3e9f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/az/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/az/firefox-126.0b5.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "df109da3ce91ad390546228eae1a758e9c2b25319f56e07ecc00a79bdccc8a5b";
+      sha256 = "6a508a257fd60549dd860478cbeca325d253339ce6fab4689c06088b13ecb704";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/be/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/be/firefox-126.0b5.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "33fe571a5720680a10e36cc1ea6b82d988688ef585e836eb980686cf46260804";
+      sha256 = "21d59f6ad32aa479152d66f8175076635b1c73b4e207f1aa35e07157ea777316";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/bg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/bg/firefox-126.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "4c44a6f19d68e8310c878e5b61ed65a55bb98f5301edb3f37bed5537d156cda1";
+      sha256 = "40024c75ff970c4aeac578bce18132da65f3cfd350ddf3ac40db3d77b89bdb1b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/bn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/bn/firefox-126.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "439f37184480bb5ceb10683f5ec09a2c14c08415a5fcc900881358a8d857eebe";
+      sha256 = "63fdf24099be89b42f8de2f1cf6be1b88fbab53549db2f2aac32f6f104d2fb21";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/br/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/br/firefox-126.0b5.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "5387bbaba61a75f27cc2018b2b99c786e9b8b987db46e2d2258aa2763a7ba052";
+      sha256 = "76a417479be76f62776386d9f4d47b1cd82b14ff2822dbf291e157a947323178";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/bs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/bs/firefox-126.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "ce92070eecc7beaeaddf33c9913ad4fb53c265bce57da65bb2425d4f0708f8bb";
+      sha256 = "fa82ff92eca43fa651f180dfcae0e138398f4960c2802b7b8023b50a17e0cff9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ca-valencia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ca-valencia/firefox-126.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "f96fb19cdf6480d2e2b76012035590fe19870e609e37af9a878e6f092be6bc84";
+      sha256 = "73ee09b6b91f8e38387084affb6d3533e7583056e4add60cf2d986223f870932";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ca/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ca/firefox-126.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "f27b3a855d13cb0b5804885bef0e4a4846b28bc894082411a2a1c8b7bdcb7f5a";
+      sha256 = "3de33a1ff17e433d4670d0f5824634014e3954aa3cf04707d117bb30c14c8325";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/cak/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/cak/firefox-126.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "ae73c70e989f72051315bc9d806fa123423670b961e865147ffaa1659b7b874d";
+      sha256 = "3380c26b6a7ef5e172000972b5f0c6552f42777f442893752fbf9eef90934f5b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/cs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/cs/firefox-126.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "0f9b4cba23df58881a081f8d8744a851494c789100f999c2b3e5b033d9119d13";
+      sha256 = "f2b6c9af691b6801ca43658e4a84f29de5564826df6b28c46f16bd98b6cb098a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/cy/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/cy/firefox-126.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "0179610fea890c7ceed80a8574386ec13b68b1963f072dea2126a292e563ce02";
+      sha256 = "48352b9c604ab522a5fa0053b2c0bf3a0bff1efb1b084bbfd76fdbf84c08114a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/da/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/da/firefox-126.0b5.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "9368c56a199166d1f55fc49fdd9e4986bf7b73244e28cc106f73b89c1daf5b37";
+      sha256 = "3eaae894a7aa15604b70fe046209f1b59213c789160e6cab1d647f3541f339b1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/de/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/de/firefox-126.0b5.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "5363cd0bac5d737d139efa90af240b6bf012479e3d03c74971da0f7022fb32e3";
+      sha256 = "bbbfe83e4dbc5b32d8cc619a662cefb79d41dd918be3def4af8f65f665e63486";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/dsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/dsb/firefox-126.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "ecbb204430887dc69fa251ed83d4a99a87e29b29ccc165d28eba3b76a55150ec";
+      sha256 = "d3cc51b4db1e54768515e40a2389c8103e683538a04bb74141379fa49e171875";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/el/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/el/firefox-126.0b5.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "0920af89c43bff2c2d942d2ac0fdc0344638ca4428a0c07a069644c8bbdc6960";
+      sha256 = "828f22975e4887cc159aeb5a9d3bbc52c9e7c725b67d360726416df200a419f0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/en-CA/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/en-CA/firefox-126.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "9474400588876157f7a6011cf72fb6ed3bd55f1bbc1a005cb032c4d70874bcc2";
+      sha256 = "3884e77d81703ef9d6acbff25af5927865bdde7d4981e18655abb3166bbddb65";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/en-GB/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/en-GB/firefox-126.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "3518d026bf2650dc9b9cc72422c7d311c0185a7a0fcb816bc0a9a862d491da17";
+      sha256 = "7b9adb908e1c7d1c179029ff25aaa00a758e04bb8a5a607fb90b1b245b337022";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/en-US/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/en-US/firefox-126.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "1f668f71ff86c4df65594711c3953b187b41bffbb851a8b13893190e370f3363";
+      sha256 = "9942b9508e98fc122bba6c0e7d38fa8557095e70f42152ea3c4b20b889dd0fd1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/eo/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/eo/firefox-126.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "79e0dce38ca7189af441f8458eea13526497a4d2faac25009d9a6cc63123b808";
+      sha256 = "1cc4a48d5a3ae5297d1ad31ea0ca57d92a3b2921886cfc589da5d09c696e13e5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/es-AR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/es-AR/firefox-126.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "18092882072d6e7624055647e31a5e8e4fedb6f0ed85d6e75053e3f27605e71d";
+      sha256 = "9111c3381205b7172dccc16fe7196dfa355c492d3dd00b3bb15c8e5facb36c3d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/es-CL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/es-CL/firefox-126.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "7c8048460ea10d281e9bfd10398d00fb977fb49438731c82eaa0dfa66316dd7f";
+      sha256 = "2f77fc72d82b996ea5e0cc6334f1a90bc0c719a5db46cb04f83702725e578ad2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/es-ES/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/es-ES/firefox-126.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "1d463765bd15758ba17f5e2e5aee5a9d9fd2e596e7a8503a9f33ed6ea5275446";
+      sha256 = "b4e354ef02a92683efb1b37641b70289b7f9125fc8bacd2eb56db73cb716411e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/es-MX/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/es-MX/firefox-126.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "3f86063846fc376145ff81e679a668e8fc982fb46f3fc79b96c36a90222dde3a";
+      sha256 = "52186331c8196014eb6cff4df3b5f8a05c5128d3adcf3e1753fe98052a5a12e4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/et/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/et/firefox-126.0b5.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "ef540b8f5a4a30b69d5cf5045d7d6de6ed1bd99c4351099883c2983f0ee027c9";
+      sha256 = "6770e974febfa296032c0b0cfa502ed5e49d4f5abd6e5c955faff8521149750e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/eu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/eu/firefox-126.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "99994d762d77b2c99b8a9b4f19a4f033f3d923abd65954859474c2d6ced2b12b";
+      sha256 = "b85b03cfaf1e267221870983c0758f0bb55cb56dafc8b2fa5bf2abd5ed21c995";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fa/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fa/firefox-126.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "a5a729c2df188fdd6255c84b3a31ced1409a691f3983d12a1eb4c344bed6761a";
+      sha256 = "bf5f61add2c256e3bbfa5c88226281a2db10ed03d00b402f86704b4da8b0afa4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ff/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ff/firefox-126.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "21e197166a2794b01aace690c94b2f5769d952bfb406abffabffa8eed21fb1e9";
+      sha256 = "7f84fd845da18d148c5c63466a1750d0f424f644e7732b8d9e13d4deeabc0a2a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fi/firefox-126.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "da2b89ea1c67d810cf87ab8b6ce541a7f109f68f6fff326af1d7900fb925dc7f";
+      sha256 = "7dc05fc7c6c79576ef97efe8b09456686e04a2b5a4d315de26aa4a7de6c445d8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fr/firefox-126.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "6d0ab61a0d2cae6fa8c62d9ec20a60d70167fe5d01bc3d32e80f957d1f4e0c6c";
+      sha256 = "e25887b699127aa34bd89a1e95a8a66ee3c755fe88425ef14f8b5ec74ca24f74";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fur/firefox-126.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "f95e0b1cdb13ff8a31c255c767469b58a6696866a7061e7e96165e58625658c1";
+      sha256 = "6f42f68553ed54a7933fe22d35e72a0251bc4bf115a05005ad0e5136afacb8f4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/fy-NL/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/fy-NL/firefox-126.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "6014c17f7e1c17cb457e45ce1d61838b472e7102f7b6e9abacb8ac690acc485b";
+      sha256 = "32552aad5837fd035f1b6c8609327b0fdecd21ed068bf1c087c37d5fa289ff2d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ga-IE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ga-IE/firefox-126.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "f3e3e2e026fbc4fd161ed1239b1c41ca81f6b136ea70dea30811de4ccf679187";
+      sha256 = "ef3a8cc08ea7efaa89571f101502f41eb420ff93eee126bd135b58a34a2eb507";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/gd/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/gd/firefox-126.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "dbfb29292881a31ed56567d91d02f1d2bf784bd04abad86be40228e4079a3b94";
+      sha256 = "200ceeb1cc4ce76c7eeb138474d0e92a673dcaa7ce9c422144ffea12192258d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/gl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/gl/firefox-126.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "9606813bb2e91aa38b525f21f6712f610a0373a81d98faadfdf6d29dd7c4263d";
+      sha256 = "23faa528dfa7650fd08eb563d1f35161b64df07f0e6c39fb973e731b259d2f6f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/gn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/gn/firefox-126.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "cf0f0e715843ecfd2bfcdb0f191956bbe0db78bf670ca1de69db65f7d274bb5c";
+      sha256 = "298baa1de50fae2edc5de0f7dbc574a2234ae829875dba8fe23462f1dc34bcd9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/gu-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/gu-IN/firefox-126.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "66a54bb543e22cad798c60a8e77eb2886e0f43b6a921acbf4fe2fb25d7314d97";
+      sha256 = "0ef24de04d3e31ce6b6484c83e3daa5ccb2e756039ff5a60cfe27107ad6c5ad9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/he/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/he/firefox-126.0b5.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "ecd31aedd802c02094fbb448d83bf2d1741d8b1621b01abd0622a5457631778f";
+      sha256 = "80da93cde19b28f04130f8fb0c2b53ecf13e0894ddd4568a5326e24ae688b30b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hi-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hi-IN/firefox-126.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "dced5aaac70f3b8ec75352b3b9c3447cb83e807f10a362b20d710ba9df94476d";
+      sha256 = "b3cf03edf9b7ce6be6300f7f0d5da539bfaec1ee76258958c4eb2656296950cc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hr/firefox-126.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "586f6b96dae0a673ed23361acc175b6e558594a17640fde90edf4c6bcdf7ad64";
+      sha256 = "3aabe5e9a05e995882ed37093450967f573b752c20fffec199e6fbc26dfbb963";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hsb/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hsb/firefox-126.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "19a20c3a835c74a41542bb4abb6349999e139d8416a39b4afb997ba4c9531cc0";
+      sha256 = "19591b3d2ab98eefa993e71558c00320a5bafde9dfef83ea62aa5d466150ca0e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hu/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hu/firefox-126.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "10664ffcc63716c480db7e7bc8d3be9a8c132bc991bddaa6b730d521705ca55c";
+      sha256 = "8a54355ee1ec9d0670b0d5a785ed5a19667159928687cac8769926adcf48fb68";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/hy-AM/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/hy-AM/firefox-126.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "21bda999dd6e60292b91768c49903a038b35f235b2f629e9172a2e54386d62be";
+      sha256 = "db30cafc71ccc29f1bd338ea78ad0ac046e2a29a7f20a5b58092398f5b0d11be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ia/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ia/firefox-126.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "4b3fae49b34f75d24e577ec54dd2f674dc702926549cd4cb07b8ba5db96760e5";
+      sha256 = "49ba196e9942db242d421976456fa5178df9b41d270f5c1961d1b5d69b7515c0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/id/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/id/firefox-126.0b5.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "768fc814f02b22ace4738c65b8a636e820b730e5fb25cc7b9d78247c1cd7625c";
+      sha256 = "bd2c2b87753d57172229943e8129523e37057a7118b7fc7597f9898df7e0b9f1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/is/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/is/firefox-126.0b5.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "ffbe571ee03705e1a1308caf968b49f8d025060154024b569bee0eb30524331e";
+      sha256 = "cb185e548abfd9169e8db7367df3079779badb29b842a87492030e8402a690aa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/it/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/it/firefox-126.0b5.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "258f7d9cd4db147f029accf0682d1240672dbe7d4793d2e6a4dc5309a46c478e";
+      sha256 = "6c06b0f3ab4ad2e5d81bfd3332f7554f3be85fb5a8ff55649d569d90a8cc89be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ja/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ja/firefox-126.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "29ea07588bc6bd07945d404960c52847fec95a4f235f7464241055a057188277";
+      sha256 = "99549b3ae26f1c816c76a75909e1f80dc86d233a1b7fa508ee85eff681a635f8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ka/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ka/firefox-126.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "64f421bf8cb23882a69fa18a80cd9015f2958ee71a9f0f824f6f82999afe1b27";
+      sha256 = "6d897e6c4e1f6c3ba73ecfa74f0892f24f8c75d09ac6ed81466b8a5775c4ea6d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/kab/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/kab/firefox-126.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "0f2d2d6479422f077d01421cdccf0a66dee75574c7b2997dbf592edf77e1670d";
+      sha256 = "6e0b66d33d9d589a1ff7999cf88f261b0a8fc6c1ec59c07df05c2fe102f358ee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/kk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/kk/firefox-126.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "4696c0f2d27836d29a6f7db319c17514d0a46ee45b0939ff0ca6dfe51077ce41";
+      sha256 = "45b86094d4491f8c60ccd8a0bf29f89859f6ffa5ed2c083fe73279dc05fecdc1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/km/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/km/firefox-126.0b5.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "dbbf9a8b889a985f1be73dfdb51bd9e629e4c965329365b621dd4d1e831f69b8";
+      sha256 = "6ba5101ba76f482f98f1eee501e3541ca2aca9becbdb8e1c4643e90006eaa0da";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/kn/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/kn/firefox-126.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "640815528fdf13c0153dbb7cd848c02fbf87559569d230832d7d122c2f36be2f";
+      sha256 = "c07f3148396eee897f020ce04558fadcea9b3b6f138c6c39ed4b3aa57a79a5ad";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ko/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ko/firefox-126.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "1be5eb7b33f8768b92b4ac2cb6b7cee41b0dd3eb3c5678f2c2ea7f066fdfa4fc";
+      sha256 = "281f31ac39e10c6be379b6bcd4a857959aee8db44b0511c8ca9325d4fab7539c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/lij/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/lij/firefox-126.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "993bcdc81177071962797bd40737d459fca462b7e314e4a42fba67b6ad313fa2";
+      sha256 = "3c2af4d878658d1a323bef0abb12ae0a8425cd462198d08262718b20325528cd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/lt/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/lt/firefox-126.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "f3da0e98af7ce7c8ad913734875f12d393b4f81797c7d35347f47f046b5492b2";
+      sha256 = "868423a70743ca1d2631d064a08061178dc3ce6443beb3a3707fb4112e0e43b1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/lv/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/lv/firefox-126.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "731fdd044398ed0dc8998399b48c3c0b1d9aad775d6a9614000e317a1794e729";
+      sha256 = "625022c66c3d7a266b91098da78094c3185fd3b1143ea530df71a1c05e3b842f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/mk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/mk/firefox-126.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "4d29864459d53b1050354cc94e8d327d36d904bd13ed88d5a416d70099e9476f";
+      sha256 = "6ec70a56d648fa616a3c6a8a284e9bced88e7ce2f50218718db5f04f58a09ec0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/mr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/mr/firefox-126.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "baf9f8c8fb85701c6261231713aa03bfb16e1454bb8d511315a05445ff94ea89";
+      sha256 = "ef4651dea53de6e7870289f1003f4d2f719c5fb5b360d6674355e2ce04cf95e6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ms/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ms/firefox-126.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "b6701cfa68387b1841a6fc05361f96a323de8dafabe351f03bad449fe4ec443f";
+      sha256 = "5b24c603ead07e26421844f07d9809f6c19b89582cd09f6473cf6abc5db5aa73";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/my/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/my/firefox-126.0b5.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "b29837b49c9311944ee42e0b0ea599146dca9bf0c64b2ad1ef4e323e63ba1468";
+      sha256 = "3439db4e7ebde599e2a6baa262acd29a6c2b2087d9e6e1439d7644c49da645fe";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/nb-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/nb-NO/firefox-126.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "98038cf55a21d97a1603a6a4ccbdc52051a7e6722434528e8b5c67df24d7bc67";
+      sha256 = "4033990ccaaf2937f05280962b7cc72f2b78ee39783bf279affde551a6c998f1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ne-NP/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ne-NP/firefox-126.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "88a2ad4828f94b7cfc2e856748ee6f12fe476be1547342c6b8368ec51fa4dc37";
+      sha256 = "d4ea47c773d8ac97701f13705c0a1fc13d0f1de8f861584adbabbe00d6480ae3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/nl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/nl/firefox-126.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "e811b5e21885d2b9ca03e799330767dbef8545bcfd4da8f9ecaec3a96d050579";
+      sha256 = "e7b2ba4a793462905777a897fbd16377296151c4a11757abf678ad58632ffde0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/nn-NO/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/nn-NO/firefox-126.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "b88b939f59b831a3029a04f4723f8f6cf533cba5d56595330aaa150630c873ce";
+      sha256 = "eafec75a25348745aa88acb24d6caaddf5e7bdbcb4f538e1e3e4c1167784768c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/oc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/oc/firefox-126.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "2aa29118d9b689008b00f77b212ebb7f6bbb7b565d39d0b0385785c6c4400c54";
+      sha256 = "2c0b590f5506a46431a3270e6b12ce4824f7ae9e04e6c145a071ca524b309eec";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/pa-IN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/pa-IN/firefox-126.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "d91de9a34cdf1cce105b29b441609d10478132d9969914b0dbea70781b166d40";
+      sha256 = "2af8102efcdd489a5cff669f4b37f1b98156a118260ab60d3d626d7c61ce9b86";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/pl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/pl/firefox-126.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "6e079131a4608d605c5340456fc33b414772583adf13569cb278950ff13d2467";
+      sha256 = "aa55f3d1d6c1206717f0190607598bd8a878cf439e4cad104751e57cdeb85f90";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/pt-BR/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/pt-BR/firefox-126.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "c108aae8ca4199c63e690db1072b906ad2e0c9c89811d1770c2c56a855811274";
+      sha256 = "09284e4c296dad6cef7964d26ee32e8bdcc4fe92060dc555d8a532e491f81cf2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/pt-PT/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/pt-PT/firefox-126.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "802236cb4fcbf54848f2a5ff4f0e2db6b7c9c63bb48b96ced27b9edec8d59943";
+      sha256 = "df14751d2697dd65d48eb9db603a3571c8b3190b6c55f489cefa6d3a3a8a157a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/rm/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/rm/firefox-126.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "0184e4cba031481939fd64afd8568c7b35046e512e3076a7e23f5644c72c3f0f";
+      sha256 = "d87f9d823aa7d558acf224ac38f593e3e5209e4266ed407ad2264947b7b6dfab";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ro/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ro/firefox-126.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "38e67909d80dd0d04b937aeb64ff3b736acf083e5c4993d5d5bc30608f1539ae";
+      sha256 = "7d3eb55686c8cd3f80adb635ffb7f8a2056839df92324014bc2efecf05332fc9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ru/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ru/firefox-126.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "327d465354b3447939e17eb7df52ceef2fb35dbfa11cae26f23ce81ed9c9d762";
+      sha256 = "498150f664b618217a6860c44b0ea40a873fb54a99dbb8287e156bb18ad7493c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sat/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sat/firefox-126.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "4f52884427d43586a9fe8892da694b6aaf05e507779dbe08dad625f7b3bd6077";
+      sha256 = "6e2b704f0a6d47bf49ee8bbc4704093792f16dd3e44b78fad658ee92ee680d38";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sc/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sc/firefox-126.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "dff2e97188d7c5d3637c0923e09bc9cd3fc4a08bebdab78e4eac64d1d04f836a";
+      sha256 = "2e38cbd7c6304ab68cbf310d6e155a3923b5fdd0eab9e4501e191aaa1c792a75";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sco/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sco/firefox-126.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "9221f215930e32fff0f37a9853e394eea6ee1175e8502a0959afe250f66cde02";
+      sha256 = "e1f7336f6fcee8d067c9e8ea3310c98e268b0c1325ca9ab3e2e3b985c0f13871";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/si/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/si/firefox-126.0b5.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "db518900cdcca6d4d682fb8a576b615cdd994a7814dba9fa1da408d25c2c6bc4";
+      sha256 = "2dbcd443b0a604ad8606910da3f3461e426277cf95889d356c46a3ef91b7c92a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sk/firefox-126.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "bab2bfd2c8c2c1c39061f3858c2f8ba73a0a6c77c719bcaf208c7b25badfb03d";
+      sha256 = "a749249d1ffde0dfa6e887dda6dec28cd331e68d1b9c536f8656cf4fc549ad63";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sl/firefox-126.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "2b2b9e20a735e14e0f71bbd7c3247abf3fe1a727cb15ed422ecc35dc9385c7ff";
+      sha256 = "0fba214a2ec166ed2d198ee67cbb70823fc2ab719501fa8721e347e5890033aa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/son/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/son/firefox-126.0b5.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "eebd08c8e68bf3f14059c697b95db1f4848c981663bb5fda925a3ccc9b53c419";
+      sha256 = "b5c1b4da06025a762c3a7e0d825c8d217b99b9997d84cb63fa1b3331d04c3d5c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sq/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sq/firefox-126.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "b1d1fdd47ab17c3e3033baf2037f4bfbc3bcd79efaf05aa4ec2fc9ff354f97c5";
+      sha256 = "2e7cfb921900b72557b620b7cfde39d05a7632726db38c656a1625a589941583";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sr/firefox-126.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "c84e48d1e38d1a81c1489ea8bb005a73fb1414e4bbbf5a3d752e941c49c6ff08";
+      sha256 = "9e7d7fdddf0c05299448db0e6271ffb8bb297367400cf010af92d38a667c85f7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/sv-SE/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/sv-SE/firefox-126.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7d19cfa86db1491a60f0130e168e50a88ec58ab7f81a6cacc14bebbf6feb47ea";
+      sha256 = "37c2f75952cf9c5c138e890f4b5c4d18c5d6b166b9f361c0532fb2955363f61a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/szl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/szl/firefox-126.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "4852141d9e59065e75cb536aabf1ca90dc5f47651ce6e444170de107a5601a25";
+      sha256 = "b42a7bdd7cdef45d354f43eb3d8640dfd7f4213870d9a5ad5eb62ae497f1ea58";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ta/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ta/firefox-126.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "ecbfc5195d4f2244d70ce90bd24fdb655488a57fbde154011dd2fbf92025f226";
+      sha256 = "96e64f57a2390f994cc906b4035573b44bddf80578317ea73cf1c9a95c2662ca";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/te/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/te/firefox-126.0b5.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "5a9db29123d5942fa41bb8eb1e2f9b953398387b0ca81e8a3fe80ec127e0c53e";
+      sha256 = "bc8240e066017f3715ca683d77829cc4ed2ab12ea384d79afa759e87fd86aaa2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/tg/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/tg/firefox-126.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "f25ab1b7a77bc2a778bfb03236b5783e291d3183aa6cc4a8ab3b18dadd1ac69d";
+      sha256 = "ab31902edd38fcffb6fa025ee37861ed6b57ca8d08800d6e4f3349bfb7a2a0e7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/th/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/th/firefox-126.0b5.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "a43149d3caafeaae374cb92f4afbe4092ccd25f2a3257d4a071544c466533efd";
+      sha256 = "6bde3a57c5a1f50686d6264327ff3d1b0884f94067b459b4b397e564674e3470";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/tl/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/tl/firefox-126.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "04cbf4173f5db095edbf3684e94fdd4b8dd944fc2ce15996747a8598c8e17203";
+      sha256 = "f89803ec0fc5c5c41c057fb123895a433198abb2c92c3b86ea60edd10d436816";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/tr/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/tr/firefox-126.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "566aaa2c06453123da73849f48fcbf9c278758e575f0e4ce3bf176e0d0be1251";
+      sha256 = "edd57c9e0a205bcc2696d9fd7dec8ebd06966fa532cfe38dd947045ff14c9c12";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/trs/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/trs/firefox-126.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "b4921ff0a777e7c429a3948a0ca68e8a18ed97654e12d4f1c0cde6f4c83b8ae0";
+      sha256 = "0290566d5979ed70e64eb69601bb63404b9f5877f510e86be14dbe7e51d352d0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/uk/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/uk/firefox-126.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "882ddc7f09c6fb20f26d8cfe67e8b67a81ab27a880b91538fcd50971fb8982db";
+      sha256 = "d3268a194f9b0bf66afdcb3a412d0eab6cdac32b4dcff6330a701fe92614a2b6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/ur/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/ur/firefox-126.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "e0f4aca4913c2e9a501b5e0df399cfd472b32844d14a942ab4642d44d75d78e2";
+      sha256 = "4ea0d1695d25ddb08c73ecba4458a7ade7794c0868de1cffc902ea8ed165f5e8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/uz/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/uz/firefox-126.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "41b95fc670ad2e9045a46bc842f0c87e3964a2b69a8868ce058414eeda20888a";
+      sha256 = "d0d1529593d8f7a5b234fa298ec83f04611814aab584da2b390e8e7937fd40e4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/vi/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/vi/firefox-126.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "09d7e0b83079b68450a742af29bdf3f6b83abb0ee0b6a4e59d1a0ddb3ca33d88";
+      sha256 = "afde0e30cf0235c1d104188066b8671b9495441fc03b46d4ca895848b1028e4c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/xh/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/xh/firefox-126.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "68d1d333bb9edea2e16486383c331d8b8bd82361881d70e4bcc8c0fb429577f4";
+      sha256 = "636989a36a31c8a3a81e41bbc03ec7461f05e942eda17d6c65c8876614d5169f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/zh-CN/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/zh-CN/firefox-126.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "3c3fa07aa61787b6ae5e4efdf07705c583c3054e8e6e9b395b7fc2f3e8b76c5a";
+      sha256 = "ae0ee3d69d5c14e36f643c8a7aa50d45e2033d21e657c8c5693acc0a8059c2a1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/125.0b9/linux-i686/zh-TW/firefox-125.0b9.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/126.0b5/linux-i686/zh-TW/firefox-126.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "bf4b9336c83fe1e9e86d657f807e20af12f13ed91e223c79a88c521db74bc118";
+      sha256 = "1bdb0ca6b4cc73080c6baa43e8b70668068f722abfeb437a3daee71fe58d6771";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index af1fe9694bcf8..3f53923897578 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "125.0.1";
+  version = "125.0.3";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ach/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ach/firefox-125.0.3.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "3eff17d5692dd680eee87770b2213b9172f9db352632e8a5239548f56b90cfd8";
+      sha256 = "1811a9f5618f725b80dbda41568985c051b987dca7c2e207a039668a0d48d42d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/af/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/af/firefox-125.0.3.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "6dffbfa2dc131ddda51c0c1f3f611590af6e4dc74463c749878f637994cb5ce3";
+      sha256 = "5cca7823582d1be336a25278d02bad75d77f37111b43b56e4168b61edab8986a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/an/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/an/firefox-125.0.3.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "e4f047571a7efdfe0e63d7b3eb56b2dd1b5b2aa15869043510eead9c2ef1b1a2";
+      sha256 = "d38de568b16d3553402dac58f11c494b0e093523d74c20fcaad172fd87d41ad3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ar/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ar/firefox-125.0.3.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "761426bf5e97a8d9bced76ef3adb29a084a02b0018f84d3bc48427ddf5016cf2";
+      sha256 = "9c643e7791c50c99a8e983e972ff721955af638c2d24a6421e82b0a7dd66f68d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ast/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ast/firefox-125.0.3.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "5e7c584dec51fae02722386653822d5e023fd1e82069965d40b6781c4989889b";
+      sha256 = "7cb20ed5898279ef7f96aa33ff931438b553f964d12d94ffaee1925b9523c8cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/az/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/az/firefox-125.0.3.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "daada2f24cfd93113dd755931306a34002bce7bfba4a1b7e4bf60172049601af";
+      sha256 = "1ae2d85a6bb4dbcefd0cd518af75614cce6af43c641c49dbfe7c4bacef6691d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/be/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/be/firefox-125.0.3.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "463b1912034a0d682d18be5d60f543d0ee9e05e133af712959232a8ba6bfb288";
+      sha256 = "84d7aed6ac1f46390b378ce432ecc00723a70caf5b34e33adac9449fb704ebf9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/bg/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/bg/firefox-125.0.3.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "ba3248f9c02f0d989ee69664c779f590a488c94b8713282b7fa7d658c0039704";
+      sha256 = "9071fc64447f3772c88469385eef3fcc1f36188628c18b929ba1320b4bc01d1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/bn/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/bn/firefox-125.0.3.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "7624b5985028574d55957156b485873a0d5458716c6ee3f2c80b53945d299f7e";
+      sha256 = "c8ccaf292b17f5d89b9c7af28b79a5a9d5edc53d3a7cff92be8cfb5166481ba4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/br/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/br/firefox-125.0.3.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "e02aa070554301849a9b8ce21ace8d02afa92f4525b33c8d8e6fc54cd1e8e754";
+      sha256 = "4cae7d705d2161603b35dcdfb2cd92c3a80922bba95bdc3f5945a59a1b19a011";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/bs/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/bs/firefox-125.0.3.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "568caa5b4731fb55d6e460f999f003d75ae92b417aeb5b82f4d2b5365bc3d06a";
+      sha256 = "cb74e00873abd0466c97f500ff5de4ab914beb7e0714f8f07ad7f72eeb300013";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ca-valencia/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ca-valencia/firefox-125.0.3.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "8dc814a81c260f245b2233f1910feb015064ba8c1876d2528c984a8f021b8976";
+      sha256 = "2995878a5d1b127fa68fdc196f74c4173b14d48e13bfeb28252515ace585ceb4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ca/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ca/firefox-125.0.3.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "f92b82c81132772848d53e0827561b218704ba5a47a12c61635a16a54c41f2fb";
+      sha256 = "47180f3814da29da56848baf7f050184face647f42f2e0b6dac9d9979979028d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/cak/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/cak/firefox-125.0.3.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "affbaf0c513b34d34b4cdeca35de1af1e337d2dfc2fb360e043586815094295b";
+      sha256 = "ab400636a09114d9b79a42a375aa2eefeef0e191aa69aa0ee12ee2caaf5e72f1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/cs/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/cs/firefox-125.0.3.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "c1baacdd60987568b720f95bff2fc87080be11f03be24b65aa70ea6f77eabc5b";
+      sha256 = "5506a162fbde8afa5e255a657b87c840202d5d02784e6a78ac68c02a1affdbfd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/cy/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/cy/firefox-125.0.3.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "1ddb7725eb94d31cbc2b1b5b636b5cdd37bd96d2ad7864be17b14b8b78043816";
+      sha256 = "5dc8e2177e509c4f5d971b89c6b95b89a2d33d2bfdcc70533bc226d41d2b28cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/da/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/da/firefox-125.0.3.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "c5b9cd2ee09bcda66225fd80acb13525c94ab1d9e10ffe87d02f54e9c6099dad";
+      sha256 = "d8ca13cba46ddb0ba0f10d99ebac9f75da7e9ee5b3858b50315d0f3212d86ef0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/de/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/de/firefox-125.0.3.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "f776f031ac76a06f99588e10cd4189eb6797a5fbc758842899578537bc74733c";
+      sha256 = "74aec53ca8eccfa25fa1925a1d26323d481c7b0457fbde0be32eb4210e8daea9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/dsb/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/dsb/firefox-125.0.3.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "d01e0599410c98e85ccb8063c377ca711b8a90adbb05f6dc2fd41b3353de74e9";
+      sha256 = "f6725093e244d296bcb048998ed9bcb70dd58a9864e45f28bfa5cd833e265c1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/el/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/el/firefox-125.0.3.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "58bfefce3489820dd5a25e835eb5e58e47f60cac15bc8826d5a84a9815431a20";
+      sha256 = "9cadc42340a199d5f5744d55dcd403584cf06e7853be6d6a030767ca5590a872";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/en-CA/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/en-CA/firefox-125.0.3.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "edf44edb67dd84118abc6faee78fbb10cb207c6107b8f5636ec9bc86b58a2798";
+      sha256 = "02e518fb52863d60edeb31e5b21e77eb15a153e7058d23757eb4c8902edc10e1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/en-GB/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/en-GB/firefox-125.0.3.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "f717bc337bc5bd778976c7bb2362f59b965ab1014b36b236c1f0024575960e09";
+      sha256 = "ea6539089c86b53df22c02179a8988a0ca66b854ceca5d2aa8ff6885d9bbc7b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/en-US/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/en-US/firefox-125.0.3.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "0f702f7690b02953e336fac27874276d9d471c9d264dc0feb7fcc6693d63bd4b";
+      sha256 = "2fb91b8dd196a8ee47238d82d6b7afef3dd1bb3212b29122ab1c3897052d8a49";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/eo/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/eo/firefox-125.0.3.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "bcee9457010f934ac6f2de8f695ec1ee968704b2fe7f3b98f132ae79774d19c4";
+      sha256 = "3ffa103c2a31f729d7e38637762a8e8e9885fadd819afbe2448db795519ae239";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/es-AR/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/es-AR/firefox-125.0.3.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "39df6c4a78468016fdead6a62fa0ad91a5ba504885470c39c9f82748df156984";
+      sha256 = "6f03108c3500c4328f074477bb6dbf303d9ec4c654afa7acc109407fe1682787";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/es-CL/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/es-CL/firefox-125.0.3.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "2f5882afb43007833b3991b115c9d8fa58235a9fbf2f830f3c9679277cb4c519";
+      sha256 = "630476e38a0f9119f794933dea000c591687f13be94693917e457f8dfa8dca52";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/es-ES/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/es-ES/firefox-125.0.3.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "bfdc7194d20804b5b9345212d38bdc08703560b5808518ec93cd81a64e0b6fec";
+      sha256 = "87603bce7aac62d12725b922b74d6376365074c110dfaf01706dc0b31c05a9ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/es-MX/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/es-MX/firefox-125.0.3.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "493f3072aa9aeeedfcd2b09b3bd0487565878e3d15f463851730462a90b12426";
+      sha256 = "ddfa1aa04be68932659439d93bb61de2ab0542f04677808eaa91f12e6e72714a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/et/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/et/firefox-125.0.3.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "534253a06a8d7100c7891bd4d647e4a66715f80303f2b72875e973aa755a99c9";
+      sha256 = "817596c186d4f8aaf51434b7abbe63b06256987b9187fc28cada01977574baa3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/eu/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/eu/firefox-125.0.3.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "1bed9db2d2890bc951fecdd3e774cb496fbe7928d6766b8f5a65719e6e0a97d6";
+      sha256 = "f49aa967f260c08f8af7da05d57580e4c0e0804cc36bf6f702bca849cf8754c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/fa/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/fa/firefox-125.0.3.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "790b694d3471b61a53b0362e4dd9d2b0378004b417c3a2374c6a059fad24c7a7";
+      sha256 = "d770af123d38d3dec2d5a35537b0f4bed9d980be810f12e5036cf665e93dac56";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ff/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ff/firefox-125.0.3.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "cb31483e98b05888845bcab9bb9243cf9670783b41371d76c6df10d71fa32f01";
+      sha256 = "70f1e5026f00ecea44209a88239ba3ea68d5f10cccc8ed20cd4de2bd0194c7f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/fi/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/fi/firefox-125.0.3.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "d2e85a2719d62a69e01bdc54720b4c1847d8eb39931b78252c6468ead96d80f9";
+      sha256 = "9ecc9c29c701d3b2e298e191cec6f1764168e6831c9fa9472a82d15b2b29a169";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/fr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/fr/firefox-125.0.3.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "824326a2d42caa9571597e6750f307d0fb164c14a50aea4f7517c765bb7c912b";
+      sha256 = "07d5f4dbba19bc643a995dc6cd06456cab9342ab2563c0274ac742d02c7aa674";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/fur/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/fur/firefox-125.0.3.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "6d815d210ff533a8cdd35bf66ac780bb756cb9934145abe2f2f8ddc1cdc6d6c8";
+      sha256 = "707d814ea0ea3a7c5c5455f678e496e4b0b14fcdd6872e81b5fc82241cb2b12f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/fy-NL/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/fy-NL/firefox-125.0.3.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "eac5be3269ae26ee8057fa93fc586432e531dcfedb7ab2202c5d5911f82b8a71";
+      sha256 = "3fea1cf498eb47c4038b6a76a61e37d5d354f2457fc5a9198e5943df227aaa09";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ga-IE/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ga-IE/firefox-125.0.3.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "5ccb6e5fdeb2001fe15ad7ffe3f9e3d77ca1c35b15839b502aa03659a37bb645";
+      sha256 = "8790df138ec92eb83891a7f5ae575c63e181041cb06a24789ec347411c948c40";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/gd/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/gd/firefox-125.0.3.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "7f879a849f1fb13bf7a45f40a55ea1b06827070b21f34f4cb0cebe216af4072a";
+      sha256 = "b2de6dfb77b655befa785938da00cb71da490ca88fe01d568e86bd037faeabef";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/gl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/gl/firefox-125.0.3.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "e41f9b2b24133a57d90b4fd390076083a1f04bb1faee6b6dfd551c506f455996";
+      sha256 = "15ac0bb2b9d61dcbb81243954123d79a0025d480fd66e1703ad1906c3ca09c28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/gn/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/gn/firefox-125.0.3.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "06acdbc7257e68bf4dd0d84b126ad78688bbfd967506a267d77cf1bc3803bca3";
+      sha256 = "5c6e43ab908a99692b9702531b8639d8f503d3396c51e4c3f8a12f5e143bed26";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/gu-IN/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/gu-IN/firefox-125.0.3.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "a08cf0ff8c58dc58801180c20f030a7d88dbe940e638ff58d82923328853417d";
+      sha256 = "0a140f0beb0112b88c058bd8d4d4fc8990c6146c60def24f4c15bb85daadd164";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/he/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/he/firefox-125.0.3.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "8b2d5d1ca76fa3bb538f72af15a4af7180145e0c2f3f03b845965a2a6144b35d";
+      sha256 = "ce9251aee641a5a4c1cd2a55ac8c7f8d33ea444a746ec5eb783b6d7a5ab4735a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/hi-IN/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/hi-IN/firefox-125.0.3.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "478dee761374f2f156b6ec0f33e3f9d8b7e09113186b8a0945555bd919582007";
+      sha256 = "35a9d216fed5fddd71f1801b0a2a1178c8c646a4d879502d0f56daa2675deea4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/hr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/hr/firefox-125.0.3.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "a7601810c17465b7d730b9c8bede5f0cb69f00e2c5f30dc645a1a97fe636759d";
+      sha256 = "b7d62b7ba3261f76e1f6a8c9df79dbbb7a2e2c9efb56a4d30f6be1b37a6f1f1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/hsb/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/hsb/firefox-125.0.3.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "aad2350a6848585062c2cc5ff5947821898f8e783dc81b3ac2a87283d24e8389";
+      sha256 = "b6e5031ea996de5449c362d476afacbd7a7310f22cfc108dbab0e745897459c8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/hu/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/hu/firefox-125.0.3.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "b4dce9a17840c641de84005892e60e1271a5a59570f85cc9f5179622d81a7c84";
+      sha256 = "fbc3cdadb14dd5755ad6e64dda7350df60f43c576dcba09ed082fabda2a5a130";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/hy-AM/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/hy-AM/firefox-125.0.3.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "c1f60aa1dfb9966fd9e21f25bc54169b1866f0550c5fbacdea633c1cf6a4a31b";
+      sha256 = "d37f52f64d3a56cf043ce1f198485228877419c4231a8b1816af7d2efb7c9156";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ia/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ia/firefox-125.0.3.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "bf8f8dfe6f8a27bbad18683f07c499212560c19399bf42a6f7833a97a86005fd";
+      sha256 = "1abb3b691d218da98df54b08228181d201ebcdd397b23bd438761c26e91d70b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/id/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/id/firefox-125.0.3.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "118153305412549d6152caa1a4d9d34ffd371d460ae03d35021e8bb65cbde136";
+      sha256 = "e003f96e908abb817efaa518ad4d4da3724077b0e478eec311b065f5a1ef6a26";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/is/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/is/firefox-125.0.3.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "bc85c4fd022ea6907603ef3654b5bed73875b0603ac0ab4ff49a6e0c8b5980bd";
+      sha256 = "09ea5c1828d9bb6d9eb89cce854892ff5300641e3eec69bec251937d442caea6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/it/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/it/firefox-125.0.3.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "ff43d05336aeb2a77a9c1f5bddf1e5bf02570c18f21b5f91a97a8ebf69e54e72";
+      sha256 = "ab3e1df035e7198a70a6ad5dbcbf13915a5a98a554497438980a56adb550b45c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ja/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ja/firefox-125.0.3.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "1f610ca7a4433d7d8cbd2fe250bece840340e4e4cc87df84e3e8b9014d32c579";
+      sha256 = "1d9cac5e97b86c76b908fef1c8f981476a054cfd6d365cf7d9d3a7cd2800d56f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ka/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ka/firefox-125.0.3.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "4092cb63ec87a1bac05228db400a3f121224228bfa3e70e9401b3f6c8b2747d4";
+      sha256 = "518b72d8e5188f01e0ea0eb90d4760b98b0dd7f1e74a0cde8e9809e25117d9f9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/kab/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/kab/firefox-125.0.3.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "56eaf3565e87db99738630bf2d08afb4f70abde00ef8bc0b1db0b6a531e9cded";
+      sha256 = "eac92cceaae9348cfae57ad891fae6827f25ec03df649e2d7a3c7186fcbab01d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/kk/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/kk/firefox-125.0.3.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "1de385e239c692e91eb6611958b59141bf11be9ec89131419c650c8c82f5ec6c";
+      sha256 = "c2dfc1d48cc5386c9925de7a33cf368b2040accea7dfcc67038d2394d828b3e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/km/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/km/firefox-125.0.3.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "16eb03b53450aace3eec14b96ca6b3e5a814cb5b6988643d2cea6f202f906af9";
+      sha256 = "f032f51e6c6b655ac6ab7ed1605f701c99f71bc316d76f06c2fa6fb111c61276";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/kn/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/kn/firefox-125.0.3.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "3b93bd087ed6a0f81e8e8670f3b578552a9d17aa34622da67780b3e1970c5aec";
+      sha256 = "8d47dd21f7968cd1151d25609fa2276cf3e9b8bc7cbfab307a2efa84f541e5ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ko/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ko/firefox-125.0.3.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "a32868e5dfe44ec42cd9e317a60e744c82dad7bf3547330a06ddf317a337b601";
+      sha256 = "de7b527a436ba0f27175ee7f8e6ed9238bbcb716ebb26f9b0c9cc5b30a3240eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/lij/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/lij/firefox-125.0.3.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "6f99eab1a99d24554eb1ee8c6194ecee9973d087ae181fc062650d3c444ae221";
+      sha256 = "809675ae60d9885fe20e4053d0d0686cc6d22cb6fc6fbcbb76c76579e47d97f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/lt/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/lt/firefox-125.0.3.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "542aa0fe483ad89ef920b1285241678fbed1b9e9f47c8392a1fbc7c2bb8996ad";
+      sha256 = "cb512ed0fef4a1d544c4a74d81e6872091ccee8a2356c5c5f18d6edd1a601c06";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/lv/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/lv/firefox-125.0.3.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "eb231d0acf68ff4ace85aec28a5554b562a30b6b51886323eeb0d6eed1580f6d";
+      sha256 = "5d693ca8c453c37baa6a1c284041a380815e48f6e728b4ead06f6afcb27f0558";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/mk/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/mk/firefox-125.0.3.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "f8d58941da72efb58b3d9429a048ab90d51ad08d27ecb7add4b30c2d3bace096";
+      sha256 = "352daa1a8995c40803bf34f1e00afa6ed95a2b98582992d1a34b0d6331e1c893";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/mr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/mr/firefox-125.0.3.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "9d5010f7bef77c1f01d06eb5c9ddda74aaf38060c1efbd96670d02324cb0608d";
+      sha256 = "a5bb5ea7fc2a3f5f0f71f14cba8b594bff15da10a3a879fb14311ea25b12ccb3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ms/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ms/firefox-125.0.3.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "39647010c62be696785a8c17fd9b32c91bb6c698d3117560da02a0c5ee5c4835";
+      sha256 = "c544e324549f84337d9a7e0e863c1b0be6f3435d9cf890a6a73fff62ce9ab8ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/my/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/my/firefox-125.0.3.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "4339fc0c35ab6ce4f118defa3d5f4acee5965331a825d6b1c6aa2e5c0a778858";
+      sha256 = "9de9d7f95e75f733666599de2b57b487ac3ca545487101ab3d097e85dd9f2daf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/nb-NO/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/nb-NO/firefox-125.0.3.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "540f57e75798b9dacb26578824e5ba92dad5f56ab30289e88a1af607b6a0d469";
+      sha256 = "c1a5ce764dbb1f090c01330991af161745d4df945d51346a571f24dae6dc0353";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ne-NP/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ne-NP/firefox-125.0.3.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "cd2494580e1d76f813b90a2c056c6aa57ebd904b0adc76cd822f47559cd397a0";
+      sha256 = "7c04f1b49e4d301533e1e15c08a88a768c536677a55f1d2cc9f4fa7d3bd1f26a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/nl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/nl/firefox-125.0.3.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "faecf7f18fd7c564c4108ca96395cf72032fb2321bf60527211c5251ced5d5d2";
+      sha256 = "a81916a67375d43a2883111474858ca8aed787a12cee1d503fae5ec2413cc778";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/nn-NO/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/nn-NO/firefox-125.0.3.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "f53b5e8b126e6f972d81902d5cbbddd1dc028971720904993e1f62df3468d15c";
+      sha256 = "282e7e2dcd7d01c1bb8c3861511aaa989a1e23e79c7ad5958956a3725c595650";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/oc/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/oc/firefox-125.0.3.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "ca9fbeb0a9f2960f8024dd5e5bc5f86b08b05df321582180619e2a240ae7e64b";
+      sha256 = "aad97d4a4bb4229017ef8e84ce79597e5ffe0108c1898c4188ffc1baf2368bf6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/pa-IN/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/pa-IN/firefox-125.0.3.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "b824cb8e8f3d30d921abb892a1b93ca7dd2279437cd4aadd0f2bae8e65fc3fea";
+      sha256 = "1ae4b77596984e0daf341ee562d78aa653914b8e20627dc568d86ec2bc87a7bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/pl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/pl/firefox-125.0.3.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "768193553fe105602522b0ce9f6d63d4f726a939612595ac9ef64be9c8a5e785";
+      sha256 = "979b3892b3f7056ea173946e5950f71e0ea8a740f4016ae9aeb4a58edb0fb679";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/pt-BR/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/pt-BR/firefox-125.0.3.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "d3895aedffa937e5cc1ad745bd52fafe2269a5b49cd3af618e4dbb314a29b2a5";
+      sha256 = "7aa3b0e46f6c0c36443c61b43b15db420e509d6793f6ff63759ee0e9eed3d6c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/pt-PT/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/pt-PT/firefox-125.0.3.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "86e4a9ff8ef82e76fc5a5aa3b76f3587897a7b1b9132de9585c41f5bae11f8e1";
+      sha256 = "ecbeb1dc3292eeecdad0cd302b70445e9fa4fa6a6f9c83a698e5193f2f4c543e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/rm/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/rm/firefox-125.0.3.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "68433ba1c01075484f14ab905f2737a7c05cc466073ed8cbd8903b5b3ac5feee";
+      sha256 = "17dfd6e52f056481d4c5ef45ffae76a8005034fdcfdca046d12966b316852b91";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ro/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ro/firefox-125.0.3.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "c34aefea9bfba08bc3657597138eb3d4b3dbae1138527b59981750b8811e8958";
+      sha256 = "03e3bb8b8d6f6752aee13b445f79cbcb5999224359165deb565c00e79505aee7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ru/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ru/firefox-125.0.3.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "3766761278a43e13570542d57ede9a66a26388faca72368dc889a4ae1ad637ea";
+      sha256 = "b3f3bc5db58106f7ce085aa13422974ec2a77fc1289e6ccecce66731194b1885";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/sat/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/sat/firefox-125.0.3.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "566eb5ed634157490e3adb57b04d0f93a6662e2afe98055c4686bdabf93d8497";
+      sha256 = "de73c27a3eddba12687edcc6cb18cd1e7d055eb0f19e13b019901a8e21ade74c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/sc/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/sc/firefox-125.0.3.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "ea73e0afa3f5cf896618486542911731230265788be3d4cc9a94ccce16be2453";
+      sha256 = "a5444d59372a88fc3fa7eef03d8ed5840b07b3cb5845ac96b2cbcab404cff35b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/sco/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/sco/firefox-125.0.3.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "07bbe26242497c5cef48916438b9755b754a79e377be368565c5b240ebcaeb2c";
+      sha256 = "a4cab5bb51709ae5f3a6ac1b4c113dd9adcc973aee3bc480b763d89677b4b75c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/si/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/si/firefox-125.0.3.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "26555216a11d4e1d1ec93ea5b7d1aceb2b63fc0548139be980667061465e5d43";
+      sha256 = "8d4b2d9d5de196db515c4852fe6bc0b866c7bdaae7f734053fd6f0fabaab8054";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/sk/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/sk/firefox-125.0.3.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "82a4aab4cd824eedb2e0812358ae8145e1a8e9de181527355702021d9c93334b";
+      sha256 = "58b4b780317ad6e88b824fc31fd1777425abc673ce76a578dbfbae3db1247599";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/sl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/sl/firefox-125.0.3.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "32ca73ae69c1b6745084afe178bba8f73513ccd1452bc257cbec843e7e3f5ca0";
+      sha256 = "c6663467611b7b9bed4d3bb0bf70465ed7812038067a6d034f70ec59af3c937f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/son/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/son/firefox-125.0.3.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "05c1c7a426dd0e51c64023fdb42024cb963637028a7f1accea0c91b4cea224a4";
+      sha256 = "066b5c9ffd986a56460bba1021272a42b66e1c93f601664f8f6a0e939314f22f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/sq/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/sq/firefox-125.0.3.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "7b14364475e55a995577e111570d2a83aadf1c1f1351e41cf192dfa4b9f99ff3";
+      sha256 = "d9d696c0748b1cc3238c39cc3f7b69e6ef2970402d68494084e6897f947d1493";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/sr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/sr/firefox-125.0.3.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "43c6ba007493881fa4719578b801bd0ffef4efffee5b4633ca123bbc9961bd7c";
+      sha256 = "73411b25f8abebd15a4e716c2ee3a861670df257d7b1497ccfbc92aa055b8af2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/sv-SE/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/sv-SE/firefox-125.0.3.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "3c16cda4f7b56773d81ffcc36480d3c8793fe74a91d6ce59d34b1474c7579f48";
+      sha256 = "a877cf095668f7492a762d4fcebfe9ce154d0594e3a4a105d5c9046e1f9ee26c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/szl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/szl/firefox-125.0.3.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "2ff545d757937629cd317eb453c6e7c8d5ba52c50697f81d608b2274501bc192";
+      sha256 = "45477dba947128e7e4902715ee1ac7898422c34551c308f6f2388df8bc3f8982";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ta/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ta/firefox-125.0.3.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "d49331a87e9b94eb1ca3232207b5af867a9001ef71f6a2735224e7583fc860f0";
+      sha256 = "acb5eefe0aafcd146946ce390a9df077c477c029f0cfda6da3da00a3a6e844cd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/te/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/te/firefox-125.0.3.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "2ca9b4c38220bbdffab7f92bb696eaa31882d5c14078ba2e27216fa1fc87b07d";
+      sha256 = "98e43739bbe0117a5b875d5e66863e76a45d45f8a9b7b7afdfcd9d858402c075";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/tg/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/tg/firefox-125.0.3.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "ea3b284000e62e13620a010749e9b60534ecd2eeec31f2df3cf85df6bcb12f96";
+      sha256 = "8c6f9dce430b7207665cdfd442cbd1bdaa1978651e745eec3b77c8eb52963aa1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/th/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/th/firefox-125.0.3.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "b9e46851dc8c9518ace17b1313fa61af5fe7beb696bf5bfe07875e7661fc736f";
+      sha256 = "2a18d85e28fb7d415ab71f9a966b6799dd6c2fdeeff5f4b0e65dbea449a77fa2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/tl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/tl/firefox-125.0.3.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "a686195e0ed3677c77b043bc4488c985c075373156cad6f05086dae31994e02c";
+      sha256 = "4517393fdbcba061dd7a667b92ba7b44e69ee73036ab36624e5681195a372a6b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/tr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/tr/firefox-125.0.3.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "92b4600fb6d2cf244abd8941d383806da8cf27397c1f04dae892b9d224ff04f9";
+      sha256 = "5bff1a8d3044d5ce9195d5cd9aba3e02b21d4e23bf84870ac3b288777c5001c4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/trs/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/trs/firefox-125.0.3.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "a655b722886e276fd8ed444eb3d359f7a1398486e697e1a7c60607857c97ac94";
+      sha256 = "8c75284765e4e4778a8dcba326369f7f8d62627bcf95f4384ab68b2339f245b9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/uk/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/uk/firefox-125.0.3.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "4446466118ff2dbd8d2cf9fd115b30128e626df25fa8efb799fbf58ec86be3c3";
+      sha256 = "6ad348a509db7651e96ad6a4015dad3b7e4073d02a6936eac0b15aab9216feef";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/ur/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/ur/firefox-125.0.3.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "8954d1812cdc7e7fd6671a0368d1eb9f12af04ae654427310a1b1031fe65a0b4";
+      sha256 = "71714780ef8d0d7bd072744dc450f4d3db43e8eaca8df76ebf0471debe8fdbb6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/uz/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/uz/firefox-125.0.3.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "1e481c989b7ca17770ad1e3fecf948a32125989a8d8460609b22be87d89fa95f";
+      sha256 = "c8e095e7259f14c6b98a32fba83154c6f83b2dbe8e19f7876434b22d3529fe4e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/vi/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/vi/firefox-125.0.3.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "261d944075b7df8f306b0d32a19e640e896d6b37b7911aed66affa88dfdaeeea";
+      sha256 = "82b8321d1e5d321f65ca1977a24d67b5663866c883fecae1553dc2d6a2b70304";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/xh/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/xh/firefox-125.0.3.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "7cb327501663e7fe772a40723275b3d8c34391687dcce8165ca3aaef9122bbc5";
+      sha256 = "06a67bbcedf238921f3211b2d36ebe02ee123cac3cb90820fd06eba7316fdaab";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/zh-CN/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/zh-CN/firefox-125.0.3.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "7d0cbdadbf0e7d772d70cc228597fdd6cb71943e757eeead166c14630d0436a9";
+      sha256 = "074fadec864960fafa5aafb41f05e638a97b37c00a26e8f9e838357f484c523b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-x86_64/zh-TW/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-x86_64/zh-TW/firefox-125.0.3.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "11dcac1e5a53885fcb07d370ad68e74244fd379927c9330ffff1827972cbc172";
+      sha256 = "01cf02595225f172ab77ad12c3c7d61456703f3e80d88e38e4fbd5d047f2c0f3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ach/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ach/firefox-125.0.3.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "b82f69643300bac35f5c25f14f95e2ddf237aadb5ef0430520a543f0a0ecc6f1";
+      sha256 = "051c3f7ed00fd372275aea30306469f732aa7ec59fc08f98e04606d2cca1ae6d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/af/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/af/firefox-125.0.3.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "4adfee36050e96d7a148656415df9cef4958331e31707f4372ddf43eceb5ef46";
+      sha256 = "6d1ee2379de68187991326d0d89e13edd733424adab5a7d6cf5e9aaf3368feb1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/an/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/an/firefox-125.0.3.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "ed3f933caaade24d236c93f4fda10f4d0ed302af1c058698d7b1b36380356b13";
+      sha256 = "0ecfa115508f05a7066be1927159faf3e02fe338df61d9c823a1936a56aabe95";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ar/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ar/firefox-125.0.3.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "dff115619f895d491d47b0f2d2c028c77f7c5764098a218974ba861d1124f352";
+      sha256 = "af4cb6ee6c7215be5e199d9ca64867484de7e693a013d9a33eb410e8d9feaa0a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ast/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ast/firefox-125.0.3.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "5ee98c5325bfae6d27e27c1c7d5a5dd8d52c5892efca98d8559ed76bbc431628";
+      sha256 = "04647b722d70f11d32f6a49dc4fda2f57560c96c3a098680b8e1964324cd9a18";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/az/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/az/firefox-125.0.3.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "3df15bec53ad5b5cfb265321bde6bad22c37886a2b526b2ba3d8ef00e7619d62";
+      sha256 = "499cd8960c5e21956372fcdcdbba8ce59929fdf3c199c94b604be235834fec9d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/be/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/be/firefox-125.0.3.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "24a5d62a81d00761c0cb14bc6c1264000cc8a1ad26b63c68f79505946021e3ac";
+      sha256 = "215c1fda1f502d87c8685a8dfeb23d2b34b51c569de96cf52ba6a8179cdca4d5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/bg/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/bg/firefox-125.0.3.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "049eb23c4c9790fed8588da0896fc14ddf54f9a6ba30095aa18d34d1a3f33a31";
+      sha256 = "d24acc50c74d070c9c3fcea8030914e08ec98f77a373f0c640f5c5644b52868e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/bn/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/bn/firefox-125.0.3.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "be00b429dfc0555e2a10edbcd25fd4617bde75779f135656452940e687783191";
+      sha256 = "c0f5570e5f05996e105485fa73580da3c4d3b7a0eb5db8cd1c6dd316b770d4f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/br/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/br/firefox-125.0.3.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "0b9d68cf7da38352718b70d6c14ff2fb8acec2fe22b4d7bd4d74269f1b90c518";
+      sha256 = "7adc8a1c0397bc7e3390a598bb064d6abb318a2689be7e99a90f31c3346f557e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/bs/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/bs/firefox-125.0.3.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "0c1337cb4c9af4a6196c8fefd273174ab28ec99a25a2c64fe920d2f692b16575";
+      sha256 = "43d74f20af450faa633216821af7c1d37bb1a1c6a6ceeb75a0474adbf9b015ce";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ca-valencia/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ca-valencia/firefox-125.0.3.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "60a2fa1d387dc21aa1d923347e2b51f76d63a263015009d8cd6960a7bc1efeb4";
+      sha256 = "1416a98df2841c0e9d3a783fd236f8e8c7f3dc4e17fe027e4cf04b8b0bde187b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ca/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ca/firefox-125.0.3.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "dfd409f0a4d17329080b58061be53b57d3c95a8a11579e47f17bcac90cd476da";
+      sha256 = "1c09a6d5ed0dfcae1d25fb9876c08663218f8a83bdc9f15ad52e39cd22428c5b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/cak/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/cak/firefox-125.0.3.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "a4177252b2ada2676eaf8d119c89f1abc8afddbe1d9d4241b7643d8e9699f34f";
+      sha256 = "6fbec6115cccaca619389d68cb917c331faeb19ca165f5b9e5425b78ffabf0d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/cs/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/cs/firefox-125.0.3.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "664bcdec576573e44d5c6970290f1cf376da95ee3c04c6d239a35c8836709f2f";
+      sha256 = "d1da5d44dd511d94341837c578eaa9d5aed5e2d63afc502b2b76b049d6110ece";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/cy/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/cy/firefox-125.0.3.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "661c4626fcea77bfcbb5efe188e40a2da2a42f8ac534ab8a9e75b201d8ae11a3";
+      sha256 = "eddafcccca339deee2cd0e67885692217f7c49141ffc64ca1a998bb935d45636";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/da/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/da/firefox-125.0.3.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "ef8b706eea86538b4cc0f987244fabc05ff96f70a0a41155f6f8e73d15c35500";
+      sha256 = "d5a3a9ee1927f26b18ccf696aee7ebde30dd3ba439c9a376b4a6072d04756ca2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/de/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/de/firefox-125.0.3.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "010fdd5d96a8575a3547bcb5b6cd1f8f38fb152a3ae014f0bb4e375b48f63f72";
+      sha256 = "2d61def83c8a52b94828b14c2c8697c1b77106a4c16a7df1e9e258212d23b583";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/dsb/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/dsb/firefox-125.0.3.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "1325a8fcadf3484a0ef9364fb6ff7187507a74780e35abf18fe93334d75c6928";
+      sha256 = "09f25336d1a46ec5cae5301d35e0573b205ccb3e1482c79b2f76db02045a9d18";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/el/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/el/firefox-125.0.3.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "cee3565afa0d1bea1eecacba264552fe1cd1485ad442d0f9335ffdc6a830c54b";
+      sha256 = "4e055eda0cbc2d8c71ce472982b26ef0c0ebc20f72dbd0a1d6b4f0d50a4966df";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/en-CA/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/en-CA/firefox-125.0.3.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "f5133ff41df3c00efba7d9bd645b293a35b2b1b167a49fae715f2d5db14f6322";
+      sha256 = "5ab7b3ac4d84e949c47da2d3a77708847fe73214bd641562017359f71e254dc3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/en-GB/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/en-GB/firefox-125.0.3.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "3d27e3074c55cf0932dbee424ba3769b8aea0e718604162657443b91edddd53c";
+      sha256 = "dc793c9a3161974ed1120572d6b65d3ca5a5d8947e53cf1d31da33d4bba6ca82";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/en-US/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/en-US/firefox-125.0.3.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "2c60d84d168c48ff571dd0313101f8ff772d34c4c4a6afdde570109002a5ce70";
+      sha256 = "1a7a16c2e75bfbd0e318095c259ab63fa0c097005b872d93885539c9f186ef80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/eo/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/eo/firefox-125.0.3.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "42cd56d238a0697f469fb7948ab93905a4ded7d6e54203c9ddf8cc10f5399636";
+      sha256 = "bc78e75ccaa66dea4f2b8585dd2ec8217ac065058defcb991dc6628acb16c3cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/es-AR/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/es-AR/firefox-125.0.3.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "6820f8831f155706ef16381e56671267504e86cf6edd8c6713ac29b2973a9441";
+      sha256 = "da954c777d0441c30c6b292ebf8fe316e7b52d75a76602bf6502ba4677c1cb64";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/es-CL/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/es-CL/firefox-125.0.3.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "8fde139c51d2f78e603f6efb54add63a5d81ef307a1ab934ca20ffa77853a773";
+      sha256 = "c4282cba4b588da12708921ed5c3998f24d4d81790a677090c38529c297867bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/es-ES/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/es-ES/firefox-125.0.3.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "76a1df6e67653ac056e822ab6a682aa57dfe8aac991b8fcb91d4388fef19f247";
+      sha256 = "15a1fed207e2c14e962c4e2eb8abe3cbc62d0621656b254675befe3d974d3cb5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/es-MX/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/es-MX/firefox-125.0.3.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "265a1f1799e1ede04bcf460dbe676398d36a15d7c81f4a9bcd67ce3cf6355654";
+      sha256 = "a962e53d6902ec7017ca3a8521c6b5730e7a7ae5244356c4d6d9117e50b37ebd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/et/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/et/firefox-125.0.3.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "b88bc9d688eb6eb232cac3599de3d56a7e0da65166da863592a353561e0e7b92";
+      sha256 = "9e58939f49650dcf0f0267d586919a3144eeec53ae58ef548613311bde905eb5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/eu/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/eu/firefox-125.0.3.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "3fe098b6ab3d811edcda82019b200859f51e3ad0e2ae8193b163005b98d0386a";
+      sha256 = "b5427601b225370def60f93e2f8cefe9600898183f0c184487bd95f8f86d2894";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/fa/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/fa/firefox-125.0.3.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "e51723ab10c6833e75c1fac5f435a544590237e2bc2ce826ec8083c035cc2c2d";
+      sha256 = "38fb2703b0e7fa9788aaa42dd1a89eadf616924c116f1b67b07f3d5df0963962";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ff/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ff/firefox-125.0.3.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "82f3a145131b6c6b1f29a094815e60df081d3521d726704f098a3278326cdc1a";
+      sha256 = "a7b764758d16c901511062065eaa6e16414d777d8eea315424f19eecf54ef5e0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/fi/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/fi/firefox-125.0.3.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "fc8be841682da29fd98f336fcaec222c3c8bb911f8effe490301da0340879ea9";
+      sha256 = "153ce3d7f4ced7a280bbb5bd539913a55f6c0790fe756e8b5335539ac651f7e0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/fr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/fr/firefox-125.0.3.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "6ec50a746151d57eaa56dfd4aa7ca0b8ee75e6fa31681da416e8a57301d4049d";
+      sha256 = "b5aa0cff2a5493bbb816ae12f43ff79354a4946c1649173de767b1cf543a427e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/fur/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/fur/firefox-125.0.3.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "1beae941315a6d00826433fc59949f62df76b09ae713211a5c0f455dcf77e545";
+      sha256 = "d4884765fa3c28e7236a6624aaff5f874c4a155b26d0b70d481109fea5159c84";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/fy-NL/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/fy-NL/firefox-125.0.3.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "43dbc9af218c1a33c5bc7d27f7a3389aa3f89aa1dd3a91e2f5552e4457f937c9";
+      sha256 = "49ebbe560e1960d34a2ab3258c05913ccc1d5bb60b3644dce6f4370733d7a59b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ga-IE/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ga-IE/firefox-125.0.3.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "173325d041c4044c3055f787bd7372dc600ac6e847cc1d2294c5ea43aec0de5b";
+      sha256 = "13d06ed7c8c73ecdeeb071a02d7aab98796927812127527be5f3b5fbcd9ea487";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/gd/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/gd/firefox-125.0.3.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "49560b641ba9375780d346eaf64e79228192bd3deec171858227a7889e060765";
+      sha256 = "2435d0910e347581e1ff60217fd517b78e0464adc0d2b35b803bf8f83bf6d993";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/gl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/gl/firefox-125.0.3.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "6119b6f4befef9537ccf32a82bd968358cc7e41d975b387b350c7b04417a262d";
+      sha256 = "cac5e02326f5ccdfb88e9cc1bdecc1060585b3274028f9050422834ea5559ede";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/gn/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/gn/firefox-125.0.3.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "adbbccc3b675c9dec331f9e3ac3682f78e71ed081a70d2141e28a6f4f997982c";
+      sha256 = "addcb8beed0a341c6eafc4894d11a6b3e8ff9c69c60442d674cac5dfa4552eb4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/gu-IN/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/gu-IN/firefox-125.0.3.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "f74fd4955f1a53229f75a03a910a46b03ac23856de5e5dcbc24bb75941d4464d";
+      sha256 = "2342dc7b3996019edf66375533e5dd46e94db1cb7e37635002f3f7826c7b35cf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/he/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/he/firefox-125.0.3.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "21ea8a68afb63d58c976fa7a272fd39eaefadb20e1b15b291eca49de9b8f77b0";
+      sha256 = "a6026c597c8f917006893da69998586b704b5ea89687a5a4f57f4fd1c6060c22";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/hi-IN/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/hi-IN/firefox-125.0.3.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "22a538fbf6445f4a02f4705098b0293ef92898d45a6bc414c4734a44d8a0fe48";
+      sha256 = "12d8bc4072ce6118f50aea48f1d0cf19ac2cde7a43b169dce92088058ee135c8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/hr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/hr/firefox-125.0.3.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "ff5b46a0097a8ee17c3eda0168264b5fefdf50307d6247d36b6f141cba7a8261";
+      sha256 = "fa93237908e0a30fd911a2208cb1734d0480e9514877625fc7bb8a0a4f5eda89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/hsb/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/hsb/firefox-125.0.3.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "5b7f41a5b8e1d8d6b04a14a37b7fd5cf217ba5a76cb049290a140d1f0db687c4";
+      sha256 = "4936df4e7258830565e0718fe89375c8876d5318d65e92995a104498a0353846";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/hu/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/hu/firefox-125.0.3.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "3e59352bc5ec6465d1427fd0df2e72600f690ca00674f0c9f9985f6f3f15c669";
+      sha256 = "2e87fc4c2965f25a0826348b1bb8296bb037c9213cfa4a7d86e65421b36c4527";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/hy-AM/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/hy-AM/firefox-125.0.3.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "223920f8993e7cf9f4c297669b7f5e953f71901ffb36b0834050b993758690a4";
+      sha256 = "8a7660e5a5f5755daab77fe4bea805bef9124b3d7e1ede72f3f2b3ca0094b5db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ia/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ia/firefox-125.0.3.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "d6287fff698044a26cef07521208894980fa59e3a9bb11090efd44071c5ad029";
+      sha256 = "883a6bae7c4e2f72cb4bb1bee676058e9093d7069bccad29fab329d873d68075";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/id/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/id/firefox-125.0.3.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "c826bf9fae736c0237faa33bf07182706e0cfa9d6b0857451b0b413fd5bc921d";
+      sha256 = "0a2de5d0a841481f351d2f4e26fb4cf56592d580075b5ff08054b661e17bbacf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/is/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/is/firefox-125.0.3.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "f512956810704495d3d5c9633f1e44e22c472d5d6bcbbae23498d00bafe96151";
+      sha256 = "33376b28936467ff5c3fff5898ae1eeee882dd15d34d8d42b9010981cd27d53b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/it/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/it/firefox-125.0.3.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "1db9991a709984d9e6305dd8e5e479c3b3ff2b2a272d2e4bf30b3674fd558511";
+      sha256 = "37cc5b95d46d637633d7c368350683ab2e63871e7b8f574bb50cadec80adc558";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ja/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ja/firefox-125.0.3.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "45eea70af05d2db4b7e5671bbb3ee8aa04d4121b13758848c05f810de02114e6";
+      sha256 = "4feb22e07f2a536bf18c5cd9dd82a1b60e9d846f81d08326b119b19212088ba9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ka/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ka/firefox-125.0.3.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "6ca7b33f9c45431f5954e165afbeafb53aebb806f867a5be0598f01985187de7";
+      sha256 = "e786417de882825c05b8385855eee0580cad0f64a14eec53966d90108c42d524";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/kab/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/kab/firefox-125.0.3.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "284be383240c84325812f4c5342559093af20d0f77f4e833381b285f6af71860";
+      sha256 = "b58f6d29cb6ebac1407cf46bce238f80f56c60e4b400fc6beb9fefdaff19aede";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/kk/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/kk/firefox-125.0.3.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "b1347910af157cb22a5227cd3d32cce6bf658b8a540c220e66b6b2cf77853907";
+      sha256 = "8d868c1553a1c8708f166d6b99cf0fede333366994c46d490014cf15330046e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/km/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/km/firefox-125.0.3.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "1c5c7b371eec2d2f5cf40278bbbd259b3d0577c9c159b56bd5a7dc62f6c9fa4e";
+      sha256 = "deafa1829c27ed270718effd342cd9bc26453e5e6f64cdd7c83f0a86dec3533a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/kn/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/kn/firefox-125.0.3.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "d7c74aa01bf368cae66f0751dc2efd2572ced0fef672a54e0ec509640084a7fb";
+      sha256 = "9a19b06844c60e9d4d6348c6b207273378228a59f1a831c9eb99e1073eba2a16";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ko/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ko/firefox-125.0.3.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "6e479b43e1c7f77084ed8f34f934a5a551ffba7156f2898186acd8d78bfe8b51";
+      sha256 = "bf79f74b659344291a745fa62aa726401f8c84369a96c0a13eb66be9bff2368d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/lij/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/lij/firefox-125.0.3.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "2fa2fcf25b2e309e46f1f5c14ba2aa311151d8b4c69570a7fd1b60b21728d249";
+      sha256 = "41c8b57d4426251b33c7d528cb23e635b22d3b81c4188c6844a39e87800fb9bf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/lt/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/lt/firefox-125.0.3.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "cc1cc039ea23c4a43443436941e077d621a428f532f81be4983517993ebd37b4";
+      sha256 = "34c57fa25ef83b9f6747e61eaeb4a98b312ffda9bcfdfb761392c94565e41348";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/lv/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/lv/firefox-125.0.3.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "ebb199a86117fefe8541411e7696adb7bb49c4b3a26d20d2a2977f6ba8b2cc57";
+      sha256 = "173afd7c09962de9af491917b7c14d245e02e6c109f69b9b7330466515dd1549";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/mk/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/mk/firefox-125.0.3.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "e22008d118358c56aabbe8ef2ac9843a38a7ed8088bbd042045271b9a065881a";
+      sha256 = "b2ace494099bffc7d70d074197d1e4b0a9a387e553e4fffb31efce7d5f89053d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/mr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/mr/firefox-125.0.3.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "aaf53f2983d192b7985daa596b6e99ddc7b382bdcb30149eb66c56c7c7f02188";
+      sha256 = "1d4075ee01d742d9d846a9cce63847baf5ad749d260e7d2018391719e3478200";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ms/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ms/firefox-125.0.3.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "426441bda00b7079cc8a0c1373e3eeb487b686888a4b61c1752db8b6dc472af0";
+      sha256 = "aa9012aa1dab8a1da2b4d21743fb01e2cae1322873cd67113f0d3298cc7b62e6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/my/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/my/firefox-125.0.3.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "77b809bf0a100312882793e4308a5edfe82944b934574b136119af6e8333b111";
+      sha256 = "a52f0bddf09a9381616ee91246a2bbf02112bbe7d8e651a75bf71bb4ff0a55ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/nb-NO/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/nb-NO/firefox-125.0.3.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "129a28f32f3b9b9b01d24e62fb08629f1dc44e98b98741074d11eb6dfa4f8d0a";
+      sha256 = "9c221603c7cbe51e53e03bceb2bfa64b51bda3935f8d59f995270297dfe435b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ne-NP/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ne-NP/firefox-125.0.3.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "c56002de914665040ec4c737bc6432ca8537b369a00125fd6496511a2cad6bd8";
+      sha256 = "026fa9b87a1fb8cfc347aee7edd09cf07433d2febb6bc7284c90942aeea886cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/nl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/nl/firefox-125.0.3.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "c3061e5cfd0ceb7b4080ad9feb8ce7abb24511a1e0acfc658bcc89f06b2115b5";
+      sha256 = "5454546bf2eea2e8785ec994302e9d8d9f3468a89cc5be1eaf491132f8449deb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/nn-NO/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/nn-NO/firefox-125.0.3.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "e9885e43e143208f22f43d21aeb562860765565e6d30709d75b9e207d7cf82ae";
+      sha256 = "a71e340f55985cf76a5e768ee63c5d9fe5f5a68334642f34062324211cc48b2d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/oc/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/oc/firefox-125.0.3.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "6595d4b9adbbc97c4a712d22aa86260fa186fcf32b86c6f8e1b90d2e26181dbc";
+      sha256 = "441a44314d02b9e54e86b0fa1b8049ceaad7bab7b66e54c0a841f8d624ce76aa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/pa-IN/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/pa-IN/firefox-125.0.3.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "4d75bcf2e127ed624df0a3eef9430210d5206f9029f7265038e2560a5e1a855e";
+      sha256 = "b72d31b37d4f6d7798e96c6685512814c991a987253767aad79cf515012b057f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/pl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/pl/firefox-125.0.3.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "29f243936df126b1be089827e03354eab81a70d1d1d324bcf01d68a2406f514f";
+      sha256 = "1ae017de12a7faf49b06c9c4bab7e20e776e5fad1430fb0e7f9af519739659cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/pt-BR/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/pt-BR/firefox-125.0.3.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "bd3795069fbcf3d945dcb9c2c9c2ab2dc6a263367e9fcc8261af2a77d6eb5da2";
+      sha256 = "6a5f5afb1b3e4f71dffa20ed5ebd3037b63bf127cf9daf09291bf62d9e8a093d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/pt-PT/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/pt-PT/firefox-125.0.3.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "005b2667bbc30560d63f8c832651063016b8b166b8f40f777d459a3b255887de";
+      sha256 = "64763768287dd897705be573e01a61c06c916bd413f8d6a1fd47a64f0d918c09";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/rm/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/rm/firefox-125.0.3.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "78e5cff6bd1a34082413f6e716220ecae38f6eb06f2bbf61e653504bc3e91034";
+      sha256 = "4ef4a5c3180e3432f7b9380deb84df9f816eaf4ca333c93cfce8e0a52a1cd39b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ro/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ro/firefox-125.0.3.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "1f545495f57236c10358755ee7a51accbb9e2a9b8e5d5c1d1801db8d040194d2";
+      sha256 = "a89a97ae37721ea57f0e087c430dea88ffdb43b1a4b823cd9fff6e40faa46d81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ru/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ru/firefox-125.0.3.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "0edddacf79110ebeac3b1894b049deb6b7b0d2e3705c09d181b1a43a5362c3ef";
+      sha256 = "93dfb081232b4af62d9cd4826501832dcd90f1a91dbafa9efa5be2a094eb2df7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/sat/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/sat/firefox-125.0.3.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "e0523ca21774ffb3a9e5f2bc39b42f1b8c76370f55ff9220365ad825bc360481";
+      sha256 = "33292fec9a1ac64f7e0b18758de38af19a19d9dbc437e8fce7f8fa20bf58da98";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/sc/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/sc/firefox-125.0.3.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "e2aadb90aec3e60caedf38513437ab6cb66a91ecdf7da3a90f3849f9949f22f2";
+      sha256 = "368600cf67e645dc9eed1835ead1eeebda974b1fc2ff5ca8ce3a65047da402f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/sco/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/sco/firefox-125.0.3.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "2bbca54be46a4ac85a8d0622b6a8acd74df8812ed089320797ed3a7aa43c9ac3";
+      sha256 = "20db2d38c151893b43727af5016b7f48684aeac4e66386a99cdb7f640678970f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/si/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/si/firefox-125.0.3.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "dcd127679d6104a58f91602034b4d963fe78344ec2183ac06f384b106c3dc8ec";
+      sha256 = "56f3baecb795a6f99f52ac4749d9b7e69222f43a847fa5e26363a656fdfad8e0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/sk/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/sk/firefox-125.0.3.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "05dbc0c1f3a93f06441ba662d0a926ea5bff4571bb2f5609f226de1fbd83b8b4";
+      sha256 = "7c7c25a7426b1f3b98d5aa86433237bb4e7d9f4d4c74d3302966783985a6a067";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/sl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/sl/firefox-125.0.3.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "c6f8414ed1945d7c5be50d8129b9218ad9ca64b0d614861f222603ee1be55331";
+      sha256 = "43d59e1d98e772336eafd0a2d9eeb5ddb17ffe2e21b41ec8501d5f92d01e33bf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/son/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/son/firefox-125.0.3.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "fc81b41ded7bd0fe499f8027cdd4326f6d92e273e438ac4ba903f3aa92a137ef";
+      sha256 = "561fb6ac615a92d24229f33be1bec0c40c593eb46bdd8c5b0f916ce72c7ae0c7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/sq/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/sq/firefox-125.0.3.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "d57fc39e623000134c8aa00b393825c3ff4453df1ea07d5f8d7bb644dafc60cb";
+      sha256 = "b58d25f1a89ffda900b77bda85b8a0b4013009d07756f1e80c2f464b4f00e9dc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/sr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/sr/firefox-125.0.3.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "3935f39340fdda61fd0626479ff176aad5921edca685d199e2ce2a5342784b39";
+      sha256 = "6efb25e0762457b7738ce878830a236543d8ac3e27eb26fd92038f83031980ad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/sv-SE/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/sv-SE/firefox-125.0.3.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "38e52f809689661c454fc70ae65a9ea354f73131b6ac1eb7ab9e94cc44b96ff0";
+      sha256 = "01e408103e812278d0c81b3acef7045636d64999237dfeb74024e63f640084aa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/szl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/szl/firefox-125.0.3.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "1ab9988991e8553db48df8bba87646ca3ae9254914207758899143e772729bc5";
+      sha256 = "940138fe1ec2f707f153147db6b6e5eca9dce191ae8765a52662cc89d9e18fe1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ta/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ta/firefox-125.0.3.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "120428f8e2827d3283dcb0b2886e05a0ef84797656075ed160386c4aae5d9e53";
+      sha256 = "d90039aef7fc7e56e948d4af079f3edef5b65588ad5fd650cb70f59188c758fd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/te/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/te/firefox-125.0.3.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "9f8272b1dbc34d7861130e76f5e72398e8038009eb3937e332a7b7b739a2892c";
+      sha256 = "1ad8d8e42c691566cf1d082464f5c32e8ecef628182ff4dbebb4482e2eb33465";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/tg/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/tg/firefox-125.0.3.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "1a13f73a74d2c42d602ca0b88275c6b49b7b98cc56f363bc460a108e7cc9a33f";
+      sha256 = "4c6974fcdc6d55662073b259b4891472eae22f79aa718ba6f13e73e54f97ca42";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/th/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/th/firefox-125.0.3.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "e07e9bd213ec0357c90c400e336b040987814c4105afd111235464695fed1101";
+      sha256 = "6725c41f5465bf1a1731154654bd6e0a8aa9b5175e1e7f64ae719e8b1fed0057";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/tl/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/tl/firefox-125.0.3.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "a14daf411cde7285c8f488f8c185171bf3b2efc3cc8adbba801c09a3b3765320";
+      sha256 = "6e7dee9256a30aec0c7fa67cff5d3b295bd45f417a0d02f34cdafd2fabffa6b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/tr/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/tr/firefox-125.0.3.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "2163257dd10892967378152ba2c6fe8165d09a219a897bd04a30bca7711bd030";
+      sha256 = "fc1f91da8f5b30301a0f3238b6dde5e0accd314f6fe43d18715b786a2917d8e6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/trs/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/trs/firefox-125.0.3.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "a16e68ce428af8d6f87923ce2ce6b5c71b3d82e8b78faf2fdb00fec57b77798d";
+      sha256 = "ab8cf88696df73b802f6dd6f42c33172c35685af462e92e2fd161ed3307c5fae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/uk/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/uk/firefox-125.0.3.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "ea8fea7dbc06fbaecb6ec9a195c5b7f77a8f724bd66affcaea62ff41a9c390e9";
+      sha256 = "40fd34bcbef5937190065db1769227ae05fe29d7df65cab96b4b47b68acfd0f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/ur/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/ur/firefox-125.0.3.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "a12d6f1533431c63acc0e5cdd18d0d3a220f43be15d821acb1fa846d1103031b";
+      sha256 = "360c8abcfc50fa78f1115973f152785ee52f1ab9a8e512183df7e7f6f9099ae9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/uz/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/uz/firefox-125.0.3.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "b456de99139122e04e1f0c08978517353fbdc984cf4b9fdd733a02f6011a060f";
+      sha256 = "ac301677aa02e5e8f4ebbf382b511b9a7ee07036e7f74726ec23dfae2b82614f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/vi/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/vi/firefox-125.0.3.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "11b6b4ae3b754ba5b11156f61fa60380edb6ce921359007c1fd51f20f7713415";
+      sha256 = "78964ade29f3d8c3d664be9a634ab6f2e7c33100d08936de4b813b7718946d39";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/xh/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/xh/firefox-125.0.3.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "f3e63830176c6525145a609429c352ec385a3a9a3d9822d6f12fe72ac43ea04c";
+      sha256 = "3692b2d980105d1d1640c0dfaec52df29cc5c5b3868250aee6c011d9e3a95963";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/zh-CN/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/zh-CN/firefox-125.0.3.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "3e8e26fb66b7907717dc4fcc38200dc3816b2b7fad72dd9d3d56fc768eb76f32";
+      sha256 = "b9c137726f279abef9f86e8f2889465d1f9f2bfd34cb7008471a5c7e5222fd78";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.1/linux-i686/zh-TW/firefox-125.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/125.0.3/linux-i686/zh-TW/firefox-125.0.3.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "d35306938344fec0b926b9bb732534e9afa72798fe4d63da2e878bd50f0900c0";
+      sha256 = "a7cd7f510e92be7608a405ee7048becf1e2866dc0153434e465fa3f381921ad1";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 5166fdf85153a..4483cd31bd653 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -298,9 +298,6 @@ buildStdenv.mkDerivation {
   setOutputFlags = false; # `./mach configure` doesn't understand `--*dir=` flags.
 
   preConfigure = ''
-    # remove distributed configuration files
-    rm -f configure js/src/configure .mozconfig*
-
     # Runs autoconf through ./mach configure in configurePhase
     configureScript="$(realpath ./mach) configure"
 
@@ -308,8 +305,8 @@ buildStdenv.mkDerivation {
     export MOZ_BUILD_DATE=$(head -n1 sourcestamp.txt)
 
     # Set predictable directories for build and state
-    export MOZ_OBJDIR=$(pwd)/mozobj
-    export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
+    export MOZ_OBJDIR=$(pwd)/objdir
+    export MOZBUILD_STATE_PATH=$TMPDIR/mozbuild
 
     # Don't try to send libnotify notifications during build
     export MOZ_NOSPAM=1
@@ -353,7 +350,7 @@ buildStdenv.mkDerivation {
       # since the profiling build has not been installed to $out
       ''
         OLD_LDFLAGS="$LDFLAGS"
-        LDFLAGS="-Wl,-rpath,$(pwd)/mozobj/dist/${binaryName}"
+        LDFLAGS="-Wl,-rpath,$(pwd)/objdir/dist/${binaryName}"
       ''}
     fi
   '' + lib.optionalString googleAPISupport ''
@@ -510,7 +507,7 @@ buildStdenv.mkDerivation {
   '';
 
   preBuild = ''
-    cd mozobj
+    cd objdir
   '';
 
   postBuild = ''
@@ -535,9 +532,9 @@ buildStdenv.mkDerivation {
   preInstall = lib.optionalString crashreporterSupport ''
     ./mach buildsymbols
     mkdir -p $symbols/
-    cp mozobj/dist/*.crashreporter-symbols.zip $symbols/
+    cp objdir/dist/*.crashreporter-symbols.zip $symbols/
   '' + ''
-    cd mozobj
+    cd objdir
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index bcf14cd15a5d8..4823ceab0eacd 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
 {
   firefox = buildMozillaMach rec {
     pname = "firefox";
-    version = "125.0.1";
+    version = "125.0.3";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "6f2f336de8b0ec9cb19ba20c909407b7b88c0319ee3b2f1f3429133516b0c45b4c7846f287985a0cdb9f34acc7d5378ed14fb48e26bef113c8ac360501a30c4d";
+      sha512 = "18e705a3093290311ccb5f27f01e43fe243ece94c1769a9ccc4fa53d370e32a1ec6a107cdeb531e9468b9aca1a1fe668161adb7acc1ec65fd383837882c7d484";
     };
 
     extraPatches = [
@@ -33,11 +33,11 @@
 
   firefox-beta = buildMozillaMach rec {
     pname = "firefox-beta";
-    version = "125.0b9";
+    version = "126.0b5";
     applicationName = "Mozilla Firefox Beta";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "66d1b27355c105714b926b5424badc01582e5ad7e979104d05fa50748ea961c7f1e081b88978fb94aee54ed281931b8d0f0bb0e16670cf89e7f10703711e7f4e";
+      sha512 = "5a079e4f01c95baf5b26a5d61521eea493fa4c3cdf91985fbbee313ddc50af1d941915abd6d0ffa97927d80f2016cbdcd3c80c11cfc3068cf83a62f3b45026ad";
     };
 
     meta = {
@@ -62,13 +62,13 @@
 
   firefox-devedition = buildMozillaMach rec {
     pname = "firefox-devedition";
-    version = "125.0b9";
+    version = "126.0b5";
     applicationName = "Mozilla Firefox Developer Edition";
     requireSigning = false;
     branding = "browser/branding/aurora";
     src = fetchurl {
       url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "a000d1ad29a6a83af6bb424d9b5099667b93907041ebcf8f18b22a2045f4d0f0292db3b331c33b30d142ee6feb58386cedcae356c79d2c5e31fc7a571af2b63c";
+      sha512 = "cb36cdf70035ed96cb877d41e499d7df03fc6a939f4a5395fef110a44f7d810ad4e8fa393c784f3e7d286ffde0c4f3ad0fd38e81236a301a24d4e74eece702b1";
     };
 
     meta = {
diff --git a/pkgs/applications/networking/browsers/floorp/default.nix b/pkgs/applications/networking/browsers/floorp/default.nix
index 0bf2fd36c0fbe..aa67b61cf7e45 100644
--- a/pkgs/applications/networking/browsers/floorp/default.nix
+++ b/pkgs/applications/networking/browsers/floorp/default.nix
@@ -7,7 +7,7 @@
 
 ((buildMozillaMach rec {
   pname = "floorp";
-  packageVersion = "11.12.0";
+  packageVersion = "11.12.2";
   applicationName = "Floorp";
   binaryName = "floorp";
   branding = "browser/branding/official";
@@ -22,7 +22,7 @@
     repo = "Floorp";
     fetchSubmodules = true;
     rev = "v${packageVersion}";
-    hash = "sha256-9mJW8VFYClQ3D8/nPtlCVaVULvEICS+RQhz1dLujn6Q=";
+    hash = "sha256-KWUoR/0XOz4mCWBkTgDfvvrWukZMa3tQzQ+k5+BfzzY=";
   };
 
   extraConfigureFlags = [
diff --git a/pkgs/applications/networking/browsers/ladybird/default.nix b/pkgs/applications/networking/browsers/ladybird/default.nix
index fc81be7124416..3be88d290040c 100644
--- a/pkgs/applications/networking/browsers/ladybird/default.nix
+++ b/pkgs/applications/networking/browsers/ladybird/default.nix
@@ -11,6 +11,7 @@
 , cmake
 , ninja
 , libxcrypt
+, python3
 , qt6Packages
 , nixosTests
 , AppKit
@@ -103,6 +104,7 @@ stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = with qt6Packages; [
     cmake
     ninja
+    python3
     wrapQtAppsHook
   ];
 
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index 593f70afe4218..b012094e91136 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,15 +1,15 @@
 {
-  "packageVersion": "125.0.1-1",
+  "packageVersion": "125.0.2-1",
   "source": {
-    "rev": "125.0.1-1",
-    "sha256": "1h2x08gdpw3bldmfkws5qafp73r4w11a7ad3xc6flyg96b8a6h4f"
+    "rev": "125.0.2-1",
+    "sha256": "17i36s2ny1pv3cz44w0gz48fy4vjfw6vp9jk21j62f5d3dl726x8"
   },
   "settings": {
     "rev": "6b2b6a89fc15a705388955e4d1375f453d8cdc89",
     "sha256": "0yginhc8pn00k1gh8h7bzvrl4vi2wimbmrrgnmvvblv28bxhwnh0"
   },
   "firefox": {
-    "version": "125.0.1",
-    "sha512": "6f2f336de8b0ec9cb19ba20c909407b7b88c0319ee3b2f1f3429133516b0c45b4c7846f287985a0cdb9f34acc7d5378ed14fb48e26bef113c8ac360501a30c4d"
+    "version": "125.0.2",
+    "sha512": "f6d5fff7c5c532d2e41a246d0403bdd746981cfcb7c43f9d3d8ec85a7acc3310a52043d1e18848475cef1b63c24769e81b2b06d68ae007b68016ee51436032f1"
   }
 }
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index b898cd823b355..f07e5e9388565 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   beta = import ./browser.nix {
     channel = "beta";
-    version = "124.0.2478.39";
+    version = "124.0.2478.67";
     revision = "1";
-    hash = "sha256-0KQU/JS6hlv2SLMB8RKyITUiodByBUstrhcwIefn3Yw=";
+    hash = "sha256-EywgM3G0Yph3dofullSVZpXSvT2MHc4uPyGAoaXCgN8=";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "125.0.2518.0";
+    version = "125.0.2535.6";
     revision = "1";
-    hash = "sha256-q4TVpO0SxSSLMv/NtmJIOzClT2WqUss2qfE5vgj4O7E=";
+    hash = "sha256-iD/e7AuPG0uNZY20wFQRbvAaKmaUw2RKeRJADU1MFRI=";
   };
   stable = import ./browser.nix {
     channel = "stable";
-    version = "123.0.2420.97";
+    version = "124.0.2478.67";
     revision = "1";
-    hash = "sha256-q7Pcbi0JQr/wvKIrgueD9f2Z6v1DMoD2bcRJKGqDYjs=";
+    hash = "sha256-PRL2aiebCoK0eGJWlvI+Gsk14FltV+GaQdojLuDFimU=";
   };
 }
diff --git a/pkgs/applications/networking/browsers/mullvad-browser/default.nix b/pkgs/applications/networking/browsers/mullvad-browser/default.nix
index 9edb3d882acb3..a34b5022a7a39 100644
--- a/pkgs/applications/networking/browsers/mullvad-browser/default.nix
+++ b/pkgs/applications/networking/browsers/mullvad-browser/default.nix
@@ -208,8 +208,8 @@ stdenv.mkDerivation rec {
     # fonts.conf; upstream uses FONTCONFIG_PATH, but FC_DEBUG=1024
     # indicates the system fonts.conf being used instead.
     FONTCONFIG_FILE=$MB_IN_STORE/fontconfig/fonts.conf
-    sed -i "$FONTCONFIG_FILE" \
-      -e "s,<dir>fonts</dir>,<dir>$MB_IN_STORE/fonts</dir>,"
+    substituteInPlace "$FONTCONFIG_FILE" \
+      --replace-fail '<dir prefix="cwd">fonts</dir>' "<dir>$MB_IN_STORE/fonts</dir>"
 
     mkdir -p $out/bin
 
diff --git a/pkgs/applications/networking/browsers/palemoon/bin.nix b/pkgs/applications/networking/browsers/palemoon/bin.nix
index 5143b1746ca38..9b3ea171b4f5e 100644
--- a/pkgs/applications/networking/browsers/palemoon/bin.nix
+++ b/pkgs/applications/networking/browsers/palemoon/bin.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "palemoon-bin";
-  version = "33.0.2";
+  version = "33.1.0";
 
   src = finalAttrs.passthru.sources."gtk${if withGTK3 then "3" else "2"}";
 
@@ -158,11 +158,11 @@ stdenv.mkDerivation (finalAttrs: {
     in {
       gtk3 = fetchzip {
         urls = urlRegionVariants "gtk3";
-        hash = "sha256-Kahnwlj9PIWB24lvH6h9cZK459NW2Vo2g6ckuv0Ax48=";
+        hash = "sha256-qjztSvNL7KNFG3sszgk5qH77do0HFQ8YTrgjFi2ZM00=";
       };
       gtk2 = fetchzip {
         urls = urlRegionVariants "gtk2";
-        hash = "sha256-XOiLGmU8O96clUpnp/OkzXmWR1PJ2AdzbVFj6adbcvY=";
+        hash = "sha256-q4zAmnCN9SHGb8PthjAx7d5FKq/oAQ8c0R+U1SWqjAA=";
       };
     };
 
@@ -206,7 +206,7 @@ stdenv.mkDerivation (finalAttrs: {
       experience, while offering full customization and a growing collection of
       extensions and themes to make the browser truly your own.
     '';
-    changelog = "https://repo.palemoon.org/MoonchildProductions/Pale-Moon/releases/tag/${version}_Release";
+    changelog = "https://repo.palemoon.org/MoonchildProductions/Pale-Moon/releases/tag/${finalAttrs.version}_Release";
     license = [
       licenses.mpl20
       {
diff --git a/pkgs/applications/networking/browsers/polypane/default.nix b/pkgs/applications/networking/browsers/polypane/default.nix
index d0a1e359f9567..ee28dcbabafc2 100644
--- a/pkgs/applications/networking/browsers/polypane/default.nix
+++ b/pkgs/applications/networking/browsers/polypane/default.nix
@@ -20,7 +20,6 @@ in appimageTools.wrapType2 {
   extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
 
   extraInstallCommands = ''
-    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     install -m 444 -D ${appimageContents}/${pname}.png \
       $out/share/icons/hicolor/512x512/apps/${pname}.png
diff --git a/pkgs/applications/networking/browsers/tor-browser/default.nix b/pkgs/applications/networking/browsers/tor-browser/default.nix
index 851f2c49f280b..91456e85e6f7e 100644
--- a/pkgs/applications/networking/browsers/tor-browser/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser/default.nix
@@ -199,8 +199,8 @@ stdenv.mkDerivation rec {
     ''}
 
     # Fixup paths to pluggable transports.
-    sed -i TorBrowser/Data/Tor/torrc-defaults \
-        -e "s,./TorBrowser,$TBB_IN_STORE/TorBrowser,g"
+    substituteInPlace TorBrowser/Data/Tor/torrc-defaults \
+      --replace-fail './TorBrowser' "$TBB_IN_STORE/TorBrowser"
 
     # Fixup obfs transport.  Work around patchelf failing to set
     # interpreter for pre-compiled Go binaries by invoking the interpreter
@@ -263,8 +263,8 @@ stdenv.mkDerivation rec {
     # fonts.conf; upstream uses FONTCONFIG_PATH, but FC_DEBUG=1024
     # indicates the system fonts.conf being used instead.
     FONTCONFIG_FILE=$TBB_IN_STORE/fontconfig/fonts.conf
-    sed -i "$FONTCONFIG_FILE" \
-      -e "s,<dir>fonts</dir>,<dir>$TBB_IN_STORE/fonts</dir>,"
+    substituteInPlace "$FONTCONFIG_FILE" \
+      --replace-fail '<dir prefix="cwd">fonts</dir>' "<dir>$TBB_IN_STORE/fonts</dir>"
 
     # Hard-code paths to geoip data files.  TBB resolves the geoip files
     # relative to torrc-defaults_path but if we do not hard-code them
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 26760429dfd48..f61bb393bac7c 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2024.3.0";
+  version = "2024.4.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflared";
     rev = "refs/tags/${version}";
-    hash = "sha256-Fzi5g8bHBC5xao0iZ4I/SXLpEVaoUB+7UuQZhbfHw60=";
+    hash = "sha256-1/3uj0h9n53j8PnZSHWEyMARsWYxFIqSkGlxS2JXqsM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/acorn/default.nix b/pkgs/applications/networking/cluster/acorn/default.nix
deleted file mode 100644
index f26ebfc4c02f4..0000000000000
--- a/pkgs/applications/networking/cluster/acorn/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "acorn";
-  version = "0.10.1";
-
-  src = fetchFromGitHub {
-    owner = "acorn-io";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-Zw/OqN4d5iukh9oUXjczMvNKYkcGSUoDEwfti7uzZXQ=";
-  };
-
-  vendorHash = "sha256-d/1Rqh00THUwcMBWloevfKbScaWhVG5r/32Q4zYUaJg=";
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X github.com/acorn-io/acorn/pkg/version.Tag=v${version}"
-  ];
-
-  # integration tests require network and kubernetes master
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://docs.acorn.io";
-    changelog = "https://github.com/acorn-io/${pname}/releases/tag/v${version}";
-    description = "A simple application deployment framework for Kubernetes";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ urandom ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 8a6e3ac65f748..52012a3617090 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -34,16 +34,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.5.5";
+  version = "3.5.6";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SONi7GmFgBEA+5l8ftjFP3+hk55eZmhkLLuu5FfyVFo=";
+    hash = "sha256-CcPY9eEpvDTIxilxHI+VBVVRxZy/82fi6uayBrGR/Dc=";
   };
 
-  vendorHash = "sha256-XjwtgJdBk9YIro1WlunYmKkuZSrSJTN/BLXn7i3+9xY=";
+  vendorHash = "sha256-ttpDGeANQyrTfRyNGFkmJFpE+nnjz8PZN+0HScBJ1yg=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 7f3265cbd8bf4..761e7f0d1d7b1 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.10.7";
+  version = "2.10.8";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    hash = "sha256-0C8lVQrFxrk9ym4aCz0PhUS2iByx9rj5Id0xFIq4Efc=";
+    hash = "sha256-VzEgZshzIHXI0J172W1zI1E8dU8iYJq0lO01LpI8Y+U=";
   };
 
   proxyVendor = true; # darwin/linux hash mismatch
diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix
index 39c14e95c60d4..2ad7f717252b5 100644
--- a/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/pkgs/applications/networking/cluster/arkade/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.11.9";
+  version = "0.11.10";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    hash = "sha256-TJja4FL440ZG5VsCfJsKUYeM2YPlMSl2+ejjlgyP5IY=";
+    hash = "sha256-Uw+/pVhbGYjFTcrh90Gstu5KddlkXKuzL2lbQ7CFLGs=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/applications/networking/cluster/atmos/default.nix b/pkgs/applications/networking/cluster/atmos/default.nix
index 0c371bfac2cd1..9e4d04befbc85 100644
--- a/pkgs/applications/networking/cluster/atmos/default.nix
+++ b/pkgs/applications/networking/cluster/atmos/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "atmos";
-  version = "1.69.0";
+  version = "1.70.0";
 
   src = fetchFromGitHub {
     owner = "cloudposse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-H2RyxUeOgIiGpR50sDP6bjZ6BKRB47oLUpdtawSRnmo=";
+    sha256 = "sha256-NmgInrjCcMoSjSCotGU38URP7FNMaFs3N2g49Y/fXSw=";
   };
 
   vendorHash = "sha256-dJJPq2HcGZ+MqtJ848gsrvzD1rMVrwJQKwq+UpZsFB0=";
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index 5502c5c582f16..34a83ed1c8b3d 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.4";
+  version = "0.16.5";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-fhTjYhRCtJu18AGYF6hiTdRMEdlNO+DmDwh2hZBXzPk=";
+    hash = "sha256-XsdvjdhrTin5RWwDjBBpdBM/+1S/p+MMd/2gigOiz2E=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/clusterctl/default.nix b/pkgs/applications/networking/cluster/clusterctl/default.nix
index 34add12a81352..2bfa0662dba8c 100644
--- a/pkgs/applications/networking/cluster/clusterctl/default.nix
+++ b/pkgs/applications/networking/cluster/clusterctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clusterctl";
-  version = "1.6.3";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "cluster-api";
     rev = "v${version}";
-    hash = "sha256-gyZxEzktbYtQSm1gm4wWJriMo/MjDdgaAxjA7J3jeQ0=";
+    hash = "sha256-e+Ut6xoNUY9cJjjJ43P0siEa+G1igllcb8veirk1UX0=";
   };
 
-  vendorHash = "sha256-bMM4d1ji03bICsd6uBqu+0n4rB/SiKjtevQzV0DYHiE=";
+  vendorHash = "sha256-ALRnccGjPGuAITtuz79Cao95NhvSczAzspSMXytlw+A=";
 
   subPackages = [ "cmd/clusterctl" ];
 
@@ -29,6 +29,7 @@ buildGoModule rec {
 
     installShellCompletion --cmd clusterctl \
       --bash <($out/bin/clusterctl completion bash) \
+      --fish <($out/bin/clusterctl completion fish) \
       --zsh <($out/bin/clusterctl completion zsh)
   '';
 
@@ -38,12 +39,12 @@ buildGoModule rec {
     version = "v${version}";
   };
 
-  meta = with lib; {
+  meta = {
     changelog = "https://github.com/kubernetes-sigs/cluster-api/releases/tag/${src.rev}";
     description = "Kubernetes cluster API tool";
     mainProgram = "clusterctl";
     homepage = "https://cluster-api.sigs.k8s.io/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ qjoly ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ qjoly ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix
index feb1b03d26fe8..14c92f1b773e7 100644
--- a/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "cmctl";
-  version = "1.14.4";
+  version = "1.14.5";
 
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
     rev = "v${version}";
-    hash = "sha256-iUXN+8ueCxGsFnwhC2WjrQQSXV7TGUR80xaKqjxcC6o=";
+    hash = "sha256-WitYq3/veaARZQHoseJnT5h0AGmXVlLzRe8KCOJuY0w=";
   };
 
   sourceRoot = "${src.name}/cmd/ctl";
 
-  vendorHash = "sha256-ViKsqqM6l/tQSGgj8Yt2L57x+eE1Pd3xCVPuWpIjWOQ=";
+  vendorHash = "sha256-27XvT33S/vgGo5MQDpHzTN+K1nNPR6OOFggzLhatygI=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/fn-cli/default.nix b/pkgs/applications/networking/cluster/fn-cli/default.nix
index c6b1c0edb2a44..94cdd457aff88 100644
--- a/pkgs/applications/networking/cluster/fn-cli/default.nix
+++ b/pkgs/applications/networking/cluster/fn-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fn";
-  version = "0.6.31";
+  version = "0.6.32";
 
   src = fetchFromGitHub {
     owner = "fnproject";
     repo = "cli";
     rev = version;
-    hash = "sha256-tL5mygomRdxHdWUAp6umMOhyKq/ZFcjn+5wZcqD2mVA=";
+    hash = "sha256-mXHDxmjQdfO6uZ1ROcxwtDaPvbv2kFV+qLbejn3Kycs=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/helm/chart-testing/default.nix b/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
index 97d5ef2d02e95..3da904ac5fbc9 100644
--- a/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
+++ b/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
@@ -13,16 +13,16 @@
 
 buildGoModule rec {
   pname = "chart-testing";
-  version = "3.10.1";
+  version = "3.11.0";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-btrnfL9U8k7jwo6ltVfbiSJFCX52zjfgf4E+IsWTYi4=";
+    hash = "sha256-eiU8omDEGDJVmumHwZkNix7qMVkoR6Irg0x9dTBzadA=";
   };
 
-  vendorHash = "sha256-E+7ndvXWzsU896/eWyupbvqkLed2ly91osptZKT79fk=";
+  vendorHash = "sha256-o9oZnQPztrK6HvclPt33Y05GQFWDsnUYti5x8R7aWS8=";
 
   postPatch = ''
     substituteInPlace pkg/config/config.go \
diff --git a/pkgs/applications/networking/cluster/helm/plugins/default.nix b/pkgs/applications/networking/cluster/helm/plugins/default.nix
index 1a6aa12a91e5b..8ac059e98a249 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/default.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/default.nix
@@ -1,17 +1,17 @@
 { callPackage }:
 
 {
+  helm-cm-push = callPackage ./helm-cm-push.nix { };
 
   helm-diff = callPackage ./helm-diff.nix { };
 
   helm-git = callPackage ./helm-git.nix { };
 
-  helm-cm-push = callPackage ./helm-cm-push.nix { };
+  helm-mapkubeapis = callPackage ./helm-mapkubeapis.nix { };
 
   helm-s3 = callPackage ./helm-s3.nix { };
 
   helm-secrets = callPackage ./helm-secrets.nix { };
 
   helm-unittest = callPackage ./helm-unittest.nix { };
-
 }
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix
index 196be4a1524a2..032ccfe8f96a5 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , coreutils
 , findutils
-, git
+, gitMinimal
 , gnugrep
 , gnused
 , makeWrapper
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "helm-git";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "aslafy-z";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-k8kPuB5GIBjOISL4AM/I4PPrYbrdgYIwVgosMpunZpQ=";
+    sha256 = "sha256-/kUKi2BI6LMMUiy6AaYhpPIXU428Or352xYoDYdym8A=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
     patchShebangs $out/helm-git/helm-git{,-plugin.sh}
     wrapProgram $out/helm-git/helm-git \
-        --prefix PATH : ${lib.makeBinPath [ coreutils findutils git gnugrep gnused ]}
+        --prefix PATH : ${lib.makeBinPath [ coreutils findutils gitMinimal gnugrep gnused ]}
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix
new file mode 100644
index 0000000000000..21cb8b065e7ee
--- /dev/null
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-mapkubeapis.nix
@@ -0,0 +1,34 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "helm-mapkubeapis";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "helm";
+    repo = "helm-mapkubeapis";
+    rev = "v${version}";
+    hash = "sha256-6NeePXTdp5vlBLfIlWeXQZMZ0Uz/e1ZCgZmJvBJfaFw=";
+  };
+
+  vendorHash = "sha256-rVrQqeakPQl3rjzmqzHw74ffreLEVzP153wWJ8TEOIM=";
+
+  # NOTE: Remove the install and upgrade hooks.
+  postPatch = ''
+    sed -i '/^hooks:/,+2 d' plugin.yaml
+  '';
+
+  postInstall = ''
+    install -dm755 $out/helm-mapkubeapis
+    mv $out/bin $out/helm-mapkubeapis/
+    install -m644 -Dt $out/helm-mapkubeapis/config/ config/Map.yaml
+    install -m644 -Dt $out/helm-mapkubeapis plugin.yaml
+  '';
+
+  meta = {
+    description = "A Helm plugin which maps deprecated or removed Kubernetes APIs in a release to supported APIs";
+    homepage = "https://github.com/helm/helm-mapkubeapis";
+    license = with lib.licenses; [ asl20 ];
+    maintainers = with lib.maintainers; [ aos ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix
index 78ff59860bb82..f768404e08fa2 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.4.4";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-C1aHnKNXgzlPT1qMngRcPZ6hYUOenU1xpeYLnhrvtnc=";
+    hash = "sha256-DGmvF4U+yqXWm/L96ph+/OrLZ7q+JG4PQQFxC7pH710=";
   };
 
-  vendorHash = "sha256-nm1LFy2yqfQs+HmrAR1EsBjpm9w0u4einLbVFW1UitI=";
+  vendorHash = "sha256-BRFKrrJ9PhwMrfr3ON4/sm+BQ1ufeyP5PtfJQRksrj0=";
 
   # NOTE: Remove the install and upgrade hooks.
   postPatch = ''
diff --git a/pkgs/applications/networking/cluster/hubble/default.nix b/pkgs/applications/networking/cluster/hubble/default.nix
index 49d1b10bf3fdf..76b53453dac9f 100644
--- a/pkgs/applications/networking/cluster/hubble/default.nix
+++ b/pkgs/applications/networking/cluster/hubble/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hubble";
-  version = "0.13.2";
+  version = "0.13.3";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0SCuQzRwluowF48lzyLxY+0rvTOyDbpkMI7Iwb6GHJo=";
+    sha256 = "sha256-tHkLUoccOUcUjODecy1QyeuDb/aXv67sK8JHJ1IspC8=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index 6c05705e565cc..cd27e74a7ca33 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    hash = "sha256-zWg0UK9RHq/25GWpsvb/U5YJPkgd7aUC/Dva8jGFwfo=";
+    hash = "sha256-U0SCjozy968pcXMGyUgM47VGYYNwPq8wOzTnKp49ZY4=";
   };
   vendorHash = "sha256-23t1xJPRip0ojXmUl1qlk6QJsYHT+9EAS080m6c0d6U=";
 
diff --git a/pkgs/applications/networking/cluster/k3s/update-script.sh b/pkgs/applications/networking/cluster/k3s/update-script.sh
index 19b0a6d9309e0..9f534f4d179a7 100755
--- a/pkgs/applications/networking/cluster/k3s/update-script.sh
+++ b/pkgs/applications/networking/cluster/k3s/update-script.sh
@@ -19,7 +19,9 @@ LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json
 curl --silent -f ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
     https://api.github.com/repos/k3s-io/k3s/releases > ${LATEST_TAG_RAWFILE}
 
-LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | \
+LATEST_TAG_NAME=$(cat ${LATEST_TAG_RAWFILE} | \
+    jq -r 'map(select(.prerelease == false))' | \
+    jq 'map(.tag_name)' | \
     grep -v -e rc -e engine | tail -n +2 | head -n -1 | sed 's|[", ]||g' | sort -rV | grep -E "^v1\.${MINOR_VERSION}\." | head -n1)
 
 K3S_VERSION=$(echo ${LATEST_TAG_NAME} | sed 's/^v//')
diff --git a/pkgs/applications/networking/cluster/karmor/default.nix b/pkgs/applications/networking/cluster/karmor/default.nix
deleted file mode 100644
index b87c022d67a8e..0000000000000
--- a/pkgs/applications/networking/cluster/karmor/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, installShellFiles
-, testers
-, karmor
-}:
-
-buildGoModule rec {
-  pname = "karmor";
-  version = "1.2.1";
-
-  src = fetchFromGitHub {
-    owner = "kubearmor";
-    repo = "kubearmor-client";
-    rev = "v${version}";
-    hash = "sha256-NNCV/+Jh/tjc7SC4E9/gtiVthVmAxZBOyW3MFISbkH4=";
-  };
-
-  vendorHash = "sha256-CKOZxmUVZWFb7cc+amPwyMv5ScujWeipEqm95m63SYk=";
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X=github.com/kubearmor/kubearmor-client/selfupdate.BuildDate=1970-01-01"
-    "-X=github.com/kubearmor/kubearmor-client/selfupdate.GitSummary=${version}"
-  ];
-
-  # integration tests require network access
-  doCheck = false;
-
-  postInstall = ''
-    mv $out/bin/{kubearmor-client,karmor}
-    installShellCompletion --cmd karmor \
-      --bash <($out/bin/karmor completion bash) \
-      --fish <($out/bin/karmor completion fish) \
-      --zsh  <($out/bin/karmor completion zsh)
-  '';
-
-  passthru.tests = {
-    version = testers.testVersion {
-      package = karmor;
-      command = "karmor version || true";
-    };
-  };
-
-  meta = with lib; {
-    description = "A client tool to help manage KubeArmor";
-    mainProgram = "karmor";
-    homepage = "https://kubearmor.io";
-    changelog = "https://github.com/kubearmor/kubearmor-client/releases/v${version}";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ urandom kashw2 ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/kn/default.nix b/pkgs/applications/networking/cluster/kn/default.nix
index 3a5f18cbf581d..3face97137cca 100644
--- a/pkgs/applications/networking/cluster/kn/default.nix
+++ b/pkgs/applications/networking/cluster/kn/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kn";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "knative";
     repo = "client";
     rev = "knative-v${version}";
-    sha256 = "sha256-irMipYDYMyA0l9d7tI1wS7XsxGWjBzTvxmhpKM1gLW8=";
+    sha256 = "sha256-sUMQrBAOhpMxMawOdvLFSUrcU9od6pmT7NabSywoQn8=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock
index a4266094c4e92..f458355768a0c 100644
--- a/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -54,7 +54,7 @@ GEM
       multi_json
     jwt (2.8.1)
       base64
-    krane (3.5.1)
+    krane (3.5.2)
       activesupport (>= 5.0)
       colorize (~> 0.8)
       concurrent-ruby (~> 1.1)
@@ -84,7 +84,7 @@ GEM
     netrc (0.11.0)
     os (1.1.4)
     public_suffix (5.0.5)
-    rake (13.2.0)
+    rake (13.2.1)
     recursive-open-struct (1.1.3)
     rest-client (2.1.0)
       http-accept (>= 1.7.0, < 2.0)
@@ -109,4 +109,4 @@ DEPENDENCIES
   krane
 
 BUNDLED WITH
-   2.5.6
+   2.5.7
diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix
index 501c449dd5eff..3fc00e049ce4b 100644
--- a/pkgs/applications/networking/cluster/krane/gemset.nix
+++ b/pkgs/applications/networking/cluster/krane/gemset.nix
@@ -247,10 +247,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wnx86ars7csb2sxn69rb654p5xpz6xlygkx4mbyw1abgzyr2ap0";
+      sha256 = "1s2xc5igk3yg3jpl3abakvrsf4xl6hljhgyddjsrp2g05sksa9x6";
       type = "gem";
     };
-    version = "3.5.1";
+    version = "3.5.2";
   };
   kubeclient = {
     dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@@ -371,10 +371,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lwv4rniry7k9dvz1n462d7j0dq9mrl6a95y6cvs6139h0ksxhgn";
+      sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
       type = "gem";
     };
-    version = "13.2.0";
+    version = "13.2.1";
   };
   recursive-open-struct = {
     groups = ["default"];
diff --git a/pkgs/applications/networking/cluster/kubecolor/default.nix b/pkgs/applications/networking/cluster/kubecolor/default.nix
index 794b184e245f1..589b93cd2f725 100644
--- a/pkgs/applications/networking/cluster/kubecolor/default.nix
+++ b/pkgs/applications/networking/cluster/kubecolor/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubecolor";
-  version = "0.2.2";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zXglsfPsJi9DVxlRPniSBsdF1xEMYqqGr46ThpQj3gQ=";
+    sha256 = "sha256-9fL1zuhQ1B8QpJXcGVxg8mqIQoM5ZhwuE000rDcrrw0=";
   };
 
-  vendorHash = "sha256-uf7nBnS1wmbz4xcVA5qF82QMPsLdSucje1NNaPyheCw=";
+  vendorHash = "sha256-Gzz+mCEMQCcLwTiGMB8/nXk7HDAEGkEapC/VOyXrn/Q=";
 
   ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
 
diff --git a/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix b/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix
index db05ee6b363ab..a5fc3b5a42da7 100644
--- a/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-cnpg/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "kubectl-cnpg";
-  version = "1.22.2";
+  version = "1.23.1";
 
   src = fetchFromGitHub {
     owner = "cloudnative-pg";
     repo = "cloudnative-pg";
     rev = "v${version}";
-    hash = "sha256-xR61PYUqiVtPTghEEeSWXs/Apx7VVWDgi6Pgx/EBQzQ=";
+    hash = "sha256-sh9ogECNEZ6AYhdJD87ELnr8E0iWPLhDu3Qkdpb2194=";
   };
 
-  vendorHash = "sha256-u5ou9rY/JBrV0EF/nJX8u/Fqde/WZe21EcsNLwvtqB0=";
+  vendorHash = "sha256-3yh6b0dB2JC0t2EwykWiLk6glyKUhTpqmqvfFZ4RekE=";
 
   subPackages = [ "cmd/kubectl-cnpg" ];
 
diff --git a/pkgs/applications/networking/cluster/kubectl-explore/default.nix b/pkgs/applications/networking/cluster/kubectl-explore/default.nix
index 0ff402b39f089..84d1dfdd6dcd3 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.7.2";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "keisku";
     repo = "kubectl-explore";
     rev = "v${version}";
-    hash = "sha256-OVPct3EvtchH9pmMulIddsiR9VFoCegx9+O7lkecoJc=";
+    hash = "sha256-3Gb8lgfes3QIIAdJnC/NlCC3mfzIInQb1rG+mJNXAUk=";
   };
 
-  vendorHash = "sha256-l6SANWkDQSuLbyixbO/Xr2oRG8HR/qquTT9b/IM+JVg=";
+  vendorHash = "sha256-xNB+qC36DcD7oUWk242QcIKNfTmjuK5xbyJEztdhcJM=";
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/kubectl-klock/default.nix b/pkgs/applications/networking/cluster/kubectl-klock/default.nix
index 044e12837c9d2..06ede90ffb67c 100644
--- a/pkgs/applications/networking/cluster/kubectl-klock/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-klock/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "kubectl-klock";
-  version = "0.5.1";
+  version = "0.6.1";
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "applejag";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-q7Wq1mTjOB7tT66+LWIwwqltQcQSHD/VHLO7nCTZTQ0=";
+    hash = "sha256-QzleoHRQ/A5ImMl43kze5ppUdiLa4n/VT02lMnaXVkg=";
   };
 
-  vendorHash = "sha256-3CJ/tmFFkmq6wHxbqk8u+GxxbSrUpB/JD5s/S7hegB8=";
+  vendorHash = "sha256-smE8mdyZ8xJOevgHs4+ozS6VOlko+Whhs/37B+hIbxo=";
 
   postInstall = ''
     makeWrapper $out/bin/kubectl-klock $out/bin/kubectl_complete-klock --add-flags __complete
diff --git a/pkgs/applications/networking/cluster/kubedb-cli/default.nix b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
index ce2e92356db4c..14c1a25b13e66 100644
--- a/pkgs/applications/networking/cluster/kubedb-cli/default.nix
+++ b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubedb-cli";
-  version = "0.44.0";
+  version = "0.45.0";
 
   src = fetchFromGitHub {
     owner = "kubedb";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-ppsGSzgJvAHRGs6PGPNgE7nDbK8SPYBPNbAlGwocAZs=";
+    sha256 = "sha256-4kmXz8dTxCaGbuAo3zK27BhUrecInwJCu9XOuiQY48A=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/kubefirst/default.nix b/pkgs/applications/networking/cluster/kubefirst/default.nix
index e4d704d6ff27d..2e654d15d0b0c 100644
--- a/pkgs/applications/networking/cluster/kubefirst/default.nix
+++ b/pkgs/applications/networking/cluster/kubefirst/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "kubefirst";
-  version = "2.4.5";
+  version = "2.4.6";
 
   src = fetchFromGitHub {
     owner = "kubefirst";
     repo = "kubefirst";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CkssgMr/4VGNQHyvaPnXBOf6HdExnhB7MjpJ3yQ9kfI=";
+    hash = "sha256-PjqTtu9n9AqHaYnc/2yVQeIWLiQrQcFNdumDSigY7dY=";
   };
 
   vendorHash = "sha256-ZcZl4knlyKAwTsiyZvlkN5e2ox30B5aNzutI/2UEE9U=";
diff --git a/pkgs/applications/networking/cluster/kubelogin/default.nix b/pkgs/applications/networking/cluster/kubelogin/default.nix
index b52a4887824cb..43fd319201106 100644
--- a/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/pkgs/applications/networking/cluster/kubelogin/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mQSQrcLzEZqNpXNuZFCVk3FRcfkrtvN19VhwqyrmwIU=";
+    sha256 = "sha256-5Y+xu84iNVFkrBc1qoTg8vMswvlflF9SobMy/Aw4mCA=";
   };
 
-  vendorHash = "sha256-Xh4htBknBW59xdJVYw7A7BT2GB5WW8SnV05is7dWAS8=";
+  vendorHash = "sha256-sVySHSj8vJEarQlhAR3vLdgysJNbmA2IAZ3ET2zRyAM=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 8f158f1cd5e80..3faa5ff0ccec7 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -20,13 +20,13 @@
 
 buildGoModule rec {
   pname = "kubernetes";
-  version = "1.29.4";
+  version = "1.30.0";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    hash = "sha256-7Rxbcsl77iFiHkU/ovyn74aXs/i5G/m5h5Ii0y1CRho=";
+    hash = "sha256-7xRRpchjwtV3dGbZ2hN9qj6soAuiF/K7vTY0LzE6Z5w=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/kubeshark/default.nix b/pkgs/applications/networking/cluster/kubeshark/default.nix
index 66ecc4274fdd8..32714e7d0ba40 100644
--- a/pkgs/applications/networking/cluster/kubeshark/default.nix
+++ b/pkgs/applications/networking/cluster/kubeshark/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeshark";
-  version = "52.2.1";
+  version = "52.2.39";
 
   src = fetchFromGitHub {
     owner = "kubeshark";
     repo = "kubeshark";
     rev = "v${version}";
-    hash = "sha256-MmKkM4nc9FkZkQIURPz63ryl0yhvxBwOvxkjrsaa67U=";
+    hash = "sha256-ji/WOCqZOIaUc+mS2zaMNjWxSgv68DGjtWxgtJCH2C4=";
   };
 
   vendorHash = "sha256-SmvO9DYOXxnmN2dmHPPOguVwEbWSH/xNLBB+idpzopo=";
diff --git a/pkgs/applications/networking/cluster/kubevela/default.nix b/pkgs/applications/networking/cluster/kubevela/default.nix
index 18a8f0b1fd1d7..4e6f0a53f288f 100644
--- a/pkgs/applications/networking/cluster/kubevela/default.nix
+++ b/pkgs/applications/networking/cluster/kubevela/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "kubevela";
-  version = "1.9.10";
+  version = "1.9.11";
 
   src = fetchFromGitHub {
     owner = "kubevela";
     repo = "kubevela";
     rev = "v${version}";
-    hash = "sha256-DWmkPzMg6AbyOKoO2vev48f/cKO9XQpyR85Jg0T20aI=";
+    hash = "sha256-u9UGV1UwZoj4eSqqMLf8BvsfTFIYagoslN5pflDKm8c=";
   };
 
-  vendorHash = "sha256-vRSlSEnqD/a6KBvCWnNTzIBKE9BYzMtFWUhAF+m3R54=";
+  vendorHash = "sha256-NnUZnlvVb2VmNx4HM8lkbTNcQA3/pctkg1UVpOY8Acs=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/applications/networking/cluster/kuma/default.nix b/pkgs/applications/networking/cluster/kuma/default.nix
index 2ae43e1efd360..cde60aa4f9a73 100644
--- a/pkgs/applications/networking/cluster/kuma/default.nix
+++ b/pkgs/applications/networking/cluster/kuma/default.nix
@@ -15,17 +15,17 @@
 
 buildGoModule rec {
   inherit pname;
-  version = "2.6.5";
+  version = "2.7.2";
   tags = lib.optionals enableGateway [ "gateway" ];
 
   src = fetchFromGitHub {
     owner = "kumahq";
     repo = "kuma";
     rev = version;
-    hash = "sha256-gZxlbapEYrp02YSvEYBtlbRT/F0ijoF76CfZFzBbsAI=";
+    hash = "sha256-Y9JejIKENIyn2EyRHXLm6CZqlP4MwvPSMRlciYl+a30=";
   };
 
-  vendorHash = "sha256-kqC6CUezPt3Uj9zuHnQYbbEP564Ki4UYmqfZedUBO38=";
+  vendorHash = "sha256-ne62twZXac5GfQ8JcWElIMqc+Vpvn0Y9XSNgAtF62q0=";
 
   # no test files
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/kuttl/default.nix b/pkgs/applications/networking/cluster/kuttl/default.nix
index cae6540e39fe4..0171ed2c0be15 100644
--- a/pkgs/applications/networking/cluster/kuttl/default.nix
+++ b/pkgs/applications/networking/cluster/kuttl/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "kuttl";
-  version = "0.15.0";
+  version = "0.16.0";
   cli = "kubectl-kuttl";
 
   src = fetchFromGitHub {
     owner = "kudobuilder";
     repo = "kuttl";
     rev = "v${version}";
-    sha256 = "sha256-u+j1ulM6B238qXvLMJZwLqglr9CGk81MsnBYiNiZVJQ=";
+    sha256 = "sha256-Kz8+RsLpKwXk4f3k/kBqSFGB9AvA/D6kYBtPEl6aSH8=";
   };
 
-  vendorHash = "sha256-taJAQPa0EA0Ph9OpCs7jzLqBV61kVstZrWyNEYc/GBk=";
+  vendorHash = "sha256-IgfPXT4BhfZZVOa7eO1wKUKiDVMcN8vmH11qdWfvFww=";
 
   subPackages = [ "cmd/kubectl-kuttl" ];
 
diff --git a/pkgs/applications/networking/cluster/kyverno/default.nix b/pkgs/applications/networking/cluster/kyverno/default.nix
index 208867bec2c07..4d9894d47c122 100644
--- a/pkgs/applications/networking/cluster/kyverno/default.nix
+++ b/pkgs/applications/networking/cluster/kyverno/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kyverno";
-  version = "1.11.4";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "kyverno";
     repo = "kyverno";
     rev = "v${version}";
-    sha256 = "sha256-6Qrd7/h9G8KvzUxPNXUV/RnWImFrxm1FILeik8bWLnA=";
+    hash = "sha256-hFRqhw1iV9S13NQ7Y9SPeHHWZ/ls9fiiqlP3vuPeRlY=";
   };
 
   ldflags = [
@@ -18,7 +18,7 @@ buildGoModule rec {
     "-X github.com/kyverno/kyverno/pkg/version.BuildTime=1970-01-01_00:00:00"
   ];
 
-  vendorHash = "sha256-Vw8f2+b5UNc7DqCmu2cN2De1mrONe0M6F68H9SPrD3w=";
+  vendorHash = "sha256-5tBHmHfBHTsAVDk3i0z2R2amTfOvWHJutTNW2ofGZuQ=";
 
   subPackages = [ "cmd/cli/kubectl-kyverno" ];
 
diff --git a/pkgs/applications/networking/cluster/linkerd/edge.nix b/pkgs/applications/networking/cluster/linkerd/edge.nix
index f40dc62474764..17e252c9c161b 100644
--- a/pkgs/applications/networking/cluster/linkerd/edge.nix
+++ b/pkgs/applications/networking/cluster/linkerd/edge.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "edge";
-  version = "24.4.4";
-  sha256 = "07p4cgl4myv7kv9pxvxrvsqnl3vkd9ay5hngx5g6xds2sc8va306";
-  vendorHash = "sha256-bLTummNoDfGMYvtfSLxICgCFZEymPJcRWkQyWOSzKR8=";
+  version = "24.4.5";
+  sha256 = "0cxjilxsvbwahqh3wb3cw4z8fmq6lhxi531abrncs74kgasgcfam";
+  vendorHash = "sha256-YxavLLYppV991AgFb2WaQDbqnsr3UfrvWefvkSf+W1Q=";
 }
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 69e73e6d47a32..17ceb2e49288e 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -15,9 +15,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.32.0";
+  version = "1.33.0";
 
-  vendorHash = "sha256-MzB+my1NwvZx9qfojuOlTHmuY6CyLFlrgr4UEuC5FBk=";
+  vendorHash = "sha256-eFIo9C9AEZksQolMlWKPJR2WWpU7Yu4eJb1OBwdqGhI=";
 
   doCheck = false;
 
@@ -25,7 +25,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-2EWaMpcr4F1wRzIP1rPg1a/Sjd1x+oo2ee90k4Ie8cU=";
+    sha256 = "sha256-4OSChPgUD1oYnChAi7r2jgZpplR9ZaHpHPiTS6jSpME=";
   };
   postPatch =
     (
diff --git a/pkgs/applications/networking/cluster/nomad-pack/default.nix b/pkgs/applications/networking/cluster/nomad-pack/default.nix
index 92c98c44fde60..a7a0ddf71391d 100644
--- a/pkgs/applications/networking/cluster/nomad-pack/default.nix
+++ b/pkgs/applications/networking/cluster/nomad-pack/default.nix
@@ -5,17 +5,16 @@
 
 buildGoModule rec {
   pname = "nomad-pack";
-  version = "0.0.1-techpreview.3";
-  rev   = "3b4163b3b826c8408ae824238daaa45307d03380";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
-    inherit rev;
-    sha256 = "sha256-Br+BJRAo9qSJQjg2awQTnsYz76WReVWsTUw6XoUb1YY=";
+    rev = "v${version}";
+    sha256 = "sha256-b7M2I+R39txtTdk/FOYvKfZxXbGEtDrzgpB64594Gqc=";
   };
 
-  vendorHash = "sha256-dUPDwKdkBXBfyfbFxrpgHwZ0Q5jB7aamClNmv+tLCGA=";
+  vendorHash = "sha256-bhWySn5p1aPbYSCY7GqFteYmm22Jeq/Rf/a2ZTjyZQ4=";
 
   # skip running go tests as they require network access
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix
index 89891fd04046a..679ec253bdf07 100644
--- a/pkgs/applications/networking/cluster/nomad/default.nix
+++ b/pkgs/applications/networking/cluster/nomad/default.nix
@@ -41,7 +41,7 @@ let
         description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
         mainProgram = "nomad";
         inherit license;
-        maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes amaxine techknowlogick cottand ];
+        maintainers = with maintainers; [ rushmorem pradeepchhetri techknowlogick cottand ];
       };
     } // attrs');
 in
diff --git a/pkgs/applications/networking/cluster/openlens/default.nix b/pkgs/applications/networking/cluster/openlens/default.nix
index cc6bc6dc0a193..ef6dfea2d6675 100644
--- a/pkgs/applications/networking/cluster/openlens/default.nix
+++ b/pkgs/applications/networking/cluster/openlens/default.nix
@@ -19,8 +19,6 @@ appimageTools.wrapType2 {
   unshareIpc = false;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/open-lens.desktop $out/share/applications/${pname}.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/open-lens.png \
        $out/share/icons/hicolor/512x512/apps/${pname}.png
diff --git a/pkgs/applications/networking/cluster/opentofu/default.nix b/pkgs/applications/networking/cluster/opentofu/default.nix
index a378a7486b713..2d9b07a3f88dc 100644
--- a/pkgs/applications/networking/cluster/opentofu/default.nix
+++ b/pkgs/applications/networking/cluster/opentofu/default.nix
@@ -14,22 +14,22 @@
 let
   package =  buildGoModule rec {
     pname = "opentofu";
-    version = "1.6.2";
+    version = "1.7.0";
 
     src = fetchFromGitHub {
       owner = "opentofu";
       repo = "opentofu";
       rev = "v${version}";
-      hash = "sha256-CYiwn2NDIAx30J8tmbrV45dbCIGoA3U+yBdMj4RX5Ho=";
+      hash = "sha256-e0u8aFua3oMsBafwRPYuWQ9M6DtC7f9LlCDGJ5vdAWE=";
     };
 
-    vendorHash = "sha256-kSm5RZqQRgbmPaKt5IWmuMhHwAu+oJKTX1q1lbE7hWk=";
+    vendorHash = "sha256-cML742FfWFNIwGyIdRd3JWcfDlOXnJVgUXz4j5fa74Q=";
     ldflags = [ "-s" "-w" "-X" "github.com/opentofu/opentofu/version.dev=no" ];
 
     postConfigure = ''
       # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22
       substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \
-        --replace "/bin/stty" "${coreutils}/bin/stty"
+        --replace-fail "/bin/stty" "${coreutils}/bin/stty"
     '';
 
     nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/pachyderm/default.nix b/pkgs/applications/networking/cluster/pachyderm/default.nix
index 4d5736724aad0..451e209a7b36f 100644
--- a/pkgs/applications/networking/cluster/pachyderm/default.nix
+++ b/pkgs/applications/networking/cluster/pachyderm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pachyderm";
-  version = "2.9.3";
+  version = "2.9.4";
 
   src = fetchFromGitHub {
     owner = "pachyderm";
     repo = "pachyderm";
     rev = "v${version}";
-    hash = "sha256-4ER0kjp3H5B2TrR4pI3XMvmtGrUv5ZuSM8dbDeufm2s=";
+    hash = "sha256-RF8JEmZpvUf8w89wRa+d3ItMFnInEoxxQzLJvrx1mZE=";
   };
 
-  vendorHash = "sha256-+0Df3pelty9mE1E8V+4L99/SrGK5msWn68LeB0nmAIA=";
+  vendorHash = "sha256-bAB2vMPHIcJaMobPukQyKiCq0Af0n4b5mjImTswGFTo=";
 
   subPackages = [ "src/server/cmd/pachctl" ];
 
diff --git a/pkgs/applications/networking/cluster/pv-migrate/default.nix b/pkgs/applications/networking/cluster/pv-migrate/default.nix
index b55510e7e4cfa..c2d38e2a7c893 100644
--- a/pkgs/applications/networking/cluster/pv-migrate/default.nix
+++ b/pkgs/applications/networking/cluster/pv-migrate/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "pv-migrate";
-  version = "1.7.1";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "utkuozdemir";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xbg32ckxAUQkkN/yumHz4v1U4FvUcmx5ftd3+4zc3/c=";
+    sha256 = "sha256-HeK8/IZTqkrJxfmNIYOm8/jY3Fbof8t7/emdHONvMZo=";
   };
 
   subPackages = [ "cmd/pv-migrate" ];
 
-  vendorHash = "sha256-AqR9Gy8sAX4wrKGPnQUj33juBOfhUn0BR8OyJPiDrO0=";
+  vendorHash = "sha256-q8/Rb26ZY/Rn3FnESnAvPr+LrIvFFlSJnN6c0k8+sHg=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/stern/default.nix b/pkgs/applications/networking/cluster/stern/default.nix
index 5585b373df351..fd4b70de5acd8 100644
--- a/pkgs/applications/networking/cluster/stern/default.nix
+++ b/pkgs/applications/networking/cluster/stern/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "stern";
-  version = "1.28.0";
+  version = "1.29.0";
 
   src = fetchFromGitHub {
     owner = "stern";
     repo = "stern";
     rev = "v${version}";
-    sha256 = "sha256-Lx5f2dqjdhgMXky1Pv2ik9i56ugsQmZK/ag4veC9Dac=";
+    sha256 = "sha256-8Tvhul7GwVbRJqJenbYID8OY5zGzFhIormUwEtLE0Lw=";
   };
 
-  vendorHash = "sha256-6jI/I7Nw/vJwKNvgH/35uHYu51SBX+WFH5s0WKfCqBo=";
+  vendorHash = "sha256-RLcF7KfKtkwB+nWzaQb8Va9pau+TS2uE9AmJ0aFNsik=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix
index 3651d4652fc70..5a46b80749b08 100644
--- a/pkgs/applications/networking/cluster/talosctl/default.nix
+++ b/pkgs/applications/networking/cluster/talosctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "talosctl";
-  version = "1.6.5";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "siderolabs";
     repo = "talos";
     rev = "v${version}";
-    hash = "sha256-TEQnbQux+rN2WdlIbxh836Lx/ipqTDkoUsjQP8Ubl6s=";
+    hash = "sha256-E5pu37R2y0hQezM/p6LJXZv2L6QnV89Ir2HoKaqcOqI=";
   };
 
-  vendorHash = "sha256-xdcHd/LvIm4rawwXtsGMF8Es9pMGMaJJaZ6UQwc24ZU=";
+  vendorHash = "sha256-5vWAZsLQxPZGpTiT/OowCLNPdE5e+HrAGXpFRw6jgbU=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/applications/networking/cluster/temporal/default.nix b/pkgs/applications/networking/cluster/temporal/default.nix
index f9cfb3b3cba14..49094fa960429 100644
--- a/pkgs/applications/networking/cluster/temporal/default.nix
+++ b/pkgs/applications/networking/cluster/temporal/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "temporal";
-  version = "1.23.0";
+  version = "1.23.1";
 
   src = fetchFromGitHub {
     owner = "temporalio";
     repo = "temporal";
     rev = "v${version}";
-    hash = "sha256-4e8z4k7loL9vVYe5jut1X/5qDboChQxZtPO1ZBHNb7o=";
+    hash = "sha256-yu5EfW5ThTJx6ouCBoEEq9wU4MtlFGqqRaHMgIPaRqY=";
   };
 
-  vendorHash = "sha256-4xwdVFE0CGcOA8Efj4ECionPP9rbzT02zyr2HR143AM=";
+  vendorHash = "sha256-INmc/qbayjI+umkoGL8ih/iC7xqUkO1kfIZN5cQn/bw=";
 
   excludedPackages = [ "./build" ];
 
@@ -45,7 +45,7 @@ buildGoModule rec {
     homepage = "https://temporal.io";
     changelog = "https://github.com/temporalio/temporal/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ titanous ];
+    maintainers = with maintainers; [ ];
     mainProgram = "temporal-server";
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform-compliance/default.nix b/pkgs/applications/networking/cluster/terraform-compliance/default.nix
deleted file mode 100644
index f87cdff374f71..0000000000000
--- a/pkgs/applications/networking/cluster/terraform-compliance/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ lib
-, fetchFromGitHub
-, python3
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "terraform-compliance";
-  version = "1.3.48";
-  format = "setuptools";
-
-  src = fetchFromGitHub {
-    owner = "terraform-compliance";
-    repo = "cli";
-    rev = "refs/tags/${version}";
-    sha256 = "sha256-2nf/EJcC4KYTBItByX47UqTSs2EOgsUAgRbLEdB4Iyg=";
-  };
-
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "IPython==7.16.1" "IPython" \
-      --replace "diskcache==5.1.0" "diskcache>=5.1.0" \
-      --replace "radish-bdd==0.13.1" "radish-bdd" \
-  '';
-
-  propagatedBuildInputs = with python3.pkgs; [
-    diskcache
-    emoji
-    filetype
-    gitpython
-    ipython
-    junit-xml
-    lxml
-    mock
-    netaddr
-    radish-bdd
-    semver
-    orjson
-  ];
-
-  nativeCheckInputs = with python3.pkgs; [
-    pytestCheckHook
-  ];
-
-  disabledTests = [
-    "test_which_success"
-    "test_readable_plan_file_is_not_json"
-  ];
-
-  pythonImportsCheck = [
-    "terraform_compliance"
-  ];
-
-  meta = with lib; {
-    description = "BDD test framework for terraform";
-    mainProgram = "terraform-compliance";
-    homepage = "https://github.com/terraform-compliance/cli";
-    changelog = "https://github.com/terraform-compliance/cli/releases/tag/${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ kalbasit kashw2 ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index f9e1dff0a8f7b..efaef0fa65b15 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -58,7 +58,6 @@ let
           Chili-Man
           babariviere
           kalbasit
-          amaxine
           timstott
           zimbatm
           zowoq
@@ -167,9 +166,9 @@ rec {
   mkTerraform = attrs: pluggable (generic attrs);
 
   terraform_1 = mkTerraform {
-    version = "1.8.1";
-    hash = "sha256-q/r1KK0svdK/5Za4bqU6bGgTcWmG+YZFJUFRKqPAWSw=";
-    vendorHash = "sha256-xpgGceAA+kvwUp4T0m9rnbPoZ3uJHU2KIRsrcGr8dRo=";
+    version = "1.8.2";
+    hash = "sha256-c9RzdmaTXMOi4oP++asoysDpt/BSvBK/GmEDDGViSl0=";
+    vendorHash = "sha256-2+ctm1lJjCHITWV7BqoqgBlXKjNT4lueAt4F3UtoL9Q=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = {
       inherit plugins;
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
deleted file mode 100644
index a2f8fd2fbaa1b..0000000000000
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-}:
-
-buildGoModule rec {
-  pname = "terragrunt";
-  version = "0.56.5";
-
-  src = fetchFromGitHub {
-    owner = "gruntwork-io";
-    repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-aKgcXLxFZBoomrKJFmUr/XfxHmNrkvK2IlfTR2dJNY0=";
-  };
-
-  vendorHash = "sha256-joEmkFtoVxqlVrgl2mtJN9Cyr3YdnT6tBjaSXj9z2WU=";
-
-  doCheck = false;
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X github.com/gruntwork-io/go-commons/version.Version=v${version}"
-  ];
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    runHook preInstallCheck
-    $out/bin/terragrunt --help
-    $out/bin/terragrunt --version | grep "v${version}"
-    runHook postInstallCheck
-  '';
-
-  meta = with lib; {
-    homepage = "https://terragrunt.gruntwork.io";
-    changelog = "https://github.com/gruntwork-io/terragrunt/releases/tag/v${version}";
-    description = "A thin wrapper for Terraform that supports locking for Terraform state and enforces best practices";
-    mainProgram = "terragrunt";
-    license = licenses.mit;
-    maintainers = with maintainers; [ jk qjoly kashw2 ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/timoni/default.nix b/pkgs/applications/networking/cluster/timoni/default.nix
index a756212d3d67a..40511cc74ebc3 100644
--- a/pkgs/applications/networking/cluster/timoni/default.nix
+++ b/pkgs/applications/networking/cluster/timoni/default.nix
@@ -6,16 +6,16 @@
 
 buildGo122Module rec {
   pname = "timoni";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "stefanprodan";
     repo = "timoni";
     rev = "v${version}";
-    hash = "sha256-zQawfzwQNQvtta7lIOtePGI67Y4iXzEBGqd5YiOKAVY=";
+    hash = "sha256-LN2VxXKjEaUgLSVc0G+OlhmaZ4anBmyXbOBOrGIeYG0=";
   };
 
-  vendorHash = "sha256-xQgSABaWY5FWHh2kcBB36fm3povFNpU18PjD4J6M4QM=";
+  vendorHash = "sha256-Vj7P0o0UM35WTv9s1BAcW6MuzjIinADOFsuCK1bpKP0=";
 
   subPackages = [ "cmd/timoni" ];
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/velero/default.nix b/pkgs/applications/networking/cluster/velero/default.nix
index 4cb8bc0ad40df..8a39c31f11d9e 100644
--- a/pkgs/applications/networking/cluster/velero/default.nix
+++ b/pkgs/applications/networking/cluster/velero/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "velero";
-  version = "1.13.1";
+  version = "1.13.2";
 
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "velero";
     rev = "v${version}";
-    sha256 = "sha256-Fz3FqNj2NbqU9CvtdjM8cjkZh5xLCA+AAIF/QgLJ7UA=";
+    sha256 = "sha256-Dqz8UFoGb5uG5f8mrIUIRWJUYH/ZuFavhRy2wie75/Q=";
   };
 
   ldflags = [
@@ -20,7 +20,7 @@ buildGoModule rec {
     "-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=none"
   ];
 
-  vendorHash = "sha256-Fu4T2VEW5s/KCdgJLk3bf0wIUhKULK6QuNEmL99MUCI=";
+  vendorHash = "sha256-L1QTqw0L/aE4bFlLWg4/mmdHL7Sb5EsT3eL0jZIpBsA=";
 
   excludedPackages = [ "issue-template-gen" "release-tools" "v1" "velero-restic-restore-helper" ];
 
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
deleted file mode 100644
index 7e16417fe2b9d..0000000000000
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub, go-bindata, installShellFiles }:
-
-buildGoModule rec {
-  pname = "waypoint";
-  version = "0.11.4";
-
-  src = fetchFromGitHub {
-    owner = "hashicorp";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-Zn11mVQV8lN62BVYfhXauKets7/mIqA0r+mG2TkRyPk=";
-  };
-
-  vendorHash = "sha256-z0qe8zSQ9PopGeyvMDhRpU+3jUgHoh+8jTsYGLPk3i4=";
-
-  nativeBuildInputs = [ go-bindata installShellFiles ];
-
-  # GIT_{COMMIT,DIRTY} filled in blank to prevent trying to run git and ending up blank anyway
-  buildPhase = ''
-    runHook preBuild
-    make bin GIT_DESCRIBE="v${version}" GIT_COMMIT="" GIT_DIRTY=""
-    runHook postBuild
-  '';
-
-  doCheck = false;
-
-  installPhase = ''
-    runHook preInstall
-
-    local INSTALL="$out/bin/waypoint"
-    install -D waypoint $out/bin/waypoint
-
-    # waypoint's completion install command alters your <something>rc files
-    # below is the equivalent of what it injects
-
-    # Write to a file as it doesn't like EOF within <()
-    cat > waypoint.fish <<EOF
-    function __complete_waypoint
-      set -lx COMP_LINE (commandline -cp)
-      test -z (commandline -ct)
-      and set COMP_LINE "$COMP_LINE "
-      $INSTALL
-    end
-    complete -f -c waypoint -a "(__complete_waypoint)"
-    EOF
-    installShellCompletion --cmd waypoint \
-      --bash <(echo "complete -C $INSTALL waypoint") \
-      --fish <(cat waypoint.fish) \
-      --zsh <(echo "complete -o nospace -C $INSTALL waypoint")
-
-    runHook postInstall
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    runHook preInstallCheck
-    # `version` tries to write to ~/.config/waypoint
-    export HOME="$TMPDIR"
-
-    $out/bin/waypoint --help
-    $out/bin/waypoint version | grep "CLI: v${version}"
-    runHook postInstallCheck
-  '';
-
-  # Binary is static
-  dontPatchELF = true;
-  dontPatchShebangs = true;
-
-  meta = with lib; {
-    homepage = "https://waypointproject.io";
-    changelog = "https://github.com/hashicorp/waypoint/blob/v${version}/CHANGELOG.md";
-    description = "A tool to build, deploy, and release any application on any platform";
-    mainProgram = "waypoint";
-    longDescription = ''
-      Waypoint allows developers to define their application build, deploy, and
-      release lifecycle as code, reducing the time to deliver deployments
-      through a consistent and repeatable workflow.
-    '';
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ winpat jk techknowlogick ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index 0a33c8f689a57..5f06e15b1e50a 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.307";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    hash = "sha256-jT0QZIMHFhhMIhBj2kliRP0/B8BLYGZdojZ7THXnUmg=";
+    hash = "sha256-CUz2LBba5elWWqMab6I/n1eGKRi8q9im/jEwZI3k7WU=";
   };
 
-  vendorHash = "sha256-2ZRyRgW42W/z6G5DfSMqbdXnW5TNcMdz385Dt7PWj6k=";
+  vendorHash = "sha256-WMmL0jjzzaDtNmx+kvHFONqwhz7mjFCM4rT6YoL+XkA=";
 
   proxyVendor = true;
 
@@ -35,7 +35,7 @@ buildGoModule rec {
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/werf/werf/pkg/werf.Version=${src.rev}"
+    "-X github.com/werf/werf/v2/pkg/werf.Version=${src.rev}"
   ] ++ lib.optionals (CGO_ENABLED == 1) [
     "-extldflags=-static"
     "-linkmode external"
@@ -48,6 +48,7 @@ buildGoModule rec {
     "dfrunsecurity"
     "dfssh"
   ] ++ lib.optionals (CGO_ENABLED == 1) [
+    "cni"
     "exclude_graphdriver_devicemapper"
     "netgo"
     "no_devmapper"
diff --git a/pkgs/applications/networking/cluster/yor/default.nix b/pkgs/applications/networking/cluster/yor/default.nix
index 8008de2d977fd..107b698335979 100644
--- a/pkgs/applications/networking/cluster/yor/default.nix
+++ b/pkgs/applications/networking/cluster/yor/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "yor";
-  version = "0.1.191";
+  version = "0.1.192";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-gqtvaAt2iIkKXHO7X2hiTqAdao7t6fZhl11089D2wdM=";
+    hash = "sha256-J3hygbjpJ+etYcOHRKkuPPF2oquLWgWnps8chcU3uUU=";
   };
 
   vendorHash = "sha256-uT/jGD4hDVes4h+mlSIT2p+C9TjxnUWsmKv9haPjjLc=";
diff --git a/pkgs/applications/networking/cluster/zarf/default.nix b/pkgs/applications/networking/cluster/zarf/default.nix
index b8436f611c355..3608bad410bce 100644
--- a/pkgs/applications/networking/cluster/zarf/default.nix
+++ b/pkgs/applications/networking/cluster/zarf/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "zarf";
-  version = "0.33.0";
+  version = "0.33.1";
 
   src = fetchFromGitHub {
     owner = "defenseunicorns";
     repo = "zarf";
     rev = "v${version}";
-    hash = "sha256-r/PRLOqzXANYWAq3hdLKWxw1WXJzgVjIenHky2+WXj4=";
+    hash = "sha256-JmUJUZn4mnTKdAVzYaCGZXDJmIeGfyn8Z+OfLfXp/S0=";
   };
 
-  vendorHash = "sha256-6DGkDHBoUj5Zk0KI3HVb+trkzWzB4+8nOh1ijE9PrEk=";
+  vendorHash = "sha256-fpseCFQjLhUbhisjOYmLfznKGea5+E8CzjtbE7CEsk8=";
   proxyVendor = true;
 
   preBuild = ''
diff --git a/pkgs/applications/networking/cozy-drive/default.nix b/pkgs/applications/networking/cozy-drive/default.nix
index 53d401f01e18e..526b7666db0eb 100644
--- a/pkgs/applications/networking/cozy-drive/default.nix
+++ b/pkgs/applications/networking/cozy-drive/default.nix
@@ -6,19 +6,17 @@
 let
   pname = "cozydrive";
   version = "3.38.0";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/cozy-labs/cozy-desktop/releases/download/v${version}/Cozy-Drive-${version}-x86_64.AppImage";
     sha256 = "3liOzZVOjtV1cGrKlOKiFRRqnt8KHPr5Ye5HU0e/BYo=";
   };
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 
 in
 appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/cozydrive.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/cozydrive.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/networking/discordo/default.nix b/pkgs/applications/networking/discordo/default.nix
index a9540226d0024..cd3f502156908 100644
--- a/pkgs/applications/networking/discordo/default.nix
+++ b/pkgs/applications/networking/discordo/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "discordo";
-  version = "unstable-2024-03-12";
+  version = "0-unstable-2024-04-27";
 
   src = fetchFromGitHub {
     owner = "ayn2op";
     repo = pname;
-    rev = "5805f6605efe63fc887e850bcc5d107070eb2c1a";
-    hash = "sha256-IzVDxylrR0X8HLWTelSBq2+uu2h2Jd6iaNUXh9zQ9Yk=";
+    rev = "d76a7db668900a7fc41ead7db194e20f126071ac";
+    hash = "sha256-uEMz7n0IFTGK1fZC1/vuwJpyySGdTUIMUjunCmycnzM=";
   };
 
-  vendorHash = "sha256-6pCQHr/O2pfR1v8YI+htwGZ8RFStEEUctIEpgblXvjY=";
+  vendorHash = "sha256-hSrGN3NHPpp5601l4KcmNHVYOGWfLjFeWWr9g11nM3I=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/applications/networking/dropbox/cli.nix b/pkgs/applications/networking/dropbox/cli.nix
index 38c5220563761..a922d70cd68fd 100644
--- a/pkgs/applications/networking/dropbox/cli.nix
+++ b/pkgs/applications/networking/dropbox/cli.nix
@@ -12,7 +12,7 @@
 }:
 
 let
-  version = "2023.09.06";
+  version = "2024.04.17";
   dropboxd = "${dropbox}/bin/dropbox";
 in
 stdenv.mkDerivation {
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://linux.dropbox.com/packages/nautilus-dropbox-${version}.tar.bz2";
-    hash = "sha256-kZMwj8Fn8Hf58C57wE025TlmiSs5TaKMGEzvb2QjgSw=";
+    hash = "sha256-pqCYzxaqR0f0CBaseT1Z436K47cIDQswYR1sK4Zj8sE=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/networking/dsvpn/default.nix b/pkgs/applications/networking/dsvpn/default.nix
index 53aa9fb894087..94000d6f8f973 100644
--- a/pkgs/applications/networking/dsvpn/default.nix
+++ b/pkgs/applications/networking/dsvpn/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "A Dead Simple VPN";
     homepage = "https://github.com/jedisct1/dsvpn";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.unix;
     mainProgram = "dsvpn";
   };
diff --git a/pkgs/applications/networking/feedreaders/fluent-reader/default.nix b/pkgs/applications/networking/feedreaders/fluent-reader/default.nix
index 362771511cf5f..7be8375cecc7c 100644
--- a/pkgs/applications/networking/feedreaders/fluent-reader/default.nix
+++ b/pkgs/applications/networking/feedreaders/fluent-reader/default.nix
@@ -14,8 +14,6 @@ in appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     mkdir -p $out/share/${pname}
     cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
     install -Dm 444 ${appimageContents}/${pname}.desktop -t $out/share/applications
diff --git a/pkgs/applications/networking/firewalld/default.nix b/pkgs/applications/networking/firewalld/default.nix
index 1b4e1f0a42481..0743e7541d35b 100644
--- a/pkgs/applications/networking/firewalld/default.nix
+++ b/pkgs/applications/networking/firewalld/default.nix
@@ -31,13 +31,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "firewalld";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "firewalld";
     repo = "firewalld";
     rev = "v${version}";
-    sha256 = "sha256-+EDJrHryO1pXkuKnQdh8hGyi8/TOkb3ZLulQkiaOOqs=";
+    sha256 = "sha256-bCLMTWtgEay3fLKOFWUoWpOL1iGDHRR5hu+v06bLxLs=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index e17fd5d6916eb..75a64404db930 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -6,7 +6,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.11.27";
+  version = "3.11.30";
   pyproject = true;
 
   # Fetch from GitHub in order to use `requirements.in`
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "Flexget";
     repo = "Flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0ENBUOH+/pe4OsVQ6cu1xLTPPHtUMNARQGVyxOk60X0=";
+    hash = "sha256-msvNZ3kE48dNnhtUWLGxulb2iZ78hhyg7fVL2OSOdyY=";
   };
 
   postPatch = ''
@@ -85,6 +85,6 @@ python3.pkgs.buildPythonApplication rec {
     changelog = "https://github.com/Flexget/Flexget/releases/tag/v${version}";
     description = "Multipurpose automation tool for all of your media";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ pbsds ];
   };
 }
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
index 7f313514e1c07..406c6e547aaaa 100644
--- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -6,13 +6,13 @@
 
 buildDunePackage rec {
   pname = "google-drive-ocamlfuse";
-  version = "0.7.31";
+  version = "0.7.32";
 
   src = fetchFromGitHub {
     owner = "astrada";
     repo = "google-drive-ocamlfuse";
     rev = "v${version}";
-    hash = "sha256-4Fs4e4rXSeumaMDXRqGLpPuFs6DC8dmkywGaBqR5sFA=";
+    hash = "sha256-AWr1tcium70rXFKMTv6xcWxndOJua3UXG8Q04TN1Siw=";
   };
 
   doCheck = lib.versionOlder ocaml.version "5.0";
diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix
index 09bf661f54b14..da70f6e6ede4f 100644
--- a/pkgs/applications/networking/ids/zeek/default.nix
+++ b/pkgs/applications/networking/ids/zeek/default.nix
@@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.zeek.org";
     changelog = "https://github.com/zeek/zeek/blob/v${version}/CHANGES";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ pSub marsam tobim ];
+    maintainers = with maintainers; [ pSub tobim ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/beeper/default.nix b/pkgs/applications/networking/instant-messengers/beeper/default.nix
index 63d6720aaf0db..06e2a17d564ef 100644
--- a/pkgs/applications/networking/instant-messengers/beeper/default.nix
+++ b/pkgs/applications/networking/instant-messengers/beeper/default.nix
@@ -35,8 +35,6 @@ stdenvNoCC.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    mv bin/${name} bin/${pname}
-
     mkdir -p $out/
     cp -r bin $out/bin
 
diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
index 104f39f4460b0..cceea293adbd3 100644
--- a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
+++ b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
@@ -30,8 +30,6 @@ in
   extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs;
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},caprine}
-
     mkdir -p $out/share
     "${xorg.lndir}/bin/lndir" -silent "${extracted}/usr/share" "$out/share"
     ln -s ${extracted}/caprine.png $out/share/icons/caprine.png
diff --git a/pkgs/applications/networking/instant-messengers/chatterino2/default.nix b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
index 5e61fc78091e6..5b1f1f5740080 100644
--- a/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "chatterino2";
-  version = "2.4.6";
+  version = "2.5.1";
   src = fetchFromGitHub {
     owner = "Chatterino";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CQviw5Fw6v5EwjCldAQoJfAIZMWKBfBzUIQZEgW34k0=";
+    sha256 = "sha256-c3Vhzes54xLjKV0Of7D1eFpQvIWJwcUBXvLT2p6VwBE=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ cmake pkg-config qt6.wrapQtAppsHook ];
diff --git a/pkgs/applications/networking/instant-messengers/chatty/default.nix b/pkgs/applications/networking/instant-messengers/chatty/default.nix
index adacea2d019a8..ea43f470e8bb6 100644
--- a/pkgs/applications/networking/instant-messengers/chatty/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatty/default.nix
@@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.gnome.org/World/Chatty";
     changelog = "https://gitlab.gnome.org/World/Chatty/-/blob/${src.rev}/NEWS";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dotlambda tomfitzhenry ];
+    maintainers = with maintainers; [ dotlambda ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/cinny-desktop/default.nix b/pkgs/applications/networking/instant-messengers/cinny-desktop/default.nix
index 9777dca11c59f..841df5a4cd610 100644
--- a/pkgs/applications/networking/instant-messengers/cinny-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/cinny-desktop/default.nix
@@ -1,6 +1,10 @@
 { lib
+, stdenv
+, darwin
 , fetchFromGitHub
+, rust
 , rustPlatform
+, cargo-tauri
 , cinny
 , copyDesktopItems
 , wrapGAppsHook
@@ -16,6 +20,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cinny-desktop";
+  # We have to be using the same version as cinny-web or this isn't going to work.
   version = "3.1.0";
 
   src = fetchFromGitHub {
@@ -37,33 +42,48 @@ rustPlatform.buildRustPackage rec {
   in ''
     substituteInPlace tauri.conf.json \
       --replace '"distDir": "../cinny/dist",' '"distDir": "${cinny'}",'
-
+    substituteInPlace tauri.conf.json \
+      --replace '"cd cinny && npm run build"' '""'
+  '' + lib.optionalString stdenv.hostPlatform.isLinux ''
     substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
       --replace "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
   '';
 
-  postInstall = ''
+  postBuild = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    cargo tauri build --bundles app --target "${rust.envVars.rustHostPlatform}"
+  '';
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
     install -DT icons/128x128@2x.png $out/share/icons/hicolor/256x256@2/apps/cinny.png
     install -DT icons/128x128.png $out/share/icons/hicolor/128x128/apps/cinny.png
     install -DT icons/32x32.png $out/share/icons/hicolor/32x32/apps/cinny.png
+  '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir -p "$out/Applications/"
+    cp -r "target/${rust.envVars.rustHostPlatform}/release/bundle/macos/Cinny.app" "$out/Applications/"
+    ln -sf "$out/Applications/Cinny.app/Contents/MacOS/Cinny" "$out/bin/cinny"
   '';
 
   nativeBuildInputs = [
     copyDesktopItems
     wrapGAppsHook
     pkg-config
+    cargo-tauri
   ];
 
   buildInputs = [
     openssl
     dbus
     glib
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
     glib-networking
     libayatana-appindicator
     webkitgtk
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    darwin.DarwinTools
+    darwin.apple_sdk.frameworks.WebKit
   ];
 
-  desktopItems = [
+  desktopItems = lib.optionals stdenv.hostPlatform.isLinux [
     (makeDesktopItem {
       name = "cinny";
       exec = "cinny";
@@ -77,9 +97,9 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Yet another matrix client for desktop";
     homepage = "https://github.com/cinnyapp/cinny-desktop";
-    maintainers = [ ];
+    maintainers = with maintainers; [ qyriad ];
     license = licenses.agpl3Only;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     mainProgram = "cinny";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index f2d0e55e18716..b4e0aca9cc58a 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -2,14 +2,14 @@
 let
   versions =
     if stdenv.isLinux then {
-      stable = "0.0.49";
-      ptb = "0.0.78";
-      canary = "0.0.346";
+      stable = "0.0.51";
+      ptb = "0.0.81";
+      canary = "0.0.369";
       development = "0.0.17";
     } else {
-      stable = "0.0.300";
-      ptb = "0.0.107";
-      canary = "0.0.468";
+      stable = "0.0.302";
+      ptb = "0.0.110";
+      canary = "0.0.486";
       development = "0.0.39";
     };
   version = versions.${branch};
@@ -17,15 +17,15 @@ let
     x86_64-linux = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-        hash = "sha256-rVSYAkTZTlurnbUeYJFCgsPcsCqjJ1bJneQQiyhmvwQ=";
+        hash = "sha256-w8zLeaqJXdbI67X/UDxSLQxZei5eraa/BkMZa+GDpYk=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-        hash = "sha256-Fp94BsR6Fzy4tV+c5ToP9GKg6GC/TryGvHWLupew4Z8=";
+        hash = "sha256-/kM23y4Hx/0HwIOQvd+4Y429s/6Q+coa27hgI2U3EcU=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        hash = "sha256-/FBVo3ptZk2YQPoq+VpyxMlSWYlVb8ChpKW5YH/BM7U=";
+        hash = "sha256-Ohfp5ypvdmjr5rYR1usdVoEuVwOALRozysIjT/v75Qs=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
@@ -35,15 +35,15 @@ let
     x86_64-darwin = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
-        hash = "sha256-f9YIlzRESzzxtD9/us1DY5acu2HYo+UrwS7GWk9RwCk=";
+        hash = "sha256-Xt0ef+ogGlPA4ebxuAsGQKeMVDoTB58jCRcyM1fHjYE=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
-        hash = "sha256-etxXrO9Ksacbdes3DT1Tm4kKD/t40jGUeSAegdexRqc=";
+        hash = "sha256-hkRO/4YD1j4gsp+r3+md3ND/xtNmdutJiXlY3UIecIY=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
-        hash = "sha256-UOoXDwAa5pFukqTCmUfM89QVK5jB13id8ek/gwWajMM=";
+        hash = "sha256-c7KNWsV+pultD+HqRNonSOW9PCGx1AajCfnc94Dokwc=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
@@ -60,7 +60,7 @@ let
     downloadPage = "https://discordapp.com/download";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ MP2E Scrumplex artturin infinidoge jopejoe1 ];
+    maintainers = with maintainers; [ Scrumplex artturin infinidoge jopejoe1 ];
     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
     mainProgram = "discord";
   };
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.nix b/pkgs/applications/networking/instant-messengers/element/pin.nix
index b7c9de0cc7323..516c1182e22f5 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.64";
+  "version" = "1.11.65";
   "hashes" = {
-    "desktopSrcHash" = "sha256-U6vVuc7claPZI4idZmTXpm1GHm+VrmoaJNVgJU0GHMU=";
-    "desktopYarnHash" = "079jg178cq2m91fhzrdab8x33wrm5a97ga19g0268q118vbnv98l";
-    "webSrcHash" = "sha256-jphxYlSxHjck6XA3JXofC6AbVb+aVOjsbxLUqo1hRhY=";
-    "webYarnHash" = "0q91llgx8cy6zxinfqbnrcfkmclqx7czlp08f1ls43x0w2vd8447";
+    "desktopSrcHash" = "sha256-aRlTM8j+lMB97QsmRlcvSZqLJ/2vmQIz1viTIoycmYA=";
+    "desktopYarnHash" = "08scs091k0i6lwfpw0id4jxmmdix0jxvnm9fyjwzrsrzh6q6899y";
+    "webSrcHash" = "sha256-aE7pmqLOa9aCaSaSOpX2NqcY0OKBjL5mZbKModbKxZg=";
+    "webYarnHash" = "1b9q8v5jz6w2vvfkgq8nzajzs798ja2ff3wjv6d5m7sri8il7f0s";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
index 99562f4054ae7..d2a43e989bb83 100644
--- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -18,13 +18,13 @@ let
 in
 flutter.buildFlutterApplication (rec {
   pname = "fluffychat-${targetFlutterPlatform}";
-  version = "1.18.0";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "krille-chan";
     repo = "fluffychat";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xm3+zBqg/mW2XxqFDXxeC+gIc+TgeciJmQf8w1kcW5Y=";
+    hash = "sha256-eHwzvWKWJ9Q2OgCvgZTt+Bcph2w2pTqyOtwXFbZ4LEg=";
   };
 
   inherit pubspecLock;
@@ -32,7 +32,6 @@ flutter.buildFlutterApplication (rec {
   gitHashes = {
     flutter_shortcuts = "sha256-4nptZ7/tM2W/zylk3rfQzxXgQ6AipFH36gcIb/0RbHo=";
     keyboard_shortcuts = "sha256-U74kRujftHPvpMOIqVT0Ph+wi1ocnxNxIFA1krft4Os=";
-    wakelock_windows = "sha256-Dfwe3dSScD/6kvkP67notcbb+EgTQ3kEYcH7wpra2dI=";
   };
 
   inherit targetFlutterPlatform;
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/pubspec.lock.json b/pkgs/applications/networking/instant-messengers/fluffychat/pubspec.lock.json
index b6df5968cd9a4..2c11ebced2b85 100644
--- a/pkgs/applications/networking/instant-messengers/fluffychat/pubspec.lock.json
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/pubspec.lock.json
@@ -1,24 +1,44 @@
 {
   "packages": {
+    "_fe_analyzer_shared": {
+      "dependency": "transitive",
+      "description": {
+        "name": "_fe_analyzer_shared",
+        "sha256": "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "67.0.0"
+    },
     "adaptive_dialog": {
       "dependency": "direct main",
       "description": {
         "name": "adaptive_dialog",
-        "sha256": "30dc6deee139cde31e5d10a1d05e1a2a1bb6d592cf0eea27b978884b1ff03405",
+        "sha256": "817ff9b4bb441434d1fcb39a8d4492e50be456cd3507e4f19c5c7455c9e279e0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.0"
+      "version": "2.1.0"
+    },
+    "analyzer": {
+      "dependency": "transitive",
+      "description": {
+        "name": "analyzer",
+        "sha256": "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "6.4.1"
     },
     "animations": {
       "dependency": "direct main",
       "description": {
         "name": "animations",
-        "sha256": "ef57563eed3620bd5d75ad96189846aca1e033c0c45fc9a7d26e80ab02b88a70",
+        "sha256": "d3d6dcfb218225bbe68e87ccf6378bbb2e32a94900722c5f81611dad089911cb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.8"
+      "version": "2.0.11"
     },
     "ansicolor": {
       "dependency": "transitive",
@@ -44,21 +64,21 @@
       "dependency": "direct main",
       "description": {
         "name": "archive",
-        "sha256": "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b",
+        "sha256": "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.4.9"
+      "version": "3.4.10"
     },
     "args": {
       "dependency": "transitive",
       "description": {
         "name": "args",
-        "sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596",
+        "sha256": "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.2"
+      "version": "2.5.0"
     },
     "async": {
       "dependency": "direct main",
@@ -74,11 +94,11 @@
       "dependency": "transitive",
       "description": {
         "name": "audio_session",
-        "sha256": "6fdf255ed3af86535c96452c33ecff1245990bb25a605bfb1958661ccc3d467f",
+        "sha256": "a49af9981eec5d7cd73b37bacb6ee73f8143a6a9f9bd5b6021e6c346b9b6cf4e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.1.18"
+      "version": "0.1.19"
     },
     "badges": {
       "dependency": "direct main",
@@ -90,6 +110,16 @@
       "source": "hosted",
       "version": "3.1.2"
     },
+    "barbecue": {
+      "dependency": "transitive",
+      "description": {
+        "name": "barbecue",
+        "sha256": "e3a0afaf9005e466887d6c87411a2ddd8d72fc46db3caabf278ee600f1e2f92c",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.4.0"
+    },
     "base58check": {
       "dependency": "transitive",
       "description": {
@@ -184,21 +214,21 @@
       "dependency": "direct main",
       "description": {
         "name": "chewie",
-        "sha256": "ccfce3350ae9fd419cd336cdf3380f77a08e45171e1e3cb3d499d204de5e7ea8",
+        "sha256": "e53da939709efb9aad0f3d72a69a8d05f889168b7a138af60ce78bab5c94b135",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.7.1"
+      "version": "1.8.1"
     },
     "cli_util": {
       "dependency": "transitive",
       "description": {
         "name": "cli_util",
-        "sha256": "b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7",
+        "sha256": "c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.4.0"
+      "version": "0.4.1"
     },
     "clock": {
       "dependency": "transitive",
@@ -220,6 +250,16 @@
       "source": "hosted",
       "version": "1.18.0"
     },
+    "colorize": {
+      "dependency": "transitive",
+      "description": {
+        "name": "colorize",
+        "sha256": "584746cd6ba1cba0633b6720f494fe6f9601c4170f0666c1579d2aa2a61071ba",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.0"
+    },
     "console": {
       "dependency": "transitive",
       "description": {
@@ -240,15 +280,25 @@
       "source": "hosted",
       "version": "3.1.1"
     },
+    "coverage": {
+      "dependency": "transitive",
+      "description": {
+        "name": "coverage",
+        "sha256": "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.7.2"
+    },
     "cross_file": {
       "dependency": "transitive",
       "description": {
         "name": "cross_file",
-        "sha256": "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5",
+        "sha256": "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.3.3+7"
+      "version": "0.3.4+1"
     },
     "crypto": {
       "dependency": "transitive",
@@ -274,21 +324,21 @@
       "dependency": "direct main",
       "description": {
         "name": "cupertino_icons",
-        "sha256": "d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d",
+        "sha256": "ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.6"
+      "version": "1.0.8"
     },
     "dart_webrtc": {
       "dependency": "transitive",
       "description": {
         "name": "dart_webrtc",
-        "sha256": "5897a3bdd6c7fded07e80e250260ca4c9cd61f9080911aa308b516e1206745a9",
+        "sha256": "b3a4f109c551a10170ece8fc79b5ca1b98223f24bcebc0f971d7fe35daad7a3b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.3"
+      "version": "1.4.4"
     },
     "dbus": {
       "dependency": "transitive",
@@ -334,11 +384,11 @@
       "dependency": "direct main",
       "description": {
         "name": "device_info_plus",
-        "sha256": "0042cb3b2a76413ea5f8a2b40cec2a33e01d0c937e91f0f7c211fde4f7739ba6",
+        "sha256": "eead12d1a1ed83d8283ab4c2f3fca23ac4082f29f25f29dff0f758f57d06ec91",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "9.1.1"
+      "version": "10.1.0"
     },
     "device_info_plus_platform_interface": {
       "dependency": "transitive",
@@ -354,21 +404,21 @@
       "dependency": "direct main",
       "description": {
         "name": "dynamic_color",
-        "sha256": "8b8bd1d798bd393e11eddeaa8ae95b12ff028bf7d5998fc5d003488cd5f4ce2f",
+        "sha256": "eae98052fa6e2826bdac3dd2e921c6ce2903be15c6b7f8b6d8a5d49b5086298d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.6.8"
+      "version": "1.7.0"
     },
     "emoji_picker_flutter": {
       "dependency": "direct main",
       "description": {
         "name": "emoji_picker_flutter",
-        "sha256": "8506341d62efd116d6fb1481450bffdbac659d3d90d46d9cc610bfae5f33cc54",
+        "sha256": "839200a2bd1af9a65d71133a5a246dbf5b24f7e4f6f4c5390130c2e0ed5f85af",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.6.4"
+      "version": "2.2.0"
     },
     "emoji_proposal": {
       "dependency": "direct main",
@@ -424,11 +474,11 @@
       "dependency": "transitive",
       "description": {
         "name": "ffi",
-        "sha256": "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878",
+        "sha256": "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.0"
+      "version": "2.1.2"
     },
     "file": {
       "dependency": "transitive",
@@ -444,11 +494,11 @@
       "dependency": "direct main",
       "description": {
         "name": "file_picker",
-        "sha256": "4e42aacde3b993c5947467ab640882c56947d9d27342a5b6f2895b23956954a6",
+        "sha256": "45c70b43df893027e441a6fa0aacc8f484fb9f9c60c746dc8f1dc4f774cf55cd",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.1.1"
+      "version": "8.0.2"
     },
     "file_selector_linux": {
       "dependency": "transitive",
@@ -474,11 +524,11 @@
       "dependency": "transitive",
       "description": {
         "name": "file_selector_platform_interface",
-        "sha256": "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262",
+        "sha256": "a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.6.1"
+      "version": "2.6.2"
     },
     "file_selector_windows": {
       "dependency": "transitive",
@@ -490,6 +540,16 @@
       "source": "hosted",
       "version": "0.9.3+1"
     },
+    "fixnum": {
+      "dependency": "transitive",
+      "description": {
+        "name": "fixnum",
+        "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.0"
+    },
     "flutter": {
       "dependency": "direct main",
       "description": "flutter",
@@ -506,25 +566,15 @@
       "source": "hosted",
       "version": "1.5.0"
     },
-    "flutter_blurhash": {
-      "dependency": "direct main",
-      "description": {
-        "name": "flutter_blurhash",
-        "sha256": "5e67678e479ac639069d7af1e133f4a4702311491188ff3e0227486430db0c06",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "0.8.2"
-    },
     "flutter_cache_manager": {
       "dependency": "direct main",
       "description": {
         "name": "flutter_cache_manager",
-        "sha256": "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba",
+        "sha256": "395d6b7831f21f3b989ebedbb785545932adb9afe2622c1ffacf7f4b53a7e544",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.3.1"
+      "version": "3.3.2"
     },
     "flutter_driver": {
       "dependency": "transitive",
@@ -532,25 +582,15 @@
       "source": "sdk",
       "version": "0.0.0"
     },
-    "flutter_file_dialog": {
-      "dependency": "direct main",
-      "description": {
-        "name": "flutter_file_dialog",
-        "sha256": "9344b8f07be6a1b6f9854b723fb0cf84a8094ba94761af1d213589d3cb087488",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "3.0.2"
-    },
     "flutter_foreground_task": {
       "dependency": "direct main",
       "description": {
         "name": "flutter_foreground_task",
-        "sha256": "e48d2d810a2d643362e64de41146ed8e95d4dd282bae6abbb32309d9f0bf5d67",
+        "sha256": "d40a1ddd5f275450d2e32055e7f884796c028a02ac26c751c20916576f79e132",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.1.2"
+      "version": "6.2.0"
     },
     "flutter_highlighter": {
       "dependency": "direct main",
@@ -586,11 +626,11 @@
       "dependency": "transitive",
       "description": {
         "name": "flutter_keyboard_visibility",
-        "sha256": "4983655c26ab5b959252ee204c2fffa4afeb4413cd030455194ec0caa3b8e7cb",
+        "sha256": "98664be7be0e3ffca00de50f7f6a287ab62c763fc8c762e0a21584584a3ff4f8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.4.1"
+      "version": "6.0.0"
     },
     "flutter_keyboard_visibility_linux": {
       "dependency": "transitive",
@@ -646,11 +686,11 @@
       "dependency": "transitive",
       "description": {
         "name": "flutter_layout_grid",
-        "sha256": "3529b7aa7ed2cb9861a0bbaa5c14d4be2beaf5a070ce0176077159f80c5de094",
+        "sha256": "962a7ec8c7ea46c3b10606dac9c964f9143d10daa5ca28e40f4ce14eeef85b2a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.5"
+      "version": "2.0.6"
     },
     "flutter_linkify": {
       "dependency": "direct main",
@@ -666,21 +706,21 @@
       "dependency": "direct dev",
       "description": {
         "name": "flutter_lints",
-        "sha256": "e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7",
+        "sha256": "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.1"
+      "version": "3.0.2"
     },
     "flutter_local_notifications": {
       "dependency": "direct main",
       "description": {
         "name": "flutter_local_notifications",
-        "sha256": "c18f1de98fe0bb9dd5ba91e1330d4febc8b6a7de6aae3ffe475ef423723e72f3",
+        "sha256": "8cdc719114ab1c86c64bb7a86d3a679674c3637edd229e3a994797d4a1504ce4",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "16.3.2"
+      "version": "17.1.0"
     },
     "flutter_local_notifications_linux": {
       "dependency": "transitive",
@@ -696,11 +736,11 @@
       "dependency": "transitive",
       "description": {
         "name": "flutter_local_notifications_platform_interface",
-        "sha256": "7cf643d6d5022f3baed0be777b0662cce5919c0a7b86e700299f22dc4ae660ef",
+        "sha256": "340abf67df238f7f0ef58f4a26d2a83e1ab74c77ab03cd2b2d5018ac64db30b7",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.0.0+1"
+      "version": "7.1.0"
     },
     "flutter_localizations": {
       "dependency": "direct main",
@@ -712,11 +752,11 @@
       "dependency": "direct main",
       "description": {
         "name": "flutter_map",
-        "sha256": "52c65a977daae42f9aae6748418dd1535eaf27186e9bac9bf431843082bc75a3",
+        "sha256": "cda8d72135b697f519287258b5294a57ce2f2a5ebf234f0e406aad4dc14c9399",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.0.0"
+      "version": "6.1.0"
     },
     "flutter_math_fork": {
       "dependency": "direct main",
@@ -732,11 +772,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "flutter_native_splash",
-        "sha256": "c4d899312b36e7454bedfd0a4740275837b99e532d81c8477579d8183db1de6c",
+        "sha256": "edf39bcf4d74aca1eb2c1e43c3e445fd9f494013df7f0da752fefe72020eedc0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.6"
+      "version": "2.4.0"
     },
     "flutter_olm": {
       "dependency": "direct main",
@@ -762,11 +802,11 @@
       "dependency": "transitive",
       "description": {
         "name": "flutter_plugin_android_lifecycle",
-        "sha256": "b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da",
+        "sha256": "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.17"
+      "version": "2.0.19"
     },
     "flutter_ringtone_player": {
       "dependency": "direct main",
@@ -853,11 +893,11 @@
       "dependency": "transitive",
       "description": {
         "name": "flutter_svg",
-        "sha256": "d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c",
+        "sha256": "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.9"
+      "version": "2.0.10+1"
     },
     "flutter_test": {
       "dependency": "direct dev",
@@ -869,31 +909,31 @@
       "dependency": "direct main",
       "description": {
         "name": "flutter_typeahead",
-        "sha256": "b9942bd5b7611a6ec3f0730c477146cffa4cd4b051077983ba67ddfc9e7ee818",
+        "sha256": "d64712c65db240b1057559b952398ebb6e498077baeebf9b0731dade62438a6d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.8.0"
+      "version": "5.2.0"
     },
     "flutter_web_auth_2": {
       "dependency": "direct main",
       "description": {
         "name": "flutter_web_auth_2",
-        "sha256": "ea57000909d0002824179f1e4907c074f39538e86a9e4d93a74b7c37dbaee242",
+        "sha256": "3ea3a0cc539ca74319f4f2f7484f62742fe5b2ff9a0fca37575426d6e6f07901",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.4"
+      "version": "3.1.1"
     },
     "flutter_web_auth_2_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "flutter_web_auth_2_platform_interface",
-        "sha256": "9124824cbd21e12680bf58190e27b77f251c897e80ec81cd557ec1fde9aecabf",
+        "sha256": "e8669e262005a8354389ba2971f0fc1c36188481234ff50d013aaf993f30f739",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.0"
+      "version": "3.1.0"
     },
     "flutter_web_plugins": {
       "dependency": "transitive",
@@ -905,11 +945,21 @@
       "dependency": "direct main",
       "description": {
         "name": "flutter_webrtc",
-        "sha256": "8522e9f347aed9f03ec591d05fc286a698c1b11a1a6d3e994e92727d24c6f352",
+        "sha256": "20eac28848a2dffb26cc2b2870a5164613904511a0b7e8f4825e31a2768175d2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.46"
+      "version": "0.10.3"
+    },
+    "frontend_server_client": {
+      "dependency": "transitive",
+      "description": {
+        "name": "frontend_server_client",
+        "sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.0"
     },
     "fuchsia_remote_debug_protocol": {
       "dependency": "transitive",
@@ -981,11 +1031,11 @@
       "dependency": "transitive",
       "description": {
         "name": "get_it",
-        "sha256": "f79870884de16d689cf9a7d15eedf31ed61d750e813c538a6efb92660fea83c3",
+        "sha256": "d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.6.4"
+      "version": "7.7.0"
     },
     "glob": {
       "dependency": "transitive",
@@ -1001,11 +1051,11 @@
       "dependency": "direct main",
       "description": {
         "name": "go_router",
-        "sha256": "07ee2436909f749d606f53521dc1725dd738dc5196e5ff815bc254253c594075",
+        "sha256": "466425a64508ca00983882f523400d9169365cb9b464e2e2419f3b6545ff9c51",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "13.1.0"
+      "version": "14.0.1"
     },
     "gradient_borders": {
       "dependency": "transitive",
@@ -1071,11 +1121,21 @@
       "dependency": "direct main",
       "description": {
         "name": "http",
-        "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2",
+        "sha256": "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.13.6"
+      "version": "1.2.1"
+    },
+    "http_multi_server": {
+      "dependency": "transitive",
+      "description": {
+        "name": "http_multi_server",
+        "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.2.1"
     },
     "http_parser": {
       "dependency": "transitive",
@@ -1088,54 +1148,54 @@
       "version": "4.0.2"
     },
     "image": {
-      "dependency": "transitive",
+      "dependency": "direct main",
       "description": {
         "name": "image",
-        "sha256": "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271",
+        "sha256": "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.1.3"
+      "version": "4.1.7"
     },
     "image_picker": {
       "dependency": "direct main",
       "description": {
         "name": "image_picker",
-        "sha256": "7d7f2768df2a8b0a3cefa5ef4f84636121987d403130e70b17ef7e2cf650ba84",
+        "sha256": "fe9ee64ccb8d599a5dfb0e21cc6652232c610bcf667af4e79b9eb175cc30a7a5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.4"
+      "version": "1.1.0"
     },
     "image_picker_android": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_android",
-        "sha256": "d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f",
+        "sha256": "8e75431a62b7feb4fd55cb4a5c6f0ac4564460ec5dc09f9c4a0d50a5ce7c4cb9",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.8.8+2"
+      "version": "0.8.10"
     },
     "image_picker_for_web": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_for_web",
-        "sha256": "50bc9ae6a77eea3a8b11af5eb6c661eeb858fdd2f734c2a4fd17086922347ef7",
+        "sha256": "5d6eb13048cd47b60dbf1a5495424dea226c5faf3950e20bf8120a58efb5b5f3",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.1"
+      "version": "3.0.4"
     },
     "image_picker_ios": {
       "dependency": "transitive",
       "description": {
         "name": "image_picker_ios",
-        "sha256": "76ec722aeea419d03aa915c2c96bf5b47214b053899088c9abb4086ceecf97a7",
+        "sha256": "f74064bc548b5164a033ec05638e23c91be1a249c255e0f56319dddffd759794",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.8.8+4"
+      "version": "0.8.10+1"
     },
     "image_picker_linux": {
       "dependency": "transitive",
@@ -1161,11 +1221,11 @@
       "dependency": "transitive",
       "description": {
         "name": "image_picker_platform_interface",
-        "sha256": "ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514",
+        "sha256": "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.9.1"
+      "version": "2.10.0"
     },
     "image_picker_windows": {
       "dependency": "transitive",
@@ -1237,21 +1297,21 @@
       "dependency": "transitive",
       "description": {
         "name": "json_annotation",
-        "sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467",
+        "sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.8.1"
+      "version": "4.9.0"
     },
     "just_audio": {
       "dependency": "direct main",
       "description": {
         "name": "just_audio",
-        "sha256": "b607cd1a43bac03d85c3aaee00448ff4a589ef2a77104e3d409889ff079bf823",
+        "sha256": "b7cb6bbf3750caa924d03f432ba401ec300fd90936b3f73a9b33d58b1e96286b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.36"
+      "version": "0.9.37"
     },
     "just_audio_platform_interface": {
       "dependency": "transitive",
@@ -1288,11 +1348,11 @@
       "dependency": "direct main",
       "description": {
         "name": "latlong2",
-        "sha256": "08ef7282ba9f76e8495e49e2dc4d653015ac929dce5f92b375a415d30b407ea0",
+        "sha256": "98227922caf49e6056f91b6c56945ea1c7b166f28ffcd5fb8e72fc0b453cc8fe",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.8.2"
+      "version": "0.9.1"
     },
     "leak_tracker": {
       "dependency": "transitive",
@@ -1324,6 +1384,16 @@
       "source": "hosted",
       "version": "2.0.1"
     },
+    "license_checker": {
+      "dependency": "direct dev",
+      "description": {
+        "name": "license_checker",
+        "sha256": "eea27638e42bc98fd91a6a8187eb57e5617e2c3c8b313a5d51b14bec7a8685e1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.6.0"
+    },
     "linkify": {
       "dependency": "direct main",
       "description": {
@@ -1364,6 +1434,16 @@
       "source": "hosted",
       "version": "1.0.1"
     },
+    "logger": {
+      "dependency": "transitive",
+      "description": {
+        "name": "logger",
+        "sha256": "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.2.0"
+    },
     "logging": {
       "dependency": "transitive",
       "description": {
@@ -1378,31 +1458,31 @@
       "dependency": "transitive",
       "description": {
         "name": "macos_ui",
-        "sha256": "cc499122655c61728185561e9006af4b239f9526f98d7b2cbf42124e9044a0ff",
+        "sha256": "d351f0bada7e5b0cee8cf394299878a6c04e5cfcd784fa1d40e44299501124d8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.0.2"
+      "version": "2.0.5"
     },
     "macos_window_utils": {
       "dependency": "transitive",
       "description": {
         "name": "macos_window_utils",
-        "sha256": "b3dfd47bbc605f0e315af684b50370a8f84932267aaa542098063fa384d593bd",
+        "sha256": "230be594d26f6dee92c5a1544f4242d25138a5bfb9f185b27f14de3949ef0be8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.4.0"
+      "version": "1.5.0"
     },
     "markdown": {
       "dependency": "transitive",
       "description": {
         "name": "markdown",
-        "sha256": "acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd",
+        "sha256": "ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.1.1"
+      "version": "7.2.2"
     },
     "matcher": {
       "dependency": "transitive",
@@ -1428,21 +1508,11 @@
       "dependency": "direct main",
       "description": {
         "name": "matrix",
-        "sha256": "84e5745dd41468a2870d119e597529e6471f3ce2f400e4b35d5bd6a036a98692",
+        "sha256": "36c7e13d5d7420898f2597d6f5f0611a9da8114a0fde11f41b9e54cd1140b05f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.25.7"
-    },
-    "matrix_api_lite": {
-      "dependency": "transitive",
-      "description": {
-        "name": "matrix_api_lite",
-        "sha256": "62bdd1dffb956e956863ba21e52109157502342b749e4728f4105f0c6d73a254",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "1.7.2"
+      "version": "0.27.0"
     },
     "meta": {
       "dependency": "transitive",
@@ -1468,21 +1538,21 @@
       "dependency": "transitive",
       "description": {
         "name": "mime",
-        "sha256": "e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e",
+        "sha256": "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.4"
+      "version": "1.0.5"
     },
     "msix": {
       "dependency": "direct dev",
       "description": {
         "name": "msix",
-        "sha256": "957d04eee260e4bd15bec1fdb988dfc73718285e201cf89d97ef01ef38e66d4c",
+        "sha256": "519b183d15dc9f9c594f247e2d2339d855cf0eaacc30e19b128e14f3ecc62047",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.16.6"
+      "version": "3.16.7"
     },
     "native_imaging": {
       "dependency": "direct main",
@@ -1504,6 +1574,16 @@
       "source": "hosted",
       "version": "1.0.0"
     },
+    "node_preamble": {
+      "dependency": "transitive",
+      "description": {
+        "name": "node_preamble",
+        "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.0.2"
+    },
     "olm": {
       "dependency": "transitive",
       "description": {
@@ -1528,11 +1608,11 @@
       "dependency": "direct main",
       "description": {
         "name": "package_info_plus",
-        "sha256": "88bc797f44a94814f2213db1c9bd5badebafdfb8290ca9f78d4b9ee2a3db4d79",
+        "sha256": "cb44f49b6e690fa766f023d5b22cac6b9affe741dd792b6ac7ad4fabe0d7b097",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.0.1"
+      "version": "6.0.0"
     },
     "package_info_plus_platform_interface": {
       "dependency": "transitive",
@@ -1544,6 +1624,16 @@
       "source": "hosted",
       "version": "2.0.1"
     },
+    "pana": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pana",
+        "sha256": "3fc3fe8e7a9fd4827fa4d625a423eec95d305b2bc3538a3adf7fd6c49217af97",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.21.45"
+    },
     "pasteboard": {
       "dependency": "direct main",
       "description": {
@@ -1555,7 +1645,7 @@
       "version": "0.2.0"
     },
     "path": {
-      "dependency": "transitive",
+      "dependency": "direct main",
       "description": {
         "name": "path",
         "sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
@@ -1578,31 +1668,31 @@
       "dependency": "direct main",
       "description": {
         "name": "path_provider",
-        "sha256": "a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa",
+        "sha256": "c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.1"
+      "version": "2.1.3"
     },
     "path_provider_android": {
       "dependency": "transitive",
       "description": {
         "name": "path_provider_android",
-        "sha256": "e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72",
+        "sha256": "a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.1"
+      "version": "2.2.4"
     },
     "path_provider_foundation": {
       "dependency": "transitive",
       "description": {
         "name": "path_provider_foundation",
-        "sha256": "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d",
+        "sha256": "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.1"
+      "version": "2.3.2"
     },
     "path_provider_linux": {
       "dependency": "transitive",
@@ -1618,11 +1708,11 @@
       "dependency": "transitive",
       "description": {
         "name": "path_provider_platform_interface",
-        "sha256": "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c",
+        "sha256": "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.1"
+      "version": "2.1.2"
     },
     "path_provider_windows": {
       "dependency": "transitive",
@@ -1638,71 +1728,71 @@
       "dependency": "direct main",
       "description": {
         "name": "permission_handler",
-        "sha256": "860c6b871c94c78e202dc69546d4d8fd84bd59faeb36f8fb9888668a53ff4f78",
+        "sha256": "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "11.1.0"
+      "version": "11.3.1"
     },
     "permission_handler_android": {
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_android",
-        "sha256": "2f1bec180ee2f5665c22faada971a8f024761f632e93ddc23310487df52dcfa6",
+        "sha256": "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "12.0.1"
+      "version": "12.0.5"
     },
     "permission_handler_apple": {
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_apple",
-        "sha256": "1a816084338ada8d574b1cb48390e6e8b19305d5120fe3a37c98825bacc78306",
+        "sha256": "e9ad66020b89ff1b63908f247c2c6f931c6e62699b756ef8b3c4569350cd8662",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "9.2.0"
+      "version": "9.4.4"
     },
     "permission_handler_html": {
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_html",
-        "sha256": "d96ff56a757b7f04fa825c469d296c5aebc55f743e87bd639fef91a466a24da8",
+        "sha256": "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.1.0+1"
+      "version": "0.1.1"
     },
     "permission_handler_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_platform_interface",
-        "sha256": "d87349312f7eaf6ce0adaf668daf700ac5b06af84338bd8b8574dfbd93ffe1a1",
+        "sha256": "48d4fcf201a1dad93ee869ab0d4101d084f49136ec82a8a06ed9cfeacab9fd20",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "4.0.2"
+      "version": "4.2.1"
     },
     "permission_handler_windows": {
       "dependency": "transitive",
       "description": {
         "name": "permission_handler_windows",
-        "sha256": "1e8640c1e39121128da6b816d236e714d2cf17fac5a105dd6acdd3403a628004",
+        "sha256": "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.2.0"
+      "version": "0.2.1"
     },
     "petitparser": {
       "dependency": "transitive",
       "description": {
         "name": "petitparser",
-        "sha256": "eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6",
+        "sha256": "c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.0.1"
+      "version": "6.0.2"
     },
     "platform": {
       "dependency": "transitive",
@@ -1728,31 +1818,61 @@
       "dependency": "transitive",
       "description": {
         "name": "plugin_platform_interface",
-        "sha256": "f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8",
+        "sha256": "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.7"
+      "version": "2.1.8"
     },
     "pointer_interceptor": {
       "dependency": "transitive",
       "description": {
         "name": "pointer_interceptor",
-        "sha256": "adf7a637f97c077041d36801b43be08559fd4322d2127b3f20bb7be1b9eebc22",
+        "sha256": "bd18321519718678d5fa98ad3a3359cbc7a31f018554eab80b73d08a7f0c165a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.3+7"
+      "version": "0.10.1"
+    },
+    "pointer_interceptor_ios": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pointer_interceptor_ios",
+        "sha256": "2e73c39452830adc4695757130676a39412a3b7f3c34e3f752791b5384770877",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.10.0+2"
+    },
+    "pointer_interceptor_platform_interface": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pointer_interceptor_platform_interface",
+        "sha256": "0597b0560e14354baeb23f8375cd612e8bd4841bf8306ecb71fcd0bb78552506",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.10.0+1"
+    },
+    "pointer_interceptor_web": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pointer_interceptor_web",
+        "sha256": "a6237528b46c411d8d55cdfad8fcb3269fc4cbb26060b14bff94879165887d1e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.10.2"
     },
     "pointycastle": {
       "dependency": "transitive",
       "description": {
         "name": "pointycastle",
-        "sha256": "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c",
+        "sha256": "79fbafed02cfdbe85ef3fd06c7f4bc2cbcba0177e61b765264853d4253b21744",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.7.3"
+      "version": "3.9.0"
     },
     "polylabel": {
       "dependency": "transitive",
@@ -1764,6 +1884,26 @@
       "source": "hosted",
       "version": "1.0.1"
     },
+    "pool": {
+      "dependency": "transitive",
+      "description": {
+        "name": "pool",
+        "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.5.1"
+    },
+    "pretty_qr_code": {
+      "dependency": "direct main",
+      "description": {
+        "name": "pretty_qr_code",
+        "sha256": "cbdb4af29da1c1fa21dd76f809646c591320ab9e435d3b0eab867492d43607d5",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.3.0"
+    },
     "process": {
       "dependency": "transitive",
       "description": {
@@ -1788,11 +1928,11 @@
       "dependency": "direct main",
       "description": {
         "name": "provider",
-        "sha256": "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096",
+        "sha256": "c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.1.1"
+      "version": "6.1.2"
     },
     "pub_semver": {
       "dependency": "transitive",
@@ -1844,16 +1984,6 @@
       "source": "hosted",
       "version": "1.0.1"
     },
-    "qr_flutter": {
-      "dependency": "direct main",
-      "description": {
-        "name": "qr_flutter",
-        "sha256": "5095f0fc6e3f71d08adef8feccc8cea4f12eec18a2e31c2e8d82cb6019f4b097",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "4.1.0"
-    },
     "quiver": {
       "dependency": "transitive",
       "description": {
@@ -1954,6 +2084,16 @@
       "source": "hosted",
       "version": "0.0.10"
     },
+    "retry": {
+      "dependency": "transitive",
+      "description": {
+        "name": "retry",
+        "sha256": "822e118d5b3aafed083109c72d5f484c6dc66707885e07c0fbcb8b986bba7efc",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.1.2"
+    },
     "rxdart": {
       "dependency": "transitive",
       "description": {
@@ -1964,6 +2104,16 @@
       "source": "hosted",
       "version": "0.27.7"
     },
+    "safe_url_check": {
+      "dependency": "transitive",
+      "description": {
+        "name": "safe_url_check",
+        "sha256": "49a3e060a7869cbafc8f4845ca1ecbbaaa53179980a32f4fdfeab1607e90f41d",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.2"
+    },
     "scroll_to_index": {
       "dependency": "direct main",
       "description": {
@@ -1998,51 +2148,51 @@
       "dependency": "direct main",
       "description": {
         "name": "share_plus",
-        "sha256": "f74fc3f1cbd99f39760182e176802f693fa0ec9625c045561cfad54681ea93dd",
+        "sha256": "ef3489a969683c4f3d0239010cc8b7a2a46543a8d139e111c06c558875083544",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.2.1"
+      "version": "9.0.0"
     },
     "share_plus_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "share_plus_platform_interface",
-        "sha256": "df08bc3a07d01f5ea47b45d03ffcba1fa9cd5370fb44b3f38c70e42cced0f956",
+        "sha256": "0f9e4418835d1b2c3ae78fdb918251959106cefdbc4dd43526e182f80e82f6d4",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.3.1"
+      "version": "4.0.0"
     },
     "shared_preferences": {
       "dependency": "direct main",
       "description": {
         "name": "shared_preferences",
-        "sha256": "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02",
+        "sha256": "d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.2"
+      "version": "2.2.3"
     },
     "shared_preferences_android": {
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_android",
-        "sha256": "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06",
+        "sha256": "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.1"
+      "version": "2.2.2"
     },
     "shared_preferences_foundation": {
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_foundation",
-        "sha256": "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7",
+        "sha256": "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.4"
+      "version": "2.3.5"
     },
     "shared_preferences_linux": {
       "dependency": "transitive",
@@ -2058,21 +2208,21 @@
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_platform_interface",
-        "sha256": "d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a",
+        "sha256": "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.1"
+      "version": "2.3.2"
     },
     "shared_preferences_web": {
       "dependency": "transitive",
       "description": {
         "name": "shared_preferences_web",
-        "sha256": "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21",
+        "sha256": "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.2"
+      "version": "2.3.0"
     },
     "shared_preferences_windows": {
       "dependency": "transitive",
@@ -2084,6 +2234,46 @@
       "source": "hosted",
       "version": "2.3.2"
     },
+    "shelf": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shelf",
+        "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.4.1"
+    },
+    "shelf_packages_handler": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shelf_packages_handler",
+        "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "3.0.2"
+    },
+    "shelf_static": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shelf_static",
+        "sha256": "a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.1.2"
+    },
+    "shelf_web_socket": {
+      "dependency": "transitive",
+      "description": {
+        "name": "shelf_web_socket",
+        "sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.4"
+    },
     "sky_engine": {
       "dependency": "transitive",
       "description": "flutter",
@@ -2100,6 +2290,26 @@
       "source": "hosted",
       "version": "2.0.0"
     },
+    "source_map_stack_trace": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_map_stack_trace",
+        "sha256": "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.1.1"
+    },
+    "source_maps": {
+      "dependency": "transitive",
+      "description": {
+        "name": "source_maps",
+        "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.10.12"
+    },
     "source_span": {
       "dependency": "transitive",
       "description": {
@@ -2110,55 +2320,65 @@
       "source": "hosted",
       "version": "1.10.0"
     },
+    "sprintf": {
+      "dependency": "transitive",
+      "description": {
+        "name": "sprintf",
+        "sha256": "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "7.0.0"
+    },
     "sqflite": {
-      "dependency": "direct main",
+      "dependency": "transitive",
       "description": {
         "name": "sqflite",
-        "sha256": "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a",
+        "sha256": "5ce2e1a15e822c3b4bfb5400455775e421da7098eed8adc8f26298ada7c9308c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.0"
+      "version": "2.3.3"
     },
     "sqflite_common": {
       "dependency": "transitive",
       "description": {
         "name": "sqflite_common",
-        "sha256": "bb4738f15b23352822f4c42a531677e5c6f522e079461fd240ead29d8d8a54a6",
+        "sha256": "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.0+2"
+      "version": "2.5.4"
     },
     "sqflite_common_ffi": {
       "dependency": "direct main",
       "description": {
         "name": "sqflite_common_ffi",
-        "sha256": "35d2fce1e971707c227cc4775cc017d5eafe06c2654c3435ebd5c3ad6c170f5f",
+        "sha256": "4d6137c29e930d6e4a8ff373989dd9de7bac12e3bc87bce950f6e844e8ad3bb5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.0+4"
+      "version": "2.3.3"
     },
-    "sqflite_sqlcipher": {
+    "sqlcipher_flutter_libs": {
       "dependency": "direct main",
       "description": {
-        "name": "sqflite_sqlcipher",
-        "sha256": "e1dfb55bf21ee5a18c43f28faa4291272a801da4ab34a6ba9973b6c0e1ed77da",
+        "name": "sqlcipher_flutter_libs",
+        "sha256": "60fe3444ff5b1b298a9ca3003c6c7f1f7ee4c90aa6035a8647f3aeaf05a073e2",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.1"
+      "version": "0.6.1"
     },
     "sqlite3": {
       "dependency": "transitive",
       "description": {
         "name": "sqlite3",
-        "sha256": "db65233e6b99e99b2548932f55a987961bc06d82a31a0665451fa0b4fff4c3fb",
+        "sha256": "1abbeb84bf2b1a10e5e1138c913123c8aa9d83cd64e5f9a0dd847b3c83063202",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.0"
+      "version": "2.4.2"
     },
     "stack_trace": {
       "dependency": "transitive",
@@ -2190,6 +2410,16 @@
       "source": "hosted",
       "version": "1.2.0"
     },
+    "string_validator": {
+      "dependency": "transitive",
+      "description": {
+        "name": "string_validator",
+        "sha256": "50dd8ecf91db6a732f4a851eeae81ee12406eedc62d0da72f2d91a04a2d10dd8",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.3.0"
+    },
     "swipe_to_action": {
       "dependency": "direct main",
       "description": {
@@ -2214,11 +2444,21 @@
       "dependency": "transitive",
       "description": {
         "name": "synchronized",
-        "sha256": "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60",
+        "sha256": "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.0"
+      "version": "3.1.0+1"
+    },
+    "tar": {
+      "dependency": "transitive",
+      "description": {
+        "name": "tar",
+        "sha256": "aca91e93ff9ff2dba4462c6eea6bc260b72f0d7010e748e3397c32190529bd6e",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.0.4"
     },
     "term_glyph": {
       "dependency": "transitive",
@@ -2230,6 +2470,16 @@
       "source": "hosted",
       "version": "1.2.1"
     },
+    "test": {
+      "dependency": "transitive",
+      "description": {
+        "name": "test",
+        "sha256": "a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.24.9"
+    },
     "test_api": {
       "dependency": "transitive",
       "description": {
@@ -2240,15 +2490,25 @@
       "source": "hosted",
       "version": "0.6.1"
     },
+    "test_core": {
+      "dependency": "transitive",
+      "description": {
+        "name": "test_core",
+        "sha256": "a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "0.5.9"
+    },
     "timezone": {
       "dependency": "transitive",
       "description": {
         "name": "timezone",
-        "sha256": "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0",
+        "sha256": "a6ccda4a69a442098b602c44e61a1e2b4bf6f5516e875bbf0f427d5df14745d5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.2"
+      "version": "0.9.3"
     },
     "tint": {
       "dependency": "transitive",
@@ -2354,11 +2614,11 @@
       "dependency": "transitive",
       "description": {
         "name": "unifiedpush_android",
-        "sha256": "19fcdd2671c46bd074efbb80c43cedd0bcddd1fc0cfd3e2f74aec03fb0659d58",
+        "sha256": "610ad746294541f56d632adf9afba5d1c164c44e23ec0dd2162a41a6ff00a00e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.0"
+      "version": "2.2.3"
     },
     "unifiedpush_platform_interface": {
       "dependency": "transitive",
@@ -2404,41 +2664,41 @@
       "dependency": "direct main",
       "description": {
         "name": "url_launcher",
-        "sha256": "b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba",
+        "sha256": "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.2.1"
+      "version": "6.2.6"
     },
     "url_launcher_android": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_android",
-        "sha256": "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def",
+        "sha256": "360a6ed2027f18b73c8d98e159dda67a61b7f2e0f6ec26e86c3ada33b0621775",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.2.0"
+      "version": "6.3.1"
     },
     "url_launcher_ios": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_ios",
-        "sha256": "bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3",
+        "sha256": "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.2.1"
+      "version": "6.2.5"
     },
     "url_launcher_linux": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_linux",
-        "sha256": "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd",
+        "sha256": "ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.0"
+      "version": "3.1.1"
     },
     "url_launcher_macos": {
       "dependency": "transitive",
@@ -2454,71 +2714,71 @@
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_platform_interface",
-        "sha256": "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50",
+        "sha256": "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.0"
+      "version": "2.3.2"
     },
     "url_launcher_web": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_web",
-        "sha256": "138bd45b3a456dcfafc46d1a146787424f8d2edfbf2809c9324361e58f851cf7",
+        "sha256": "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.2.1"
+      "version": "2.3.1"
     },
     "url_launcher_windows": {
       "dependency": "transitive",
       "description": {
         "name": "url_launcher_windows",
-        "sha256": "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc",
+        "sha256": "ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.1.0"
+      "version": "3.1.1"
     },
     "uuid": {
       "dependency": "transitive",
       "description": {
         "name": "uuid",
-        "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313",
+        "sha256": "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.0.7"
+      "version": "4.4.0"
     },
     "vector_graphics": {
       "dependency": "transitive",
       "description": {
         "name": "vector_graphics",
-        "sha256": "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43",
+        "sha256": "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.9+1"
+      "version": "1.1.11+1"
     },
     "vector_graphics_codec": {
       "dependency": "transitive",
       "description": {
         "name": "vector_graphics_codec",
-        "sha256": "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7",
+        "sha256": "c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.9+1"
+      "version": "1.1.11+1"
     },
     "vector_graphics_compiler": {
       "dependency": "transitive",
       "description": {
         "name": "vector_graphics_compiler",
-        "sha256": "d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26",
+        "sha256": "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.9+1"
+      "version": "1.1.11+1"
     },
     "vector_math": {
       "dependency": "transitive",
@@ -2530,16 +2790,6 @@
       "source": "hosted",
       "version": "2.1.4"
     },
-    "vibration": {
-      "dependency": "direct main",
-      "description": {
-        "name": "vibration",
-        "sha256": "63d4f6b03e38d106599da18e786d5edcd02354433a4ed478fccbbcfc347193ab",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "1.8.3"
-    },
     "video_compress": {
       "dependency": "direct main",
       "description": {
@@ -2554,51 +2804,51 @@
       "dependency": "direct main",
       "description": {
         "name": "video_player",
-        "sha256": "e16f0a83601a78d165dabc17e4dac50997604eb9e4cc76e10fa219046b70cef3",
+        "sha256": "db6a72d8f4fd155d0189845678f55ad2fd54b02c10dcafd11c068dbb631286c0",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.8.1"
+      "version": "2.8.6"
     },
     "video_player_android": {
       "dependency": "transitive",
       "description": {
         "name": "video_player_android",
-        "sha256": "3fe89ab07fdbce786e7eb25b58532d6eaf189ceddc091cb66cba712f8d9e8e55",
+        "sha256": "134e1ad410d67e18a19486ed9512c72dfc6d8ffb284d0e8f2e99e903d1ba8fa3",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.4.10"
+      "version": "2.4.14"
     },
     "video_player_avfoundation": {
       "dependency": "transitive",
       "description": {
         "name": "video_player_avfoundation",
-        "sha256": "bc923884640d6dc403050586eb40713cdb8d1d84e6886d8aca50ab04c59124c2",
+        "sha256": "00c49b1d68071341397cf760b982c1e26ed9232464c8506ee08378a5cca5070d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.2"
+      "version": "2.5.7"
     },
     "video_player_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "video_player_platform_interface",
-        "sha256": "be72301bf2c0150ab35a8c34d66e5a99de525f6de1e8d27c0672b836fe48f73a",
+        "sha256": "236454725fafcacf98f0f39af0d7c7ab2ce84762e3b63f2cbb3ef9a7e0550bc6",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.2.1"
+      "version": "6.2.2"
     },
     "video_player_web": {
       "dependency": "transitive",
       "description": {
         "name": "video_player_web",
-        "sha256": "ab7a462b07d9ca80bed579e30fb3bce372468f1b78642e0911b10600f2c5cb5b",
+        "sha256": "41245cef5ef29c4585dbabcbcbe9b209e34376642c7576cabf11b4ad9289d6e4",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.2"
+      "version": "2.3.0"
     },
     "visibility_detector": {
       "dependency": "transitive",
@@ -2620,56 +2870,55 @@
       "source": "hosted",
       "version": "13.0.0"
     },
-    "wakelock_platform_interface": {
-      "dependency": "transitive",
-      "description": {
-        "name": "wakelock_platform_interface",
-        "sha256": "1f4aeb81fb592b863da83d2d0f7b8196067451e4df91046c26b54a403f9de621",
-        "url": "https://pub.dev"
-      },
-      "source": "hosted",
-      "version": "0.3.0"
-    },
     "wakelock_plus": {
       "dependency": "direct main",
       "description": {
         "name": "wakelock_plus",
-        "sha256": "f268ca2116db22e57577fb99d52515a24bdc1d570f12ac18bb762361d43b043d",
+        "sha256": "c8b7cc80f045533b40a0e6c9109905494e3cf32c0fbd5c62616998e0de44003f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.4"
+      "version": "1.2.4"
     },
     "wakelock_plus_platform_interface": {
       "dependency": "transitive",
       "description": {
         "name": "wakelock_plus_platform_interface",
-        "sha256": "40fabed5da06caff0796dc638e1f07ee395fb18801fbff3255a2372db2d80385",
+        "sha256": "422d1cdbb448079a8a62a5a770b69baa489f8f7ca21aef47800c726d404f9d16",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.0"
+      "version": "1.2.1"
     },
-    "wakelock_windows": {
-      "dependency": "direct overridden",
+    "watcher": {
+      "dependency": "transitive",
       "description": {
-        "path": "wakelock_windows",
-        "ref": "main",
-        "resolved-ref": "f3610d6c246098fee74463de09434ed81fc2a7c8",
-        "url": "https://github.com/chandrabezzo/wakelock.git"
+        "name": "watcher",
+        "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8",
+        "url": "https://pub.dev"
       },
-      "source": "git",
-      "version": "0.2.2"
+      "source": "hosted",
+      "version": "1.1.0"
     },
     "web": {
       "dependency": "transitive",
       "description": {
         "name": "web",
-        "sha256": "edc8a9573dd8c5a83a183dae1af2b6fd4131377404706ca4e5420474784906fa",
+        "sha256": "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.4.0"
+      "version": "0.5.1"
+    },
+    "web_socket_channel": {
+      "dependency": "transitive",
+      "description": {
+        "name": "web_socket_channel",
+        "sha256": "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "2.4.5"
     },
     "webdriver": {
       "dependency": "transitive",
@@ -2681,35 +2930,45 @@
       "source": "hosted",
       "version": "3.0.3"
     },
+    "webkit_inspection_protocol": {
+      "dependency": "transitive",
+      "description": {
+        "name": "webkit_inspection_protocol",
+        "sha256": "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572",
+        "url": "https://pub.dev"
+      },
+      "source": "hosted",
+      "version": "1.2.1"
+    },
     "webrtc_interface": {
       "dependency": "direct main",
       "description": {
         "name": "webrtc_interface",
-        "sha256": "2efbd3e4e5ebeb2914253bcc51dafd3053c4b87b43f3076c74835a9deecbae3a",
+        "sha256": "abec3ab7956bd5ac539cf34a42fa0c82ea26675847c0966bb85160400eea9388",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.2"
+      "version": "1.2.0"
     },
     "win32": {
       "dependency": "transitive",
       "description": {
         "name": "win32",
-        "sha256": "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f",
+        "sha256": "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.1.0"
+      "version": "5.5.0"
     },
     "win32_registry": {
       "dependency": "transitive",
       "description": {
         "name": "win32_registry",
-        "sha256": "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a",
+        "sha256": "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.1.2"
+      "version": "1.1.3"
     },
     "window_to_front": {
       "dependency": "transitive",
@@ -2735,21 +2994,21 @@
       "dependency": "transitive",
       "description": {
         "name": "xdg_directories",
-        "sha256": "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2",
+        "sha256": "faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.0.3"
+      "version": "1.0.4"
     },
     "xml": {
       "dependency": "transitive",
       "description": {
         "name": "xml",
-        "sha256": "af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556",
+        "sha256": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.4.2"
+      "version": "6.5.0"
     },
     "yaml": {
       "dependency": "transitive",
@@ -2763,7 +3022,7 @@
     }
   },
   "sdks": {
-    "dart": ">=3.2.0 <4.0.0",
-    "flutter": ">=3.16.0"
+    "dart": ">=3.3.0 <4.0.0",
+    "flutter": ">=3.19.3"
   }
 }
diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix
index 39c892b335123..533c5c7310b38 100644
--- a/pkgs/applications/networking/instant-messengers/franz/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -87,10 +87,11 @@ in stdenv.mkDerivation (rec {
   dontWrapGApps = true;
 
   postFixup = ''
-    # make xdg-open overrideable at runtime
-    wrapProgram $out/opt/${name}/${pname} \
+    # make xdg-open overridable at runtime
+    wrapProgramShell $out/opt/${name}/${pname} \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDependencies}" \
       --suffix PATH : ${xdg-utils}/bin \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
       "''${gappsWrapperArgs[@]}"
   '';
 } // cleanedArgs)
diff --git a/pkgs/applications/networking/instant-messengers/hamsket/default.nix b/pkgs/applications/networking/instant-messengers/hamsket/default.nix
index 225a5669469c6..e535456ccf5ed 100644
--- a/pkgs/applications/networking/instant-messengers/hamsket/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hamsket/default.nix
@@ -21,7 +21,7 @@ let
     categories = [ "Network" ];
   });
 
-  appimageContents = appimageTools.extractType2 {
+  appimageContents = appimageTools.extract {
     inherit pname version src;
   };
 
@@ -31,7 +31,6 @@ appimageTools.wrapType2 {
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications $out/share/icons/hicolor/256x256/apps
-    ln -sf hamsket-${version} $out/bin/${pname}
     install -Dm644 ${appimageContents}/usr/share/icons/hicolor/256x256/apps/hamsket*.png $out/share/icons/hicolor/256x256/apps/${pname}.png
     install -Dm644 ${desktopItem}/share/applications/* $out/share/applications
   '';
diff --git a/pkgs/applications/networking/instant-messengers/keet/default.nix b/pkgs/applications/networking/instant-messengers/keet/default.nix
index 557078cd8b508..c49442e38370e 100644
--- a/pkgs/applications/networking/instant-messengers/keet/default.nix
+++ b/pkgs/applications/networking/instant-messengers/keet/default.nix
@@ -14,8 +14,6 @@ in appimageTools.wrapType2 {
   inherit src pname version;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
index cca91da3abda1..e38d45a001763 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -20,7 +20,7 @@
 , sqlite
 , autoAwaySupport ? true,       libXScrnSaver, libX11
 , notifySupport ? true,         libnotify, gdk-pixbuf
-, omemoSupport ? true,          libsignal-protocol-c, libgcrypt
+, omemoSupport ? true,          libsignal-protocol-c, libgcrypt, qrencode
 , pgpSupport ? true,            gpgme
 , pythonPluginSupport ? true,   python3
 , traySupport ? true,           gtk3
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
     sqlite
   ] ++ lib.optionals autoAwaySupport     [ libXScrnSaver libX11 ]
     ++ lib.optionals notifySupport       [ libnotify gdk-pixbuf ]
-    ++ lib.optionals omemoSupport        [ libsignal-protocol-c libgcrypt ]
+    ++ lib.optionals omemoSupport        [ libsignal-protocol-c libgcrypt qrencode ]
     ++ lib.optionals pgpSupport          [ gpgme ]
     ++ lib.optionals pythonPluginSupport [ python3 ]
     ++ lib.optionals traySupport         [ gtk3 ];
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index 295f92b9ef9a9..519c2a0b66eca 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -100,7 +100,7 @@ mkDerivation rec {
     homepage = "https://psi-plus.com";
     description = "XMPP (Jabber) client based on Qt5";
     mainProgram = "psi-plus";
-    maintainers = with maintainers; [ orivej misuzu unclechu ];
+    maintainers = with maintainers; [ orivej unclechu ];
     license = licenses.gpl2Only;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/instant-messengers/qq/default.nix b/pkgs/applications/networking/instant-messengers/qq/default.nix
index d0a7bbf2a1a99..eea656250b93f 100644
--- a/pkgs/applications/networking/instant-messengers/qq/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qq/default.nix
@@ -28,11 +28,11 @@ let
   sources = import ./sources.nix;
   srcs = {
     x86_64-linux = fetchurl {
-      url = "https://dldir1.qq.com/qqfile/qq/QQNT/${sources.urlhash}/linuxqq_${sources.version}_amd64.deb";
+      url = sources.amd64_url;
       hash = sources.amd64_hash;
     };
     aarch64-linux = fetchurl {
-      url = "https://dldir1.qq.com/qqfile/qq/QQNT/${sources.urlhash}/linuxqq_${sources.version}_arm64.deb";
+      url = sources.arm64_url;
       hash = sources.arm64_hash;
     };
   };
diff --git a/pkgs/applications/networking/instant-messengers/qq/sources.nix b/pkgs/applications/networking/instant-messengers/qq/sources.nix
index 0353fcc19fe27..590dbb3605e0e 100644
--- a/pkgs/applications/networking/instant-messengers/qq/sources.nix
+++ b/pkgs/applications/networking/instant-messengers/qq/sources.nix
@@ -1,8 +1,9 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2024-02-16
+# Last updated: 2024-04-27
 {
-  version = "3.2.5-21453";
-  urlhash = "852276c1";
-  arm64_hash = "sha256-g0J1FWG07bkabDHp2nuS48MNut2+N7gk0k5zWcmuQVw=";
-  amd64_hash = "sha256-6Qe4bP3q9RLEIJn9EfqqYaVTF8FRBNcjtVPl+zY7v5c=";
+  version = "3.2.7";
+  amd64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.7_240422_amd64_01.deb";
+  arm64_url = "https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.7_240422_arm64_01.deb";
+  arm64_hash = "sha256-MrLkPHri3ifVy3+WNNs/CKK4Myztw8ZjWFEZDr27mpM=";
+  amd64_hash = "sha256-eZMzMaqCF514Wij8BZ0sLoyzjKNArLSFe92tN9WAiu0=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/qq/update.sh b/pkgs/applications/networking/instant-messengers/qq/update.sh
index 8b9121299bbec..777ea2a90103a 100755
--- a/pkgs/applications/networking/instant-messengers/qq/update.sh
+++ b/pkgs/applications/networking/instant-messengers/qq/update.sh
@@ -9,8 +9,7 @@ payload=$(curl https://im.qq.com/rainbow/linuxQQDownload | grep -oP "var params=
 amd64_url=$(jq -r .x64DownloadUrl.deb <<< "$payload")
 arm64_url=$(jq -r .armDownloadUrl.deb <<< "$payload")
 
-urlhash=$(grep -oP "(?<=QQNT/)[a-f0-9]+(?=/linuxqq)" <<< "$amd64_url")
-version=$(grep -oP "(?<=/linuxqq_).*(?=_amd64.deb)" <<< "$amd64_url")
+version=$(grep -oP "(?<=/QQ_).*(?=_[0-9]{6})" <<< "$amd64_url")
 
 amd64_hash=$(nix-prefetch-url $amd64_url)
 arm64_hash=$(nix-prefetch-url $arm64_url)
@@ -24,7 +23,8 @@ cat >sources.nix <<EOF
 # Last updated: $(date +%F)
 {
   version = "$version";
-  urlhash = "$urlhash";
+  amd64_url = "$amd64_url";
+  arm64_url = "$arm64_url";
   arm64_hash = "$arm64_hash";
   amd64_hash = "$amd64_hash";
 }
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index 53762baf82fff..af5f6ca321c03 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -17,7 +17,7 @@ let
     categories = [ "Network" ];
   });
 
-  appimageContents = appimageTools.extractType2 {
+  appimageContents = appimageTools.extract {
     inherit pname version src;
   };
 in
@@ -26,7 +26,6 @@ appimageTools.wrapType2 {
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications $out/share/icons/hicolor/256x256/apps
-    ln -sf rambox-${version} $out/bin/${pname}
     install -Dm644 ${appimageContents}/usr/share/icons/hicolor/256x256/apps/rambox*.png $out/share/icons/hicolor/256x256/apps/${pname}.png
     install -Dm644 ${desktopItem}/share/applications/* $out/share/applications
   '';
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
index bc0afb8b68832..4e8ed9bd0c6c1 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
@@ -44,8 +44,6 @@ stdenvNoCC.mkDerivation {
   installPhase = ''
     runHook preInstall
 
-    mv bin/session-desktop-${version} bin/session-desktop
-
     mkdir -p $out/
     cp -r bin $out/bin
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 792b51ef47158..a6855b2539dd6 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.13.2";
+  version = "0.13.3";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
-    hash = "sha256-5+pIkRdcFWTNmsSN2tHSy6XMQfUpGSddGsdw5guWzjA=";
+    hash = "sha256-JNDl/esJdY+L+CGCAauPSeUID5eAaKChHqMf+jl4HuQ=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
index b29d4d3c9c64e..e8518c310a7c1 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
@@ -120,6 +120,8 @@ in stdenv.mkDerivation rec {
     libappindicator-gtk3
     libnotify
     libdbusmenu
+    pipewire
+    stdenv.cc.cc
     xdg-utils
     wayland
   ];
@@ -128,10 +130,6 @@ in stdenv.mkDerivation rec {
 
   dontBuild = true;
   dontConfigure = true;
-  dontPatchELF = true;
-  # We need to run autoPatchelf manually with the "no-recurse" option, see
-  # https://github.com/NixOS/nixpkgs/pull/78413 for the reasons.
-  dontAutoPatchelf = true;
 
   installPhase = ''
     runHook preInstall
@@ -141,11 +139,6 @@ in stdenv.mkDerivation rec {
     mv usr/share $out/share
     mv "opt/${dir}" "$out/lib/${dir}"
 
-    # Note: The following path contains bundled libraries:
-    # $out/lib/${dir}/resources/app.asar.unpacked/node_modules/sharp/vendor/lib/
-    # We run autoPatchelf with the "no-recurse" option to avoid picking those
-    # up, but resources/app.asar still requires them.
-
     # Symlink to bin
     mkdir -p $out/bin
     ln -s "$out/lib/${dir}/${pname}" $out/bin/${pname}
@@ -158,7 +151,6 @@ in stdenv.mkDerivation rec {
 
   preFixup = ''
     gappsWrapperArgs+=(
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc pipewire ] }"
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
       --suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
     )
@@ -168,7 +160,8 @@ in stdenv.mkDerivation rec {
       --replace "/opt/${dir}/${pname}" $out/bin/${pname} \
       ${if pname == "signal-desktop" then "--replace \"bin/signal-desktop\" \"bin/signal-desktop --use-tray-icon\"" else ""}
 
-    autoPatchelf --no-recurse -- "$out/lib/${dir}/"
+    # Note: The following path contains bundled libraries:
+    # $out/lib/${dir}/resources/app.asar.unpacked/node_modules/
     patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-${ARCH}.node"
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
index dffcdc6172f28..cccaa12cc2b03 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix { } rec {
   pname = "signal-desktop";
   dir = "Signal";
-  version = "7.3.0";
+  version = "7.5.1";
   url = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version}/builds/release/signal-desktop_${version}_arm64.deb";
-  hash = "sha256-RIOMIAXdBMr1Bi1TDFr4VD0w8JfBKzwEjpYS/DfV5kc=";
+  hash = "sha256-X7B7eQQXTZ+ADLrrLI9XUsl7rHO9akMeW2zAgduXfLY=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix
index 62b6e1c9a4847..a87d49de7621f 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix { } rec {
   pname = "signal-desktop-beta";
   dir = "Signal Beta";
-  version = "7.6.0-beta.3";
+  version = "7.7.0-beta.1";
   url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
-  hash = "sha256-BbXogNB2BxFQTpvHw0JVOaCV2PQHEQbafSavVcBd/Fg=";
+  hash = "sha256-oswS1aRkpiTNSpQ6CqfJnoM412RRwraeht4iqq8L1Bk=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
index 130508f95e30b..0b1f3b034cced 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix { } rec {
   pname = "signal-desktop";
   dir = "Signal";
-  version = "7.5.1";
+  version = "7.6.0";
   url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-  hash = "sha256-afKR+P2YPkv4OMIr8LzWeAMZWr0zaJ1R0BQD87gQuSk=";
+  hash = "sha256-sGOWsFZTO9VQDkCqhsOkW5aY+sh0fLH7kPPe/bAzGvg=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index eda54f85a0cac..d25f4698f8642 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20240415-2";
+  version = "20240425-1";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    hash = "sha256-fMt5F+ykMxaP/6gEVN7TabENTSKbO4Gpms5yD+MBzPc=";
+    hash = "sha256-CulgcWcAX/42jB3kCmxLAFioyNtMJV80dW3ofp7Yw6o=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index e0ce9027551c2..82494a442f933 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -84,7 +84,7 @@ let
     changelog = "https://slack.com/release-notes";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ mmahut amaxine ];
+    maintainers = with maintainers; [ mmahut ];
     platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ];
     mainProgram = "slack";
   };
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
index 906736be49774..604feba486c84 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
@@ -63,14 +63,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "telegram-desktop";
-  version = "4.16.8";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "telegramdesktop";
     repo = "tdesktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-M8wFhuTTEJippgvS93LNRqREV2TGF04ccps5oOmSr+0=";
+    hash = "sha256-BjXz2LwsvmJIaN+FZ4+mLu01jaajPvwf8YPqCjx7Kw4=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
index b9059e17bc264..8bc0f6f93b442 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation {
   pname = "tg_owt";
-  version = "unstable-2023-12-21";
+  version = "0-unstable-2023-12-21";
 
   src = fetchFromGitHub {
     owner = "desktop-app";
diff --git a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
index fc796ac7a3490..34bf49304cb65 100644
--- a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
@@ -1,55 +1,127 @@
-{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron
-, alsa-lib, glibc, gtk3, libxshmfence, mesa, nss }:
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, makeDesktopItem
+, copyDesktopItems
+, makeWrapper
+, electron
+, python3
+}:
 
-stdenv.mkDerivation rec {
-  pname = "threema-desktop";
-  version = "1.2.31";
+let
+  version = "1.2.41";
+  electronSrc = fetchFromGitHub {
+    owner = "threema-ch";
+    repo = "threema-web-electron";
+    rev = "refs/tags/${version}";
+    hash = "sha256-gV64rNBwQxPpREi0NFzfCA7lSO65/h0CVRw2EcbFedM=";
+  };
+
+  threema-web = buildNpmPackage rec {
+    pname = "threema-web";
+    version = "2.5.3";
+
+    src = fetchFromGitHub {
+      owner = "threema-ch";
+      repo = "threema-web";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-RIYyDoEck+a0kPUzTpdNLdyd4+ZYGjjkAlkCp9/S7FY=";
+    };
+
+    npmDepsHash = "sha256-OqiPpjIdLwBfxEmbI+YFmYGt3beMqXyGZc9FCwbng4U=";
+    npmBuildScript = "dist";
+
+    nativeBuildInputs = [
+      python3 # Used by gyp
+    ];
 
-  src = fetchurl {
-    # As Threema only offers a Latest Release url, the plan is to upload each
-    # new release url to web.archive.org until their Github releases page gets populated.
-    url = "https://web.archive.org/web/20230731230034if_/https://releases.threema.ch/web-electron/v1/release/Threema-Latest.deb";
-    hash = "sha256-eZ/bjcSnrnzub1G4sbwPn3GCTwhDfFuYv9Plf5SJL90=";
+    patches = [
+      "${electronSrc}/tools/patches/patch-user-agent.patch"
+      "${electronSrc}/tools/patches/patch-looks.patch"
+    ];
+
+    postInstall = ''
+      # Content of ${electronSrc}/tools/patches/post-patch-threema-web.sh
+      export threema_web_version=threema-web-${version}
+      sed -i.bak -E "s/IN_MEMORY_SESSION_PASSWORD:(true|false|0|1|\!0|\!1)/IN_MEMORY_SESSION_PASSWORD:true/g" -- release/$threema_web_version/*.bundle.js
+      cp -r . "$out"
+    '';
   };
 
-  nativeBuildInputs = [
-    dpkg
-    autoPatchelfHook
-    makeWrapper
-  ];
+  consumer = buildNpmPackage rec {
+    pname = "threema-desktop-consumer";
+    inherit version;
+    src = electronSrc;
+    sourceRoot = "${src.name}/app";
+    npmDepsHash = "sha256-AaUxnvrVCgKWCtMzeXexVBxs/NuVwWH67x4eBGAcsxk=";
+    env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
+    dontNpmBuild = true;
+    prePatch = ''
+      rm -r dependencies/threema-web
+      cp -r ${threema-web} dependencies/threema-web
+      chmod +w dependencies/threema-web
+    '';
+    postInstall = ''
+      cp -r . "$out"
+    '';
+  };
+
+in
+buildNpmPackage rec {
+  pname = "threema-desktop";
+  inherit version;
+  src = electronSrc;
 
-  buildInputs = [ alsa-lib glibc gtk3 libxshmfence mesa nss ];
+  npmDepsHash = "sha256-f/Oy9cHBc9k54MDSeilPcTJe0txOS2sqNt2UCUf5+M8=";
 
-  dontBuild = true;
-  dontConfigure = true;
+  env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
 
-  unpackPhase = ''
-    # Can't unpack with the common dpkg-deb -x method
-    dpkg --fsys-tarfile $src | tar --extract
+  postPatch = ''
+    rm -r app
+    cp -r ${consumer} app
+    chmod +w app
   '';
 
-  installPhase = ''
-    runHook preInstall
+  npmBuildScript = "app:build:electron:main";
 
-    # This will cause confusion, not needed
-    rm -r usr/bin
-    mv usr $out
+  # We need to install the consumer
+  dontNpmInstall = true;
 
-    runHook postInstall
-  '';
+  nativeBuildInputs = [
+    copyDesktopItems
+    makeWrapper
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "threema-desktop";
+      exec = meta.mainProgram;
+      icon = "threema";
+      desktopName = "Threema Desktop";
+      comment = meta.description;
+    })
+  ];
+
+  postInstall = ''
+    mkdir -p $out/opt
+    cp -r app $out/opt/threema
+
+    for dir in assets dependencies; do
+      ln -s $out/opt/threema/$dir $out/opt/threema/dist/src/$dir
+    done
+
+    mkdir -p $out/share/pixmaps
+    cp $out/opt/threema/assets/icons/svg/consumer.svg $out/share/pixmaps/threema.svg
 
-  postFixup = ''
-    mv $out/share/applications/threema.desktop $out/share/applications/threema-desktop.desktop
     makeWrapper ${electron}/bin/electron $out/bin/threema \
-      --add-flags $out/lib/threema/resources/app.asar
+      --add-flags $out/opt/threema/dist/src/main.js
   '';
 
   meta = with lib; {
     description = "Desktop client for Threema, a privacy-focused end-to-end encrypted mobile messenger";
-    mainProgram = "threema";
     homepage = "https://threema.ch";
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.agpl3Only;
+    mainProgram = "threema";
     maintainers = with maintainers; [ wolfangaukang ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
index 4b4ce6f1f9b30..39589402b5334 100644
--- a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "twitch-tui";
-  version = "2.6.6";
+  version = "2.6.7";
 
   src = fetchFromGitHub {
     owner = "Xithrius";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-71VpLTPOqSEosLt3noiWhsFPpIp7n3S3BHhIzWYGwkI=";
+    hash = "sha256-sokOdM4Z2U/B23XEGONNHr2g9iuNz+Hm+on+7xMYD0E=";
   };
 
-  cargoHash = "sha256-2SWYKqZfIN+Ghryuoh77eDiM7cqJcLihdWpEhOGpLZg=";
+  cargoHash = "sha256-ngivv/2NDmY8c6eInzfdS4GjZQHWU3iJEFI3S+tf34M=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
index 9578b11fdfa67..d1df9c108143e 100644
--- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wavebox";
-  version = "10.120.10-2";
+  version = "10.124.17-2";
 
   src = fetchurl {
     url = "https://download.wavebox.app/stable/linux/tar/Wavebox_${version}.tar.gz";
-    sha256 = "sha256-9kA3nJUNlNHbWYkIy0iEnWCrmIYTjULdMAGGnO4JCkg=";
+    sha256 = "sha256-RS1/zs/rFWsj29BrT8Mb2IXgy9brBsQypxfvnd7pKl0=";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix
index 366dcbeffaea4..efb0fc95f33c1 100644
--- a/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix
@@ -25,15 +25,15 @@
 , xorg
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "whatsapp-for-linux";
   version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "eneshecan";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-DU9tvIvDfOtBydR68yeRMFYdMjiBrOobCDXIZMmm7pQ=";
+    repo = "whatsapp-for-linux";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-DU9tvIvDfOtBydR68yeRMFYdMjiBrOobCDXIZMmm7pQ=";
   };
 
   nativeBuildInputs = [
@@ -68,12 +68,12 @@ stdenv.mkDerivation rec {
     xorg.libXtst
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/eneshecan/whatsapp-for-linux";
     description = "Whatsapp desktop messaging app";
     mainProgram = "whatsapp-for-linux";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ bartuka ];
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ bartuka ];
     platforms = [ "x86_64-linux" ];
   };
-}
+})
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index cdf8f4f886d60..c6de2bc44cee1 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -48,23 +48,23 @@ let
   # and often with different versions.  We write them on three lines
   # like this (rather than using {}) so that the updater script can
   # find where to edit them.
-  versions.aarch64-darwin = "5.17.11.31580";
-  versions.x86_64-darwin = "5.17.11.31580";
-  versions.x86_64-linux = "5.17.11.3835";
+  versions.aarch64-darwin = "6.0.2.33403";
+  versions.x86_64-darwin = "6.0.2.33403";
+  versions.x86_64-linux = "6.0.2.4680";
 
   srcs = {
     aarch64-darwin = fetchurl {
       url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
       name = "zoomusInstallerFull.pkg";
-      hash = "sha256-oCCZksH5sgfPVxh6I7ZpIMvkMX0+HnL1R9voNRjTUP4=";
+      hash = "sha256-2JQf+gvMUUBsPuiP0VKkX9UR6IqL0NK0gtG4TdugJQ4=";
     };
     x86_64-darwin = fetchurl {
       url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
-      hash = "sha256-6bIUfS6bZWh7fEq2xY++nIbnmE5DJxte6sjyoSKUMzU=";
+      hash = "sha256-M6JsABqbzvj6rlHI2QyqRH6R+hQkf0yx10t4lDVppso=";
     };
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
-      hash = "sha256-eIa8ESoYi0gPbJbqahqKKvnM7rGPT+WeMIYCyFEWHGE=";
+      hash = "sha256-027oAblhH8EJWRXKIEs9upNvjsSFkA0wxK1t8m8nwj8=";
     };
   };
 
@@ -151,7 +151,9 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  postFixup = lib.optionalString stdenv.isLinux ''
+  postFixup =  lib.optionalString stdenv.isDarwin ''
+    makeWrapper $out/Applications/zoom.us.app/Contents/MacOS/zoom.us $out/bin/zoom
+  '' + lib.optionalString stdenv.isLinux ''
     # Desktop File
     substituteInPlace $out/share/applications/Zoom.desktop \
         --replace "Exec=/usr/bin/zoom" "Exec=$out/bin/zoom"
diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix
index 81c6a39e27d18..f7bb1ea099cab 100644
--- a/pkgs/applications/networking/instant-messengers/zulip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -23,7 +23,6 @@ in appimageTools.wrapType2 {
   runScript = "appimage-exec.sh -w ${appimageContents} -- \${NIXOS_OZONE_WL:+\${WAYLAND_DISPLAY:+--ozone-platform-hint=auto}}";
 
   extraInstallCommands = ''
-    mv "$out/bin/${pname}-${version}" "$out/bin/${pname}"
     install -m 444 -D ${appimageContents}/zulip.desktop $out/share/applications/zulip.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/zulip.png \
       $out/share/icons/hicolor/512x512/apps/zulip.png
diff --git a/pkgs/applications/networking/irc/glowing-bear/default.nix b/pkgs/applications/networking/irc/glowing-bear/default.nix
index 9e1e14dcfbe3a..d8d65f724e2a3 100644
--- a/pkgs/applications/networking/irc/glowing-bear/default.nix
+++ b/pkgs/applications/networking/irc/glowing-bear/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     description = "A web client for Weechat";
     homepage = "https://github.com/glowing-bear/glowing-bear";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/irc/irccloud/default.nix b/pkgs/applications/networking/irc/irccloud/default.nix
index 9f1ff10081779..47cd45bfdd5b1 100644
--- a/pkgs/applications/networking/irc/irccloud/default.nix
+++ b/pkgs/applications/networking/irc/irccloud/default.nix
@@ -3,7 +3,6 @@
 let
   pname = "irccloud";
   version = "0.16.0";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
@@ -11,16 +10,15 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraPkgs = pkgs: with pkgs; [ at-spi2-core ];
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/irccloud.desktop $out/share/applications/irccloud.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \
       $out/share/icons/hicolor/512x512/apps/irccloud.png
diff --git a/pkgs/applications/networking/iroh/default.nix b/pkgs/applications/networking/iroh/default.nix
index 52e2f0d47c773..934d8f5dcef1d 100644
--- a/pkgs/applications/networking/iroh/default.nix
+++ b/pkgs/applications/networking/iroh/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "iroh";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "n0-computer";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-r4sE/1RI/Y6gDMApwlr4Gf6Jvl0zNCAahduXyRtFboE=";
+    hash = "sha256-ho/wlg6W0/LcJrVHPRVQ6zNjpwqa0+PThUP/RGIXVTA=";
   };
 
-  cargoHash = "sha256-N9MsYz7QTm04k5eMdwqj4wTQ36SoaJBqvsty58Pg8tU=";
+  cargoHash = "sha256-1S6lFzoLxF6V94wXw/r5XDwbnt4/aaPOYdIIJA68Ya8=";
 
   buildInputs = lib.optionals stdenv.isDarwin (
     with darwin.apple_sdk.frameworks; [
diff --git a/pkgs/applications/networking/maestral-qt/default.nix b/pkgs/applications/networking/maestral-qt/default.nix
index 195fdc8556420..1394bff2c1c08 100644
--- a/pkgs/applications/networking/maestral-qt/default.nix
+++ b/pkgs/applications/networking/maestral-qt/default.nix
@@ -10,14 +10,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "maestral-qt";
-  version = "1.9.2";
+  version = "1.9.3";
   disabled = python3.pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral-qt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-dgiVSwCTNDncbPJ+f0grjtq822TvtG0PhC9gDOKhwRI=";
+    hash = "sha256-7Lt0Neobtofd1JDoz8BhGn+nFKaMLbM/6z0QQmtEKpA=";
   };
 
   format = "pyproject";
diff --git a/pkgs/applications/networking/mailreaders/electron-mail/default.nix b/pkgs/applications/networking/mailreaders/electron-mail/default.nix
index da26d45b2b41d..acb7ebfbe61e4 100644
--- a/pkgs/applications/networking/mailreaders/electron-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/electron-mail/default.nix
@@ -3,19 +3,17 @@
 let
   pname = "electron-mail";
   version = "5.1.8";
-  name = "ElectronMail-${version}";
 
   src = fetchurl {
     url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage";
     sha256 = "sha256-btqlxFrQUyb728i99IE65A9jwEFNvJ5b6zji0kwwATU=";
   };
 
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
index 252bfb08e93f8..a1368c3884837 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
@@ -126,7 +126,7 @@ stdenv.mkDerivation rec {
   PKG_CONFIG_LIBEDATASERVERUI_1_2_UIMODULEDIR = "${placeholder "out"}/lib/evolution-data-server/ui-modules";
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/Evolution";
+    homepage = "https://gitlab.gnome.org/GNOME/evolution";
     description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
     mainProgram = "evolution";
     maintainers = teams.gnome.members;
diff --git a/pkgs/applications/networking/mailreaders/mblaze/default.nix b/pkgs/applications/networking/mailreaders/mblaze/default.nix
index fb852f76045d1..c648587ffe268 100644
--- a/pkgs/applications/networking/mailreaders/mblaze/default.nix
+++ b/pkgs/applications/networking/mailreaders/mblaze/default.nix
@@ -1,4 +1,4 @@
-{ coreutils, fetchFromGitHub, file, gawk, gnugrep, gnused
+{ coreutils, fetchFromGitHub, fetchpatch, file, gawk, gnugrep, gnused
 , installShellFiles, lib, libiconv, makeWrapper, stdenv, ruby
 }:
 
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-LCyw3xGsYjsbExueRHVRqoJYluji9MmZq5zGclvSSDk=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "LFS64.patch";
+      url = "https://github.com/leahneukirchen/mblaze/commit/1babebc12c3ea8d3395f00c9607e863866c190fc.patch";
+      hash = "sha256-0zTMM9Ay4mo7ATqCQRJPiR7Z53MsMLeup7Fa7lsdWo8=";
+    })
+  ];
+
   makeFlags = [ "PREFIX=$(out)" ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/mailreaders/meli/default.nix b/pkgs/applications/networking/mailreaders/meli/default.nix
deleted file mode 100644
index 3dc373a09024f..0000000000000
--- a/pkgs/applications/networking/mailreaders/meli/default.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ stdenv
-, lib
-, fetchgit
-, rustPlatform
-
-# native build inputs
-, pkg-config
-, installShellFiles
-, makeWrapper
-, mandoc
-, rustfmt
-, file
-
-# build inputs
-, openssl
-, dbus
-, sqlite
-
-# runtime deps
-, gnum4
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "meli";
-  version = "0.8.4";
-
-  src = fetchgit {
-    url = "https://git.meli-email.org/meli/meli.git";
-    rev = "v${version}";
-    hash = "sha256-wmIlYgXB17/i9Q+6C7pbcEjVlEuvhmqrSH+cDmaBKLs=";
-  };
-
-  cargoHash = "sha256-gYS/dxNMz/HkCmRXH5AdHPXJ2giqpAHc4eVXJGOpMDM=";
-
-  # Needed to get openssl-sys to use pkg-config
-  OPENSSL_NO_VENDOR=1;
-
-  nativeBuildInputs = [
-    pkg-config
-    installShellFiles
-    makeWrapper
-    mandoc
-    (rustfmt.override { asNightly = true; })
-  ];
-
-  buildInputs = [
-    openssl
-    dbus
-    sqlite
-  ];
-
-  nativeCheckInputs = [
-    file
-  ];
-
-  postInstall = ''
-    installManPage meli/docs/*.{1,5,7}
-
-    wrapProgram $out/bin/meli \
-      --prefix PATH : ${lib.makeBinPath [ gnum4 ]}
-  '';
-
-  preCheck = ''
-    export HOME=$(mktemp -d)
-  '';
-
-  checkFlags = [
-    "--skip=conf::test_config_parse"        # panicking due to sandbox
-    "--skip=smtp::test::test_smtp"          # requiring network
-    "--skip=utils::xdg::query_default_app"  # doesn't build
-    "--skip=utils::xdg::query_mime_info"    # doesn't build
-  ];
-
-  meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
-    description = "Terminal e-mail client and e-mail client library";
-    mainProgram = "meli";
-    homepage = "https://meli.delivery";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ _0x4A6F matthiasbeyer ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index e4809db566e86..3bed100179b17 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,665 +1,665 @@
 {
-  version = "115.7.0";
+  version = "115.10.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/af/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/af/thunderbird-115.10.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "43041825f2fe7a42b7e8be09714cfe5506660a90ab09307a21810ec9debde878";
+      sha256 = "9023faca327f2ef67090cd06635030acde12caf4b028f293d06463cc6303f2c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ar/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ar/thunderbird-115.10.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "f307adc4e42c4e28672874882f2f72ac15bc9049474c5ebed701e0f83b81afac";
+      sha256 = "3d312b1a651a836e725ef79236ff4b0a8e73d7ebe3ee065da7d87ff329ec3596";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ast/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ast/thunderbird-115.10.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "fe9d8a9d397f8476d0c59ad4a91faa8eb4b38a9cf03b324c95a5fc806ebd4c48";
+      sha256 = "8d645ce0694a5f9e464243f85e46c96e08c69aec7d4e7ef6b7028f457cf11a8a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/be/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/be/thunderbird-115.10.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "b194ae99c1d495452673120ce3655620bf067dc1b82962f809c923adf26ff36c";
+      sha256 = "c5564e5235f990caccae034b77ea835f5b9a3741e2bdcbc5ed750e1b3161af4e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/bg/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/bg/thunderbird-115.10.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "c92da8ab1290f5329a12fa7012a0d1b0326bfa43b536b01f686dc97f751b3723";
+      sha256 = "061d15ae7805143fd74d8b16a2c2fcbfed471297d815692c55415c92ffe8bb41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/br/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/br/thunderbird-115.10.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "8ff05ea4ebbd715cdce40c5efff1ce81694831bbe0b41d0095155e4c867adc9b";
+      sha256 = "33e802d7485b46bab1626dc1290db69df39c19434af8ad8dbdaecdb05cd5b2c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ca/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ca/thunderbird-115.10.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "9b210ff3c48526bb4fe0d436d6afbe16c2d0d629670ce5ffb0bef066621f4a1e";
+      sha256 = "6bdd0eb8fe98dca531796228ef3fbc51bca6d2a220111272464192ef9744fa78";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/cak/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/cak/thunderbird-115.10.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "9e3c55b3c49219f77b3c081875180a4b47d962912066a1c4450db5753228922f";
+      sha256 = "9430aa1c2e5af6e461cfe7947c00421d32e5d91f69215981f470db14355d53c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/cs/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/cs/thunderbird-115.10.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "d1bbe0569cb2f3a7562b17d150bf2dfca48805a634e57567c7e11bb750c49208";
+      sha256 = "f40ccf3947b4f98306697ffb984ac93ea1777019cb778fd1dd97d5f39c8718e8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/cy/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/cy/thunderbird-115.10.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "b3e86253d181567ea88065a73093e59dbc6462c47d0ce103295588f801655785";
+      sha256 = "694d0e4a7ca2585afb3c8fa8a41e318c5de7fbcbe91627c3acf692974c75685f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/da/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/da/thunderbird-115.10.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "9a16ab856922682f56034f155b5363a745ad48e18a01cdc4590bdb486a359575";
+      sha256 = "8b8f5c9895b40ee6dc5d2ef0877325ec0af21ab638abb47c5d952334fcde29aa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/de/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/de/thunderbird-115.10.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "d38742d49daa3a6d3c0a613647be48feb3a7ea51a7905fc7c81438c3fdf8b7b7";
+      sha256 = "f6f498a1e0756248fa06b4b94b52be11026a28cadd1aaab81b49aca3a311f3c1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/dsb/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/dsb/thunderbird-115.10.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "59e86ae65167858aafb1e9a364c6e926b26bcb48b7fc4bbe8d054db6624f2a4f";
+      sha256 = "2415f1a021c2005c8646bfa8b75df2115fd6d86c5eabf6bbc23aa499d3a1d045";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/el/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/el/thunderbird-115.10.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "176fbbee70d2aca0e1d6183541e299c26fcff4d875093a5191a071c5cafa39bf";
+      sha256 = "57b4f990a15d0a2a9361bf9ec241fbe7b1fa33f7d3da871bec68e32d1b89ee3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/en-CA/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/en-CA/thunderbird-115.10.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "367c79a033ee595af8fb8e50600ac5fcb9d8c364563f8b3cc167d5b1a8fa3a77";
+      sha256 = "3ad955c9557f0a692d7ce8b42cd764e3f9cb9dcba2b5bbb396a9debb40b8c1a4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/en-GB/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/en-GB/thunderbird-115.10.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "a53c8bae8328a422e23a3ac3346ef82fb9c211ffb8ce1e41f96e6c9426a79e31";
+      sha256 = "c52eff0e765472a4e6f9db49210e1aad20fcfa422749d7962c7fbc7d92ef86a9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/en-US/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/en-US/thunderbird-115.10.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "2bc751e6fe6e8b63d53edb1a0596235cc06ad89d1bdd0e2de16d5d5948c3c95a";
+      sha256 = "66afb5c126670e37b7a127d33c8d93da0eabbf360ee2ece42270535069f2186d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/es-AR/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/es-AR/thunderbird-115.10.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "c7ed62c544f0ca1c405cdf6fc69c5833b0d94896301c332b36c5901f1236af94";
+      sha256 = "ab2ba1379c80e1e52971656dcea195d06c0c19d4ccef107a55e92dc8dfc24d0a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/es-ES/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/es-ES/thunderbird-115.10.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "8d81ab2fa14116873fbad2e99e2508842abef4730b91d690f51d71737f2e3bc0";
+      sha256 = "4d55e1ac9aca0f85a890e6a014407eeafcd75710157a6c869d03c5d9bb3f010e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/es-MX/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/es-MX/thunderbird-115.10.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "5eda939b29972016c6696e5e7fa43a2b5c4183ea5bd0bd1f4f2dd99119cb5c54";
+      sha256 = "6ab228494d21fe9846aa9370942ef619422b3a65106ad943e5870322f011d2d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/et/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/et/thunderbird-115.10.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "c58f75ddd48e14ab407f73aff0377e6212b6464494e5f31db69d4d55caee2c83";
+      sha256 = "46b9ed9a8a4244b0660b04acc357b27dbd516bef5b0c82001021a46f72087305";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/eu/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/eu/thunderbird-115.10.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "22a4b27fa459545359a2d5c27d145d24906188cb7a0284105e1ad11b0f73dc00";
+      sha256 = "322ef300f4a92bc5263e3fc5aef5a6ce5ff13bcda841af06546c2d580e104b89";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/fi/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/fi/thunderbird-115.10.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "d72131bda9fadad25a2cbb4d7b6b61b8f1dabe217b313f13f779a6d5f9bb8b71";
+      sha256 = "f84c400cf83c8676b25669fe9208da4da56e3a88161fea806b39fb61b39ad79d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/fr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/fr/thunderbird-115.10.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "9d18a047151a4238fdd289b7a5bd53ff9ff0a93c630f951fc4e7003e755c0d42";
+      sha256 = "ed2aeb8f849e433771f79bedc8b05ab83cc7a22a0b7c7b4fc333ded3ec0a18d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/fy-NL/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/fy-NL/thunderbird-115.10.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "fb80cd419de4629e89dcbaba9c985896136a333ad058cf191f7f44ba0c83006a";
+      sha256 = "99210d27c75e591355fb641664f8e477b412b79ed545b87f9fc10b7ea7956c5c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ga-IE/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ga-IE/thunderbird-115.10.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "5a7f3564eaa756bcb62d007942d24e9608d0e0141622a8c8377a5c7b445f8d73";
+      sha256 = "7cb91bef278037efd512f8e5384cb8011ffee3025c0209c9d575d0693523891e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/gd/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/gd/thunderbird-115.10.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "69edffe9345a6af183eb4a74dcf9c95a4befc2b16a9742fa3fde18f8b7b9c87f";
+      sha256 = "116149801edfb6166d651eed7752cae466a7998700e2d85e0fa0e89dcb8ed12b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/gl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/gl/thunderbird-115.10.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "421043a75717e547138a2005972245797c96cf88fdaabef364ca4d9b0bf5a1e2";
+      sha256 = "47789526c5de43000f58bcdbb0a88e7fdd67deb5f4fd836236347cf62194b9ea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/he/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/he/thunderbird-115.10.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "2acc9bd99978163980f7e158ae2a313179fbda07835c18089963ceba35bb4781";
+      sha256 = "9f3968f4919398b33bd16c645d86aac5e58d8b713204ea5ac8db06f37f3c8fbe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/hr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/hr/thunderbird-115.10.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "74754c9cc085c82dd9d37f65879ba9b88ca6af52057d0d30c98a84195b86c505";
+      sha256 = "b5e436bf3c02a0a9085b0a35fac71646dec1f0e83970e7532fcf35dcda8cd1b7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/hsb/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/hsb/thunderbird-115.10.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "b7ae135e68fd21af6a4d6970ab5122d5c7ce2de0688e427f6480cab203d27585";
+      sha256 = "6e42557492e0db90f0a42c2c239f8bf052b9c4c43a55d615fa1ec4da5a5c678b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/hu/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/hu/thunderbird-115.10.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "2d761be46744974c1a1b929a89d73b27294e2a482904b1add7a9556152c15786";
+      sha256 = "e11733b4f2fd13071fb0d1e25f3f21c0c022016e634f630a98cd5053d0850889";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/hy-AM/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/hy-AM/thunderbird-115.10.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "3b0d3f0d40b917624c31d35095cd485d053f12b8312e4053fe47802e82023005";
+      sha256 = "0a13c41658426d99de46f3b7e6a5d2faba81040ac71368d910d1222b9d47b8ff";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/id/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/id/thunderbird-115.10.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "7a4569879f566393054e16b010bae3d2f2d5b828695a5dfe6a6774bc537977ad";
+      sha256 = "d9194d612852c4e7cf7ee466e95318716c83a2f7badcba280a31eef10d8296d9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/is/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/is/thunderbird-115.10.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "9247aec277ecf41e5cdd77ab8d736761fdd7bb949b8ee1c0fdcfccd74dc8773c";
+      sha256 = "143d425cce754af88da296fd1dd3e40b0a2e125f6d45ca066940efdeeaa92d11";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/it/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/it/thunderbird-115.10.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "d1652cfca8c5f080a307c34007c9c78d838cb1acfdc0fc9cd72f36453b018629";
+      sha256 = "130e92f13ad92e110378eee9f2caead36a4280d6380d45390ab6e6d4b7e2bf86";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ja/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ja/thunderbird-115.10.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "68064850c1e25bc73f22a3ae0fe282f57c8a9f80f40c1e92ef509ba765c65730";
+      sha256 = "9561fc79e72fe60c36313f0e07b14f04cae28a47108832cb3853d5da610c6652";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ka/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ka/thunderbird-115.10.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "2ea682113f30fadb5e566aba99bfd9d46af001fe96fd0d4621bebbd7d67b963f";
+      sha256 = "f37f5eb50af136c712726c3ed180e564a243ac9b0d87166ec0acf058f6be7bf7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/kab/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/kab/thunderbird-115.10.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "033ff18a47270f17cc20e57cca82fecf0568fda0b27389010c3a2f205ccaf016";
+      sha256 = "2923b3671f38b72890e0d8be963ecccfb682ce0e09ff2286d05fc0d86413da45";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/kk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/kk/thunderbird-115.10.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "70c28b0ceec23b1d45810a18c12b4f45f6f8678cd2b1a38909d78862449284f3";
+      sha256 = "c3414484527fb499b4fa1a19010e97b452d1c6a48d0731ec3f8bb7041bc2d400";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ko/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ko/thunderbird-115.10.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "a5a3117e73878f651526028df9d34c559d8216b44efcf0ca3bd915e987f091d5";
+      sha256 = "4caf7796c7af7e9421d1f20f8b238abd6ef369131e1beb614fcba6d8e15c397a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/lt/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/lt/thunderbird-115.10.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "7db1090e0c0927cc4f08ec521b61ad963bef88a78ddc82a02470be4eecf1843d";
+      sha256 = "8c9c7de04c3537013e002dd2833ba9bd0a647e4e01f2d94e9eebef88a67dcae6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/lv/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/lv/thunderbird-115.10.1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "e03d64a0b3f577f7711d67e596bb5d5d6cb068cbfbecdc7c54777d36c045e831";
+      sha256 = "63fa8509fbb99621226378d79ad75b0cf7f474dd7403bb8963361c81c9d01c61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ms/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ms/thunderbird-115.10.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "abc09d8b1121a4d6ef749df9fef98c0a265b21b2dc2a049f4567b0d97febffd5";
+      sha256 = "9de01e0ede9d4d6196c7b72e08f7abb438681a303b679abbc1f8294448211ab3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/nb-NO/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/nb-NO/thunderbird-115.10.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "5211b558c184d656ab0ca9eeba50537183b97c83ac73e62107e24aed2aafec8a";
+      sha256 = "8eb261abc0f68e42bd048315957acc47665b275bce848372e1b0953e2ab99c26";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/nl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/nl/thunderbird-115.10.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "3f784ee5b0520455ad2aad31c51049cad0050fa6cb0e828522a7bb7d73addbf0";
+      sha256 = "c4aae2a0489d919c4665285b402d113a8efec53d15279eff056d9a576888287b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/nn-NO/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/nn-NO/thunderbird-115.10.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "d27a47d442e550b060e39e1a3e91a0b1e8e11ead0f45e5c6f8395e020f4b2901";
+      sha256 = "4495660e73f937a07c2745c6d48fa43a8a159b1d84d8e6859e1a42579f1157e5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/pa-IN/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/pa-IN/thunderbird-115.10.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "622e2923c1c83e510101c2ee75119d7b082f57b8baa4a221c40763a7a112540a";
+      sha256 = "874ae66c39b199981cc02363bed7a2a74c133a80b591785c8c862e7499b17c89";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/pl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/pl/thunderbird-115.10.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "ad244cf40a4b444e9f70d367b97aa41b25380d2b3a74e6ddbee11cd5b96e328f";
+      sha256 = "ae7c458b41e7eecc2581be2801571bac54933372797d291f03acee7311ba784e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/pt-BR/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/pt-BR/thunderbird-115.10.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "3f425ff63743d4967f388c10e5f633d0422ba35bda16000198f6aeb4c4638e3f";
+      sha256 = "30912ac7a19d1bbdad39e537f78d512951124a44407eddfc4382c1175cae76de";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/pt-PT/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/pt-PT/thunderbird-115.10.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "af59fbcf575bc7bdf056c2c4959461dff3409fab2fa094679b9a49425f355436";
+      sha256 = "2cb2225df1364a1f67911a0cbbe034d62df6fd51b567e5fa8b036273790c3fad";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/rm/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/rm/thunderbird-115.10.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "cfe5722c04ca1ea80f92050149a0603399c4a2bfac4ecce636b6de9fd9efb920";
+      sha256 = "09d6d3cdf00a280eb2b1149154150b1ce23e2761d379b1b4eb362422e0ce7584";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ro/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ro/thunderbird-115.10.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "735c2dc1cf68f4dea40bde5338de3f03daaac48c72d926f1222fcb38ef3a5cc3";
+      sha256 = "fdffa6a81e15bc84f4cb1d48ebc1109413ec10f40ba7ab4a78e8c980fd447683";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/ru/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/ru/thunderbird-115.10.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "8d7e34d8c0dffede30632faab6c88df4384053b20484c887e00a70767f528a27";
+      sha256 = "0cea8488bf4537d205b3fab1f98239f7cff85fff6c2f7eab247a3191e089c14e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sk/thunderbird-115.10.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "0ad76482313a3ef3263d74031bc5f4c4d09fed95ddfdce16799f6a158db4fb24";
+      sha256 = "eff9c4d36259590e8397cff0ee8ba407e5f116b541f730e5845a2bce70f7a68b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sl/thunderbird-115.10.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "7e480b7030e6d50871cbeefcd45be12e3d3afe2035c8e8f34391e87f0632d13b";
+      sha256 = "97db4b1c97a85cc65c16e72e166a1739bbfa20e07be767e5695c10fbdcb86231";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sq/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sq/thunderbird-115.10.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "70ce1cee01b2c229cd66612316c47da202cf40f7f16724eb3bff81b50b9f64de";
+      sha256 = "f6d3b3a90cc9ec5c794b803675c141c9cc6acbdc6d25093369ecd0c937206f85";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sr/thunderbird-115.10.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "6a95ccc4d59a83ac4f9fb05a09b300bd2ba7c9ff519a93230b86cda5afe5b2fa";
+      sha256 = "3f6f0f5222f4481406087b11bca95b122705e60d3050040e31f901960d729aaf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/sv-SE/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/sv-SE/thunderbird-115.10.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "86249dba9674e5f35cc23a69bec3f4c55f9f40259c6c53c24b8d5b9c931b0828";
+      sha256 = "a168edd15476aa8150718de09fdb0d94bee32b9f20dc9cfb4ef942684a96e857";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/th/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/th/thunderbird-115.10.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "aa4717d3cf5be13d38a8c9662409cdccb3f0e75e4e0b88a6e1609466b222ed3e";
+      sha256 = "65992ba363ce0378a271cc0d073e64176873be8dfd5a4c6f3378b5e819aeed0a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/tr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/tr/thunderbird-115.10.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "f160d523fdc0263a596748aabf430141ad00845f76c251811ed0e1d5e4ac8804";
+      sha256 = "d1a2c48e4c12977151361ab1264d26b0027fc74a256b7a2ccdd3e38050a14049";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/uk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/uk/thunderbird-115.10.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "2b28cec1ddbb65812a2c2ed8c239f10ec28c89358587450d0a263c738033f7ad";
+      sha256 = "ac72a9b613ea56178c2f5a16ec59a5f4d481b85aed1932689ea1cae328d8e81b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/uz/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/uz/thunderbird-115.10.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "391998b0aa13f56f2527ce25f91a78bd68a5740e752e624355bea1a494582db8";
+      sha256 = "0db8b885543185f06d0f5ae4ee18b95046cf00172774ccbd6c79f825e94a0a67";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/vi/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/vi/thunderbird-115.10.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "cff0aa2ae9e0103a8a53ab31afcc415f351a8adc2034aaadde9d7a3f0ac92f8e";
+      sha256 = "ce91ae20b5feaa7f0d9a20de5661bfece4b84da32063bcd647309ad0c7a3a342";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/zh-CN/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/zh-CN/thunderbird-115.10.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "3c8ea8438c8a98e79636685061efac38ab26707087fe47cb784f4852e74fec6f";
+      sha256 = "ab89a35b926209221fb672bcd9c3a83c636e3c7b95b507926ca6317e5f977b51";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-x86_64/zh-TW/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-x86_64/zh-TW/thunderbird-115.10.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "925ab3461b2315db94466464cf91a59ec1a81bb736fb488d2270241d37492149";
+      sha256 = "407062f4b5de3e40e44888713a39337b6e223487a76fff0bdb7219154700cfdf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/af/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/af/thunderbird-115.10.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "4c50b55bec1742e702a888ffb02ff1f30362cc271a5175d3063fcc378d3f6633";
+      sha256 = "19b5940f6fba18e0246d1173d2a5fcb8c93d7265ffe8c9028647f9ff0afbc486";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ar/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ar/thunderbird-115.10.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "4d959f8020872645c2737a4fec6dfb07f542145c90d453cebd933d4742c89a68";
+      sha256 = "9dc9deb45751da0d2d09d0331eaaa89c318f2457d575a2c03bef207f169e8de7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ast/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ast/thunderbird-115.10.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "a9a137e284afefd0ff8620ce67853b5a51736e9af9e32ac18d5568e49539b77c";
+      sha256 = "5710e364f670e388d9bf6dbc8b1fb7fcded75806a4be249b7ddacc2c24d6da06";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/be/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/be/thunderbird-115.10.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "b1c99d634c1410d467e10a3b6a2bd3210327dde6c809434cee6000da7e57c4f7";
+      sha256 = "f7e20df373381cc63c4d52c50c4e9305bd9378c2e2f1d21a4d2f0db36d831156";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/bg/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/bg/thunderbird-115.10.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "94c027ce4fd411d7f5c6969ce70b83a1b1713e75dd5ef79261c89ea0c5f08472";
+      sha256 = "8c7332cbbcc3df7be3b6ab2d7e929031c4e349de0aa548b775c6b7af3e63cca3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/br/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/br/thunderbird-115.10.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "33c00ef61021816de04389b14fe7ab97f185d35e162824d166d8f2dea4faa957";
+      sha256 = "4b5621ab96b9a937851698e18347259155803a3cc7d7ac9b7227a3fa203178a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ca/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ca/thunderbird-115.10.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "548e53b0186bb328b45fdb741a3181f1e8ba7ecfdf8ef969aeb24d8af5676020";
+      sha256 = "965a5374467b248e52f9508154fecf9d6bb9cb58eb3fd6be240d74a7208650fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/cak/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/cak/thunderbird-115.10.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "145c24539255010e00a7899f980ba5f6c8cc13c6f3925c9c17bbd1f2b125883a";
+      sha256 = "f17a469e28cfc5aa9b2b795c1d7517e076146f87cf534b9fd4a4ecc905858a4a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/cs/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/cs/thunderbird-115.10.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "a98f117f5f188f66c120699350778e8ad44c5fd989bfb38055ec1bc8501213c0";
+      sha256 = "802fa9a0d857a973592ae87a94fc9ba3b18c8fc86a3352d90d152c0a7ece0db5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/cy/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/cy/thunderbird-115.10.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "b6be218c10a41afee4094f2ce4077f7fe49c51c8ba6259a81f6127b897654212";
+      sha256 = "c9cba2912211963ca4acccb1bbf9c904e9a79f1c3781a69df76c003bbd1f5c1a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/da/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/da/thunderbird-115.10.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "1cfaf7590ff7659e0583a7610290014db437b374d148855a049d2a06006d9020";
+      sha256 = "5c54d287396d2c172f463010bb5be1520a5c7636a6f79435430420943036a364";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/de/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/de/thunderbird-115.10.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "0e7319ee0268b364602ee7eee3246b1cda62e573100e7091d5410d9d195bf9f8";
+      sha256 = "c6558305d0207a706fb8f5af595dbfc2515652a732fb7e95646a334335a01a61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/dsb/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/dsb/thunderbird-115.10.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "e7b51ab3de11f681740fccc887731cc816f3efa27a3ece879020e2375d4aeb6e";
+      sha256 = "9eb4d57f121df4714d91ac0a5075face494fb6efea301625ede1b4420c398ff8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/el/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/el/thunderbird-115.10.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "659251286ed9463604dbf1bb753789dadbd1e3b59c029c568bf5865384c07eb4";
+      sha256 = "a96136d8392cdf21af28efe2b512efd45190e97ad420a293cba6d621ca7f2106";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/en-CA/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/en-CA/thunderbird-115.10.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "0437ccb4e1d6c5b1fa8f91c3eb32176abc11d757242afab013ded4562b080b04";
+      sha256 = "30d9f5125940c08c77d2c6f2aa2de794fd9abfbdf88640dd56c0ed4e87f33ead";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/en-GB/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/en-GB/thunderbird-115.10.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "08c923762d609967decba41884601a5fa7385986220f222f0061e70eba401ae1";
+      sha256 = "9e78d591b35f8aad5811a5cdceaf9ab5d394fd3ad1dade692d21a3ccbec4b14e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/en-US/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/en-US/thunderbird-115.10.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "8b5d6e9f13c7686a3945bae5a26f083849d610fbddfb7d9a8467f4402f0186c8";
+      sha256 = "1f459cd30a477a654f91565963ba6ef077c087a8fea98ac36186c41ed78db627";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/es-AR/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/es-AR/thunderbird-115.10.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "66c8d5a311caa8dcd7ba497fe8c7dd0eddbe9405f72fe06ed134a8233f544710";
+      sha256 = "17cbdbfc9df3e0f8447f73d8205ff4e126cce613ff596c64dcc99992e6c2bddc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/es-ES/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/es-ES/thunderbird-115.10.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "e00d5af4ba228a9aab68a3a813dd4cc03dbe9dd28dc262b993788bd8ce0d7cb2";
+      sha256 = "a5622a156340409aa1ea7af7b0531741e3024a1fdacd9bc5307a17d596dfe720";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/es-MX/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/es-MX/thunderbird-115.10.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "fefd4a6ebb4888c1d2514299c99ac0dcd910f583be6621064bb8e35bb81e927e";
+      sha256 = "cb69980eafc5209b37606cdd2b6657943d2d4f827450fa0f9bbf64ae31bf8a05";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/et/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/et/thunderbird-115.10.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "b1260be6c4e3803b8219fd8b948be6c33db0e03ba79c0b5452ddd95749973992";
+      sha256 = "b8ad3424ba8f4aa2affd9cf03133d64e0c68513983f733c4805962ca0535bd40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/eu/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/eu/thunderbird-115.10.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "831c248aeb1af3a405a280c59533967a26347be767757d494b2fb835519cddc6";
+      sha256 = "800c8f9ae9486d8109bc0e62636b511662042b6115313e4be5e50cb8851b0d8b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/fi/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/fi/thunderbird-115.10.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "e2867848f23e12c9e326b575bf5fc5c0f847deebfd8758ef7adaa6ddfcb5fc22";
+      sha256 = "b4e47065f2f91cbd84c16f23f25682dd1928ab966c497d0584cc19eaaf5436a0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/fr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/fr/thunderbird-115.10.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "2f723caaff319c5a63e92f20c14652fb86e9b5b6b1e47f08ebbb4d5b9e5a5d39";
+      sha256 = "fd47e4c10a7c1c70c34635a899aa03c139666b3b5c9752dcfd7f5d6aaea750d5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/fy-NL/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/fy-NL/thunderbird-115.10.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "6f6f3e9113b61da74599132cc793b12e908fdfe6dbec6e082891e39c7a2d7651";
+      sha256 = "1d690a540600918e3bc8ee664b29cb9855b10c961d2d09bf434d3473ceb98933";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ga-IE/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ga-IE/thunderbird-115.10.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "802d402c45748b480de1b27d151624ed9c96a2bc93978262e654c561a939db5a";
+      sha256 = "b62a866a69ef782a51e5a0e3ad314e944a0cb63968454d049c5c2112adaff143";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/gd/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/gd/thunderbird-115.10.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "8ddd2009c6849bb8ae2e5d14202f87831e2613366eaba5da1dfc65b831a46ffe";
+      sha256 = "35eafe0440625d32249d7cc721f2fde9dc7331f9d4b542682f23f3c3281f584d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/gl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/gl/thunderbird-115.10.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "a726f1269893be461f42f9277d5b6c7f65e2ccfd618735048fa18265390ff633";
+      sha256 = "1a6badeae7defbb158615639fd129a59e0b24db557f5106fe20b85d0b5e0b46e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/he/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/he/thunderbird-115.10.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "cb0b69268c2abd876965c70f060d7c67a4682af815500fbbc35869cb8dffd500";
+      sha256 = "12cb6baa362cc0c4147cc75d80bf94d0a5be18dc895aabcc1359df1bd483e096";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/hr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/hr/thunderbird-115.10.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "bf7930a372eb970c4cd16196eedbd471d61f1db3cc142d51a8067e2462419af3";
+      sha256 = "a130fee072cc32f1203da09507e5935aa1669b018a44f7d6ca097119f835e184";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/hsb/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/hsb/thunderbird-115.10.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "e83cdd093bdd55b696f42192cd585afb996ea6aa4a58f9ae977a9cb2b2511c9d";
+      sha256 = "5e564ff266867829b963e058a2cecc5da29258acb1a852329e7d57c746e5ad61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/hu/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/hu/thunderbird-115.10.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "a4b5f3b5675b54e12667ab0937a50a8d96869fcd832e9d8d87fd103e5938c6be";
+      sha256 = "c050c63e38cdd80d57b1d06abad5f3810454523ce1f9c2bb4c25ed656d1f3102";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/hy-AM/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/hy-AM/thunderbird-115.10.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "9edefe8788e0497edc6e4000a16043f485ce521d5df4baede0645fb16e52311a";
+      sha256 = "56536454c673a14a5166533f695d31168a6a64d14b69a5a344270b8e1a9b9754";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/id/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/id/thunderbird-115.10.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "6e30f98b85df9b828e8867b4e58db6b7fd185562fc2195c76ddbe196be23a15a";
+      sha256 = "f6731b88513533b355b73293fac108f77c2a0a4c47e2e5ac4ab560a91c90cc4c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/is/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/is/thunderbird-115.10.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "5a9295d0342affda3f2b1aa19ffd65414d7999cc6830e559f3daa74757a514fb";
+      sha256 = "c9ba2344d981c83bf78e38f2d694db8ce34877dbd62cf4fe2657c31e4ddb8420";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/it/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/it/thunderbird-115.10.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "bba64e37a0133bb691a4a6686ce5306609a80f445fc8b56e65baa16d7d8055a2";
+      sha256 = "c4e4c6956aff5ccc290a3fec4354c7cfff3bc9370917820208e270211730d3a1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ja/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ja/thunderbird-115.10.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "1edd799ab0ec6277921783724c4bdcaa34b7e6ff812be387c346db4d0808a649";
+      sha256 = "a998c41e9afc12fb0f79146271a88f45153ec640ccd5c62132f2081cf404f355";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ka/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ka/thunderbird-115.10.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "84aebac8730987c95f3f5b339b8e20abb107d72c61359bf9c4721c8a2a95805b";
+      sha256 = "20d8145d782954c0647e416a062dff881370bbed4370d122a74f8d0854cc542f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/kab/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/kab/thunderbird-115.10.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "1cfddc33c172f410ef42986f7b3cf699924b68f687d962fa72712a167cc0809b";
+      sha256 = "065579cf33edb1ecceb56b5f3fa3a4b1f4f2da93dcf666aef859206fd30f515a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/kk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/kk/thunderbird-115.10.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "729f782298fca07ca2d85546dfab3c76cb65d93ffa667ebbdb9d37ade60bdfe0";
+      sha256 = "691b931acec550b087ec3950bb74f17b040bc0b8f9f9cf475603906a9fcaf5be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ko/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ko/thunderbird-115.10.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "1ff325f445014c8de6e20f3751f8e860a7d5926b49db22e6b11da30982d923dd";
+      sha256 = "c91281e38d08a5c738ae3cf1be458566c998c0d65e588b0a463202a6bd19020b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/lt/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/lt/thunderbird-115.10.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "f68c2036565210abaa1600edf452f56f0ee2a4ff5abe559c5a5ae91b69eb077f";
+      sha256 = "6b9309f8f3c1191addb96770e4569fadb81de8f807790d9d00ad303d0d47a2e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/lv/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/lv/thunderbird-115.10.1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "2aad0b4d05ae097f9868d44e14d24708b913aee3acb20ff917b31e83aa6b0580";
+      sha256 = "d91fef64dde27d7b756327afa8b115e07c58906fc1bccb98ca893755e34a36bd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ms/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ms/thunderbird-115.10.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "0b01eb8435a9d1a517892d510076c1ed6774820fe9194f00565b6febc3f296ed";
+      sha256 = "9f2b25e37d18a39542d60257813d72a7075dca6dee2fe70e437de430cbeb2ee2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/nb-NO/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/nb-NO/thunderbird-115.10.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "19c4d4f33c13733e8ac803ac4b31c6dfdce690096a0069e3a5ce98880439089c";
+      sha256 = "44fd3298de7c95033c47831484549fbd8121b463f2e904d51b43c9502e712c09";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/nl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/nl/thunderbird-115.10.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "c2c3cac2d43649bff80c1deadfa277f47436a9ca81c774513f032059a29aa634";
+      sha256 = "067f544982f4174eee55d621a495e9c286f70a70d0ca072668a087e434906a2b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/nn-NO/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/nn-NO/thunderbird-115.10.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "aaed36153be0f65e1af44bc25540f88e03500580390f8624a388f0667389e0f8";
+      sha256 = "a60ca5cce0a272b2213312fc86930134c2d513fb8d7d8eea9c77de68f2fdbf0c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/pa-IN/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/pa-IN/thunderbird-115.10.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "4035e2465ea039f20982a0e91fd216a39c7ddd0095cfd6ae60e394a48102c392";
+      sha256 = "d5c43a67d0cb9146ef6d9b076ab04c37c22e26ee24e16867f2af497e752a8aab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/pl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/pl/thunderbird-115.10.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "3e9a503f0fc39064c3d994160bbc3b52a9ab5b1c023a48dca8034407dc505250";
+      sha256 = "0c9df1326d8b72f3492f690c34841fa4558452fd2a386b2724e8433470effda7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/pt-BR/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/pt-BR/thunderbird-115.10.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "642caf0a4792c2d101057cd0d7f90e9537571b9e3a8f0b396a4aa5e0564168ab";
+      sha256 = "69fff4ee82f72116bcfabd82fc44fa9878e2d1b378120ab22958784e257b32d4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/pt-PT/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/pt-PT/thunderbird-115.10.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "af59efb2183b11a73c019897eda156c55b95ce2d257b1a3124a984ada97120e9";
+      sha256 = "ce4a6b8a0b81e7a481a08222671daf80c9ee1f0f6a41c1e10e9b060d1b64db23";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/rm/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/rm/thunderbird-115.10.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "fea0f8a58ba8cd743dc625b9ec788574144cda664040936359a5b3b2c9ef480c";
+      sha256 = "a45d5e83cbaf53a7c7d87e3c573719b03017f6fddfff7badce77b8a29012c404";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ro/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ro/thunderbird-115.10.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "fe82637776187b797e9472ab3a78fed34fe032b23d0a46c96dfa67da2a0a74c4";
+      sha256 = "8e59f5a9da26c90e2841931c3a54f0416b425b9d084a97370d3794605fe9f815";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/ru/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/ru/thunderbird-115.10.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "3fab0c82c60d92bedef1a9e25d2aa9575adb946810f8f3abda7717f89e488ed2";
+      sha256 = "fbdd472bc1d768fb7bc5491772326ffdda0fb48c2754e6dd6352dba20d2d221b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sk/thunderbird-115.10.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "d505b5831f7f22a90668913e7993b2219dad771db35bceedc2643828f0c7d783";
+      sha256 = "ffb92d870c91aeb8385d3a5a1aedd86198567861e8a8e9fe249671c42b9f0e8a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sl/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sl/thunderbird-115.10.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "36cb47d404234d732d103039ab1f313658188b8042eaea0e1a8f5e49d24ff8d1";
+      sha256 = "e291960c5edbaf370afb39593e79e50d896942358fe1b19a0267c5cb68e09bbb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sq/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sq/thunderbird-115.10.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "3ba43c6e088e6fdca88ee78ca02cafd4b748a68c20ac0ed8cad8e8ba9b636220";
+      sha256 = "613aec7a4f08bf323f75a8517deb27fe4957e7119c45e8c91628dadf51f9ec64";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sr/thunderbird-115.10.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "b808b77217c2ff2b9f6e1deb9ba6255356d57885ab1eff1c315f2391b5b8ddb5";
+      sha256 = "55b488eaf7dcc4fd0e1a8ca4720d82960a5a93a32e729f5b0b3b95e535971776";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/sv-SE/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/sv-SE/thunderbird-115.10.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7d6eb148002d3514c38d8f42d43263a631b1c5e47e4134e643dac542f283a6f5";
+      sha256 = "e3ace007963edaa894c97701bf80acf2cdbd1609e2d0d23aeee56ec53aa4fc79";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/th/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/th/thunderbird-115.10.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "14b851b5383cf3d55de003ed10d17ef36c3b30559ba88cc9132e525578e4af66";
+      sha256 = "17a3032090164feaa68196709e19d8a255beed609e3b178ff08009efceb39c2c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/tr/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/tr/thunderbird-115.10.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "73193cffd5587d744715d649fb6cd5ed5d030b0ba86084d21f82bb9f591d5e35";
+      sha256 = "5eea9db6abfa816f30b0bfb0e6da6a5b9777edaea1fc451cce6ed3a5a44f7df4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/uk/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/uk/thunderbird-115.10.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "e52afbc0d3883e2984e5e37e911dec0e04fa583db3b0981833c3f29a2764fbba";
+      sha256 = "300d12c8eb0f735996bcd443adba9252d5ec4267cf9348ecff8f4a9f22ad3afe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/uz/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/uz/thunderbird-115.10.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "160db3d3c7ea9c10337397a81fd9360c160aa0c5195d1be70d3ef3f714e85745";
+      sha256 = "bc6707522482d5b01e2d908040f878322e79bee9e2121c041b340cf12634058f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/vi/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/vi/thunderbird-115.10.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "3ea81e0cb98da53b7b640d52454cf2cdebe2cffadbcad2b683a8e8da13659abf";
+      sha256 = "b4cd7d36debe223a05a1539e33c951564aea27d392cd0d1f081f14b3cade6d7e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/zh-CN/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/zh-CN/thunderbird-115.10.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "f54999ae86a4eea357e246abe4bfa6baa52f418c1d3ec882c48bcb7dfc4c8e11";
+      sha256 = "956851f3eabd6345ebeb6719dc3e80dd30b66bf42c1078e02996dc5b0ea66e67";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.7.0/linux-i686/zh-TW/thunderbird-115.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/115.10.1/linux-i686/zh-TW/thunderbird-115.10.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "8057a54b11112fc67661ffd3fb7f8ac4d532fee4c4c4029f10a21b7f5a9cf10e";
+      sha256 = "93561ed61edb07a8a4882e0687db51238d31f7d6c04919b39b3e88156d3be132";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
index 7e0430c1cd82c..29a892942018d 100644
--- a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
+++ b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
@@ -17,8 +17,6 @@ appimageTools.wrapType2 rec {
   extraInstallCommands =
     let appimageContents = appimageTools.extract { inherit pname version src; };
     in ''
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
-
       install -Dm 444 ${appimageContents}/tutanota-desktop.desktop -t $out/share/applications
       install -Dm 444 ${appimageContents}/tutanota-desktop.png -t $out/share/pixmaps
 
diff --git a/pkgs/applications/networking/n8n/default.nix b/pkgs/applications/networking/n8n/default.nix
index 20775c4ed4afe..7677abfb0ccf3 100644
--- a/pkgs/applications/networking/n8n/default.nix
+++ b/pkgs/applications/networking/n8n/default.nix
@@ -10,6 +10,7 @@ nodePackages.n8n.override {
   nativeBuildInputs = [
     pkgs.nodePackages.node-pre-gyp
     pkgs.which
+    pkgs.xcbuild
   ];
 
   buildInputs = [
@@ -30,6 +31,9 @@ nodePackages.n8n.override {
   # makes libmongocrypt bindings not look for static libraries in completely wrong places
   BUILD_TYPE = "dynamic";
 
+  # Disable NAPI_EXPERIMENTAL to allow to build with Node.js≥18.20.0.
+  NIX_CFLAGS_COMPILE = "-DNODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT";
+
   dontNpmInstall = true;
 
   passthru = {
diff --git a/pkgs/applications/networking/netmaker/default.nix b/pkgs/applications/networking/netmaker/default.nix
index 6a3de1308753d..2ec3c24b69fec 100644
--- a/pkgs/applications/networking/netmaker/default.nix
+++ b/pkgs/applications/networking/netmaker/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "netmaker";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "gravitl";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-M2DY+C0g8G+DjicMeT3Ojn4GzG7vaE1OHKSy7O6T1Kk=";
+    hash = "sha256-eY0L8dgFTZmkwSXYKCOOnNbFgxTydNoVHEoZBS3oMwM=";
   };
 
-  vendorHash = "sha256-SUu0OvHCmlssH9HbAaMbiG0gF/ezxgf1n0HBiB/2PTs=";
+  vendorHash = "sha256-RRSkdDo6N8742YjzORGOTCzqH7WcSraJger8XOryqio=";
 
   inherit subPackages;
 
diff --git a/pkgs/applications/networking/newsreaders/raven-reader/default.nix b/pkgs/applications/networking/newsreaders/raven-reader/default.nix
index 46970cbef1187..811a0d747fa76 100644
--- a/pkgs/applications/networking/newsreaders/raven-reader/default.nix
+++ b/pkgs/applications/networking/newsreaders/raven-reader/default.nix
@@ -14,8 +14,6 @@ appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-
     mkdir -p $out/share/${pname}
     cp -a ${appimageContents}/locales $out/share/${pname}
     cp -a ${appimageContents}/resources $out/share/${pname}
diff --git a/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
index 260a7dd4ddd7e..56cc005733a77 100644
--- a/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
+++ b/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
@@ -8,12 +8,13 @@ Subject: [PATCH] Explicitly copy dbus files into the store dir
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/shell_integration/libcloudproviders/CMakeLists.txt b/shell_integration/libcloudproviders/CMakeLists.txt
-index 2e7349ef7..512d4b188 100644
+index b4434d0..b57e033 100644
 --- a/shell_integration/libcloudproviders/CMakeLists.txt
 +++ b/shell_integration/libcloudproviders/CMakeLists.txt
-@@ -1,5 +1,6 @@
- macro(dbus_add_activation_service _sources)
+@@ -4,6 +4,7 @@ if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.28.0")
+ else()
      pkg_get_variable(_install_dir dbus-1 session_bus_services_dir)
+ endif()
 +    set(_install_dir "${CMAKE_INSTALL_DATADIR}/dbus-1/service")
      foreach (_i ${_sources})
          get_filename_component(_service_file ${_i} ABSOLUTE)
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index a6d88fc686b0f..7e78fb5e65878 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.12.3";
+  version = "3.13.0";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    hash = "sha256-ScWkEOx2tHoCQbFwBvJQgk2YoYOTPi3PrVsaDNJBEUI=";
+    hash = "sha256-i4vQGH9NSxIrLaPdCEh+WN6i6NQilH6uO4dSk/mhLi8=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/nextdns/default.nix b/pkgs/applications/networking/nextdns/default.nix
index 678e9f68ee214..7699d5d399c81 100644
--- a/pkgs/applications/networking/nextdns/default.nix
+++ b/pkgs/applications/networking/nextdns/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nextdns";
-  version = "1.42.0";
+  version = "1.43.0";
 
   src = fetchFromGitHub {
     owner = "nextdns";
     repo = "nextdns";
     rev = "v${version}";
-    sha256 = "sha256-aQUz6FK04h3nzieK9fX7odVVt/zcdhXlX3T1Z1rN/ak=";
+    sha256 = "sha256-5aznAAO53EFeq/fap10ARGerKzQAvLx0zOeG6OWkymw=";
   };
 
-  vendorHash = "sha256-DATSGSFRMrX972CWCiSIlOhDuAG3zcVyuILZ3IpVirM=";
+  vendorHash = "sha256-U5LJF1RX0ZS0PhjQTZKXrJo89WPfSZaVbgskWcYNlJY=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/applications/networking/p2p/flood/default.nix b/pkgs/applications/networking/p2p/flood/default.nix
index 8ee94f17e50cd..f31c214b190c1 100644
--- a/pkgs/applications/networking/p2p/flood/default.nix
+++ b/pkgs/applications/networking/p2p/flood/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "flood";
-  version = "unstable-2023-06-03";
+  version = "4.8.0";
 
   src = fetchFromGitHub {
     owner = "jesec";
     repo = pname;
-    rev = "2b652f8148dab7134eeeb201b9d81dd6b8bda074";
-    hash = "sha256-wI6URPGUZUbydSgNaHN2C5IA2x/HHjBWIRT6H6iZU/0=";
+    rev = "v${version}";
+    hash = "sha256-hth8tk2DHuBGNAXdjknbdQinuwWJ//QF0e23neeTExw=";
   };
 
-  npmDepsHash = "sha256-XmDnvq+ni5TOf3UQFc4JvGI3LiGpjbrLAocRvrW8qgk=";
+  npmDepsHash = "sha256-WlQ/u7yIbuFETsmbW7ddAOO7OVrNPOXR3ja3N0aFWRE=";
 
   meta = with lib; {
     description = "Modern web UI for various torrent clients with a Node.js backend and React frontend";
diff --git a/pkgs/applications/networking/p2p/libutp/3.4.nix b/pkgs/applications/networking/p2p/libutp/3.4.nix
index 6f543789fd610..35a3b0a8f6591 100644
--- a/pkgs/applications/networking/p2p/libutp/3.4.nix
+++ b/pkgs/applications/networking/p2p/libutp/3.4.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libutp";
-  version = "unstable-2023-11-14";
+  version = "0-unstable-2023-11-14";
 
   src = fetchFromGitHub {
     # Use transmission fork from post-3.4-transmission branch
diff --git a/pkgs/applications/networking/p2p/storrent/default.nix b/pkgs/applications/networking/p2p/storrent/default.nix
index 469eae7987c85..a4dc0b459cfd8 100644
--- a/pkgs/applications/networking/p2p/storrent/default.nix
+++ b/pkgs/applications/networking/p2p/storrent/default.nix
@@ -21,6 +21,6 @@ buildGoModule rec {
     mainProgram = "storrent";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/networking/p2p/transgui/default.nix b/pkgs/applications/networking/p2p/transgui/default.nix
index 707ff45b34981..70259e087bb83 100644
--- a/pkgs/applications/networking/p2p/transgui/default.nix
+++ b/pkgs/applications/networking/p2p/transgui/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "transgui";
-  version = "unstable-2024-02-26";
+  version = "5.18.0-unstable-2024-02-26";
 
   src = fetchFromGitHub {
     owner = "transmission-remote-gui";
@@ -60,7 +60,9 @@ stdenv.mkDerivation rec {
     cp -r "./lang" "$out/share/transgui"
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    tagPrefix = "v";
+  };
 
   meta = {
     description = "A cross platform front-end for the Transmission BitTorrent client";
diff --git a/pkgs/applications/networking/p2p/xd/default.nix b/pkgs/applications/networking/p2p/xd/default.nix
index 8283a2ec4beee..b6bd6af3e017b 100644
--- a/pkgs/applications/networking/p2p/xd/default.nix
+++ b/pkgs/applications/networking/p2p/xd/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "XD";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "majestrate";
     repo = "XD";
     rev = "v${version}";
-    sha256 = "sha256-YUstYGIED6ivt+p+aHIK76dLCj+xjytWnZrra49cCi8=";
+    sha256 = "sha256-u8cUcxNW2jAWxVn1hDHS2cpIpcyv4lwx1zytlzPPdv4=";
   };
 
-  vendorHash = "sha256-wO+IICtGVHhrPa1JUwlx+PuNS32FJNKYmboLd3lFl4w=";
+  vendorHash = "sha256-ZD7PZJcY7qWHEQOk5I9IlMup0vbYYaRvVau5Go7ocno=";
 
   nativeCheckInputs = [ perl ];
 
diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix
index 08e428b18b07a..ef1c08ef2dcc7 100644
--- a/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/pkgs/applications/networking/remote/anydesk/default.nix
@@ -5,16 +5,16 @@
 
 let
   description = "Desktop sharing application, providing remote support and online meetings";
-in stdenv.mkDerivation rec {
+in stdenv.mkDerivation (finalAttrs: {
   pname = "anydesk";
-  version = "6.3.1";
+  version = "6.3.2";
 
   src = fetchurl {
     urls = [
-      "https://download.anydesk.com/linux/anydesk-${version}-amd64.tar.gz"
-      "https://download.anydesk.com/linux/generic-linux/anydesk-${version}-amd64.tar.gz"
+      "https://download.anydesk.com/linux/anydesk-${finalAttrs.version}-amd64.tar.gz"
+      "https://download.anydesk.com/linux/generic-linux/anydesk-${finalAttrs.version}-amd64.tar.gz"
     ];
-    hash = "sha256-qVksva6+EfAQiOexP8NlDSCR5Ab2WGsuCG4BD87rlag=";
+    hash = "sha256-nSY4qHRsEvQk4M3JDHalAk3C6Y21WlfDQ2Gpp6/jjMs=";
   };
 
   buildInputs = [
@@ -54,7 +54,7 @@ in stdenv.mkDerivation rec {
   postFixup = ''
     patchelf \
       --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-      --set-rpath "${lib.makeLibraryPath buildInputs}" \
+      --set-rpath "${lib.makeLibraryPath finalAttrs.buildInputs}" \
       $out/bin/anydesk
 
     # pangox is not actually necessary (it was only added as a part of gtkglext)
@@ -77,12 +77,12 @@ in stdenv.mkDerivation rec {
     };
   };
 
-  meta = with lib; {
+  meta = {
     inherit description;
     homepage = "https://www.anydesk.com";
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.unfree;
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+    license = lib.licenses.unfree;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ shyim cheriimoya ];
+    maintainers = with lib.maintainers; [ shyim cheriimoya ];
   };
-}
+})
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index fc3cbbcd1109f..c47baaf3602f7 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -76,13 +76,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "freerdp";
-  version = "2.11.5";
+  version = "2.11.7";
 
   src = fetchFromGitHub {
     owner = "FreeRDP";
     repo = "FreeRDP";
     rev = version;
-    hash = "sha256-WyYBIiIQNDHydJqU3jWNItJU2/sYnRpGHCXE9Xhom5M=";
+    hash = "sha256-w+xyMNFmKylSheK0yAGl8J6MXly/HUjjAfR9Qq3s/kA=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/remote/rustdesk/default.nix b/pkgs/applications/networking/remote/rustdesk/default.nix
index ed3027afe84be..d220b87f2a22d 100644
--- a/pkgs/applications/networking/remote/rustdesk/default.nix
+++ b/pkgs/applications/networking/remote/rustdesk/default.nix
@@ -31,6 +31,7 @@
 , darwin
 , alsa-lib
 , makeDesktopItem
+, copyDesktopItems
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -83,6 +84,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   nativeBuildInputs = [
+    copyDesktopItems
     pkg-config
     rustPlatform.bindgenHook
     wrapGAppsHook
diff --git a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index da92226507eeb..6b1630594be0f 100644
--- a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -148,6 +148,6 @@ stdenv.mkDerivation {
     homepage = "https://www.vmware.com/go/viewclients";
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ buckley310 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index b41e535b0535e..91461f9abc4a3 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "3.62";
+  version = "3.65";
 
   src = fetchFromGitHub {
     owner = "seaweedfs";
     repo = "seaweedfs";
     rev = version;
-    hash = "sha256-z4RyrrM27krm54iVWKDbMB14MiiydLj4Z/RdjYMZxh0=";
+    hash = "sha256-+HSdOP0ls8OKIFlI6qIsyhDY+4+//cbcEFL9w8rJ5i0=";
   };
 
-  vendorHash = "sha256-WAGuaL8kDtMUDkHetWagCGZS91Y3Tg2DV2StKgRpuIg=";
+  vendorHash = "sha256-53HX4WvAQkrEa2v0PzaRwy6tMVqTB5UEWDHhDwCQk18=";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/applications/networking/shellhub-agent/default.nix b/pkgs/applications/networking/shellhub-agent/default.nix
index 66662b7f058f4..071425dedc005 100644
--- a/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/pkgs/applications/networking/shellhub-agent/default.nix
@@ -11,18 +11,18 @@
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.14.3";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    hash = "sha256-XnkU/I41x6JqrH5D6JGw1fgdiNfiMOBy9DUUXzKwkGg=";
+    hash = "sha256-533GGzSlpF9Rz8SrV0x6Hea/H8WxujuPF3cwmL5vdCw=";
   };
 
   modRoot = "./agent";
 
-  vendorHash = "sha256-nuFgJc1xQU4X86ojdFzs+9Gp3HDLsw3tkMcprlXCrko=";
+  vendorHash = "sha256-F3di9oTuE7qWzvAbHMkrSG+hkEs7FpEo4tLX6dCdklY=";
 
   ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
 
diff --git a/pkgs/applications/networking/station/default.nix b/pkgs/applications/networking/station/default.nix
index 43392ae28e483..9712de8fbe4a3 100644
--- a/pkgs/applications/networking/station/default.nix
+++ b/pkgs/applications/networking/station/default.nix
@@ -3,7 +3,6 @@
 let
   pname = "station";
   version = "1.52.2";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/getstation/desktop-app-releases/releases/download/${version}/Station-${version}-x86_64.AppImage";
@@ -11,10 +10,10 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 in appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   profile = ''
     export LC_ALL=C.UTF-8
@@ -23,7 +22,6 @@ in appimageTools.wrapType2 rec {
   multiArch = false;
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
     install -m 444 -D ${appimageContents}/browserx.desktop $out/share/applications/browserx.desktop
     install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/browserx.png \
       $out/share/icons/hicolor/512x512/apps/browserx.png
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 3b9727e2914ab..0ffd47435ff2f 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -64,6 +64,6 @@ buildGoModule rec {
     changelog = "https://github.com/rclone/rclone/blob/v${version}/docs/content/changelog.md";
     license = licenses.mit;
     mainProgram = "rclone";
-    maintainers = with maintainers; [ marsam SuperSandro2000 ];
+    maintainers = with maintainers; [ SuperSandro2000 tomfitzhenry ];
   };
 }
diff --git a/pkgs/applications/networking/sync/storj-uplink/default.nix b/pkgs/applications/networking/sync/storj-uplink/default.nix
index d521080460920..6ac38b50e8355 100644
--- a/pkgs/applications/networking/sync/storj-uplink/default.nix
+++ b/pkgs/applications/networking/sync/storj-uplink/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "storj-uplink";
-  version = "1.102.2";
+  version = "1.102.4";
 
   src = fetchFromGitHub {
     owner = "storj";
     repo = "storj";
     rev = "v${version}";
-    hash = "sha256-GpHX34iHKeoT7AuEf76QTpTIrATLZyAoUxMoIouhvyA=";
+    hash = "sha256-ryOWnVcJOUs9kToXtwjUTk7nwuAW0NCDn5Npn27hKXU=";
   };
 
   subPackages = [ "cmd/uplink" ];
diff --git a/pkgs/applications/networking/sync/wdt/default.nix b/pkgs/applications/networking/sync/wdt/default.nix
index 521453e5ecb89..34eef64b9f796 100644
--- a/pkgs/applications/networking/sync/wdt/default.nix
+++ b/pkgs/applications/networking/sync/wdt/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation {
   pname = "wdt";
-  version = "unstable-2024-02-05";
+  version = "1.27.1612021-unstable-2024-02-05";
 
   src = fetchFromGitHub {
     owner = "facebook";
@@ -37,7 +37,9 @@ stdenv.mkDerivation {
   ];
 
   passthru = {
-    updateScript = unstableGitUpdater { };
+    updateScript = unstableGitUpdater {
+      tagPrefix = "v";
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 70c395066107d..99d2f65bf14c2 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -66,7 +66,7 @@ let
         description = "Open Source Continuous File Synchronization";
         changelog = "https://github.com/syncthing/syncthing/releases/tag/v${version}";
         license = licenses.mpl20;
-        maintainers = with maintainers; [ joko peterhoeg andrew-d ];
+        maintainers = with maintainers; [ joko peterhoeg ];
         mainProgram = target;
         platforms = platforms.unix;
       };
diff --git a/pkgs/applications/networking/taler/default.nix b/pkgs/applications/networking/taler/default.nix
deleted file mode 100644
index babdff54f1856..0000000000000
--- a/pkgs/applications/networking/taler/default.nix
+++ /dev/null
@@ -1,147 +0,0 @@
-{ lib, stdenv, fetchgit, curl, gnunet, jansson, libgcrypt, libmicrohttpd
-, qrencode, libsodium, libtool, libunistring, pkg-config, postgresql
-, autoreconfHook, python3, recutils, wget, jq, gettext, texinfo
-}:
-
-let
-  version = "0.10.1";
-
-  taler-wallet-core = fetchgit {
-    url = "https://git.taler.net/wallet-core.git";
-    rev = "v${version}";
-    hash = "sha256-sgiJd1snN9JDqS7IUeORKL60Gcm7XwL/JCX3sNRDTdY=";
-  };
-
-  taler-exchange = stdenv.mkDerivation {
-    pname = "taler-exchange";
-    inherit version;
-
-    src = fetchgit {
-      url = "https://git.taler.net/exchange.git";
-      rev = "v${version}";
-      fetchSubmodules = true;
-      hash = "sha256-SKnMep8bMQaJt4r3u0SrzwYSuFbzv4RnflbutSqwtPg=";
-
-      # When fetching submodules without the .git folder we get the following error:
-      # "Server does not allow request for unadvertised object"
-      leaveDotGit = true;
-      postFetch = ''
-        rm -rf $out/.git
-      '';
-    };
-
-    nativeBuildInputs = [
-      autoreconfHook
-      pkg-config
-    ];
-    buildInputs = [
-      libgcrypt
-      libmicrohttpd
-      jansson
-      libsodium
-      postgresql
-      curl
-      recutils
-      gettext
-      texinfo # Fix 'makeinfo' is missing on your system.
-      libunistring
-      python3.pkgs.jinja2
-      # jq is necessary for some tests and is checked by configure script
-      jq
-    ];
-    propagatedBuildInputs = [ gnunet ];
-
-    # From ./bootstrap
-    preAutoreconf = ''
-      ./contrib/gana-generate.sh
-      pushd contrib
-      find wallet-core/aml-backoffice/ -type f -printf '  %p \\\n' | sort > Makefile.am.ext
-      truncate -s -2 Makefile.am.ext
-      cat Makefile.am.in Makefile.am.ext >> Makefile.am
-      popd
-    '';
-
-    enableParallelBuilding = true;
-
-    nativeCheckInputs = [ wget curl ];
-    doInstallCheck = true;
-    checkTarget = "check";
-
-    meta = with lib; {
-      description = ''
-        Taler is an electronic payment system providing the ability to pay
-        anonymously using digital cash.  Taler consists of a network protocol
-        definition (using a RESTful API over HTTP), a Exchange (which creates
-        digital coins), a Wallet (which allows customers to manage, store and
-        spend digital coins), and a Merchant website which allows customers to
-        spend their digital coins.  Naturally, each Merchant is different, but
-        Taler includes code examples to help Merchants integrate Taler as a
-        payment system.
-      '';
-      homepage = "https://taler.net/";
-      license = licenses.agpl3Plus;
-      maintainers = with maintainers; [ astro ];
-      platforms = platforms.linux;
-    };
-  };
-
-  taler-merchant = stdenv.mkDerivation {
-    pname = "taler-merchant";
-    inherit version;
-
-    src = fetchgit {
-      url = "https://git.taler.net/merchant.git";
-      rev = "v${version}";
-      fetchSubmodules = true;
-      hash = "sha256-8VpoyloLpd/HckSIRU6IclWUXQyEHqlcNdoJI9U3t0Y=";
-    };
-    postUnpack = ''
-      ln -s ${taler-wallet-core}/spa.html $sourceRoot/contrib/
-    '';
-
-    nativeBuildInputs = [ pkg-config autoreconfHook ];
-    buildInputs = taler-exchange.buildInputs ++ [
-      qrencode
-      taler-exchange
-      # for ltdl.h
-      libtool
-    ];
-    propagatedBuildInputs = [ gnunet ];
-
-    # From ./bootstrap
-    preAutoreconf = ''
-      pushd contrib
-      find wallet-core/backoffice/ -type f -printf '  %p \\\n' | sort > Makefile.am.ext
-      truncate -s -2 Makefile.am.ext
-      cat Makefile.am.in Makefile.am.ext >> Makefile.am
-      popd
-    '';
-    configureFlags = [
-      "--with-gnunet=${gnunet}"
-      "--with-exchange=${taler-exchange}"
-    ];
-
-    enableParallelBuilding = true;
-
-    nativeCheckInputs = [ jq ];
-    doInstallCheck = true;
-    checkTarget = "check";
-
-    meta = with lib; {
-      description = ''
-        This is the GNU Taler merchant backend. It provides the logic that should run
-        at every GNU Taler merchant.  The GNU Taler merchant is a RESTful backend that
-        can be used to setup orders and process payments.  This component allows
-        merchants to receive payments without invading the customers' privacy. Of
-        course, this applies mostly for digital goods, as the merchant does not need
-        to know the customer's physical address.
-      '';
-      homepage = "https://taler.net/";
-      license = licenses.agpl3Plus;
-      maintainers = with maintainers; [ astro ];
-      platforms = platforms.linux;
-    };
-  };
-in {
-  inherit taler-exchange taler-merchant;
-}
diff --git a/pkgs/applications/networking/trayscale/default.nix b/pkgs/applications/networking/trayscale/default.nix
index 33c7666fcf4e4..e5ab2e2a1a85d 100644
--- a/pkgs/applications/networking/trayscale/default.nix
+++ b/pkgs/applications/networking/trayscale/default.nix
@@ -50,7 +50,7 @@ buildGoModule rec {
     description = "An unofficial GUI wrapper around the Tailscale CLI client";
     homepage = "https://github.com/DeedleFake/trayscale";
     license = licenses.mit;
-    maintainers = with maintainers; [ patka ];
+    maintainers = [ ];
     mainProgram = "trayscale";
   };
 }
diff --git a/pkgs/applications/networking/xpipe/default.nix b/pkgs/applications/networking/xpipe/default.nix
index 9798ca2283305..c986b4a62455c 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-s/1XyEXOyvAQNf32ckKotQ4jYdlo/Y+O9PY3wIUs80A=";
+    x86_64-linux = "sha256-3KMmMDoaYYMKuuqLof/LfdCs1d4I70L2TDxmzvx4Vq0=";
   }.${system} or throwSystem;
 
   displayname = "XPipe";
 
 in stdenvNoCC.mkDerivation rec {
   pname = "xpipe";
-  version = "8.6";
+  version = "9.0";
 
   src = fetchzip {
     url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
diff --git a/pkgs/applications/office/appflowy/default.nix b/pkgs/applications/office/appflowy/default.nix
index ec0cd9534b149..33783ed01b4ba 100644
--- a/pkgs/applications/office/appflowy/default.nix
+++ b/pkgs/applications/office/appflowy/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "appflowy";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchzip {
     url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-${version}-linux-x86_64.tar.gz";
-    hash = "sha256-gIM4CQvPkQIWvHXYPwr4yiDY1mUuOmubdqkOmHNssVo=";
+    hash = "sha256-sDA//ARuzU0q2V3jhFXGhaQaeF0jsDRbtdHCBTgIL8U=";
     stripRoot = false;
   };
 
diff --git a/pkgs/applications/office/clockify/default.nix b/pkgs/applications/office/clockify/default.nix
index efd20632a2a31..7b2faa6b7d203 100644
--- a/pkgs/applications/office/clockify/default.nix
+++ b/pkgs/applications/office/clockify/default.nix
@@ -1,40 +1,27 @@
-{ stdenv, lib, fetchurl, dpkg, makeWrapper, electron }:
+{ lib
+, appimageTools
+, fetchurl }:
 
-stdenv.mkDerivation rec {
+appimageTools.wrapType2 rec {
   pname = "clockify";
-  version = "2.1.6";
+  version = "2.1.17.1354";
 
   src = fetchurl {
-    url = "https://web.archive.org/web/20231110130133/https://clockify.me/downloads/Clockify_Setup_x64.deb";
-    hash = "sha256-jndoMk3vqk8a5jMzKVo6ThovSISmcu+hef9IJcg3reQ=";
+    url = "https://web.archive.org/web/20240406052908/https://clockify.me/downloads/Clockify_Setup.AppImage";
+    hash = "sha256-G5VOAf6PrjHUsnk7IlXdqJ2D941cnggjuHkkgrOaVaA=";
   };
 
-  nativeBuildInputs = [
-    dpkg
-    makeWrapper
-  ];
+  extraInstallCommands =
+    let appimageContents = appimageTools.extract { inherit pname version src; };
+    in ''
+      mv $out/bin/${pname}-${version} $out/bin/${pname}
 
-  dontBuild = true;
-  dontConfigure = true;
+      install -Dm 444 ${appimageContents}/clockify.desktop -t $out/share/applications
+      install -Dm 444 ${appimageContents}/clockify.png -t $out/share/pixmaps
 
-  unpackPhase = ''
-    dpkg-deb -x ${src} ./
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mv usr $out
-    mv opt $out
-
-    substituteInPlace $out/share/applications/clockify.desktop \
-      --replace "/opt/Clockify/" ""
-
-    makeWrapper ${electron}/bin/electron $out/bin/clockify \
-      --add-flags $out/opt/Clockify/resources/app.asar
-
-    runHook postInstall
-  '';
+      substituteInPlace $out/share/applications/clockify.desktop \
+        --replace 'Exec=AppRun' 'Exec=${pname}'
+    '';
 
   meta = with lib; {
     description = "Free time tracker and timesheet app that lets you track work hours across projects";
diff --git a/pkgs/applications/office/espanso/default.nix b/pkgs/applications/office/espanso/default.nix
index 1b02f3be80eca..daa0114b018ca 100644
--- a/pkgs/applications/office/espanso/default.nix
+++ b/pkgs/applications/office/espanso/default.nix
@@ -148,7 +148,7 @@ rustPlatform.buildRustPackage rec {
     mainProgram = "espanso";
     homepage = "https://espanso.org";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ kimat thehedgeh0g ];
+    maintainers = with maintainers; [ kimat pyrox0 ];
     platforms = platforms.unix;
 
     longDescription = ''
diff --git a/pkgs/applications/office/gnote/default.nix b/pkgs/applications/office/gnote/default.nix
index 29c72b24cdcef..0d8c1d2803965 100644
--- a/pkgs/applications/office/gnote/default.nix
+++ b/pkgs/applications/office/gnote/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/Gnote";
+    homepage = "https://gitlab.gnome.org/GNOME/gnote";
     description = "A note taking application";
     mainProgram = "gnote";
     maintainers = with maintainers; [ jfvillablanca ];
diff --git a/pkgs/applications/office/gtg/default.nix b/pkgs/applications/office/gtg/default.nix
index d7bad1d133901..18ccdf2db26ec 100644
--- a/pkgs/applications/office/gtg/default.nix
+++ b/pkgs/applications/office/gtg/default.nix
@@ -77,7 +77,7 @@ python3Packages.buildPythonApplication rec {
       "Getting Things GNOME" (GTG) is a personal tasks and ToDo list organizer inspired by the "Getting Things Done" (GTD) methodology.
       GTG is intended to help you track everything you need to do and need to know, from small tasks to large projects.
     '';
-    homepage = "https://wiki.gnome.org/Apps/GTG";
+    homepage = "https://github.com/getting-things-gnome/gtg";
     downloadPage = "https://github.com/getting-things-gnome/gtg/releases";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ oyren ];
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 03eee188ac565..c8ea46d0978e6 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -23,7 +23,7 @@ in appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/$name $out/bin/${executableName}
+    mv $out/bin/$pname $out/bin/${executableName}
     install -m 444 -D ${appimageContents}/${executableName}.desktop $out/share/applications/${executableName}.desktop
     ${imagemagick}/bin/convert ${appimageContents}/${executableName}.png -resize 512x512 ${pname}_512.png
     install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${executableName}.png
diff --git a/pkgs/applications/office/notion-app-enhanced/default.nix b/pkgs/applications/office/notion-app-enhanced/default.nix
index e9206f9e51532..61dd21920ae1d 100644
--- a/pkgs/applications/office/notion-app-enhanced/default.nix
+++ b/pkgs/applications/office/notion-app-enhanced/default.nix
@@ -2,20 +2,17 @@
 let
   pname = "notion-app-enhanced";
   version = "2.0.18-1";
-  name = "${pname}-v${version}";
 
   src = fetchurl {
     url = "https://github.com/notion-enhancer/notion-repackaged/releases/download/v${version}/Notion-Enhanced-${version}.AppImage";
     sha256 = "sha256-SqeMnoMzxxaViJ3NPccj3kyMc1xvXWULM6hQIDZySWY=";
   };
 
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/office/p3x-onenote/default.nix b/pkgs/applications/office/p3x-onenote/default.nix
index c70f3aa52c407..730a9d81b2f55 100644
--- a/pkgs/applications/office/p3x-onenote/default.nix
+++ b/pkgs/applications/office/p3x-onenote/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, appimageTools, desktop-file-utils, fetchurl }:
 
 let
+  pname = "p3x-onenote";
   version = "2023.4.117";
-  name = "p3x-onenote-${version}";
 
   plat = {
     aarch64-linux = "-arm64";
@@ -22,18 +22,17 @@ let
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 in
 appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
     mkdir -p $out/share/pixmaps $out/share/licenses/p3x-onenote
     cp ${appimageContents}/p3x-onenote.png $out/share/pixmaps/
     cp ${appimageContents}/p3x-onenote.desktop $out
     cp ${appimageContents}/LICENSE.electron.txt $out/share/licenses/p3x-onenote/LICENSE
-    mv $out/bin/${name} $out/bin/p3x-onenote
 
     ${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \
       --set-key Exec --set-value $out/bin/p3x-onenote \
diff --git a/pkgs/applications/office/paperwork/paperwork-backend.nix b/pkgs/applications/office/paperwork/paperwork-backend.nix
index 4460e50ab6246..b5620d3f40df0 100644
--- a/pkgs/applications/office/paperwork/paperwork-backend.nix
+++ b/pkgs/applications/office/paperwork/paperwork-backend.nix
@@ -1,6 +1,7 @@
 { buildPythonPackage
 , lib
 , fetchFromGitLab
+, fetchpatch
 , pyenchant
 , scikit-learn
 , pypillowfight
@@ -33,6 +34,13 @@ buildPythonPackage rec {
   sourceRoot = "${src.name}/paperwork-backend";
 
   patches = [
+    # fixes building with recent scipy
+    # remove on next release
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/commit/abcebfe9714644d4e259e53b10e0e9417b5b864f.patch";
+      hash = "sha256-YjVpphThW5Livs+PZJZDSgJvhLSXhZ1bnlWMwfY4HTg=";
+    })
+
     # disables a flaky test https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/issues/1035#note_1493700
     ./flaky_test.patch
   ];
diff --git a/pkgs/applications/office/pinpoint/default.nix b/pkgs/applications/office/pinpoint/default.nix
index 99a45371b63c3..ca91b33ecae6e 100644
--- a/pkgs/applications/office/pinpoint/default.nix
+++ b/pkgs/applications/office/pinpoint/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
                   cairo clutter-gtk ];
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/action/show/Apps/Pinpoint";
+    homepage = "https://gitlab.gnome.org/Archive/pinpoint";
     description = "A tool for making hackers do excellent presentations";
     license = licenses.lgpl21;
     platforms = platforms.linux;
diff --git a/pkgs/applications/office/planify/default.nix b/pkgs/applications/office/planify/default.nix
index 1f6ccbf10f487..595b12bf9ab24 100644
--- a/pkgs/applications/office/planify/default.nix
+++ b/pkgs/applications/office/planify/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "planify";
-  version = "4.6";
+  version = "4.7";
 
   src = fetchFromGitHub {
     owner = "alainm23";
     repo = "planify";
     rev = version;
-    hash = "sha256-vyw8SjI8EM9giYpAsCNppgSydPEBNz2sbFahEKmKe6w=";
+    hash = "sha256-5hiVTU1w3Rk/BdxYwDB0Y+EZFnSAaEWtx19IB1ak1yY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/planner/default.nix b/pkgs/applications/office/planner/default.nix
index 0beb4825ddd4f..e27fd037df446 100644
--- a/pkgs/applications/office/planner/default.nix
+++ b/pkgs/applications/office/planner/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Project management tool for the GNOME desktop";
     mainProgram = "planner";
-    homepage = "https://wiki.gnome.org/Apps/Planner";
+    homepage = "https://gitlab.gnome.org/World/planner";
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ amiloradovsky ];
     platforms = lib.platforms.unix;
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 281273c218039..a7b5835184901 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -27,11 +27,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.68.3";
+  version = "0.68.4";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    hash = "sha256-7EQ/gKFflElga5LDwAkjPcqNl6HNtnAzno1ZGPBybJY=";
+    hash = "sha256-E4uVI2MJ2tD2wuAxxzCZSmNRbKTTzhi44c4ip7uEhCk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 2009c6f9a0bcb..0ff43b584bea9 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -21,14 +21,14 @@
 let
   pname = "qownnotes";
   appname = "QOwnNotes";
-  version = "24.4.2";
+  version = "24.4.4";
 in
 stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
-    hash = "sha256-HnWxIcOy7Te6Q5YfZYhvITpfsgeQw8Tt/Nr++wcpxEU=";
+    hash = "sha256-nTRCW76UogaTOyxQ5HfWUln6Lip/LpoyPG+m+mMCb1I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index ef6c931bcc6a6..bf08311bad980 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -5,12 +5,12 @@
 }:
 
 let
-  version = "6.7.5";
+  version = "6.7.6";
   pname = "timeular";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
-    hash = "sha256-b/I34f8fGgPr4+fZJ+2cb+Xi/AvotxNHYg7IaLTByPk=";
+    hash = "sha256-wQUR2jLJi1peXqXJJj/72X9xNaD2DzNiB0mGFiaEWBE=";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -24,7 +24,6 @@ in appimageTools.wrapType2 rec {
   ];
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},${pname}}
     install -m 444 -D ${appimageContents}/timeular.desktop $out/share/applications/timeular.desktop
     install -m 444 -D ${appimageContents}/timeular.png $out/share/icons/hicolor/512x512/apps/timeular.png
     substituteInPlace $out/share/applications/timeular.desktop \
diff --git a/pkgs/applications/office/tusk/default.nix b/pkgs/applications/office/tusk/default.nix
index 98f00f2ed54c9..73b896ff0cc52 100644
--- a/pkgs/applications/office/tusk/default.nix
+++ b/pkgs/applications/office/tusk/default.nix
@@ -34,7 +34,6 @@ in appimageTools.wrapType2 rec {
   multiArch = false; # no 32bit needed
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},${pname}}
     mkdir "$out/share"
     ln -s "${desktopItem}/share/applications" "$out/share/"
   '';
diff --git a/pkgs/applications/printing/pappl/default.nix b/pkgs/applications/printing/pappl/default.nix
index 821944387eff8..b49cc1b43231d 100644
--- a/pkgs/applications/printing/pappl/default.nix
+++ b/pkgs/applications/printing/pappl/default.nix
@@ -59,6 +59,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/michaelrsweet/pappl";
     license = licenses.asl20;
     platforms = platforms.linux; # should also work for darwin, but requires additional work
-    maintainers = with maintainers; [ jonringer ChlorideCull ];
+    maintainers = with maintainers; [ jonringer ];
   };
 }
diff --git a/pkgs/applications/radio/chirp/default.nix b/pkgs/applications/radio/chirp/default.nix
index 066c93361899b..0bb054e3d52ed 100644
--- a/pkgs/applications/radio/chirp/default.nix
+++ b/pkgs/applications/radio/chirp/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, writeShellScript
 , glib
 , gsettings-desktop-schemas
 , python3
@@ -9,7 +10,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "chirp";
-  version = "unstable-2024-02-08";
+  version = "0.4.0-unstable-2024-02-08";
 
   src = fetchFromGitHub {
     owner = "kk7ds";
@@ -37,7 +38,9 @@ python3.pkgs.buildPythonApplication rec {
   doCheck = false;
 
   passthru.updateScript = unstableGitUpdater {
-    branch = "py3";
+    tagConverter = writeShellScript "chirp-tag-converter.sh" ''
+      sed -e 's/^release_//g' -e 's/_/./g'
+    '';
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/radio/dsd/default.nix b/pkgs/applications/radio/dsd/default.nix
index 72b6f305d3c61..620923377add3 100644
--- a/pkgs/applications/radio/dsd/default.nix
+++ b/pkgs/applications/radio/dsd/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/szechyjs/dsd";
     license = licenses.gpl2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ andrew-d ];
+    maintainers = with maintainers; [ ];
     mainProgram = "dsd";
   };
 }
diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix
index 5d3d1d3d18b40..c03a3decb65c5 100644
--- a/pkgs/applications/radio/gnuradio/default.nix
+++ b/pkgs/applications/radio/gnuradio/default.nix
@@ -45,11 +45,11 @@
 # If one wishes to use a different src or name for a very custom build
 , overrideSrc ? {}
 , pname ? "gnuradio"
-, version ? "3.10.9.2"
+, version ? "3.10.10.0"
 }:
 
 let
-  sourceSha256 = "sha256-SMalZwIvATZ3rqAAqeSmf8/RJ1d9pp7NvoWO/YP0BMc=";
+  sourceSha256 = "sha256-pEVWhXDjOevrduDbZQbiDbODZY8PpsGY4O8yxrwlCcs=";
   featuresInfo = {
     # Needed always
     basic = {
diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix
index ac08d17397fa7..fdaa76f6f7e8e 100644
--- a/pkgs/applications/radio/gnuradio/wrapper.nix
+++ b/pkgs/applications/radio/gnuradio/wrapper.nix
@@ -58,6 +58,10 @@ let
   # may wish to wrap GR without python support.
   pythonPkgs = extraPythonPackages
     ++ [ (unwrapped.python.pkgs.toPythonModule unwrapped) ]
+    ++ unwrapped.passthru.uhd.pythonPath
+    ++ lib.optionals (unwrapped.passthru.uhd.pythonPath != []) [
+      (unwrapped.python.pkgs.toPythonModule unwrapped.passthru.uhd)
+    ]
     # Add the extraPackages as python modules as well
     ++ (builtins.map unwrapped.python.pkgs.toPythonModule extraPackages)
     ++ lib.flatten (lib.mapAttrsToList (
diff --git a/pkgs/applications/radio/quisk/default.nix b/pkgs/applications/radio/quisk/default.nix
index c5034bd33efcd..8fa180e705c66 100644
--- a/pkgs/applications/radio/quisk/default.nix
+++ b/pkgs/applications/radio/quisk/default.nix
@@ -8,11 +8,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "quisk";
-  version = "4.2.31";
+  version = "4.2.32";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WzB/KAkjJ6zPPfOe35kbT3HbbCNQjm44GL0hInk3TH8=";
+    sha256 = "sha256-zzcygf7oVICO2/wfgyej1GD78fQB1xNRGHq19w6K4uY=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/radio/uhd/default.nix b/pkgs/applications/radio/uhd/default.nix
index c3f7b58fa1ba6..947d7d48108d2 100644
--- a/pkgs/applications/radio/uhd/default.nix
+++ b/pkgs/applications/radio/uhd/default.nix
@@ -8,15 +8,8 @@
 , boost
 , ncurses
 , enableCApi ? true
-# Although we handle the Python API's dependencies in pythonEnvArg, this
-# feature is currently disabled as upstream attempts to run `python setup.py
-# install` by itself, and it fails because the Python's environment's prefix is
-# not a writable directly. Adding support for this feature would require using
-# python's pypa/build nad pypa/install hooks directly, and currently it is hard
-# to do that because it all happens after a long buildPhase of the C API.
-, enablePythonApi ? false
+, enablePythonApi ? true
 , python3
-, buildPackages
 , enableExamples ? false
 , enableUtils ? true
 , libusb1
@@ -38,13 +31,7 @@
 }:
 
 let
-  onOffBool = b: if b then "ON" else "OFF";
-  inherit (lib) optionals;
-  # Later used in pythonEnv generation. Python + mako are always required for the build itself but not necessary for runtime.
-  pythonEnvArg = (ps: with ps; [ mako ]
-    ++ optionals (enablePythonApi) [ numpy setuptools ]
-    ++ optionals (enableUtils) [ requests six ]
-  );
+  inherit (lib) optionals cmakeBool;
 in
 
 stdenv.mkDerivation (finalAttrs: {
@@ -72,7 +59,30 @@ stdenv.mkDerivation (finalAttrs: {
     # hash.
     sha256 = "17g503mhndaabrdl7qai3rdbafr8xx8awsyr7h2bdzwzprzmh4m3";
   };
+  # This are the minimum required Python dependencies, this attribute might
+  # be useful if you want to build a development environment with a python
+  # interpreter able to import the uhd module.
+  pythonPath = optionals (enablePythonApi || enableUtils) [
+    python3.pkgs.numpy
+    python3.pkgs.setuptools
+  ] ++ optionals (enableUtils) [
+    python3.pkgs.requests
+    python3.pkgs.six
+
+    /* These deps are needed for the usrp_hwd.py utility, however even if they
+    would have been added here, the utility wouldn't have worked because it
+    depends on an old python library mprpc that is not supported for Python >
+    3.8. See also report upstream:
+    https://github.com/EttusResearch/uhd/issues/744
+
+    python3.pkgs.gevent
+    python3.pkgs.pyudev
+    python3.pkgs.pyroute2
+
+    */
+  ];
   passthru = {
+    runtimePython = python3.withPackages (ps: finalAttrs.pythonPath);
     updateScript = [
       ./update.sh
       # Pass it this file name as argument
@@ -83,66 +93,91 @@ stdenv.mkDerivation (finalAttrs: {
   cmakeFlags = [
     "-DENABLE_LIBUHD=ON"
     "-DENABLE_USB=ON"
-    "-DENABLE_TESTS=ON" # This installs tests as well so we delete them via postPhases
-    "-DENABLE_EXAMPLES=${onOffBool enableExamples}"
-    "-DENABLE_UTILS=${onOffBool enableUtils}"
-    "-DENABLE_C_API=${onOffBool enableCApi}"
-    "-DENABLE_PYTHON_API=${onOffBool enablePythonApi}"
-    "-DENABLE_DPDK=${onOffBool enableDpdk}"
+    # Regardless of doCheck, we want to build the tests to help us gain
+    # confident that the package is OK.
+    "-DENABLE_TESTS=ON"
+    (cmakeBool "ENABLE_EXAMPLES" enableExamples)
+    (cmakeBool "ENABLE_UTILS" enableUtils)
+    (cmakeBool "ENABLE_C_API" enableCApi)
+    (cmakeBool "ENABLE_PYTHON_API" enablePythonApi)
+    /*
+
+    Otherwise python tests fail. Using a dedicated pythonEnv for either or both
+    nativeBuildInputs and buildInputs makes upstream's cmake scripts fail to
+    install the Python API as reported on our end at [1] (we don't want
+    upstream to think we are in a virtual environment because we use
+    python3.withPackages...).
+
+    Putting simply the python dependencies in the nativeBuildInputs and
+    buildInputs as they are now from some reason makes the `python` in the
+    checkPhase fail to find the python dependencies, as reported at [2]. Even
+    using nativeCheckInputs with the python dependencies, or using a
+    `python3.withPackages` wrapper in nativeCheckInputs, doesn't help, as the
+    `python` found in $PATH first is the one from nativeBuildInputs.
+
+    [1]: https://github.com/NixOS/nixpkgs/pull/307435
+    [2]: https://discourse.nixos.org/t/missing-python-package-in-checkphase/9168/
+
+    Hence we use upstream's provided cmake flag to control which python
+    interpreter they will use to run the the python tests.
+
+    */
+    "-DRUNTIME_PYTHON_EXECUTABLE=${lib.getExe finalAttrs.passthru.runtimePython}"
+    (cmakeBool "ENABLE_DPDK" enableDpdk)
     # Devices
-    "-DENABLE_OCTOCLOCK=${onOffBool enableOctoClock}"
-    "-DENABLE_MPMD=${onOffBool enableMpmd}"
-    "-DENABLE_B100=${onOffBool enableB100}"
-    "-DENABLE_B200=${onOffBool enableB200}"
-    "-DENABLE_USRP1=${onOffBool enableUsrp1}"
-    "-DENABLE_USRP2=${onOffBool enableUsrp2}"
-    "-DENABLE_X300=${onOffBool enableX300}"
-    "-DENABLE_N300=${onOffBool enableN300}"
-    "-DENABLE_N320=${onOffBool enableN320}"
-    "-DENABLE_E300=${onOffBool enableE300}"
-    "-DENABLE_E320=${onOffBool enableE320}"
-  ]
+    (cmakeBool "ENABLE_OCTOCLOCK" enableOctoClock)
+    (cmakeBool "ENABLE_MPMD" enableMpmd)
+    (cmakeBool "ENABLE_B100" enableB100)
+    (cmakeBool "ENABLE_B200" enableB200)
+    (cmakeBool "ENABLE_USRP1" enableUsrp1)
+    (cmakeBool "ENABLE_USRP2" enableUsrp2)
+    (cmakeBool "ENABLE_X300" enableX300)
+    (cmakeBool "ENABLE_N300" enableN300)
+    (cmakeBool "ENABLE_N320" enableN320)
+    (cmakeBool "ENABLE_E300" enableE300)
+    (cmakeBool "ENABLE_E320" enableE320)
     # TODO: Check if this still needed
     # ABI differences GCC 7.1
     # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector<uhd::range_t>::iterator {aka __gnu_cxx::__normal_iterator<uhd::range_t*, std::vector<uhd::range_t> >}' changed in GCC 7.1
-    ++ [ (lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ]
-  ;
-
-  pythonEnv = python3.withPackages pythonEnvArg;
+  ] ++ optionals stdenv.isAarch32 [
+    "-DCMAKE_CXX_FLAGS=-Wno-psabi"
+  ];
 
   nativeBuildInputs = [
     cmake
     pkg-config
     # Present both here and in buildInputs for cross compilation.
-    (buildPackages.python3.withPackages pythonEnvArg)
+    python3
+    python3.pkgs.mako
+    # We add this unconditionally, but actually run wrapPythonPrograms only if
+    # python utilities are enabled
+    python3.pkgs.wrapPython
   ];
-  buildInputs = [
+  buildInputs = finalAttrs.pythonPath ++ [
     boost
     libusb1
-  ]
-    # However, if enableLibuhd_Python_api *or* enableUtils is on, we need
-    # pythonEnv for runtime as well. The utilities' runtime dependencies are
-    # handled at the environment
-    ++ optionals (enableExamples) [ ncurses ncurses.dev ]
-    ++ optionals (enablePythonApi || enableUtils) [ finalAttrs.pythonEnv ]
-    ++ optionals (enableDpdk) [ dpdk ]
-  ;
+  ] ++ optionals (enableExamples) [
+    ncurses ncurses.dev
+  ] ++ optionals (enableDpdk) [
+    dpdk
+  ];
 
   # many tests fails on darwin, according to ofborg
   doCheck = !stdenv.isDarwin;
 
   # Build only the host software
   preConfigure = "cd host";
-  # TODO: Check if this still needed, perhaps relevant:
-  # https://files.ettus.com/manual_archive/v3.15.0.0/html/page_build_guide.html#build_instructions_unix_arm
   patches = [
-    # Disable tests that fail in the sandbox
+    # Disable tests that fail in the sandbox, last checked at version 4.6.0.0
     ./no-adapter-tests.patch
   ];
 
-  postPhases = [ "installFirmware" "removeInstalledTests" ]
-    ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [ "moveUdevRules" ]
-  ;
+  postPhases = [
+    "installFirmware"
+    "removeInstalledTests"
+  ] ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [
+    "moveUdevRules"
+  ];
 
   # UHD expects images in `$CMAKE_INSTALL_PREFIX/share/uhd/images`
   installFirmware = ''
@@ -162,6 +197,10 @@ stdenv.mkDerivation (finalAttrs: {
     mv $out/lib/uhd/utils/uhd-usrp.rules $out/lib/udev/rules.d/
   '';
 
+  # Wrap the python utilities with our pythonPath definition
+  postFixup = lib.optionalString (enablePythonApi && enableUtils) ''
+    wrapPythonPrograms
+  '';
   disallowedReferences = optionals (!enablePythonApi && !enableUtils) [
     python3
   ];
diff --git a/pkgs/applications/science/astronomy/gildas/aarch64.patch b/pkgs/applications/science/astronomy/gildas/aarch64.patch
deleted file mode 100644
index 40696a03dec71..0000000000000
--- a/pkgs/applications/science/astronomy/gildas/aarch64.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN gildas-src-jul18a/admin/define-system.sh gildas-src-jul18a.aarch64/admin/define-system.sh
---- gildas-src-jul18a/admin/define-system.sh	2018-06-12 15:22:32.000000000 +0200
-+++ gildas-src-jul18a.aarch64/admin/define-system.sh	2018-07-21 13:05:52.000000000 +0200
-@@ -174,7 +174,7 @@
-     DEFAULT_CONFIG=          # Default config is empty
-     case `uname` in
-         Linux)
--            if [ `uname -m | grep -c "x86_64"` -ne 0 ]; then
-+            if [ `uname -m | grep -c "64"` -ne 0 ]; then
-         	GAG_MACHINE=x86_64
-             else
-         	GAG_MACHINE=pc
diff --git a/pkgs/applications/science/astronomy/gildas/clang.patch b/pkgs/applications/science/astronomy/gildas/clang.patch
index 4d6654a99aee1..aee010835248e 100644
--- a/pkgs/applications/science/astronomy/gildas/clang.patch
+++ b/pkgs/applications/science/astronomy/gildas/clang.patch
@@ -1,22 +1,77 @@
-diff -ruN gildas-src-jun18a/admin/define-system.sh gildas-src-jun18a.clang/admin/define-system.sh
---- gildas-src-jun18a/admin/define-system.sh	2018-03-12 11:07:57.000000000 +0100
-+++ gildas-src-jun18a.clang/admin/define-system.sh	2018-06-12 14:56:14.000000000 +0200
-@@ -218,13 +218,13 @@
+diff --git a/admin/Makefile.def b/admin/Makefile.def
+index 932d18f102..309114e339 100644
+--- a/admin/Makefile.def
++++ b/admin/Makefile.def
+@@ -310,7 +310,7 @@ endif
+ 
+ # Apple CLANG flags (identical to GCC)
+ ifeq ($(GAG_COMPILER_CKIND),clang)
+-  GLOBAL_CFLAGS += -pipe -fPIC
++  GLOBAL_CFLAGS += -fPIC
+   ifeq ($(RELEASE_MODE),no)
+     OPTION_CFLAGS += -Wall
+   endif
+@@ -360,7 +360,7 @@ endif
+ 
+ # GFORTRAN flags
+ ifeq ($(GAG_COMPILER_FKIND),gfortran)
+-  GLOBAL_FFLAGS += -J$(moddir) -pipe -fno-backslash -fno-range-check
++  GLOBAL_FFLAGS += -J$(moddir) -fno-backslash -fno-range-check
+   ifeq ($(GAG_USE_SANITIZE),yes)
+     GLOBAL_FFLAGS += -fsanitize=address -fsanitize=null
+     # Can not be used with our memory(ip):
+diff --git a/admin/define-system.sh b/admin/define-system.sh
+index b6eda9fdfd..704050a9ac 100644
+--- a/admin/define-system.sh
++++ b/admin/define-system.sh
+@@ -272,34 +272,23 @@ EOF
          	else
          	    GAG_MACHINE=pc
          	fi
 -                if which gcc > /dev/null 2>&1; then
 -                    DEFAULT_CCOMPILER=gcc
-+                if which clang > /dev/null 2>&1; then
-+                    DEFAULT_CCOMPILER=clang
-                 fi
+-                fi
 -                if which g++ > /dev/null 2>&1; then
 -                    DEFAULT_CXXCOMPILER=g++
 -                elif which clang++ > /dev/null 2>&1; then
-+                if which clang++ > /dev/null 2>&1; then
-                     DEFAULT_CXXCOMPILER=clang++
-+                elif which g++ > /dev/null 2>&1; then
-+                    DEFAULT_CXXCOMPILER=g++
-                 fi
-         	if which ifort > /dev/null 2>&1; then
-         	    DEFAULT_FCOMPILER=ifort
+-                    DEFAULT_CXXCOMPILER=clang++
+-                fi
+-        	if which ifort > /dev/null 2>&1; then
+-        	    DEFAULT_FCOMPILER=ifort
+-        	elif which gfortran > /dev/null 2>&1; then
+-        	    DEFAULT_FCOMPILER=gfortran
+-        	fi
+-            elif [ `uname -p` = "arm" ]; then
++	    elif [ `uname -p` = "arm" ]; then
+                 GAG_MACHINE=arm64
+-                if which gcc > /dev/null 2>&1; then
+-                    DEFAULT_CCOMPILER=gcc
+-                fi
+-                if which clang++ > /dev/null 2>&1; then
+-                    DEFAULT_CXXCOMPILER=clang++
+-                elif which g++ > /dev/null 2>&1; then
+-                    DEFAULT_CXXCOMPILER=g++
+-                fi
+-                if which ifort > /dev/null 2>&1; then
+-                    DEFAULT_FCOMPILER=ifort
+-                elif which gfortran > /dev/null 2>&1; then
+-                    DEFAULT_FCOMPILER=gfortran
+-                fi
++	    fi
++            if which clang > /dev/null 2>&1; then
++                DEFAULT_CCOMPILER=clang
++            elif which gcc > /dev/null 2>&1; then
++                DEFAULT_CCOMPILER=gcc
++	    fi
++	    if which clang++ > /dev/null 2>&1; then
++                DEFAULT_CXXCOMPILER=clang++
++            elif which g++ > /dev/null 2>&1; then
++                DEFAULT_CXXCOMPILER=g++
++            fi
++            if which ifort > /dev/null 2>&1; then
++        	DEFAULT_FCOMPILER=ifort
++            elif which gfortran > /dev/null 2>&1; then
++        	DEFAULT_FCOMPILER=gfortran
+             fi ;;
+         CYGWIN*)
+             if [ `uname -m | grep -c "x86_64"` -ne 0 ]; then
diff --git a/pkgs/applications/science/astronomy/gildas/cpp-darwin.patch b/pkgs/applications/science/astronomy/gildas/cpp-darwin.patch
new file mode 100644
index 0000000000000..09085c29bf944
--- /dev/null
+++ b/pkgs/applications/science/astronomy/gildas/cpp-darwin.patch
@@ -0,0 +1,17 @@
+diff --git a/admin/Makefile.def b/admin/Makefile.def
+index 0395d9d4f0..932d18f102 100644
+--- a/admin/Makefile.def
++++ b/admin/Makefile.def
+@@ -228,7 +228,11 @@ GLOBAL_DIRTY = $(builddir) *~ TAGS ChangeLog* Makefile.bak
+ # Fortran preprocessing
+ 
+ # Preprocessor command
+-CPP = cpp
++ifdef GAG_CPP
++   CPP = $(GAG_CPP)
++else
++   CPP = cpp
++endif
+ 
+ # Preprocessor generic flags
+ GLOBAL_CPPFLAGS += -P -traditional -C
diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix
index b5b92bd8fe4f8..5767efab733cb 100644
--- a/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/pkgs/applications/science/astronomy/gildas/default.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "aug23a";
-  version = "20230801_a";
+  srcVersion = "apr24a";
+  version = "20240401_a";
   pname = "gildas";
 
   src = fetchurl {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
-    sha256 = "sha256-jlyv2K1V+510C4uLek4oofm13d40nGJ46wqjW+tjfq4=";
+    sha256 = "sha256-Eq6S5S8xrhkCo6O2wUaHnoMDVG9WeiSurGvOc+2JKbM=";
   };
 
   nativeBuildInputs = [ pkg-config groff perl getopt gfortran which ];
@@ -24,10 +24,14 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtk2-x11 lesstif cfitsio python3Env ncurses ]
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation ]);
 
-  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ];
+  patches = [ ./wrapper.patch ]
+    ++ lib.optionals stdenv.isDarwin ([ ./clang.patch ./cpp-darwin.patch ]);
 
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
 
+  # Workaround for https://github.com/NixOS/nixpkgs/issues/304528
+  env.GAG_CPP = lib.optionalString stdenv.isDarwin "${gfortran.outPath}/bin/cpp";
+
   NIX_LDFLAGS = lib.optionalString stdenv.isDarwin (with darwin.apple_sdk.frameworks; "-F${CoreFoundation}/Library/Frameworks");
 
   configurePhase=''
@@ -66,7 +70,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.free;
     maintainers = [ lib.maintainers.bzizou lib.maintainers.smaret ];
     platforms = lib.platforms.all;
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 
 }
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index 0d8d87ac4109b..ba0114c7b5633 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "igv";
-  version = "2.17.3";
+  version = "2.17.4";
   src = fetchzip {
     url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
-    sha256 = "sha256-SGqkWBv4nol0+lnGN7wBHJvndcIqZ5+Wt1wAcXA42cU=";
+    sha256 = "sha256-LF/rwm/XlLHAJjiAlQVTmx5l+5Np2b5rPjoCdN/qERU=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/science/biology/jbrowse/default.nix b/pkgs/applications/science/biology/jbrowse/default.nix
index 15694ae3e6385..c4c8966aa50d5 100644
--- a/pkgs/applications/science/biology/jbrowse/default.nix
+++ b/pkgs/applications/science/biology/jbrowse/default.nix
@@ -19,9 +19,7 @@ appimageTools.wrapType2 {
   unshareIpc = false;
 
   extraInstallCommands = ''
-    mkdir -p $out/bin
-    mv $out/bin/jbrowse-${version} $out/bin/jbrowse-desktop
-
+    mv $out/bin/jbrowse $out/bin/jbrowse-desktop
     install -m 444 -D ${appimageContents}/jbrowse-desktop.desktop $out/share/applications/jbrowse-desktop.desktop
     install -m 444 -D ${appimageContents}/jbrowse-desktop.png \
        $out/share/icons/hicolor/512x512/apps/jbrowse-desktop.png
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index 3bc84e414bb75..85fb1ca80ac65 100644
--- a/pkgs/applications/science/biology/last/default.nix
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1542";
+  version = "1543";
 
   src = fetchFromGitLab {
     owner = "mcfrith";
     repo = "last";
     rev = "refs/tags/${version}";
-    hash = "sha256-ZzvyyecYiBscogfN9/FnDbHg/lqb8y14n9C2KLIqhFA=";
+    hash = "sha256-APHPv7Q64JITfHsvjCThZ6hvGHerk6wjOm32KdTv4k8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/biology/mafft/default.nix b/pkgs/applications/science/biology/mafft/default.nix
index f2e3ead2e913c..ca1f89388a442 100644
--- a/pkgs/applications/science/biology/mafft/default.nix
+++ b/pkgs/applications/science/biology/mafft/default.nix
@@ -1,14 +1,20 @@
-{ lib, stdenv, fetchFromGitLab }:
+{
+  lib,
+  stdenv,
+  fetchFromGitLab,
+  runCommand,
+  mafft,
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "mafft";
-  version = "7.525";
+  version = "7.526";
 
   src = fetchFromGitLab {
     owner = "sysimm";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-ckBmvFssYAmYcBHAEftjQqBV0MB0theGfemaPx3XUws=";
+    repo = "mafft";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-VNe00r12qEkLEbpZdJCe5xZ73JA3uAmuAeG+eSeRDI0=";
   };
 
   preBuild = ''
@@ -16,14 +22,34 @@ stdenv.mkDerivation rec {
     make clean
   '';
 
-  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=$(out)" ];
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "PREFIX=$(out)"
+  ];
 
-  meta = with lib;
-    {
-      description = "Multiple alignment program for amino acid or nucleotide sequences";
-      homepage = "https://mafft.cbrc.jp/alignment/software/";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ natsukium ];
-      platforms = platforms.unix;
-    };
-}
+  passthru.tests = {
+    simple = runCommand "${finalAttrs.pname}-test" { } ''
+      mkdir $out
+      cd ${finalAttrs.src}/test
+      ${lib.getExe mafft} sample > $out/test.fftns2
+      ${lib.getExe mafft} --maxiterate 100  sample > $out/test.fftnsi
+      ${lib.getExe mafft} --globalpair sample > $out/test.gins1
+      ${lib.getExe mafft} --globalpair --maxiterate 100  sample > $out/test.ginsi
+      ${lib.getExe mafft} --localpair sample > $out/test.lins1
+      ${lib.getExe mafft} --localpair --maxiterate 100  sample > $out/test.linsi
+      diff $out/test.fftns2 sample.fftns2
+      diff $out/test.fftnsi sample.fftnsi
+      diff $out/test.gins1 sample.gins1
+      diff $out/test.ginsi sample.ginsi
+      diff $out/test.lins1 sample.lins1
+    '';
+  };
+
+  meta = with lib; {
+    description = "Multiple alignment program for amino acid or nucleotide sequences";
+    homepage = "https://mafft.cbrc.jp/alignment/software/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ natsukium ];
+    platforms = platforms.unix;
+  };
+})
diff --git a/pkgs/applications/science/biology/seqtk/default.nix b/pkgs/applications/science/biology/seqtk/default.nix
index 417bec9c062fb..856248de917db 100644
--- a/pkgs/applications/science/biology/seqtk/default.nix
+++ b/pkgs/applications/science/biology/seqtk/default.nix
@@ -19,14 +19,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib libdeflate isa-l ];
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [
+    "CC:=$(CC)"
+    "BINDIR=$(out)/bin"
+  ];
 
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 -t $out/bin seqtk
-
-    runHook postInstall
+  preInstall = ''
+    mkdir -p "$out/bin"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/science/biology/sortmerna/default.nix b/pkgs/applications/science/biology/sortmerna/default.nix
index d47aae9ce6658..c19556318843b 100644
--- a/pkgs/applications/science/biology/sortmerna/default.nix
+++ b/pkgs/applications/science/biology/sortmerna/default.nix
@@ -1,5 +1,16 @@
-{ lib, stdenv, cmake, rocksdb, rapidjson, pkg-config, fetchFromGitHub, zlib }:
-
+{ lib
+, stdenv
+, cmake
+, rocksdb_8_3
+, rapidjson
+, pkg-config
+, fetchFromGitHub
+, zlib
+}:
+
+let
+  rocksdb = rocksdb_8_3;
+in
 stdenv.mkDerivation rec {
   pname = "sortmerna";
   version = "4.2.0";
diff --git a/pkgs/applications/science/chemistry/pymol/default.nix b/pkgs/applications/science/chemistry/pymol/default.nix
index 0e4728dd65d6f..1733ba2f236c9 100644
--- a/pkgs/applications/science/chemistry/pymol/default.nix
+++ b/pkgs/applications/science/chemistry/pymol/default.nix
@@ -38,33 +38,75 @@ let
 in
 python3Packages.buildPythonApplication rec {
   inherit pname;
-  version = "2.5.0";
+  version = "3.0.0";
+  pyproject = true;
+
   src = fetchFromGitHub {
     owner = "schrodinger";
     repo = "pymol-open-source";
     rev = "v${version}";
-    sha256 = "sha256-JdsgcVF1w1xFPZxVcyS+GcWg4a1Bd4SvxFOuSdlz9SM=";
+    hash = "sha256-GhTHxacjGN7XklZ6gileBMRZAGq4Pp4JknNL+qGqrVE=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace-fail "self.install_libbase" '"${placeholder "out"}/${python3.sitePackages}"'
+  '';
+
+  build-system = [
+    python3Packages.setuptools
+  ];
+
   nativeBuildInputs = [ qt5.wrapQtAppsHook ];
   buildInputs = [ python3Packages.numpy python3Packages.pyqt5 glew glm libpng libxml2 freetype msgpack netcdf ];
   env.NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2";
-  hardeningDisable = [ "format" ];
-
-  installPhase = ''
-    python setup.py install --home="$out"
-    runHook postInstall
-  '';
 
   postInstall = with python3Packages; ''
     wrapProgram $out/bin/pymol \
       --prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" python3.sitePackages [ pyqt5 pyqt5.pyqt5-sip ]}
 
     mkdir -p "$out/share/icons/"
-    ln -s ../../lib/python/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg"
+    ln -s $out/${python3.sitePackages}/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg"
+  '' + lib.optionalString stdenv.hostPlatform.isLinux ''
     cp -r "${desktopItem}/share/applications/" "$out/share/"
   '';
 
+  pythonImportsCheck = [
+    "pymol"
+  ];
+
+  nativeCheckInputs = with python3Packages; [
+    python3Packages.msgpack
+    pillow
+    pytestCheckHook
+  ];
+
+  # some tests hang for some reason
+  doCheck = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
+
+  disabledTestPaths = [
+    # require biopython which is broken as of 2024-04-20
+    "tests/api/seqalign.py"
+  ];
+
+  disabledTests = [
+    # the output image does not exactly match
+    "test_commands"
+    # touch the network
+    "testFetch"
+    # requires collada2gltf which is not included in nixpkgs
+    "testglTF"
+    # require mmtf-cpp which does not support darwin
+    "testMMTF"
+    "testSave_symmetry__mmtf"
+  ];
+
+  preCheck = ''
+    cd testing
+  '';
+
+  __darwinAllowLocalNetworking = true;
+
   preFixup = ''
     wrapQtApp "$out/bin/pymol"
   '';
@@ -74,6 +116,6 @@ python3Packages.buildPythonApplication rec {
     mainProgram = "pymol";
     homepage = "https://www.pymol.org/";
     license = licenses.mit;
-    maintainers = with maintainers; [ samlich ];
+    maintainers = with maintainers; [ natsukium samlich ];
   };
 }
diff --git a/pkgs/applications/science/electronics/digital/default.nix b/pkgs/applications/science/electronics/digital/default.nix
index 41deecbb62247..7619e43e80332 100644
--- a/pkgs/applications/science/electronics/digital/default.nix
+++ b/pkgs/applications/science/electronics/digital/default.nix
@@ -3,17 +3,18 @@
 }:
 
 let
+  pname = "digital";
   pkgDescription = "A digital logic designer and circuit simulator.";
   version = "0.30";
   buildDate = "2023-02-03T08:00:56+01:00"; # v0.30 commit date
 
   desktopItem = makeDesktopItem {
     type = "Application";
-    name = "Digital";
-    desktopName = pkgDescription;
+    name = pname;
+    desktopName = "Digital";
     comment = "Easy-to-use digital logic designer and circuit simulator";
-    exec = "digital";
-    icon = "digital";
+    exec = pname;
+    icon = pname;
     categories = [ "Education" "Electronics" ];
     mimeTypes = [ "text/x-digital" ];
     terminal = false;
@@ -28,8 +29,7 @@ let
   mvnParameters = "-Pno-git-rev -Dgit.commit.id.describe=${version} -Dproject.build.outputTimestamp=${buildDate} -DbuildTimestamp=${buildDate}";
 in
 maven.buildMavenPackage rec {
-  pname = "digital";
-  inherit version jre;
+  inherit pname version jre;
 
   src = fetchFromGitHub {
     owner = "hneemann";
@@ -44,6 +44,8 @@ maven.buildMavenPackage rec {
   nativeBuildInputs = [ copyDesktopItems makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     mkdir -p $out/share/java
 
@@ -53,6 +55,13 @@ maven.buildMavenPackage rec {
     makeWrapper ${jre}/bin/java $out/bin/${pname} \
       --add-flags "-classpath $out/share/java/${pname}-${version}.jar:''${classpath#:}" \
       --add-flags "-jar $out/share/java/Digital.jar"
+
+    install -Dm644 src/main/svg/icon.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg
+    for size in 16 32 48 64 128; do
+      install -Dm644 src/main/resources/icons/icon"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+    done
+
+    runHook postInstall
   '';
 
   desktopItems = [ desktopItem ];
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index 7b7b54201bf7d..584f59ba8b472 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkwave";
-  version = "3.3.118";
+  version = "3.3.119";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
-    sha256 = "sha256-D0MwwCiiqz0vTUzur222kl2wEMS2/VLRECLQ5d6gSGo=";
+    sha256 = "sha256-6rPgnnZBEVwHhIv7MPfdDDu+K4y+RQF+leB327pqwDg=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index 36114fff73a35..4c55703edccf4 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,23 +3,23 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"8.0.1";
+      version =			"8.0.2";
       src = {
-        rev =			"20421d65e5a7ede894345d337ab47b469f5ba154";
-        sha256 =		"096kvmm96ccxir1rspgzzjkp6y2j80l3w2vphg9iv3drxmjp7qjv";
+        rev =			"55a4d4f5e2f54be6ccf74a8919d04684c9df4c50";
+        sha256 =		"069ycii9zvdxwxd73afd6bp975r1555yvifi9zdb77qyvn0d9nr9";
       };
     };
     libVersion = {
-      version =			"8.0.1";
+      version =			"8.0.2";
       libSources = {
-        symbols.rev =		"d6aff3948edfca2bacf36900ff080f6b3f65fe4c";
-        symbols.sha256 =	"00xnvikmqd1zkg9p1f89kvryvkybl5f20baij6babqyc29nbzkwy";
-        templates.rev =		"0a6c4f798a68a5c639d54b4d3093460ab9267816";
-        templates.sha256 =	"0m9bggz3cm27kqpjjwxy19mqzk0c69bywcjkqcni7kafr21c6k4z";
-        footprints.rev =	"226b4f3d5c10a4126d88b895188bdab629fe60b0";
-        footprints.sha256 =	"1bb3mb2a7vkridgmqqm9ib3hv2m4zx1i14mglb11sribypy0ma5p";
-        packages3d.rev =	"49c1cd4017499b8a7f6dedbe7ede834d1713eb28";
-        packages3d.sha256 =	"0b5jwr5bbd0kzb75nj3028knjrv0872dk54sbsnxaz669q8zaxap";
+        symbols.rev =		"099ac0c8ac402a685fde00b1369e34a116e29661";
+        symbols.sha256 =	"0w333f89yw2m0zlpkg0k6hfwlj10snm8laihdjnsb22asyz4pbhn";
+        templates.rev =		"2e2da58e02707d327d59d4101c401a82dc9a26f6";
+        templates.sha256 =	"073a6cyvzzy0vmkj3ip4ziq7b7pcizs70nm5acw838dxghjfyv3v";
+        footprints.rev =	"e8c30550cde4945cbe1bf30cccf0b3c1e2bda6c6";
+        footprints.sha256 =	"10j8qjljc1fv8k4zp3zn0da33g57hn6pgrgmbgp18dsa539xvxcz";
+        packages3d.rev =	"249f7947587529026e1676cd70c8d7493a8d8162";
+        packages3d.sha256 =	"04gvfb54jhnww2qwrxc27wpyrvmjasdc4xhr0ridl7dglh4qcp35";
       };
     };
   };
diff --git a/pkgs/applications/science/electronics/simulide/default.nix b/pkgs/applications/science/electronics/simulide/default.nix
index 613ec21dbd961..9053bcfe58e50 100644
--- a/pkgs/applications/science/electronics/simulide/default.nix
+++ b/pkgs/applications/science/electronics/simulide/default.nix
@@ -1,36 +1,33 @@
-{ lib
-, fetchbzr
-, mkDerivation
-, qmake
-, qtserialport
-, qtmultimedia
-, qttools
-, qtscript
+{
+  lib,
+  fetchbzr,
+  mkDerivation,
+  qmake,
+  qtserialport,
+  qtmultimedia,
+  qttools,
+  qtscript,
 }:
 
 let
   generic =
-    { version
-    , release
-    , branch
-    , rev
-    , sha256
-    , extraPostPatch ? ""
-    , extraBuildInputs ? [ ]
-    , iconPath ? "resources/icons/simulide.png"
-    , installFiles ? ''
+    {
+      version,
+      release,
+      rev,
+      src,
+      extraPostPatch ? "",
+      extraBuildInputs ? [ ],
+      iconPath ? "resources/icons/simulide.png",
+      installFiles ? ''
         cp -r data examples $out/share/simulide
         cp simulide $out/bin/simulide
-      ''
+      '',
     }:
     mkDerivation {
       pname = "simulide";
       version = "${version}-${release}";
-
-      src = fetchbzr {
-        url = "https://code.launchpad.net/~arcachofo/simulide/${branch}";
-        inherit rev sha256;
-      };
+      inherit src;
 
       postPatch = ''
         sed -i resources/simulide.desktop \
@@ -51,9 +48,7 @@ let
         cd build_XX
       '';
 
-      nativeBuildInputs = [
-        qmake
-      ];
+      nativeBuildInputs = [ qmake ];
 
       buildInputs = [
         qtserialport
@@ -85,18 +80,25 @@ let
         homepage = "https://simulide.com/";
         license = lib.licenses.gpl3Only;
         mainProgram = "simulide";
-        maintainers = with lib.maintainers; [ carloscraveiro tomasajt ];
+        maintainers = with lib.maintainers; [
+          carloscraveiro
+          tomasajt
+        ];
         platforms = [ "x86_64-linux" ];
       };
     };
 in
 {
-  simulide_0_4_15 = generic {
+  simulide_0_4_15 = generic rec {
     version = "0.4.15";
     release = "SR10";
-    branch = "simulide_0.4.14"; # the branch name does not mach the version for some reason
     rev = "291";
-    sha256 = "sha256-BBoZr/S2pif0Jft5wrem8y00dXl08jq3kFiIUtOr3LM=";
+    src = fetchbzr {
+      # the branch name does not mach the version for some reason
+      url = "https://code.launchpad.net/~arcachofo/simulide/simulide_0.4.14";
+      sha256 = "sha256-BBoZr/S2pif0Jft5wrem8y00dXl08jq3kFiIUtOr3LM=";
+      inherit rev;
+    };
     extraPostPatch = ''
       # GCC 13 needs the <cstdint> header explicitly included
       sed -i src/gpsim/value.h -e '1i #include <cstdint>'
@@ -110,20 +112,26 @@ in
     '';
   };
 
-  simulide_1_0_0 = generic {
+  simulide_1_0_0 = generic rec {
     version = "1.0.0";
     release = "SR2";
-    branch = "1.0.0";
     rev = "1449";
-    sha256 = "sha256-rJWZvnjVzaKXU2ktbde1w8LSNvu0jWkDIk4dq2l7t5g=";
+    src = fetchbzr {
+      url = "https://code.launchpad.net/~arcachofo/simulide/1.0.0";
+      sha256 = "sha256-rJWZvnjVzaKXU2ktbde1w8LSNvu0jWkDIk4dq2l7t5g=";
+      inherit rev;
+    };
     extraBuildInputs = [ qtscript ];
   };
 
-  simulide_1_1_0 = generic {
+  simulide_1_1_0 = generic rec {
     version = "1.1.0";
     release = "SR0";
-    branch = "1.1.0";
     rev = "1917";
-    sha256 = "sha256-qNBaGWl89Le9uC1VFK+xYhrLzIvOIWjkQbutnrAmZ2M=";
+    src = fetchbzr {
+      url = "https://code.launchpad.net/~arcachofo/simulide/1.1.0";
+      sha256 = "sha256-qNBaGWl89Le9uC1VFK+xYhrLzIvOIWjkQbutnrAmZ2M=";
+      inherit rev;
+    };
   };
 }
diff --git a/pkgs/applications/science/engineering/brmodelo/default.nix b/pkgs/applications/science/engineering/brmodelo/default.nix
index c484260d25f37..09225fcd5948c 100644
--- a/pkgs/applications/science/engineering/brmodelo/default.nix
+++ b/pkgs/applications/science/engineering/brmodelo/default.nix
@@ -2,27 +2,34 @@
 , stdenv
 , fetchFromGitHub
 , fetchpatch
-, openjdk8
 , ant
+, jdk8
 , makeWrapper
 , makeDesktopItem
 , copyDesktopItems
+, strip-nondeterminism
+, stripJavaArchivesHook
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "brmodelo";
   version = "3.31";
 
   src = fetchFromGitHub {
     owner = "chcandido";
-    repo = pname;
-    rev = version;
-    sha256 = "09qrhqhv264x8phnf3pnb0cwq75l7xdsj9xkwlvhry81nxz0d5v0";
+    repo = "brmodelo";
+    rev = finalAttrs.version;
+    hash = "sha256-YJcGfrcB+Qw35bMnqVs/tBzMGVj2DmfhRZ0YsSGGGSc=";
   };
 
-  nativeBuildInputs = [ ant makeWrapper copyDesktopItems ];
-
-  buildInputs = [ openjdk8 ];
+  nativeBuildInputs = [
+    ant
+    jdk8
+    makeWrapper
+    copyDesktopItems
+    strip-nondeterminism
+    stripJavaArchivesHook
+  ];
 
   patches = [
     # Fixes for building with Ant.
@@ -30,22 +37,22 @@ stdenv.mkDerivation rec {
     (fetchpatch {
       name = "fix-self-closing-element-not-allowed.patch";
       url = "https://github.com/yuuyins/brModelo/commit/0d712b74fd5d29d67be07480ed196da28a77893b.patch";
-      sha256 = "sha256-yy03arE6xetotzyvpToi9o9crg3KnMRn1J70jDUvSXE=";
+      hash = "sha256-yy03arE6xetotzyvpToi9o9crg3KnMRn1J70jDUvSXE=";
     })
     (fetchpatch {
       name = "fix-tag-closing.patch";
       url = "https://github.com/yuuyins/brModelo/commit/e8530ff75f024cf6effe0408ed69985405e9709c.patch";
-      sha256 = "sha256-MNuh/ORbaAkB5qDSlA/nPrXN+tqzz4oOglVyEtSangI=";
+      hash = "sha256-MNuh/ORbaAkB5qDSlA/nPrXN+tqzz4oOglVyEtSangI=";
     })
     (fetchpatch {
       name = "fix-bad-use-greater-than.patch";
       url = "https://github.com/yuuyins/brModelo/commit/498a6ef8129daff5a472b318f93c8f7f2897fc7f.patch";
-      sha256 = "sha256-MmAwYUmx38DGRsiSxCWCObtpqxk0ykUQiDSC76bCpFc=";
+      hash = "sha256-MmAwYUmx38DGRsiSxCWCObtpqxk0ykUQiDSC76bCpFc=";
     })
     (fetchpatch {
       name = "fix-param-errors.patch";
       url = "https://github.com/yuuyins/brModelo/commit/8a508aaba0bcffe13a3f95cff495230beea36bc4.patch";
-      sha256 = "sha256-qME9gZChSMzu1vs9HaosD+snb+jlOrQLY97meNoA8oU=";
+      hash = "sha256-qME9gZChSMzu1vs9HaosD+snb+jlOrQLY97meNoA8oU=";
     })
 
     # Add SVG icons.
@@ -53,12 +60,14 @@ stdenv.mkDerivation rec {
     (fetchpatch {
       name = "add-brmodelo-logo-icons-svg.patch";
       url = "https://github.com/yuuyins/brModelo/commit/f260b82b664fad3325bbf3ebd7a15488d496946b.patch";
-      sha256 = "sha256-UhgcWxsHkNFS1GgaRnmlZohjDR8JwHof2cIb3SBetYs=";
+      hash = "sha256-UhgcWxsHkNFS1GgaRnmlZohjDR8JwHof2cIb3SBetYs=";
     })
   ];
 
   buildPhase = ''
+    runHook postBuild
     ant
+    runHook preBuild
   '';
 
   desktopItems = [
@@ -68,15 +77,16 @@ stdenv.mkDerivation rec {
       genericName = "Entity-relationship diagramming tool";
       exec = "brmodelo";
       icon = "brmodelo";
-      comment = meta.description;
+      comment = finalAttrs.meta.description;
       categories = [ "Development" "Education" "Database" "2DGraphics" "ComputerScience" "DataVisualization" "Engineering" "Java" ];
     })
   ];
 
   installPhase = ''
-    install -d $out/bin $out/share/doc/${pname} $out/share/java
+    runHook preInstall
 
-    cp -rv ./dist/javadoc $out/share/doc/${pname}/
+    mkdir -p $out/share/doc/brmodelo
+    cp -rv ./dist/javadoc $out/share/doc/brmodelo/
 
     install -Dm755 ./dist/brModelo.jar -t $out/share/java/
     # NOTE: The standard Java GUI toolkit has a
@@ -85,26 +95,28 @@ stdenv.mkDerivation rec {
     # in WMs that are not in that list (e.g. XMonad).
     # Solution/Workaround: set the environment variable
     # _JAVA_AWT_WM_NONREPARENTING=1.
-    makeWrapper ${openjdk8}/bin/java $out/bin/brmodelo \
+    makeWrapper ${jdk8}/bin/java $out/bin/brmodelo \
        --prefix _JAVA_AWT_WM_NONREPARENTING : 1 \
        --prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on" \
        --add-flags "-jar $out/share/java/brModelo.jar"
 
-    runHook postInstall
-  '';
-
-  postInstall = ''
     for size in 16 24 32 48 64 128 256; do
       install -Dm644 ./src/imagens/icone_"$size"x"$size".svg \
         $out/share/icons/hicolor/"$size"x"$size"/apps/brmodelo.svg
     done
+
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    find $out/share/doc/brmodelo/javadoc -name "*.html" -exec strip-nondeterminism --type javadoc {} +
   '';
 
   meta = with lib; {
     description = "Entity-relationship diagram tool for making conceptual and logical database models";
-    mainProgram = "brmodelo";
     homepage = "https://github.com/chcandido/brModelo";
     license = licenses.gpl3;
+    mainProgram = "brmodelo";
     maintainers = with maintainers; [ yuu ];
   };
-}
+})
diff --git a/pkgs/applications/science/logic/cedille/default.nix b/pkgs/applications/science/logic/cedille/default.nix
index 4d026a2d9c7a3..fe12d5995a6f9 100644
--- a/pkgs/applications/science/logic/cedille/default.nix
+++ b/pkgs/applications/science/logic/cedille/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory";
     homepage = "https://cedille.github.io/";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam mpickering ];
+    maintainers = with maintainers; [ mpickering ];
     platforms = platforms.unix;
 
     # Broken due to Agda update.  See
diff --git a/pkgs/applications/science/logic/lean4/default.nix b/pkgs/applications/science/logic/lean4/default.nix
index 479b8a21744ce..ac41b03643dc7 100644
--- a/pkgs/applications/science/logic/lean4/default.nix
+++ b/pkgs/applications/science/logic/lean4/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
     changelog = "https://github.com/leanprover/lean4/blob/${finalAttrs.src.rev}/RELEASES.md";
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "lean";
   };
 })
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 1676ca4c2a4f1..74659a58f13ee 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -1,6 +1,6 @@
 { callPackage, fetchurl, lib, stdenv
 , ocamlPackages, coqPackages, rubber, hevea, emacs
-, version ? "1.7.1"
+, version ? "1.7.2"
 , ideSupport ? true
 , wrapGAppsHook
 }:
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz";
     hash = {
-      "1.7.1" = "sha256-rG1hcxFhQ2PlE9RTz9ELliDjCuSzLnJ1togRY637cU4=";
+      "1.7.2" = "sha256-VaSG/FiO2MDdSSFXGJJrIylQx0LPwtT8AF7TpPVZhCQ=";
       "1.6.0" = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw=";
     }."${version}";
   };
diff --git a/pkgs/applications/science/math/eigenmath/default.nix b/pkgs/applications/science/math/eigenmath/default.nix
index b39d7ae26079d..feddf92821c63 100644
--- a/pkgs/applications/science/math/eigenmath/default.nix
+++ b/pkgs/applications/science/math/eigenmath/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eigenmath";
-  version = "unstable-2024-04-08";
+  version = "0-unstable-2024-04-26";
 
   src = fetchFromGitHub {
     owner = "georgeweigt";
     repo = pname;
-    rev = "c0be6c47309aa40d44784a3a4c4c07bc4e8fb6fa";
-    hash = "sha256-UVCazX0P03+e1exnpXrGNc/1vHxLH04Xtvgsy00UAoI=";
+    rev = "14a55ff60d078b752033b4ae29d332b04b6e8912";
+    hash = "sha256-p7wcLmssTqs3LCkZWB9rhCXEc4IVgZJNBvRhS51oH5E=";
   };
 
   checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''
diff --git a/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch b/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch
deleted file mode 100644
index 91e080aa294a0..0000000000000
--- a/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/src/sage/libs/linbox/conversion.pxd b/src/sage/libs/linbox/conversion.pxd
-index 7794c9edc3..1753277b1f 100644
---- a/src/sage/libs/linbox/conversion.pxd
-+++ b/src/sage/libs/linbox/conversion.pxd
-@@ -177,9 +177,8 @@ cdef inline Vector_integer_dense new_sage_vector_integer_dense(P, DenseVector_in
-     - v -- linbox vector
-     """
-     cdef Vector_integer_dense res = P()
--    cdef cppvector[Integer] * vec = &v.refRep()
-     cdef size_t i
-     for i in range(<size_t> res._degree):
--        mpz_set(res._entries[i], vec[0][i].get_mpz_const())
-+        mpz_set(res._entries[i], v.getEntry(i).get_mpz_const())
- 
-     return res
-diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd
-index 9112d151f8..dcc482960c 100644
---- a/src/sage/libs/linbox/linbox.pxd
-+++ b/src/sage/libs/linbox/linbox.pxd
-@@ -32,7 +32,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
-         ctypedef Modular_double Field
-         ctypedef double Element
-         DenseMatrix_Modular_double(Field F, size_t m, size_t n)
--        DenseMatrix_Modular_double(Field F, Element*, size_t m, size_t n)
-+        DenseMatrix_Modular_double(Field F, size_t m, size_t n, Element*)
-         void setEntry(size_t i, size_t j, Element& a)
-         Element &getEntry(size_t i, size_t j)
- 
-@@ -42,7 +42,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
-         ctypedef Modular_float Field
-         ctypedef float Element
-         DenseMatrix_Modular_float(Field F, size_t m, size_t n)
--        DenseMatrix_Modular_float(Field F, Element*, size_t m, size_t n)
-+        DenseMatrix_Modular_float(Field F, size_t m, size_t n, Element*)
-         void setEntry(size_t i, size_t j, Element& a)
-         Element &getEntry(size_t i, size_t j)
- 
-@@ -101,7 +101,6 @@ cdef extern from "linbox/vector/vector.h":
-         DenseVector_integer (Field &F)
-         DenseVector_integer (Field &F, long& m)
-         DenseVector_integer (Field &F, cppvector[Integer]&)
--        cppvector[Element]& refRep()
-         size_t size()
-         void resize(size_t)
-         void resize(size_t n, const Element&)
-diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi
-index 010365d76f..3d60726ff9 100644
---- a/src/sage/matrix/matrix_modn_dense_template.pxi
-+++ b/src/sage/matrix/matrix_modn_dense_template.pxi
-@@ -219,7 +219,7 @@ cdef inline linbox_echelonize_efd(celement modulus, celement* entries, Py_ssize_
-         return 0,[]
- 
-     cdef ModField *F = new ModField(<long>modulus)
--    cdef DenseMatrix *A = new DenseMatrix(F[0], <ModField.Element*>entries,<Py_ssize_t>nrows, <Py_ssize_t>ncols)
-+    cdef DenseMatrix *A = new DenseMatrix(F[0], <Py_ssize_t>nrows, <Py_ssize_t>ncols, <ModField.Element*>entries)
-     cdef Py_ssize_t r = reducedRowEchelonize(A[0])
-     cdef Py_ssize_t i,j
-     for i in range(nrows):
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 00ef5d428337d..b1c9c62a5748b 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -60,6 +60,13 @@ stdenv.mkDerivation rec {
       url = "https://github.com/sagemath/sage/commit/1c3f991b9d3c5778e409e5414c6cfcd456113f19.diff";
       hash = "sha256-uCXchYx26DdxTjR1k2748KCEHPnekKS2fAM7SpyhNvM=";
     })
+
+    # https://github.com/sagemath/sage/pull/37763
+    (fetchpatch {
+      name = "scipy-fault-tolerance.patch";
+      url = "https://github.com/sagemath/sage/commit/547d502ed56f9fd44eb5d9b4ee0824746c60fef7.diff";
+      hash = "sha256-PR4przrZ3ieHaW2nSY7l7VhNfrUupu9yCIrXpeyoAgg=";
+    })
   ];
 
   # Patches needed because of package updates. We could just pin the versions of
diff --git a/pkgs/applications/science/math/scotch/default.nix b/pkgs/applications/science/math/scotch/default.nix
deleted file mode 100644
index 1eb057cfc7c5c..0000000000000
--- a/pkgs/applications/science/math/scotch/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchurl, bison, mpi, flex, zlib}:
-
-stdenv.mkDerivation rec {
-  version = "6.1.1";
-  pname = "scotch";
-  src_name = "scotch_${version}";
-
-  buildInputs = [ bison mpi flex zlib ];
-
-  src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/file/34618/${src_name}.tar.gz";
-    sha256 = "sha256-OQUvWf9HSkppzvwlzzyvhClACIneugEO5kA8oYj4sxE=";
-  };
-
-  sourceRoot = "${src_name}/src";
-
-  preConfigure = ''
-    ln -s Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc
-  '';
-
-  buildFlags = [ "scotch ptscotch" ];
-  installFlags = [ "prefix=\${out}" ];
-
-  meta = {
-    description = "Graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering";
-    longDescription = ''
-      Scotch is a software package for graph and mesh/hypergraph partitioning, graph clustering,
-      and sparse matrix ordering.
-    '';
-    homepage = "http://www.labri.fr/perso/pelegrin/scotch";
-    license = lib.licenses.cecill-c;
-    maintainers = [ lib.maintainers.bzizou ];
-    platforms = lib.platforms.linux;
-  };
-}
-
diff --git a/pkgs/applications/science/misc/gplates/boost-placeholders.patch b/pkgs/applications/science/misc/gplates/boost-placeholders.patch
deleted file mode 100644
index 7166b92f646af..0000000000000
--- a/pkgs/applications/science/misc/gplates/boost-placeholders.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff --unified --recursive a/src/gui/TopologyTools.cc b/src/gui/TopologyTools.cc
---- a/src/gui/TopologyTools.cc	2021-07-05 05:11:47.000000000 +0200
-+++ b/src/gui/TopologyTools.cc	2022-12-07 22:35:20.444054124 +0100
-@@ -3448,7 +3448,7 @@
- 			std::find_if(
- 					d_visible_boundary_section_seq.begin(),
- 					d_visible_boundary_section_seq.end(),
--					boost::bind(&VisibleSection::d_section_info_index, _1) ==
-+					boost::bind(&VisibleSection::d_section_info_index, boost::placeholders::_1) ==
- 						boost::cref(section_index));
- 
- 	if (visible_section_iter == d_visible_boundary_section_seq.end())
-@@ -3467,7 +3467,7 @@
- 			std::find_if(
- 					d_visible_interior_section_seq.begin(),
- 					d_visible_interior_section_seq.end(),
--					boost::bind(&VisibleSection::d_section_info_index, _1) ==
-+					boost::bind(&VisibleSection::d_section_info_index, boost::placeholders::_1) ==
- 						boost::cref(section_index));
- 
- 	if (visible_section_iter == d_visible_interior_section_seq.end())
-diff --unified --recursive a/src/presentation/ReconstructionGeometryRenderer.cc b/src/presentation/ReconstructionGeometryRenderer.cc
---- a/src/presentation/ReconstructionGeometryRenderer.cc	2021-07-05 05:11:50.000000000 +0200
-+++ b/src/presentation/ReconstructionGeometryRenderer.cc	2022-12-07 22:36:11.117884262 +0100
-@@ -274,7 +274,7 @@
- GPlatesPresentation::ReconstructionGeometryRenderer::RenderParamsPopulator::visit_reconstruct_visual_layer_params(
- 		const ReconstructVisualLayerParams &params)
- {
--	d_render_params.show_vgp = boost::bind(&ReconstructVisualLayerParams::show_vgp, &params, _1, _2);
-+	d_render_params.show_vgp = boost::bind(&ReconstructVisualLayerParams::show_vgp, &params, boost::placeholders::_1, boost::placeholders::_2);
- 	d_render_params.vgp_draw_circular_error = params.get_vgp_draw_circular_error();
- 	d_render_params.fill_polygons = params.get_fill_polygons();
- 	d_render_params.fill_polylines = params.get_fill_polylines();
-diff --unified --recursive a/src/presentation/VisualLayerRegistry.cc b/src/presentation/VisualLayerRegistry.cc
---- a/src/presentation/VisualLayerRegistry.cc	2021-07-05 05:11:50.000000000 +0200
-+++ b/src/presentation/VisualLayerRegistry.cc	2022-12-07 22:38:12.950877614 +0100
-@@ -448,7 +448,7 @@
- 			&GPlatesQtWidgets::ReconstructScalarCoverageLayerOptionsWidget::create,
- 			boost::bind(
- 					&ReconstructScalarCoverageVisualLayerParams::create,
--					_1),
-+					boost::placeholders::_1),
- 			true);
- 
- 	registry.register_visual_layer_type(
-@@ -498,7 +498,7 @@
- 					// NOTE: We pass in ViewState and not the GlobeAndMapWidget, obtained from
- 					// ViewportWindow, because ViewportWindow is not yet available (a reference to
- 					// it not yet been initialised inside ViewState) so accessing it would crash...
--					_1, boost::ref(view_state)),
-+					boost::placeholders::_1, boost::ref(view_state)),
- 			true);
- 
- 	// DERIVED_DATA group.
-@@ -549,7 +549,7 @@
- 			&GPlatesQtWidgets::VelocityFieldCalculatorLayerOptionsWidget::create,
- 			boost::bind(
- 					&VelocityFieldCalculatorVisualLayerParams::create,
--					_1, boost::cref(view_state.get_rendered_geometry_parameters())),
-+					boost::placeholders::_1, boost::cref(view_state.get_rendered_geometry_parameters())),
- 			true);
- 
- 	using namespace  GPlatesUtils;
-diff --unified --recursive a/src/qt-widgets/ViewportWindow.cc b/src/qt-widgets/ViewportWindow.cc
---- a/src/qt-widgets/ViewportWindow.cc	2021-08-05 05:44:01.000000000 +0200
-+++ b/src/qt-widgets/ViewportWindow.cc	2022-12-07 22:39:20.487981302 +0100
-@@ -326,7 +326,7 @@
- 			*d_geometry_operation_state_ptr,
- 			*d_modify_geometry_state,
- 			*d_measure_distance_state_ptr,
--			boost::bind(&canvas_tool_status_message, boost::ref(*this), _1),
-+			boost::bind(&canvas_tool_status_message, boost::ref(*this), boost::placeholders::_1),
- 			get_view_state(),
- 			*this);
- 
diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix
index 74dd61a2228c5..5c2c4cabc9f12 100644
--- a/pkgs/applications/science/misc/gplates/default.nix
+++ b/pkgs/applications/science/misc/gplates/default.nix
@@ -33,13 +33,13 @@ let
   };
 in stdenv.mkDerivation (finalAttrs: {
   pname = "gplates";
-  version = "2.4";
+  version = "2.5";
 
   src = fetchFromGitHub {
     owner = "GPlates";
     repo = "GPlates";
     rev = "GPlates-${finalAttrs.version}";
-    hash = "sha256-BRvrqczGguE2z44ZboxeJxgWEA+t02XkzvU+yF4ki6s=";
+    hash = "sha256-3fEwm5EKK9RcRbnyUejgwfjdsXaujjZjoMbq/BbVMeM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch b/pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch
deleted file mode 100644
index 6e90faf9f0373..0000000000000
--- a/pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc b/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc
-index ca353c4099..499be0a986 100644
---- a/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc
-+++ b/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc
-@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() {
-   // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
-   // the alternative stack. Ensure that the size of the alternative stack is
-   // large enough.
--  static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-+  const unsigned kSigStackSize = std::max<unsigned>(16384, SIGSTKSZ);
- 
-   // Only set an alternative stack if there isn't already one, or if the current
-   // one is too small.
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 9548db1c7c479..59bb9415b37d9 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -53,12 +53,11 @@
 , Cocoa
 , CoreSymbolication
 , OpenGL
-, noSplash ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "root";
-  version = "6.30.04";
+  version = "6.30.06";
 
   passthru = {
     tests = import ./tests { inherit callPackage; };
@@ -66,7 +65,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    hash = "sha256-K0GAtpjznMZdkQhNgzqIRRWzJbxfZzyOOavoGLAl2Mw=";
+    hash = "sha256-MA237RtnjtL7ljXKZ1khoZRcfCED2oQAM7STCR9VcAw=";
   };
 
   nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
@@ -143,8 +142,6 @@ stdenv.mkDerivation rec {
       -e '1iset(nlohmann_json_DIR "${nlohmann_json}/lib/cmake/nlohmann_json/")'
 
     patchShebangs build/unix/
-  '' + lib.optionalString noSplash ''
-    substituteInPlace rootx/src/rootx.cxx --replace "gNoLogo = false" "gNoLogo = true"
   '' + lib.optionalString stdenv.isDarwin ''
     # Eliminate impure reference to /System/Library/PrivateFrameworks
     substituteInPlace core/macosx/CMakeLists.txt \
@@ -163,10 +160,6 @@ stdenv.mkDerivation rec {
     "-Dbuiltin_gtest=OFF"
     "-Dbuiltin_nlohmannjson=OFF"
     "-Dbuiltin_openui5=ON"
-    "-Dalien=OFF"
-    "-Dbonjour=OFF"
-    "-Dcastor=OFF"
-    "-Dchirp=OFF"
     "-Dclad=OFF"
     "-Ddavix=ON"
     "-Ddcache=OFF"
@@ -176,21 +169,13 @@ stdenv.mkDerivation rec {
     "-Dfortran=OFF"
     "-Dgnuinstall=ON"
     "-Dimt=ON"
-    "-Dgfal=OFF"
     "-Dgviz=OFF"
-    "-Dhdfs=OFF"
     "-Dhttp=ON"
-    "-Dkrb5=OFF"
-    "-Dldap=OFF"
-    "-Dmonalisa=OFF"
     "-Dmysql=OFF"
     "-Dodbc=OFF"
     "-Dopengl=ON"
-    "-Doracle=OFF"
     "-Dpgsql=OFF"
-    "-Dpythia6=OFF"
     "-Dpythia8=OFF"
-    "-Drfio=OFF"
     "-Droot7=ON"
     "-Dsqlite=OFF"
     "-Dssl=ON"
@@ -204,16 +189,12 @@ stdenv.mkDerivation rec {
   ++ lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${lib.getDev stdenv.cc.libc}/include"
   ++ lib.optionals stdenv.isDarwin [
     "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks"
-    "-DCMAKE_DISABLE_FIND_PACKAGE_Python2=TRUE"
 
     # fatal error: module map file '/nix/store/<hash>-Libsystem-osx-10.12.6/include/module.modulemap' not found
     # fatal error: could not build module '_Builtin_intrinsics'
     "-Druntime_cxxmodules=OFF"
   ];
 
-  # suppress warnings from compilation of the vendored clang to avoid running into log limits on the Hydra
-  NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-Wno-shadow" "-Wno-maybe-uninitialized" ];
-
   postInstall = ''
     for prog in rootbrowse rootcp rooteventselector rootls rootmkdir rootmv rootprint rootrm rootslimtree; do
       wrapProgram "$out/bin/$prog" \
@@ -273,7 +254,7 @@ stdenv.mkDerivation rec {
     homepage = "https://root.cern.ch/";
     description = "A data analysis framework";
     platforms = platforms.unix;
-    maintainers = [ maintainers.veprbl ];
+    maintainers = [ maintainers.guitargeek maintainers.veprbl ];
     license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index d355412e54f0a..fa670b85621c0 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "8.10.6";
+  version = "8.11.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-THp8sqAFZVA5V2k0ruv9qwmPNjSVi2uVx8tla0Y3awE=";
+    hash = "sha256-bAzhQMGI4t/ftcZnz6h/PmlDlGgMU8vFVHb9QXED/Hw=";
     # https://github.com/python-versioneer/python-versioneer/issues/217
     postFetch = ''
       sed -i "$out"/snakemake/_version.py -e 's#git_refnames = ".*"#git_refnames = " (tag: v${version})"#'
diff --git a/pkgs/applications/science/physics/crystfel/default.nix b/pkgs/applications/science/physics/crystfel/default.nix
index 92b48ec863091..33f2043603177 100644
--- a/pkgs/applications/science/physics/crystfel/default.nix
+++ b/pkgs/applications/science/physics/crystfel/default.nix
@@ -6,15 +6,16 @@
 , fetchzip
 , cmake
 , lz4
+, gfortran
 , bzip2
-, m4
 , hdf5
 , gsl
 , unzip
 , makeWrapper
+, zlib
 , meson
-, git
 , ninja
+, pandoc
 , eigen
 , pkg-config
 , wrapGAppsHook
@@ -40,7 +41,7 @@ let
     pname = "libccp4";
     version = "8.0.0";
     src = fetchurl {
-      url = "https://ftp.ccp4.ac.uk/opensource/${pname}-${version}.tar.gz";
+      url = "https://ftp.ccp4.ac.uk/opensource/libccp4-${version}.tar.gz";
       hash = "sha256-y4E66GYSoIZjKd6rfO6W6sVz2BvlskA0HUD5rVMi/y0=";
     };
     nativeBuildInputs = [ meson ninja ];
@@ -87,7 +88,7 @@ let
           };
       mosflmBinary = if stdenv.isDarwin then "bin/mosflm" else "mosflm-linux-64-noX11";
     in
-    stdenv.mkDerivation rec {
+    stdenv.mkDerivation {
       pname = "mosflm";
 
       inherit version src;
@@ -111,7 +112,7 @@ let
     pname = "xgandalf";
     version = "c6c5003ff1086e8c0fb5313660b4f02f3a3aab7b";
     src = fetchurl {
-      url = "https://gitlab.desy.de/thomas.white/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
+      url = "https://gitlab.desy.de/thomas.white/xgandalf/-/archive/${version}/xgandalf-${version}.tar.gz";
       hash = "sha256-/uZlBwAINSoYqgLQFTMz8rS1Rpadu79JkO6Bu/+Nx9E=";
     };
 
@@ -121,10 +122,10 @@ let
 
   pinkIndexer = stdenv.mkDerivation rec {
     pname = "pinkindexer";
-    version = "5d4e016941eb2a9e50a10df96ded7ff1e2464503";
+    version = "15caa21191e27e989b750b29566e4379bc5cd21a";
     src = fetchurl {
       url = "https://gitlab.desy.de/thomas.white/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
-      hash = "sha256-VnJOJJ247dNoBlos4Fu3GQBlAnTk9el+yZDRiicJtu0=";
+      hash = "sha256-v/SCJiHAV05Lc905y/dE8uBXlW+lLX9wau4XORYdbQg=";
     };
 
     nativeBuildInputs = [ meson pkg-config ninja ];
@@ -169,13 +170,27 @@ let
       "-DENABLE_BZIP2_PLUGIN=yes"
     ];
   };
+
+  millepede-ii = stdenv.mkDerivation rec {
+    pname = "millepede-ii";
+    version = "04-13-06";
+    src = fetchurl {
+      url = "https://gitlab.desy.de/claus.kleinwort/millepede-ii/-/archive/V${version}/millepede-ii-V${version}.tar.gz";
+      hash = "sha256-aFoo8AGBsUEN2u3AmnSpTqJ6JeNV6j9vkAFTZ34I+sI=";
+    };
+
+    nativeBuildInputs = [ gfortran ];
+    buildInputs = [ zlib ];
+
+    makeFlags = [ "PREFIX=$(out)" ];
+  };
 in
 stdenv.mkDerivation rec {
   pname = "crystfel";
-  version = "0.10.2";
+  version = "0.11.0";
   src = fetchurl {
-    url = "https://www.desy.de/~twhite/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-nCO9ndDKS54bVN9IhFBiCVNzqk7BsCljXFrOmlx+sP4=";
+    url = "https://www.desy.de/~twhite/crystfel/crystfel-${version}.tar.gz";
+    sha256 = "sha256-ogNHWYfbxRmB5TdK8K0JpcCnYOOyXapQGSPh8mfp+Tc=";
   };
   nativeBuildInputs = [ meson pkg-config ninja flex bison doxygen opencl-headers makeWrapper ]
     ++ lib.optionals withGui [ wrapGAppsHook ];
@@ -192,6 +207,7 @@ stdenv.mkDerivation rec {
     mosflm
     pinkIndexer
     xgandalf
+    pandoc
   ] ++ lib.optionals withGui [ gtk3 gdk-pixbuf ]
   ++ lib.optionals stdenv.isDarwin [
     argp-standalone
@@ -201,12 +217,12 @@ stdenv.mkDerivation rec {
   ++ lib.optionals withBitshuffle [ hdf5-external-filter-plugins ];
 
   patches = [
+    # on darwin at least, we need to link to a separate argp library;
+    # this patch adds a test for this and the necessary linker options
     ./link-to-argp-standalone-if-needed.patch
-    ./disable-fmemopen-on-aarch64-darwin.patch
-    (fetchpatch {
-      url = "https://gitlab.desy.de/thomas.white/crystfel/-/commit/3c54d59e1c13aaae716845fed2585770c3ca9d14.diff";
-      hash = "sha256-oaJNBQQn0c+z4p1pnW4osRJA2KdKiz4hWu7uzoKY7wc=";
-    })
+    # hotfix for an issue that occurs (at least) on NixOS:
+    # if the temporary path is too long, we get a segfault
+    ./gui-path-issue.patch
   ];
 
   # CrystFEL calls mosflm by searching PATH for it. We could've create a wrapper script that sets the PATH, but
@@ -218,7 +234,9 @@ stdenv.mkDerivation rec {
 
   postInstall = lib.optionalString withBitshuffle ''
     for file in $out/bin/*; do
-      wrapProgram $file --set HDF5_PLUGIN_PATH ${hdf5-external-filter-plugins}/lib/plugins
+      wrapProgram $file \
+        --set HDF5_PLUGIN_PATH ${hdf5-external-filter-plugins}/lib/plugins \
+        --prefix PATH ":" ${lib.makeBinPath [ millepede-ii ]}
     done
   '';
 
diff --git a/pkgs/applications/science/physics/crystfel/gui-path-issue.patch b/pkgs/applications/science/physics/crystfel/gui-path-issue.patch
new file mode 100644
index 0000000000000..28cd0280e8f67
--- /dev/null
+++ b/pkgs/applications/science/physics/crystfel/gui-path-issue.patch
@@ -0,0 +1,27 @@
+diff --git a/src/gui_index.c b/src/gui_index.c
+index 2cc8e8db..13be77d5 100644
+--- a/src/gui_index.c
++++ b/src/gui_index.c
+@@ -540,6 +540,7 @@ static void delete_gui_tempdir(char *tmpdir)
+ {
+ 	char *path;
+ 	int i;
++	size_t pathlen;
+ 
+ 	/* List of files which it's safe to delete */
+ 	char *files[] = {"gmon.out", "mosflm.lp", "SUMMARY", "XDS.INP",
+@@ -552,11 +553,12 @@ static void delete_gui_tempdir(char *tmpdir)
+ 
+ 	if ( tmpdir == NULL ) return;
+ 
+-	path = calloc(strlen(tmpdir)+64, 1);
++	pathlen = strlen(tmpdir)+64;
++	path = calloc(pathlen, 1);
+ 	if ( path == NULL ) return;
+ 
+ 	for ( i=0; i<n_files; i++ ) {
+-		snprintf(path, 127, "%s/%s", tmpdir, files[i]);
++		snprintf(path, pathlen, "%s/%s", tmpdir, files[i]);
+ 		unlink(path);
+ 	}
+ 
diff --git a/pkgs/applications/science/physics/crystfel/link-to-argp-standalone-if-needed.patch b/pkgs/applications/science/physics/crystfel/link-to-argp-standalone-if-needed.patch
index 8314be29ac006..edadb750ac57f 100644
--- a/pkgs/applications/science/physics/crystfel/link-to-argp-standalone-if-needed.patch
+++ b/pkgs/applications/science/physics/crystfel/link-to-argp-standalone-if-needed.patch
@@ -1,8 +1,8 @@
 diff --git a/meson.build b/meson.build
-index 59bbcfb7..dd75d4e2 100644
+index 4717bb2a..38d8693f 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -80,6 +80,12 @@ if cc.has_function('clock_gettime', prefix: '#include <time.h>')
+@@ -70,6 +70,12 @@ if cc.has_function('clock_gettime', prefix: '#include <time.h>')
    conf_data.set10('HAVE_CLOCK_GETTIME', true)
  endif
  
@@ -12,15 +12,15 @@ index 59bbcfb7..dd75d4e2 100644
 +    argpdep = dependency('', required : false)
 +endif
 +
- # ************************ libcrystfel (subdir) ************************
- 
- subdir('libcrystfel')
-@@ -180,7 +186,7 @@ endif
+ if cc.has_function('sched_setaffinity',
+                    prefix: '#include <sched.h>',
+                    args: '-D_GNU_SOURCE')
+@@ -186,7 +192,7 @@ endif
  
  indexamajig = executable('indexamajig', indexamajig_sources,
                           dependencies: [mdep, libcrystfeldep, gsldep,
--                                        pthreaddep, zmqdep, asapodep],
-+                                        pthreaddep, zmqdep, asapodep, argpdep],
+-                                        pthreaddep, zmqdep, asapodep, asapoproddep],
++                                        pthreaddep, zmqdep, asapodep, asapoproddep, argpdep],
                           install: true,
-                          install_rpath: '$ORIGIN/../lib64/:$ORIGIN/../lib')
+                          install_rpath: crystfel_rpath)
  
diff --git a/pkgs/applications/science/physics/xnec2c/default.nix b/pkgs/applications/science/physics/xnec2c/default.nix
index 26ec1518fed5f..60afa09ecc8cd 100644
--- a/pkgs/applications/science/physics/xnec2c/default.nix
+++ b/pkgs/applications/science/physics/xnec2c/default.nix
@@ -14,11 +14,11 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "xnec2c";
-  version = "4.4.12";
+  version = "4.4.16";
 
   src = fetchurl {
     url = "https://www.xnec2c.org/releases/${pname}-v${version}.tar.gz";
-    hash = "sha256-6Yrx6LkJjfnMA/kJUDWLhGzGopZeecARSrcR++UScsU=";
+    hash = "sha256-XiZi8pfmfHjGpePkRy/pF1TA+5RdxX4AGuKzG5Wqrmk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/robotics/betaflight-configurator/default.nix b/pkgs/applications/science/robotics/betaflight-configurator/default.nix
index 252eadc1c39c9..0792d3375d0a4 100644
--- a/pkgs/applications/science/robotics/betaflight-configurator/default.nix
+++ b/pkgs/applications/science/robotics/betaflight-configurator/default.nix
@@ -13,10 +13,10 @@ let
 in
 stdenv.mkDerivation rec {
   inherit pname;
-  version = "10.9.0";
+  version = "10.10.0";
   src = fetchurl {
     url = "https://github.com/betaflight/${pname}/releases/download/${version}/${pname}_${version}_linux64-portable.zip";
-    sha256 = "sha256-9FzMyBIR2u1zXHtTWJABM6RF1+OyjYdEPlRwtig9blI=";
+    sha256 = "sha256-UB5Vr5wyCUZbOaQNckJQ1tAXwh8VSLNI1IgTiJzxV08=";
   };
 
   # remove large unneeded files
diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix
index 99d4b79d1cc06..36c9f7a7160ab 100644
--- a/pkgs/applications/search/recoll/default.nix
+++ b/pkgs/applications/search/recoll/default.nix
@@ -70,11 +70,11 @@ in
 
 mkDerivation rec {
   pname = "recoll";
-  version = "1.37.4";
+  version = "1.37.5";
 
   src = fetchurl {
     url = "https://www.lesbonscomptes.com/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-MQnXamW7L4hyMbZDmU7XAcLv5roHcfhFGzni8YbDtq0=";
+    hash = "sha256-vv2AMt6ufrfxRX2yF28X3E500MYP9hnGfDb3I9RdMVU=";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/terminal-emulators/tym/default.nix b/pkgs/applications/terminal-emulators/tym/default.nix
index acfbbb48943d0..562e06176130c 100644
--- a/pkgs/applications/terminal-emulators/tym/default.nix
+++ b/pkgs/applications/terminal-emulators/tym/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tym";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "endaaman";
     repo = "${pname}";
     rev = version;
-    sha256 = "sha256-aXV3TNjHxg/9Lb2o+ci5/cCAPbkWhxqOka3wv21ajSA=";
+    sha256 = "sha256-53XAHyDiFPUTmw/rgoEoSoh+c/t4rS12gxwH1yKHqvw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/terminal-emulators/x3270/default.nix b/pkgs/applications/terminal-emulators/x3270/default.nix
index 8890d57b32034..010345aa03dfc 100644
--- a/pkgs/applications/terminal-emulators/x3270/default.nix
+++ b/pkgs/applications/terminal-emulators/x3270/default.nix
@@ -1,39 +1,72 @@
-{ lib, stdenv, fetchurl, m4, expat
-, libX11, libXt, libXaw, libXmu, bdftopcf, mkfontdir
-, fontadobe100dpi, fontadobeutopia100dpi, fontbh100dpi
-, fontbhlucidatypewriter100dpi, fontbitstream100dpi
+{ stdenv
+, darwin
+, lib
+, libiconv
+, fetchurl
+, m4
+, expat
+, libX11
+, libXt
+, libXaw
+, libXmu
+, bdftopcf
+, mkfontdir
+, fontadobe100dpi
+, fontadobeutopia100dpi
+, fontbh100dpi
+, fontbhlucidatypewriter100dpi
+, fontbitstream100dpi
 , tcl
-, ncurses }:
-
+, ncurses
+}:
 let
   majorVersion = "4";
-  minorVersion = "0";
-  versionSuffix = "ga9";
-in stdenv.mkDerivation rec {
+  minorVersion = "3";
+  versionSuffix = "ga8";
+in
+stdenv.mkDerivation rec {
   pname = "x3270";
   version = "${majorVersion}.${minorVersion}${versionSuffix}";
 
   src = fetchurl {
-    url = "http://x3270.bgp.nu/download/0${majorVersion}.0${minorVersion}/suite3270-${version}-src.tgz";
-    sha256 = "0km24rgll0s4ji6iz8lvy5ra76ds162s95y33w5px6697cwqkp9j";
+    url =
+      "http://x3270.bgp.nu/download/0${majorVersion}.0${minorVersion}/suite3270-${version}-src.tgz";
+    sha256 = "sha256-gcC6REfZentIPEDhGznUSYu8mvVfpPeMz/Bks+N43Fk=";
   };
 
-  buildFlags = [ "unix" ];
+  buildFlags = lib.optional stdenv.isLinux "unix";
+
+  configureFlags = lib.optionals stdenv.isDarwin [
+    "--enable-c3270"
+    "--enable-pr3270"
+    "--enable-s3270"
+    "--enable-tcl3270"
+  ];
 
-  postConfigure = ''
-    pushd c3270 ; ./configure ; popd
+  postBuild = ''
+    make install.man
   '';
 
+  pathsToLink = [ "/share/man" ];
+
   nativeBuildInputs = [ m4 ];
   buildInputs = [
     expat
-    libX11 libXt libXaw libXmu bdftopcf mkfontdir
-    fontadobe100dpi fontadobeutopia100dpi fontbh100dpi
-    fontbhlucidatypewriter100dpi fontbitstream100dpi
+    libX11
+    libXt
+    libXaw
+    libXmu
+    bdftopcf
+    mkfontdir
+    fontadobe100dpi
+    fontadobeutopia100dpi
+    fontbh100dpi
+    fontbhlucidatypewriter100dpi
+    fontbitstream100dpi
     tcl
     ncurses
     expat
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
   meta = with lib; {
     description = "IBM 3270 terminal emulator for the X Window System";
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index 7b573717c003d..ba3c5695fd943 100644
--- a/pkgs/applications/version-management/commitizen/default.nix
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -11,7 +11,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "commitizen";
-  version = "3.22.0";
+  version = "3.24.0";
   format = "pyproject";
 
   disabled = python3.pythonOlder "3.8";
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "commitizen-tools";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-wDxhhPYElNPimVa+wX6AnTZrZOhWjuMzNJ6urn0wruk=";
+    hash = "sha256-kGrXy2V5yFv7MQUKjmE89tRnG+3b73GPVHqGZ3XO0nY=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/version-management/datalad/default.nix b/pkgs/applications/version-management/datalad/default.nix
index 71b5affb59932..2b7d9eb032f96 100644
--- a/pkgs/applications/version-management/datalad/default.nix
+++ b/pkgs/applications/version-management/datalad/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "datalad";
-  version = "0.19.6";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "datalad";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-kCCh1NNbmDjICTjBflxExVus8llADvlRxppOfiwYhN8=";
+    hash = "sha256-oq+DdlWcwjJSQdnqHlYCa9I7iSOKf+hI35Lcv/GM24c=";
   };
 
   nativeBuildInputs = [ installShellFiles git ];
diff --git a/pkgs/applications/version-management/delta/default.nix b/pkgs/applications/version-management/delta/default.nix
index b343e473e3c8b..c669eb0be1f2c 100644
--- a/pkgs/applications/version-management/delta/default.nix
+++ b/pkgs/applications/version-management/delta/default.nix
@@ -58,7 +58,7 @@ rustPlatform.buildRustPackage rec {
     description = "A syntax-highlighting pager for git";
     changelog = "https://github.com/dandavison/delta/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ marsam zowoq SuperSandro2000 figsoda ];
+    maintainers = with maintainers; [ zowoq SuperSandro2000 figsoda ];
     mainProgram = "delta";
   };
 }
diff --git a/pkgs/applications/version-management/forgejo/default.nix b/pkgs/applications/version-management/forgejo/default.nix
deleted file mode 100644
index 65c683ddbe763..0000000000000
--- a/pkgs/applications/version-management/forgejo/default.nix
+++ /dev/null
@@ -1,147 +0,0 @@
-{ bash
-, brotli
-, buildGoModule
-, forgejo
-, git
-, gzip
-, lib
-, makeWrapper
-, nix-update-script
-, nixosTests
-, openssh
-, pam
-, pamSupport ? true
-, sqliteSupport ? true
-, xorg
-, runCommand
-, stdenv
-, fetchFromGitea
-, buildNpmPackage
-}:
-
-let
-  frontend = buildNpmPackage {
-    pname = "forgejo-frontend";
-    inherit (forgejo) src version;
-
-    npmDepsHash = "sha256-uMPy4cqMDNZTpF+pk7YibXEJO1zxVfwlCeFzGgJBiU0=";
-
-    patches = [
-      ./package-json-npm-build-frontend.patch
-    ];
-
-    # override npmInstallHook
-    installPhase = ''
-      mkdir $out
-      cp -R ./public $out/
-    '';
-  };
-in
-buildGoModule rec {
-  pname = "forgejo";
-  version = "1.21.11-1";
-
-  src = fetchFromGitea {
-    domain = "codeberg.org";
-    owner = "forgejo";
-    repo = "forgejo";
-    rev = "v${version}";
-    hash = "sha256-7oYsoZpZcNIUw3iXSi1Q5So2yYgKnT5U7GHQ4NVqVdc=";
-    # Forgejo has multiple different version strings that need to be provided
-    # via ldflags.  main.ForgejoVersion for example is a combination of a
-    # hardcoded gitea compatibility version string (in the Makefile) and
-    # git describe and is easiest to get by invoking the Makefile.
-    # So we do that, store it the src FOD to then extend the ldflags array
-    # in preConfigure.
-    # The `echo -e >> Makefile` is temporary and already part of the next
-    # major release.  Furthermore, the ldflags will change next major release
-    # and need to be updated accordingly.
-    leaveDotGit = true;
-    postFetch = ''
-      cd "$out"
-      echo -e 'show-version-full:\n\t@echo ''${FORGEJO_VERSION}' >> Makefile
-      make show-version-full > FULL_VERSION
-      find "$out" -name .git -print0 | xargs -0 rm -rf
-    '';
-  };
-
-  vendorHash = "sha256-OuWNF+muWM6xqwkFxLIUsn/huqXj2VKg8BN9+JHVw58=";
-
-  subPackages = [ "." ];
-
-  outputs = [ "out" "data" ];
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = lib.optional pamSupport pam;
-
-  patches = [
-    ./static-root-path.patch
-  ];
-
-  postPatch = ''
-    substituteInPlace modules/setting/server.go --subst-var data
-  '';
-
-  tags = lib.optional pamSupport "pam"
-    ++ lib.optionals sqliteSupport [ "sqlite" "sqlite_unlock_notify" ];
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X main.Version=${version}"
-    "-X 'main.Tags=${lib.concatStringsSep " " tags}'"
-  ];
-
-  preConfigure = ''
-    export ldflags+=" -X code.gitea.io/gitea/routers/api/forgejo/v1.ForgejoVersion=$(cat FULL_VERSION) -X main.ForgejoVersion=$(cat FULL_VERSION)"
-  '';
-
-  preBuild = ''
-    go run build/merge-forgejo-locales.go
-  '';
-
-  postInstall = ''
-    mkdir $data
-    cp -R ./{templates,options} ${frontend}/public $data
-    mkdir -p $out
-    cp -R ./options/locale $out/locale
-    wrapProgram $out/bin/gitea \
-      --prefix PATH : ${lib.makeBinPath [ bash git gzip openssh ]}
-  '';
-
-  # $data is not available in goModules.drv and preBuild isn't needed
-  overrideModAttrs = (_: {
-    postPatch = null;
-    preBuild = null;
-  });
-
-  passthru = {
-    # allow nix-update to handle npmDepsHash
-    inherit (frontend) npmDeps;
-
-    data-compressed = runCommand "forgejo-data-compressed" {
-      nativeBuildInputs = [ brotli xorg.lndir ];
-    } ''
-      mkdir $out
-      lndir ${forgejo.data}/ $out/
-
-      # Create static gzip and brotli files
-      find -L $out -type f -regextype posix-extended -iregex '.*\.(css|html|js|svg|ttf|txt)' \
-        -exec gzip --best --keep --force {} ';' \
-        -exec brotli --best --keep --no-copy-stat {} ';'
-    '';
-
-    tests = nixosTests.forgejo;
-    updateScript = nix-update-script { };
-  };
-
-  meta = {
-    description = "A self-hosted lightweight software forge";
-    homepage = "https://forgejo.org";
-    changelog = "https://codeberg.org/forgejo/forgejo/releases/tag/${src.rev}";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ emilylange urandom bendlas adamcstephens ];
-    broken = stdenv.isDarwin;
-    mainProgram = "gitea";
-  };
-}
diff --git a/pkgs/applications/version-management/forgejo/package-json-npm-build-frontend.patch b/pkgs/applications/version-management/forgejo/package-json-npm-build-frontend.patch
deleted file mode 100644
index 57e2b7ec69653..0000000000000
--- a/pkgs/applications/version-management/forgejo/package-json-npm-build-frontend.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/package.json b/package.json
-index 57dcfc2f7..c9f23dbf7 100644
---- a/package.json
-+++ b/package.json
-@@ -79,5 +79,8 @@
-     "defaults",
-     "not ie > 0",
-     "not ie_mob > 0"
--  ]
-+  ],
-+  "scripts": {
-+    "build": "node_modules/.bin/webpack"
-+  }
- }
diff --git a/pkgs/applications/version-management/forgejo/static-root-path.patch b/pkgs/applications/version-management/forgejo/static-root-path.patch
deleted file mode 100644
index 7f70329c60407..0000000000000
--- a/pkgs/applications/version-management/forgejo/static-root-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/modules/setting/server.go b/modules/setting/server.go
-index 183906268..fa02e8915 100644
---- a/modules/setting/server.go
-+++ b/modules/setting/server.go
-@@ -319,7 +319,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
- 	OfflineMode = sec.Key("OFFLINE_MODE").MustBool()
- 	Log.DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()
- 	if len(StaticRootPath) == 0 {
--		StaticRootPath = AppWorkPath
-+		StaticRootPath = "@data@"
- 	}
- 	StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(StaticRootPath)
- 	StaticCacheTime = sec.Key("STATIC_CACHE_TIME").MustDuration(6 * time.Hour)
diff --git a/pkgs/applications/version-management/gerrit/default.nix b/pkgs/applications/version-management/gerrit/default.nix
index 7a9a01ea255bc..41179dfd0bcda 100644
--- a/pkgs/applications/version-management/gerrit/default.nix
+++ b/pkgs/applications/version-management/gerrit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gerrit";
-  version = "3.9.2";
+  version = "3.9.4";
 
   src = fetchurl {
     url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
-    hash = "sha256-KsuuwFKdpXHDVAZZ2JiX781mgqDQyyEILo4lmNn+8YE=";
+    hash = "sha256-pjrWXfae1momJRTfdIPalsLynAGwqp1VtX9M9uqzJwM=";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/version-management/gfold/default.nix b/pkgs/applications/version-management/gfold/default.nix
index 1459e2f18e803..b60c38fa1d301 100644
--- a/pkgs/applications/version-management/gfold/default.nix
+++ b/pkgs/applications/version-management/gfold/default.nix
@@ -1,13 +1,12 @@
-{ fetchFromGitHub
-, gitMinimal
-, gfold
-, lib
-, libiconv
-, makeWrapper
-, rustPlatform
-, Security
-, stdenv
-, testers
+{
+  fetchFromGitHub,
+  gfold,
+  lib,
+  libiconv,
+  rustPlatform,
+  Security,
+  stdenv,
+  testers,
 }:
 
 let
@@ -26,7 +25,10 @@ rustPlatform.buildRustPackage {
 
   cargoHash = "sha256-wDUOYK9e0i600UnJ0w0FPI2GhTa/QTq/2+ICiDWrmEU=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [
+    libiconv
+    Security
+  ];
 
   passthru.tests.version = testers.testVersion {
     package = gfold;
@@ -35,11 +37,10 @@ rustPlatform.buildRustPackage {
   };
 
   meta = with lib; {
-    description =
-      "CLI tool to help keep track of your Git repositories, written in Rust";
+    description = "CLI tool to help keep track of your Git repositories, written in Rust";
     homepage = "https://github.com/nickgerace/gfold";
     license = licenses.asl20;
-    maintainers = [];
+    maintainers = [ maintainers.sigmanificient ];
     platforms = platforms.unix;
     mainProgram = "gfold";
   };
diff --git a/pkgs/applications/version-management/gg/default.nix b/pkgs/applications/version-management/gg/default.nix
index 279e6d0075e7b..89fd45e45f0dc 100644
--- a/pkgs/applications/version-management/gg/default.nix
+++ b/pkgs/applications/version-management/gg/default.nix
@@ -59,6 +59,5 @@ in buildGoModule {
     homepage = "https://gg-scm.io/";
     changelog = "https://github.com/gg-scm/gg/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ zombiezen ];
   };
 }
diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix
index a5f0fc2cb2ba6..d5633ef5e3d3c 100644
--- a/pkgs/applications/version-management/gh/default.nix
+++ b/pkgs/applications/version-management/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.48.0";
+  version = "2.49.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-8vQQzLGb1cHeNJC/aUZbROfRoUtuujEKoLWBgLZnhls=";
+    hash = "sha256-4aT8ThZt2Dlp2RjaGBiTgw2IPantSnTJPhP5Tel755Q=";
   };
 
-  vendorHash = "sha256-rQtRBXhG5fF+3cIIv9i5r8Kd9YeIq/aDLAw8Rqxn6ww=";
+  vendorHash = "sha256-p+1Knx+z1M3m8VjsvBfY6D1Gs5va5Z8QFExv5397wHU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/ghorg/default.nix b/pkgs/applications/version-management/ghorg/default.nix
index e7d075bf800ac..0d8b4e27e6a80 100644
--- a/pkgs/applications/version-management/ghorg/default.nix
+++ b/pkgs/applications/version-management/ghorg/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ghorg";
-  version = "1.9.10";
+  version = "1.9.11";
 
   src = fetchFromGitHub {
     owner = "gabrie30";
     repo = "ghorg";
     rev = "v${version}";
-    sha256 = "sha256-UU8iOpfM5RMwlDceDXofs3Nzyy93zcsUOuTGw/kzVe8=";
+    sha256 = "sha256-22/HM/DYkNh8V1v09fca6/3TLwzYudpH/VNbh+3+iyE=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-absorb/default.nix b/pkgs/applications/version-management/git-absorb/default.nix
index a3f8c5430d3ed..8446d4dec1556 100644
--- a/pkgs/applications/version-management/git-absorb/default.nix
+++ b/pkgs/applications/version-management/git-absorb/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/tummychow/git-absorb";
     description = "git commit --fixup, but automatic";
     license = [ licenses.bsd3 ];
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ tomfitzhenry ];
     mainProgram = "git-absorb";
   };
 }
diff --git a/pkgs/applications/version-management/git-backup/default.nix b/pkgs/applications/version-management/git-backup/default.nix
index 7f181fa006f81..5f582ca64c30d 100644
--- a/pkgs/applications/version-management/git-backup/default.nix
+++ b/pkgs/applications/version-management/git-backup/default.nix
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/jsdw/git-backup";
     description = "A tool to help you backup your git repositories from services like GitHub";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "git-backup";
   };
 }
diff --git a/pkgs/applications/version-management/git-branchless/default.nix b/pkgs/applications/version-management/git-branchless/default.nix
index d214f7b90608a..fd6213269729f 100644
--- a/pkgs/applications/version-management/git-branchless/default.nix
+++ b/pkgs/applications/version-management/git-branchless/default.nix
@@ -71,6 +71,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/arxanas/git-branchless";
     license = licenses.gpl2Only;
     mainProgram = "git-branchless";
-    maintainers = with maintainers; [ msfjarvis nh2 hmenke ];
+    maintainers = with maintainers; [ nh2 hmenke ];
   };
 }
diff --git a/pkgs/applications/version-management/git-codereview/default.nix b/pkgs/applications/version-management/git-codereview/default.nix
index 2bbcc10202af1..a337443e87ead 100644
--- a/pkgs/applications/version-management/git-codereview/default.nix
+++ b/pkgs/applications/version-management/git-codereview/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-codereview";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "review";
     rev = "v${version}";
-    hash = "sha256-aLvx9lYQJYUw2XBj+2P+yEJMboUjmHKzxP5QA3N93JA=";
+    hash = "sha256-fIvNaMfgwnMBUNo6kr37zhKiBgKNzT2E0dLLtqaVBvI=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/version-management/git-credential-oauth/default.nix b/pkgs/applications/version-management/git-credential-oauth/default.nix
index c818874392af4..5672fb95e4997 100644
--- a/pkgs/applications/version-management/git-credential-oauth/default.nix
+++ b/pkgs/applications/version-management/git-credential-oauth/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-credential-oauth";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "hickford";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-bqyoAAqli0L6Kf+W1sTh2vmmfaIj2OdpQyvQZnYOWWA=";
+    hash = "sha256-dGn1I47/S6DYXva5zjvcQnB+I4Ex354xMmZ/3OkpjMw=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -19,7 +19,7 @@ buildGoModule rec {
     "-X main.version=${version}"
   ];
 
-  vendorHash = "sha256-cCqbEv4kBnF6FWvfaXCOxadPVXR/AxXS3nXHf6WmsSs=";
+  vendorHash = "sha256-nbwrVihcH+ARLHylsjogsv3LVP+0+YtQ+7cozB7pAWo=";
 
   postInstall = ''
     installManPage $src/git-credential-oauth.1
diff --git a/pkgs/applications/version-management/git-extras/default.nix b/pkgs/applications/version-management/git-extras/default.nix
index a193444ddcf1c..adb36257188cd 100644
--- a/pkgs/applications/version-management/git-extras/default.nix
+++ b/pkgs/applications/version-management/git-extras/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-extras";
-  version = "7.1.0";
+  version = "7.2.0";
 
   src = fetchFromGitHub {
     owner = "tj";
     repo = "git-extras";
     rev = version;
-    sha256 = "sha256-e1UUAHXTRNgNWrYZuLGdrQIAD8WADmA2B9bVnDNidf8=";
+    sha256 = "sha256-Zzk133ZJv91zbFz0U9tiv8pb0pAIBt9Y/8PYIaABMGc=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/version-management/git-gone/default.nix b/pkgs/applications/version-management/git-gone/default.nix
index 133bc35f64fa2..884eeb893ac41 100644
--- a/pkgs/applications/version-management/git-gone/default.nix
+++ b/pkgs/applications/version-management/git-gone/default.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/swsnr/git-gone";
     changelog = "https://github.com/swsnr/git-gone/raw/v${version}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "git-gone";
   };
 }
diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix
index 430d0fe1f7596..f53586e757050 100644
--- a/pkgs/applications/version-management/git-lfs/default.nix
+++ b/pkgs/applications/version-management/git-lfs/default.nix
@@ -54,7 +54,7 @@ buildGoModule rec {
     homepage = "https://git-lfs.github.com/";
     changelog = "https://github.com/git-lfs/git-lfs/raw/v${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ twey marsam ];
+    maintainers = with maintainers; [ twey ];
     mainProgram = "git-lfs";
   };
 }
diff --git a/pkgs/applications/version-management/git-mit/default.nix b/pkgs/applications/version-management/git-mit/default.nix
index ff1f8e98a79d0..508f416515ad8 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.196";
+  version = "5.12.198";
 in
 rustPlatform.buildRustPackage {
   pname = "git-mit";
@@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
     owner = "PurpleBooth";
     repo = "git-mit";
     rev = "v${version}";
-    hash = "sha256-vv60+8H6WQes+xVJRsgLppwQ/DkQbfNC6tRx2TB/4HQ=";
+    hash = "sha256-4tWgIwDmGZhMFTVT5VzmGj69zV8FGTV0yBHUy5Iu1Xw=";
   };
 
-  cargoHash = "sha256-jK2GTI+T7Ie5cdQQQHh2aj6Egb/5BxsfJkFrSo+z7Pc=";
+  cargoHash = "sha256-vKiCKcyB1Q2CNA4HpE8dc5gh+nlrz0VERIMaTGlDH5Y=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/git-quick-stats/default.nix b/pkgs/applications/version-management/git-quick-stats/default.nix
index b354933eb6e98..e8292e84af45c 100644
--- a/pkgs/applications/version-management/git-quick-stats/default.nix
+++ b/pkgs/applications/version-management/git-quick-stats/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-quick-stats";
-  version = "2.5.4";
+  version = "2.5.5";
 
   src = fetchFromGitHub {
     repo = "git-quick-stats";
     owner = "arzzen";
     rev = version;
-    sha256 = "sha256-dbi48rq3ijPa45xtTi6kAly/IwkX4aK1P9hmcPNQEqM=";
+    sha256 = "sha256-7riA3yYw2D8+x/wzzbv0RF+zHCtqVC1ZpVANZp9x2AQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/git-quickfix/default.nix b/pkgs/applications/version-management/git-quickfix/default.nix
index a85bbbc54f5d7..cfed9952f79ec 100644
--- a/pkgs/applications/version-management/git-quickfix/default.nix
+++ b/pkgs/applications/version-management/git-quickfix/default.nix
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/siedentop/git-quickfix";
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ msfjarvis ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "git-quickfix";
   };
 }
diff --git a/pkgs/applications/version-management/git-reparent/default.nix b/pkgs/applications/version-management/git-reparent/default.nix
index df42e3b18779d..38a66d6db1db6 100644
--- a/pkgs/applications/version-management/git-reparent/default.nix
+++ b/pkgs/applications/version-management/git-reparent/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     inherit (src.meta) homepage;
     description = "Git command to recommit HEAD with a new set of parents";
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     license = licenses.gpl2;
     platforms = platforms.unix;
     mainProgram = "git-reparent";
diff --git a/pkgs/applications/version-management/git-standup/default.nix b/pkgs/applications/version-management/git-standup/default.nix
index 0fcdd265a0c39..2c4cdc02564bf 100644
--- a/pkgs/applications/version-management/git-standup/default.nix
+++ b/pkgs/applications/version-management/git-standup/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     description = "Recall what you did on the last working day";
     homepage = "https://github.com/kamranahmedse/git-standup";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
     mainProgram = "git-standup";
   };
diff --git a/pkgs/applications/version-management/git-subtrac/default.nix b/pkgs/applications/version-management/git-subtrac/default.nix
index 547adee7d6a3a..43fb89661735f 100644
--- a/pkgs/applications/version-management/git-subtrac/default.nix
+++ b/pkgs/applications/version-management/git-subtrac/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     description = "Keep the content for your git submodules all in one place: the parent repo";
     homepage = "https://github.com/apenwarr/git-subtrac";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     mainProgram = "git-subtrac";
   };
 }
diff --git a/pkgs/applications/version-management/git-test/default.nix b/pkgs/applications/version-management/git-test/default.nix
index 2f56091e2ad6d..fb8619249b55f 100644
--- a/pkgs/applications/version-management/git-test/default.nix
+++ b/pkgs/applications/version-management/git-test/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "Test your commits";
     homepage = "https://github.com/spotify/git-test";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.all;
     mainProgram = "git-test";
   };
diff --git a/pkgs/applications/version-management/git-town/default.nix b/pkgs/applications/version-management/git-town/default.nix
index 379aa21ef3f18..c47604d711c86 100644
--- a/pkgs/applications/version-management/git-town/default.nix
+++ b/pkgs/applications/version-management/git-town/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-town";
-  version = "14.0.0";
+  version = "14.2.0";
 
   src = fetchFromGitHub {
     owner = "git-town";
     repo = "git-town";
     rev = "v${version}";
-    hash = "sha256-GF1nNb/poFDXKwpqYZvQrTZ7CkNgO39KrrDuc94o/tw=";
+    hash = "sha256-+OJ8aUA/VFOAzdCRcOCQKm6/RjRe13TITP1DAWqoAQI=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/version-management/git-trim/default.nix b/pkgs/applications/version-management/git-trim/default.nix
index cbc96ed1e78c3..a387ec706718d 100644
--- a/pkgs/applications/version-management/git-trim/default.nix
+++ b/pkgs/applications/version-management/git-trim/default.nix
@@ -50,7 +50,7 @@ rustPlatform.buildRustPackage rec {
     description = "Automatically trims your branches whose tracking remote refs are merged or gone";
     homepage = "https://github.com/foriequal0/git-trim";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ cafkafk ];
     mainProgram = "git-trim";
   };
 }
diff --git a/pkgs/applications/version-management/git-vanity-hash/default.nix b/pkgs/applications/version-management/git-vanity-hash/default.nix
index 915ef38307b2f..55332c6c7287b 100644
--- a/pkgs/applications/version-management/git-vanity-hash/default.nix
+++ b/pkgs/applications/version-management/git-vanity-hash/default.nix
@@ -1,17 +1,22 @@
-{ lib, fetchFromGitHub, rustPlatform }:
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+}:
 
-rustPlatform.buildRustPackage rec {
+rustPlatform.buildRustPackage {
   pname = "git-vanity-hash";
   version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "prasmussen";
     repo = "git-vanity-hash";
-    rev = "v${version}";
-    hash = "sha256-jD8cSFXf9UNBZ9d8JTnuwhs6nPHY/xGd5RyqF+mQOlo=";
+    # v1.0.0 + build fix
+    rev = "a80e7725ac6d0b7e6807cd7315cfdc7eaf0584f6";
+    hash = "sha256-1z4jbtzUB3SH79dDXAITf7Vup1YZdTLHBieSrhrvSXc=";
   };
 
-  cargoHash = "sha256-8oW6gRtdQdmSmdwKlcU2EhHsyhk9hFhKl7RtsYwC7Ps=";
+  cargoHash = "sha256-+SQ0HpURBjnnwH1Ue7IUReOtI4LxVPK9AGSAihs0qsc=";
 
   postInstall = ''
     mkdir -p $out/share/doc/git-vanity-hash
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 09ef9a290d7ba..ff2bbcf877c05 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,15 +1,15 @@
 {
-  "version": "16.10.3",
-  "repo_hash": "sha256-JeZHnoNMk7NYBeUy25YK+f6K7WOeTQnYV/pG08bmiwA=",
+  "version": "16.10.4",
+  "repo_hash": "sha256-ieS2MO5jBNBK0hmuWLfaDjRNhn98927hlTFrDbV0zCQ=",
   "yarn_hash": "0yzywfg4lqxjwm5cqsm4bn97zcrfvpnrs8rjrv9wv3xqvi9h9skd",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v16.10.3-ee",
+  "rev": "v16.10.4-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "16.10.3",
-    "GITLAB_PAGES_VERSION": "16.10.3",
+    "GITALY_SERVER_VERSION": "16.10.4",
+    "GITLAB_PAGES_VERSION": "16.10.4",
     "GITLAB_SHELL_VERSION": "14.34.0",
     "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.8.0",
-    "GITLAB_WORKHORSE_VERSION": "16.10.3"
+    "GITLAB_WORKHORSE_VERSION": "16.10.4"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index b0adadb93efc8..ac63b4296b7aa 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "16.10.3";
+  version = "16.10.4";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -18,10 +18,10 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      hash = "sha256-WdEYZL3g/aYh2Iy1ZgJhIHgQ4967FOxhiuQEokk1S2A=";
+      hash = "sha256-dzHGnZwXomCUrlup9VD/0l084Swp9CVi4nJi6MtOwi8=";
     };
 
-    vendorHash = "sha256-zaldiRg7fk/HncpfR7k+dDprsOp1ziQHgX8B4l7bwe0=";
+    vendorHash = "sha256-mPoz+y1LWpGr+zYqAhxzznMyKIPehsDW+WFxklYSC10=";
 
     ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];
 
diff --git a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
index c7f241aa0f426..c92cc3e0ddeb0 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "gitlab-container-registry";
-  version = "3.92.0";
+  version = "3.93.0";
   rev = "v${version}-gitlab";
 
   # nixpkgs-update: no auto update
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "gitlab-org";
     repo = "container-registry";
     inherit rev;
-    hash = "sha256-NHpqfqv3RCbWZilhXLGnQTN+ytzifAix6mcLk5Bw124=";
+    hash = "sha256-4jsnfkHXs9FSnyQ6JP/zmW51x8fHyQ0n+B8EPOoTSAA=";
   };
 
   vendorHash = "sha256-KZWdM8Q8ipsgm7OoLyOuHo+4Vg2Nve+yZtTSUDgjOW4=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
index 3d920be8966d6..5ca4a1e561f1f 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "16.10.3";
+  version = "16.10.4";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    hash = "sha256-mQNDnxdrM679ejjXZuqSV8SwLXFcKKKGOQt3DJWOZOo=";
+    hash = "sha256-Jdg1cxHra4lHvf8+cojaE9OXR40w24OiwMhDYvmUBkI=";
   };
 
   vendorHash = "sha256-WrR4eZRAuYkhr7ZqP7OXqJ6uwvxzn+t+3OdBNcNaq0M=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index aa80f354b9854..98404f4a4f6d9 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "16.10.3";
+  version = "16.10.4";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
diff --git a/pkgs/applications/version-management/gitprompt-rs/default.nix b/pkgs/applications/version-management/gitprompt-rs/default.nix
index 6d0013f5ad513..4df54080513cd 100644
--- a/pkgs/applications/version-management/gitprompt-rs/default.nix
+++ b/pkgs/applications/version-management/gitprompt-rs/default.nix
@@ -1,5 +1,9 @@
-{ lib, fetchFromGitHub, rustPlatform, git }:
-
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+  git,
+}:
 rustPlatform.buildRustPackage rec {
   pname = "gitprompt-rs";
   version = "0.3.0";
@@ -8,21 +12,21 @@ rustPlatform.buildRustPackage rec {
     owner = "9ary";
     repo = pname;
     rev = version;
-    sha256 = "00xxz7awk01981daabp8m3kwq127y733ynijiwqgs8xvn4nkg8h6";
+    hash = "sha256-BqI3LbG7I/0wjzJaP8bxRwTM56joLqVaQCmAydX5vQM=";
   };
 
-  cargoSha256 = "0avs833vb6q1avjbfygm55s83iy942xgqsx6qdzksry44n35s418";
+  cargoHash = "sha256-KBBdhiXEZz1/w6Zr/LogyceBdCn1ebfkVgGbtcdAeis=";
 
   postPatch = ''
-     substituteInPlace src/main.rs \
-       --replace 'Command::new("git")' 'Command::new("${git}/bin/git")'
+    substituteInPlace src/main.rs \
+      --replace 'Command::new("git")' 'Command::new("${git}/bin/git")'
   '';
 
   meta = with lib; {
     description = "Simple Git prompt";
     homepage = "https://github.com/9ary/gitprompt-rs";
     license = with licenses; [ mpl20 ];
-    maintainers = with maintainers; [ novenary ];
+    maintainers = with maintainers; [ isabelroses cafkafk ];
     mainProgram = "gitprompt-rs";
   };
 }
diff --git a/pkgs/applications/version-management/glab/default.nix b/pkgs/applications/version-management/glab/default.nix
index b6c49f47dc56d..2d704143bfdab 100644
--- a/pkgs/applications/version-management/glab/default.nix
+++ b/pkgs/applications/version-management/glab/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "glab";
-  version = "1.37.0";
+  version = "1.40.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-H1yYjI7ct/YO44czX5J0cHc/YbhxtXJQThJcARyUEq0=";
+    hash = "sha256-setvszKdG2EQUlVJNbo7gPKE4b7lfdGT30MC82Kk2/s=";
   };
 
-  vendorHash = "sha256-4CQ4NPHAs736LQxDxvKWEH9TQvIKAouJ6zVReAoZTec=";
+  vendorHash = "sha256-vx4dNFM0PfapRQxz9ef1vNs4RiZlZDNhcKlo87gjGTs=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
deleted file mode 100644
index 2448e4ccffea9..0000000000000
--- a/pkgs/applications/version-management/got/default.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, pkg-config
-, openssl
-, libbsd
-, libevent
-, libuuid
-, libossp_uuid
-, libmd
-, zlib
-, ncurses
-, bison
-, autoPatchelfHook
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "got";
-  version = "0.97";
-
-  src = fetchurl {
-    url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
-    hash = "sha256-4HpIlKRYUDoymCBH8GS8DDXaY0nYiVvotpBkwglOO3I=";
-  };
-
-  nativeBuildInputs = [ pkg-config bison ]
-    ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
-
-  buildInputs = [ openssl libbsd libevent libuuid libmd zlib ncurses ]
-    ++ lib.optionals stdenv.isDarwin [ libossp_uuid ];
-
-  configureFlags = [ "--enable-gotd" ];
-
-  preConfigure = lib.optionalString stdenv.isDarwin ''
-    # The configure script assumes dependencies on Darwin are installed via
-    # Homebrew or MacPorts and hardcodes assumptions about the paths of
-    # dependencies which fails the nixpkgs configurePhase.
-    substituteInPlace configure --replace-fail 'xdarwin' 'xhomebrew'
-  '';
-
-  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isDarwin [
-    # error: conflicting types for 'strmode'
-    "-DHAVE_STRMODE=1"
-    # Undefined symbols for architecture arm64: "_bsd_getopt"
-    "-include getopt.h"
-  ]);
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    runHook preInstallCheck
-    test "$($out/bin/got --version)" = "got ${finalAttrs.version}"
-    runHook postInstallCheck
-  '';
-
-  meta = {
-    changelog = "https://gameoftrees.org/releases/CHANGES";
-    description = "A version control system which prioritizes ease of use and simplicity over flexibility";
-    longDescription = ''
-      Game of Trees (Got) is a version control system which prioritizes
-      ease of use and simplicity over flexibility.
-
-      Got uses Git repositories to store versioned data. Git can be used
-      for any functionality which has not yet been implemented in
-      Got. It will always remain possible to work with both Got and Git
-      on the same repository.
-    '';
-    homepage = "https://gameoftrees.org";
-    license = lib.licenses.isc;
-    maintainers = with lib.maintainers; [ abbe afh ];
-    mainProgram = "got";
-    platforms = with lib.platforms; darwin ++ linux;
-  };
-})
diff --git a/pkgs/applications/version-management/lab/default.nix b/pkgs/applications/version-management/lab/default.nix
index d75a1cba61426..0a4637d533fb7 100644
--- a/pkgs/applications/version-management/lab/default.nix
+++ b/pkgs/applications/version-management/lab/default.nix
@@ -36,7 +36,7 @@ buildGoModule rec {
     description = "Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab";
     homepage = "https://zaquestion.github.io/lab";
     license = licenses.cc0;
-    maintainers = with maintainers; [ marsam dtzWill ];
+    maintainers = with maintainers; [ dtzWill ];
     mainProgram = "lab";
   };
 }
diff --git a/pkgs/applications/version-management/radicle-upstream/default.nix b/pkgs/applications/version-management/radicle-upstream/default.nix
index 69c960ed78e86..ff12f008f4b27 100644
--- a/pkgs/applications/version-management/radicle-upstream/default.nix
+++ b/pkgs/applications/version-management/radicle-upstream/default.nix
@@ -1,9 +1,8 @@
-{ lib, stdenv, appimageTools, autoPatchelfHook, zlib, fetchurl, undmg }:
+{ lib, stdenv, appimageTools, autoPatchelfHook, zlib, fetchurl, undmg, libgcc }:
 
 let
   pname = "radicle-upstream";
   version = "0.3.0";
-  name = "${pname}-${version}";
 
   srcs = {
     x86_64-linux = fetchurl {
@@ -17,7 +16,7 @@ let
   };
   src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
 
-  contents = appimageTools.extract { inherit name src; };
+  contents = appimageTools.extract { inherit pname version src; };
 
   git-remote-rad = stdenv.mkDerivation rec {
     pname = "git-remote-rad";
@@ -25,11 +24,11 @@ let
     src = contents;
 
     nativeBuildInputs = [ autoPatchelfHook ];
-    buildInputs = [ zlib ];
+    buildInputs = [ libgcc zlib ];
 
     installPhase = ''
       mkdir -p $out/bin/
-      cp ${contents}/resources/git-remote-rad $out/bin/git-remote-rad
+      install -Dm755 ${contents}/resources/git-remote-rad $out/bin/git-remote-rad
     '';
   };
 
@@ -37,11 +36,9 @@ let
   # v0.1.0) uses unstable rust features, making a from source build impossible at
   # this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674
   linux = appimageTools.wrapType2 {
-    inherit name src meta;
+    inherit pname version src meta;
 
     extraInstallCommands = ''
-      mv $out/bin/${name} $out/bin/${pname}
-
       # this automatically adds the git-remote-rad binary to the users `PATH` so
       # they don't need to mess around with shell profiles...
       ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad
diff --git a/pkgs/applications/version-management/sublime-merge/default.nix b/pkgs/applications/version-management/sublime-merge/default.nix
index 07da8f64a6f75..490a0c4644043 100644
--- a/pkgs/applications/version-management/sublime-merge/default.nix
+++ b/pkgs/applications/version-management/sublime-merge/default.nix
@@ -5,15 +5,15 @@ let
 in
 {
   sublime-merge = common {
-    buildVersion = "2091";
-    aarch64sha256 = "dkPKuuzQQtL3eZlaAPeL7e2p5PCxroFRSp6Rw5wHODc=";
-    x64sha256 = "T5g6gHgl9xGytEOsh3VuB08IrbDvMu24o/1edCGmfd4=";
+    buildVersion = "2096";
+    aarch64sha256 = "IHPJJ/oQ3SLemRyey5syTL0sf5GEeHSylDX+EQNNQGU=";
+    x64sha256 = "41I6p5wNx2pF56np7gHqp396RHpXtQu5ruksUywF/Ug=";
   } { };
 
   sublime-merge-dev = common {
-    buildVersion = "2094";
+    buildVersion = "2095";
     dev = true;
-    aarch64sha256 = "ZJgq971EPzq+BWxTQAoX6TgUmTfpf9sI4CHPcvgPTfI=";
-    x64sha256 = "6FLfszhP+BGHX5FrycMlznREmGDLyDyo6rgmqxhtCak=";
+    aarch64sha256 = "FmXz8VAWS7e0bB9NeXbihnhdhWMyNJJs6PNt+K2G0Bk=";
+    x64sha256 = "83Hw27RgGPgugpf4eMuWT6/MSQ2Q2VBCbaXoSGFtTPI=";
   } { };
 }
diff --git a/pkgs/applications/video/bilibili/default.nix b/pkgs/applications/video/bilibili/default.nix
deleted file mode 100644
index e460a9037da45..0000000000000
--- a/pkgs/applications/video/bilibili/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, electron
-, makeWrapper
-}:
-
-stdenv.mkDerivation rec {
-  pname = "bilibili";
-  version = "1.13.2-1";
-  src = fetchurl {
-    url = "https://github.com/msojocs/bilibili-linux/releases/download/v${version}/io.github.msojocs.bilibili_${version}_amd64.deb";
-    hash = "sha256-yqgQNsTD4iT54LJYEbV6dk7OD7KoZvX61XERYQ4MsSA=";
-  };
-
-  unpackPhase = ''
-    runHook preUnpack
-
-    ar x $src
-    tar xf data.tar.xz
-
-    runHook postUnpack
-  '';
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-    cp -r usr/share $out/share
-    sed -i "s|Exec=.*|Exec=$out/bin/bilibili|" $out/share/applications/*.desktop
-    cp -r opt/apps/io.github.msojocs.bilibili/files/bin/app $out/opt
-    makeWrapper ${electron}/bin/electron $out/bin/bilibili \
-      --argv0 "bilibili" \
-      --add-flags "$out/opt/app.asar"
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Electron-based bilibili desktop client";
-    homepage = "https://github.com/msojocs/bilibili-linux";
-    license = with licenses; [ unfree mit ];
-    maintainers = with maintainers; [ jedsek kashw2 ];
-    platforms = [ "x86_64-linux" ];
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    mainProgram = "bilibili";
-  };
-}
diff --git a/pkgs/applications/video/ccextractor/default.nix b/pkgs/applications/video/ccextractor/default.nix
index 3814f921fa240..399287c93f7ff 100644
--- a/pkgs/applications/video/ccextractor/default.nix
+++ b/pkgs/applications/video/ccextractor/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     # during Linking C executable ccextractor
     broken = stdenv.isAarch64;
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ titanous ];
+    maintainers = with maintainers; [ ];
     mainProgram = "ccextractor";
   };
 }
diff --git a/pkgs/applications/video/clapper/default.nix b/pkgs/applications/video/clapper/default.nix
index 954ea58b4554d..b638bc3afd7df 100644
--- a/pkgs/applications/video/clapper/default.nix
+++ b/pkgs/applications/video/clapper/default.nix
@@ -2,54 +2,49 @@
 , lib
 , stdenv
 , fetchFromGitHub
-, glib
 , gobject-introspection
-, python3
 , pkg-config
 , ninja
-, wayland
-, wayland-protocols
 , desktop-file-utils
 , makeWrapper
 , shared-mime-info
 , wrapGAppsHook4
 , meson
-, gjs
 , gtk4
 , gst_all_1
 , libGL
 , libadwaita
-, appstream-glib
-, libsoup
+, libsoup_3
+, vala
+, cmake
+, libmicrodns
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "clapper";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner  = "Rafostar";
-    repo   = pname;
-    rev    = version;
-    sha256 = "sha256-s+qdTq3/pHHstwr1W3Hs2Zje++iJFHM6hQTFoZD43bY=";
+    repo   = "clapper";
+    rev    = finalAttrs.version;
+    hash = "sha256-5fD1OnVcY3ZC+QfoFqe2jV43/J36r85SpLUYF2ti7dY=";
   };
 
   nativeBuildInputs = [
-    appstream-glib
-    desktop-file-utils # for update-desktop-database
-    glib
     gobject-introspection
     meson
+    cmake
     ninja
     makeWrapper
     pkg-config
-    python3
-    shared-mime-info # for update-mime-database
     wrapGAppsHook4 # for gsettings
+    desktop-file-utils # for update-desktop-database
+    shared-mime-info # for update-mime-database
+    vala
   ];
 
   buildInputs = [
-    gjs
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
@@ -58,29 +53,30 @@ stdenv.mkDerivation rec {
     gtk4
     libGL
     libadwaita
-    libsoup
-    wayland
-    wayland-protocols
+    libsoup_3
+    libmicrodns
   ];
 
   postPatch = ''
-    patchShebangs build-aux/meson/postinstall.py
+    patchShebangs --build build-aux/meson/postinstall.py
   '';
 
-  postInstall = ''
-    cp ${src}/data/icons/*.svg $out/share/icons/hicolor/scalable/apps/
-    cp ${src}/data/icons/*.svg $out/share/icons/hicolor/symbolic/apps/
+  # The package uses "clappersink" provided by itself
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : $out/lib/gstreamer-1.0
+    )
   '';
 
   meta = with lib; {
-    description = "A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering. ";
+    description = "A GNOME media player built using GTK4 toolkit and powered by GStreamer with OpenGL rendering";
     longDescription = ''
-      Clapper is a GNOME media player build using GJS with GTK4 toolkit.
-      The media player is using GStreamer as a media backend and renders everything via OpenGL.
+      Clapper is a GNOME media player built using the GTK4 toolkit.
+      The media player is using GStreamer as a media backend.
     '';
     homepage = "https://github.com/Rafostar/clapper";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ tomfitzhenry ];
+    maintainers = with maintainers; [ aleksana ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix
index 7caf12ee76d81..bb631909872cf 100644
--- a/pkgs/applications/video/davinci-resolve/default.nix
+++ b/pkgs/applications/video/davinci-resolve/default.nix
@@ -181,7 +181,6 @@ let
 in
 buildFHSEnv {
   inherit (davinci) pname version;
-  name = null;
 
   targetPkgs = pkgs: with pkgs; [
     alsa-lib
diff --git a/pkgs/applications/video/electronplayer/electronplayer.nix b/pkgs/applications/video/electronplayer/electronplayer.nix
index 270d5543c9939..cc26adc24780a 100644
--- a/pkgs/applications/video/electronplayer/electronplayer.nix
+++ b/pkgs/applications/video/electronplayer/electronplayer.nix
@@ -2,21 +2,18 @@
 let
   pname = "electronplayer";
   version = "2.0.8";
-  name = "${pname}-${version}";
 
   #TODO: remove the -rc4 from the tag in the url when possible
   src = fetchurl {
-    url = "https://github.com/oscartbeaumont/ElectronPlayer/releases/download/v${version}-rc4/${name}.AppImage";
+    url = "https://github.com/oscartbeaumont/ElectronPlayer/releases/download/v${version}-rc4/${pname}-${version}.AppImage";
     sha256 = "wAsmSFdbRPnYnDyWQSbtyj+GLJLN7ibksUE7cegfkhI=";
   };
 
-  appimageContents = appimageTools.extractType2 { inherit name src; };
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
-
     install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=ElectronPlayer'
diff --git a/pkgs/applications/video/flowblade/default.nix b/pkgs/applications/video/flowblade/default.nix
index 4e558d335e03f..937f5865d4043 100644
--- a/pkgs/applications/video/flowblade/default.nix
+++ b/pkgs/applications/video/flowblade/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flowblade";
-  version = "2.14.0.1";
+  version = "2.14.0.2";
 
   src = fetchFromGitHub {
     owner = "jliljebl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kyW/vYKGy/tgHmev8LgJbGugfKkzKFwLZStQQfWYPuQ=";
+    sha256 = "sha256-M+M6qkgYD5zM8IOFwQsuQlK7qQsvmSjR+CXVpTW+O8k=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix
index d554fd56847cb..44495386d4cf3 100644
--- a/pkgs/applications/video/go-chromecast/default.nix
+++ b/pkgs/applications/video/go-chromecast/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     homepage = "https://github.com/vishen/go-chromecast";
     description = "CLI for Google Chromecast, Home devices and Cast Groups";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ];
+    maintainers = with maintainers; [ ];
     mainProgram = "go-chromecast";
   };
 }
diff --git a/pkgs/applications/video/haruna/default.nix b/pkgs/applications/video/haruna/default.nix
index 14b0ca9497bc5..273b26808af58 100644
--- a/pkgs/applications/video/haruna/default.nix
+++ b/pkgs/applications/video/haruna/default.nix
@@ -1,6 +1,6 @@
 { lib
+, stdenv
 , fetchFromGitLab
-, mkKdeDerivation
 , breeze-icons
 , breeze
 , cmake
@@ -15,7 +15,7 @@
 , kirigami
 , kxmlgui
 , kdoctools
-, mpv
+, mpvqt
 , pkg-config
 , wrapQtAppsHook
 , qqc2-desktop-style
@@ -23,7 +23,7 @@
 , yt-dlp
 }:
 
-mkKdeDerivation rec {
+stdenv.mkDerivation rec {
   pname = "haruna";
   version = "1.0.2";
 
@@ -56,7 +56,7 @@ mkKdeDerivation rec {
     kirigami
     kxmlgui
     kdoctools
-    mpv
+    mpvqt
     qtbase
   ];
 
diff --git a/pkgs/applications/video/kodi/addons/jellyfin/default.nix b/pkgs/applications/video/kodi/addons/jellyfin/default.nix
index 63cac3e7261cf..7623a3c4db136 100644
--- a/pkgs/applications/video/kodi/addons/jellyfin/default.nix
+++ b/pkgs/applications/video/kodi/addons/jellyfin/default.nix
@@ -5,13 +5,13 @@ in
 buildKodiAddon rec {
   pname = "jellyfin";
   namespace = "plugin.video.jellyfin";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin-kodi";
     rev = "v${version}";
-    sha256 = "sha256-i9lRPMHniUmKTeNSzgp6dF11uYOcjH3PgJEa+Jasx68=";
+    sha256 = "sha256-yCgsQnzmlmyYAjp1q0J9QxGDRg5JCd23H9xgVozHiGM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/kodi/addons/keymap/default.nix b/pkgs/applications/video/kodi/addons/keymap/default.nix
index 154bbd6b3c1e5..e98e5ca2cb419 100644
--- a/pkgs/applications/video/kodi/addons/keymap/default.nix
+++ b/pkgs/applications/video/kodi/addons/keymap/default.nix
@@ -3,11 +3,11 @@
 buildKodiAddon rec {
   pname = "keymap";
   namespace = "script.keymap";
-  version = "1.1.5";
+  version = "1.2.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
-    sha256 = "sha256-wSztipTEGIqw1icsz+ziNxYuRZOFt3C66T1Ifap/ta0=";
+    sha256 = "sha256-AtIufZbOi3MW7aSOAlON8csJheJqAbuBtKIX0sX6zIw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/kodi/addons/youtube/default.nix b/pkgs/applications/video/kodi/addons/youtube/default.nix
index d98acd70ac5c4..f2f340b257dbe 100644
--- a/pkgs/applications/video/kodi/addons/youtube/default.nix
+++ b/pkgs/applications/video/kodi/addons/youtube/default.nix
@@ -3,13 +3,13 @@
 buildKodiAddon rec {
   pname = "youtube";
   namespace = "plugin.video.youtube";
-  version = "7.0.5";
+  version = "7.0.6";
 
   src = fetchFromGitHub {
     owner = "anxdpanic";
     repo = "plugin.video.youtube";
     rev = "v${version}";
-    hash = "sha256-oM1n0Rye2QagxXoAZ/6mXKeGqKjEdewgS79lhp+yCQI=";
+    hash = "sha256-pxW45D/tppUTTgeR5wVteOP2f4TZ4wl/9A5IBhOZhTM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/lbry/default.nix b/pkgs/applications/video/lbry/default.nix
index b7c03850c951c..c3eb942fed929 100644
--- a/pkgs/applications/video/lbry/default.nix
+++ b/pkgs/applications/video/lbry/default.nix
@@ -1,14 +1,12 @@
 { lib, fetchurl, appimageTools}:
 
-let
+appimageTools.wrapAppImage rec {
   pname = "lbry-desktop";
   version = "0.53.9";
-in appimageTools.wrapAppImage rec {
-  name = "${pname}-${version}";
 
   # Fetch from GitHub Releases and extract
   src = appimageTools.extract {
-    inherit name;
+    inherit pname version;
     src = fetchurl {
       url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage";
       # Gotten from latest-linux.yml
@@ -24,7 +22,7 @@ in appimageTools.wrapAppImage rec {
   # General fixup
   extraInstallCommands = ''
     # Firstly, rename the executable to lbry for convinence
-    mv $out/bin/${name} $out/bin/lbry
+    mv $out/bin/${pname} $out/bin/lbry
 
     # Now, install assets such as the desktop file and icons
     install -m 444 -D ${src}/lbry.desktop -t $out/share/applications
diff --git a/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix b/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix
index d75adb88f359c..1317536f3cf55 100644
--- a/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix
+++ b/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix
@@ -22,7 +22,7 @@ let
     inherit pname version src;
   };
 in
-(appimageTools.wrapType2 {
+appimageTools.wrapType2 {
   inherit pname version src;
 
   profile = ''
@@ -32,7 +32,6 @@ in
   extraPkgs = ps: appimageTools.defaultFhsEnvArgs.multiPkgs ps;
 
   extraInstallCommands = ''
-    mv $out/bin/{${pname}-${version},losslesscut}
     (
       mkdir -p $out/share
       cd ${extracted}/usr
@@ -53,6 +52,4 @@ in
     platforms = [ "x86_64-linux" ];
     mainProgram = "losslesscut";
   };
-}) // {
-  inherit pname version;
 }
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index dc016fda0a991..261e8008f6bc0 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -1,16 +1,17 @@
-{ lib
-, mkDerivation
-, fetchurl
-, autoPatchelfHook
-, pkg-config
-, curl
-, ffmpeg
-, openssl
-, qtbase
-, zlib
-
-, withJava ? true
-, jre_headless
+{
+  lib,
+  mkDerivation,
+  fetchurl,
+  autoPatchelfHook,
+  pkg-config,
+  curl,
+  ffmpeg,
+  openssl,
+  qtbase,
+  zlib,
+
+  withJava ? true,
+  jre_headless,
 }:
 
 let
@@ -30,12 +31,15 @@ let
     ];
     sha256 = "2dtNdyv0+QYWQrfrIu5RQKSN4scSWKuLFNlJZXpxDUM=";
   };
-
-in mkDerivation {
+in
+mkDerivation {
   pname = "makemkv";
   inherit version;
 
-  srcs = [ src_bin src_oss ];
+  srcs = [
+    src_bin
+    src_oss
+  ];
 
   sourceRoot = "makemkv-oss-${version}";
 
@@ -43,18 +47,25 @@ in mkDerivation {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ autoPatchelfHook pkg-config ];
+  nativeBuildInputs = [
+    autoPatchelfHook
+    pkg-config
+  ];
 
-  buildInputs = [ ffmpeg openssl qtbase zlib ];
+  buildInputs = [
+    ffmpeg
+    openssl
+    qtbase
+    zlib
+  ];
 
   runtimeDependencies = [ (lib.getLib curl) ];
 
   qtWrapperArgs =
     let
       binPath = lib.makeBinPath [ jre_headless ];
-    in lib.optionals withJava [
-      "--prefix PATH : ${binPath}"
-    ];
+    in
+    lib.optionals withJava [ "--prefix PATH : ${binPath}" ];
 
   installPhase = ''
     runHook preInstall
@@ -84,9 +95,12 @@ in mkDerivation {
       expiration date.
     '';
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = [ licenses.unfree licenses.lgpl21 ];
+    license = [
+      licenses.unfree
+      licenses.lgpl21
+    ];
     homepage = "http://makemkv.com";
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ titanous ];
+    maintainers = with maintainers; [ jchw ];
   };
 }
diff --git a/pkgs/applications/video/manim/default.nix b/pkgs/applications/video/manim/default.nix
deleted file mode 100644
index 57186eec19f8c..0000000000000
--- a/pkgs/applications/video/manim/default.nix
+++ /dev/null
@@ -1,147 +0,0 @@
-{ lib
-, fetchFromGitHub
-
-, cairo
-, ffmpeg
-, texliveInfraOnly
-
-, python3
-}:
-
-let
-  # According to ManimCommunity documentation manim uses tex-packages packaged
-  # in a custom distribution called "manim-latex",
-  #
-  #   https://community.chocolatey.org/packages/manim-latex#files
-  #
-  # which includes another cutom distribution called tinytex, for which the
-  # package list can be found at
-  #
-  #   https://github.com/yihui/tinytex/blob/master/tools/pkgs-custom.txt
-  #
-  # these two combined add up to:
-  manim-tinytex = texliveInfraOnly.withPackages (ps: with ps; [
-
-    # tinytex
-    amsfonts amsmath atbegshi atveryend auxhook babel bibtex
-    bigintcalc bitset booktabs cm dehyph dvipdfmx dvips ec epstopdf-pkg etex
-    etexcmds etoolbox euenc everyshi fancyvrb filehook firstaid float fontspec
-    framed geometry gettitlestring glyphlist graphics graphics-cfg graphics-def
-    grffile helvetic hycolor hyperref hyph-utf8 iftex inconsolata infwarerr
-    intcalc knuth-lib kvdefinekeys kvoptions kvsetkeys l3backend l3kernel
-    l3packages latex latex-amsmath-dev latex-bin latex-fonts latex-tools-dev
-    latexconfig latexmk letltxmacro lm lm-math ltxcmds lua-alt-getopt luahbtex
-    lualatex-math lualibs luaotfload luatex mdwtools metafont mfware natbib
-    pdfescape pdftex pdftexcmds plain psnfss refcount rerunfilecheck stringenc
-    tex tex-ini-files times tipa tools unicode-data unicode-math uniquecounter
-    url xcolor xetex xetexconfig xkeyval xunicode zapfding
-
-    # manim-latex
-    standalone everysel preview doublestroke ms setspace rsfs relsize ragged2e
-    fundus-calligra microtype wasysym physics dvisvgm jknapltx wasy cm-super
-    babel-english gnu-freefont mathastext cbfonts-fd
-  ]);
-
-  python = python3;
-
-in python.pkgs.buildPythonApplication rec {
-  pname = "manim";
-  pyproject = true;
-  version = "0.18.0.post0";
-  disabled = python3.pythonOlder "3.8";
-
-  src = fetchFromGitHub {
-    owner  = "ManimCommunity";
-    repo = "manim";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-4HwQ74oHloK+1KOD6SzXCzGIDD+Dc0jDabw6/+cqmos=";
-  };
-
-  nativeBuildInputs = with python.pkgs; [
-    poetry-core
-    pythonRelaxDepsHook
-  ];
-
-  pythonRelaxDeps = [
-    "cloup"
-    "isosurfaces"
-    "pillow"
-    "skia-pathops"
-    "watchdog"
-  ];
-
-  patches = [
-    ./pytest-report-header.patch
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term" ""
-  '';
-
-  buildInputs = [ cairo ];
-
-  propagatedBuildInputs = with python.pkgs; [
-    click
-    click-default-group
-    cloup
-    colour
-    grpcio
-    grpcio-tools
-    importlib-metadata
-    isosurfaces
-    jupyterlab
-    manimpango
-    mapbox-earcut
-    moderngl
-    moderngl-window
-    networkx
-    numpy
-    pillow
-    pycairo
-    pydub
-    pygments
-    pysrt
-    rich
-    scipy
-    screeninfo
-    skia-pathops
-    srt
-    svgelements
-    tqdm
-    watchdog
-  ];
-
-  makeWrapperArgs = [
-    "--prefix" "PATH" ":" (lib.makeBinPath [
-      ffmpeg
-      manim-tinytex
-    ])
-  ];
-
-  nativeCheckInputs = [
-    ffmpeg
-    manim-tinytex
-  ] ++ (with python.pkgs; [
-    pytest-xdist
-    pytestCheckHook
-  ]);
-
-  # about 55 of ~600 tests failing mostly due to demand for display
-  disabledTests = import ./failing_tests.nix;
-
-  pythonImportsCheck = [ "manim" ];
-
-  meta = with lib; {
-    description = "Animation engine for explanatory math videos - Community version";
-    longDescription = ''
-      Manim is an animation engine for explanatory math videos. It's used to
-      create precise animations programmatically, as seen in the videos of
-      3Blue1Brown on YouTube. This is the community maintained version of
-      manim.
-    '';
-    homepage = "https://github.com/ManimCommunity/manim";
-    license = licenses.mit;
-    maintainers = with maintainers; [ friedelino ];
-  };
-}
diff --git a/pkgs/applications/video/manim/failing_tests.nix b/pkgs/applications/video/manim/failing_tests.nix
deleted file mode 100644
index ac788c25be20c..0000000000000
--- a/pkgs/applications/video/manim/failing_tests.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-[
-  # reason for failure: tests try to open display
-  "test_background_color"
-  "test_scene_add_remove"
-  "test_Circle"
-  "test_wait_skip"
-  "test_basic_scene_with_default_values"
-  "test_dry_run_with_png_format"
-  "test_dry_run_with_png_format_skipped_animations"
-  "test_FixedMobjects3D"
-  "test_basic_scene_l_flag"
-  "test_n_flag"
-  "test_s_flag_opengl_renderer"
-  "test_s_flag_no_animations"
-  "test_image_output_for_static_scene"
-  "test_no_image_output_with_interactive_embed"
-  "test_no_default_image_output_with_non_static_scene"
-  "test_image_output_for_static_scene_with_write_to_movie"
-  "test_s_flag"
-  "test_r_flag"
-  "test_play_skip"
-  "test_write_to_movie_disables_window"
-  "test_a_flag"
-  "test_pixel_coords_to_space_coords"
-  "test_t_values"
-  "test_custom_folders"
-  "test_t_values[15]"
-  "test_t_values[30]"
-  "test_t_values[60]"
-  "test_dash_as_filename"
-  "test_images_are_created_when_png_format_set_for_opengl"
-  "test_t_values_with_skip_animations"
-  "test_static_wait_detection"
-  "test_non_static_wait_detection"
-  "test_frozen_frame"
-  "test_gif_format_output"
-  "test_animate_with_changed_custom_attribute"
-  "test_images_are_zero_padded_when_zero_pad_set_for_opengl"
-  "test_mp4_format_output"
-  "test_videos_not_created_when_png_format_set"
-  "test_images_are_created_when_png_format_set"
-  "test_images_are_zero_padded_when_zero_pad_set"
-  "test_webm_format_output"
-  "test_default_format_output_for_transparent_flag"
-  "test_mov_can_be_set_as_output_format"
-  "test_force_window_opengl_render_with_format"
-  "test_get_frame_with_preview_disabled"
-  "test_get_frame_with_preview_enabled"
-
-  # reason for failure: tests try to reach network
-  "test_logging_to_file"
-  "test_plugin_function_like"
-  "test_plugin_no_all"
-  "test_plugin_with_all"
-
-  # failing with:
-  # E           AssertionError:
-  # E           Not equal to tolerance rtol=1e-07, atol=1.01
-  # E           Frame no -1. You can use --show_diff to visually show the difference.
-  # E           Mismatched elements: 18525 / 1639680 (1.13%)
-  # E           Max absolute difference: 255
-  # E           Max relative difference: 255.
-  "test_Text2Color"
-  "test_PointCloudDot"
-  "test_Torus"
-
-  # test_ImplicitFunction[/test_implicit_graph] failing with:
-  # E           AssertionError:
-  # E           Not equal to tolerance rtol=1e-07, atol=1.01
-  # E           Frame no -1. You can use --show_diff to visually show the difference.
-  # E           Mismatched elements: 1185[/633] / 1639680[/1639680] (0.0723[/0.0386]%)
-  # E           Max absolute difference: 125[/121]
-  # E           Max relative difference: 6.5[/1]
-  #
-  # These started failing after relaxing the “watchdog” and “isosurfaces” dependencies,
-  # likely due to a tolerance difference.  They should, however, start working again when [1] is
-  # included in a Manim release.
-  # [1]: https://github.com/ManimCommunity/manim/pull/3376
-  "test_ImplicitFunction"
-  "test_implicit_graph"
-
-  # failing with:
-  # TypeError: __init__() got an unexpected keyword argument 'msg' - maybe you meant pytest.mark.skipif?
-  "test_force_window_opengl_render_with_movies"
-
-  # mismatching expecation on the new commandline
-  "test_manim_new_command"
-
-  # This tests checks if the manim executable is a python script. In our case it is not.
-  # It is a wrapper shell script instead.
-  "test_manim_checkhealth_subcommand"
-]
diff --git a/pkgs/applications/video/manim/pytest-report-header.patch b/pkgs/applications/video/manim/pytest-report-header.patch
deleted file mode 100644
index 7aa87d373e508..0000000000000
--- a/pkgs/applications/video/manim/pytest-report-header.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/conftest.py b/conftest.py
-index dacb730a..149c6702 100644
---- a/conftest.py
-+++ b/conftest.py
-@@ -33,17 +33,3 @@ def temp_media_dir(tmpdir, monkeypatch, request):
-         with tempconfig({"media_dir": str(tmpdir)}):
-             assert config.media_dir == str(tmpdir)
-             yield tmpdir
--
--
--def pytest_report_header(config):
--    ctx = moderngl.create_standalone_context()
--    info = ctx.info
--    ctx.release()
--    return (
--        f"\nCairo Version: {cairo.cairo_version()}",
--        "\nOpenGL information",
--        "------------------",
--        f"vendor: {info['GL_VENDOR'].strip()}",
--        f"renderer: {info['GL_RENDERER'].strip()}",
--        f"version: {info['GL_VERSION'].strip()}\n",
--    )
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 2802ed8a5b960..8fc656981a3ad 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -49,13 +49,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "83.0";
+  version = "84.0";
 
   src = fetchFromGitLab {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    hash = "sha256-MHi3ewxCn560vpVfOucV34CNj/95U2OFd6bxAjtMBoc=";
+    hash = "sha256-//I++WWnSHnkpTZ0TzS3lhH5+eDD5mazTQ1HVMQS4Ug=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/molotov/default.nix b/pkgs/applications/video/molotov/default.nix
index 1930f06ffdb60..58e66c8f77ae8 100644
--- a/pkgs/applications/video/molotov/default.nix
+++ b/pkgs/applications/video/molotov/default.nix
@@ -12,7 +12,6 @@ in
 appimageTools.wrapType2 {
   inherit pname version src;
   extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
     install -m 444 -D \
       ${appimageContents}/@molotovdesktop-wrapper.desktop \
       $out/share/applications/${pname}.desktop
diff --git a/pkgs/applications/video/mpv/scripts/buildLua.nix b/pkgs/applications/video/mpv/scripts/buildLua.nix
index e0afa7d932c67..8db7d4b1aa3c9 100644
--- a/pkgs/applications/video/mpv/scripts/buildLua.nix
+++ b/pkgs/applications/video/mpv/scripts/buildLua.nix
@@ -2,7 +2,10 @@
 , stdenvNoCC }:
 
 let
-  escapedList = with lib; concatMapStringsSep " " (s: "'${escape [ "'" ] s}'");
+  # Escape strings for embedding in shell scripts
+  escaped = s: "'${lib.escape [ "'" ] s}'";
+  escapedList = lib.concatMapStringsSep " " escaped;
+
   fileName = pathStr: lib.last (lib.splitString "/" pathStr);
   scriptsDir = "$out/share/mpv/scripts";
 
@@ -50,14 +53,14 @@ lib.makeOverridable (args: stdenvNoCC.mkDerivation (extendedBy
         }
         [ ${with builtins; toString (length extraScripts)} -eq 0 ] || {
           echo "mpvScripts.buildLua does not support 'extraScripts'" \
-               "when 'scriptPath' is a directory"
+               "when 'scriptPath' is a directory" >&2
           exit 1
         }
         mkdir -p "${scriptsDir}"
         cp -a "${scriptPath}" "${scriptsDir}/${scriptName}"
       else
-        install -m644 -Dt "${scriptsDir}" \
-          ${escapedList ([ scriptPath ] ++ extraScripts)}
+        install -m644 -Dt "${scriptsDir}" ${escaped scriptPath}
+        ${lib.optionalString (extraScripts != []) ''cp -at "${scriptsDir}/" ${escapedList extraScripts}''}
       fi
 
       runHook postInstall
diff --git a/pkgs/applications/video/mpv/scripts/chapterskip.nix b/pkgs/applications/video/mpv/scripts/chapterskip.nix
index 9d0c7dafc1dbf..6c6fc4ba51fee 100644
--- a/pkgs/applications/video/mpv/scripts/chapterskip.nix
+++ b/pkgs/applications/video/mpv/scripts/chapterskip.nix
@@ -6,7 +6,7 @@
 buildLua {
   pname = "chapterskip";
 
-  version = "unstable-2022-09-08";
+  version = "0-unstable-2022-09-08";
   src = fetchFromGitHub {
     owner = "po5";
     repo  = "chapterskip";
diff --git a/pkgs/applications/video/mpv/scripts/convert.nix b/pkgs/applications/video/mpv/scripts/convert.nix
index aaf9afcc0d52b..d1fdc9c801bb7 100644
--- a/pkgs/applications/video/mpv/scripts/convert.nix
+++ b/pkgs/applications/video/mpv/scripts/convert.nix
@@ -10,7 +10,7 @@
 
 buildLua {
   pname = "mpv-convert-script";
-  version = "unstable-2015-07-02";
+  version = "0-unstable-2015-07-02";
   src = fetchgit {
     url = "https://gist.github.com/Zehkul/25ea7ae77b30af959be0";
     rev = "f95cee43e390e843a47e8ec9d1711a12a8cd343d";
diff --git a/pkgs/applications/video/mpv/scripts/cutter.nix b/pkgs/applications/video/mpv/scripts/cutter.nix
index 69eba782cc1d7..ac2f518a9b5ab 100644
--- a/pkgs/applications/video/mpv/scripts/cutter.nix
+++ b/pkgs/applications/video/mpv/scripts/cutter.nix
@@ -2,7 +2,7 @@
 
 buildLua {
   pname = "video-cutter";
-  version = "unstable-2023-11-09";
+  version = "0-unstable-2023-11-10";
 
   src = fetchFromGitHub {
     owner = "rushmj";
@@ -29,7 +29,6 @@ buildLua {
   extraScripts = [ "c_concat.sh" ];
 
   postInstall = ''
-    chmod 0755 $out/share/mpv/scripts/c_concat.sh
     wrapProgram $out/share/mpv/scripts/c_concat.sh \
       --run "mkdir -p ~/.config/mpv/cutter/"
   '';
diff --git a/pkgs/applications/video/mpv/scripts/default.nix b/pkgs/applications/video/mpv/scripts/default.nix
index fac7c910d57ad..ce5188c09d294 100644
--- a/pkgs/applications/video/mpv/scripts/default.nix
+++ b/pkgs/applications/video/mpv/scripts/default.nix
@@ -69,12 +69,16 @@ let
     cutter = callPackage ./cutter.nix { };
     dynamic-crop = callPackage ./dynamic-crop.nix { };
     inhibit-gnome = callPackage ./inhibit-gnome.nix { };
+    memo = callPackage ./memo.nix { };
+    manga-reader = callPackage ./manga-reader.nix { };
     modernx = callPackage ./modernx.nix { };
     modernx-zydezu = callPackage ./modernx-zydezu.nix { };
     mpris = callPackage ./mpris.nix { };
     mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { };
+    mpv-notify-send = callPackage ./mpv-notify-send.nix { };
     mpv-osc-modern = callPackage ./mpv-osc-modern.nix { };
     mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { };
+    mpv-slicing = callPackage ./mpv-slicing.nix { };
     mpv-webm = callPackage ./mpv-webm.nix { };
     mpvacious = callPackage ./mpvacious.nix { };
     quack = callPackage ./quack.nix { };
@@ -86,9 +90,11 @@ let
     thumbfast = callPackage ./thumbfast.nix { };
     thumbnail = callPackage ./thumbnail.nix { };
     uosc = callPackage ./uosc.nix { };
+    videoclip = callPackage ./videoclip.nix { };
     visualizer = callPackage ./visualizer.nix { };
     vr-reversal = callPackage ./vr-reversal.nix { };
     webtorrent-mpv-hook = callPackage ./webtorrent-mpv-hook.nix { };
+    youtube-upnext = callPackage ./youtube-upnext.nix { };
   };
 
   aliases = {
diff --git a/pkgs/applications/video/mpv/scripts/manga-reader.nix b/pkgs/applications/video/mpv/scripts/manga-reader.nix
new file mode 100644
index 0000000000000..9a9621cb34d0e
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/manga-reader.nix
@@ -0,0 +1,29 @@
+{
+  lib,
+  fetchFromGitHub,
+  unstableGitUpdater,
+  buildLua,
+}:
+
+buildLua rec {
+  pname = "manga-reader";
+
+  version = "0-unstable-2024-03-17";
+  src = fetchFromGitHub {
+    owner = "Dudemanguy";
+    repo = "mpv-manga-reader";
+    rev = "6b65d98be7d20c8e272a4caa6c5018ed3a8bb2b3";
+    hash = "sha256-54n513lpn1KCErXJHqL+GKdDE1P52LolS6xDott/epY=";
+  };
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = {
+    description = "Manga reading script for mpv";
+    longDescription = ''
+      mpv-manga-reader is a script aimed at making mpv a usable manga reader.
+    '';
+    homepage = "https://github.com//mpv-manga-reader";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ idlip ];
+  };
+}
diff --git a/pkgs/applications/video/mpv/scripts/memo.nix b/pkgs/applications/video/mpv/scripts/memo.nix
new file mode 100644
index 0000000000000..5361b796268e1
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/memo.nix
@@ -0,0 +1,26 @@
+{ fetchFromGitHub
+, buildLua
+, lib
+, unstableGitUpdater
+}:
+
+buildLua {
+  pname = "memo";
+  version = "0-unstable-2023-10-31";
+
+  src = fetchFromGitHub {
+    owner = "po5";
+    repo = "memo";
+    rev = "6f2b036ef860e130ea584657389e0a7ceb4d954f";
+    hash = "sha256-m8ikXuw7PM4Btg8w7ufLneKA4fnYjMyfVJYueZILMw8=";
+  };
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "A recent files menu for mpv";
+    homepage = "https://github.com/po5/memo";
+    license = licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ purrpurrn ];
+  };
+}
diff --git a/pkgs/applications/video/mpv/scripts/modernx.nix b/pkgs/applications/video/mpv/scripts/modernx.nix
index e6e9ec6110c4f..340b169a0c03d 100644
--- a/pkgs/applications/video/mpv/scripts/modernx.nix
+++ b/pkgs/applications/video/mpv/scripts/modernx.nix
@@ -6,14 +6,14 @@
 }:
 buildLua (finalAttrs: {
   pname = "modernx";
-  version = "0.6.0";
+  version = "0.6.1";
 
   scriptPath = "modernx.lua";
   src = fetchFromGitHub {
     owner = "cyl0";
     repo = "ModernX";
     rev = finalAttrs.version;
-    hash = "sha256-Gpofl529VbmdN7eOThDAsNfNXNkUDDF82Rd+csXGOQg=";
+    hash = "sha256-q7DwyfmOIM7K1L7vvCpq1EM0RVpt9E/drhAa9rLYb1k=";
   };
 
   postInstall = ''
diff --git a/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix b/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix
index 56013b1fceeb4..a15f54d01ef22 100644
--- a/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix
+++ b/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix
@@ -1,4 +1,9 @@
-{ lib, fetchFromGitHub, nodePackages, stdenvNoCC }:
+{ lib
+, fetchFromGitHub
+, gitUpdater
+, nodePackages
+, stdenvNoCC
+}:
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "mpv-cheatsheet";
   version = "0.30.0.2";
@@ -9,6 +14,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     rev = "v${finalAttrs.version}";
     hash = "sha256-MWK0CYto3zgn3fivmL43tvgZn6XrjPxKLp0lgTFdplM=";
   };
+  passthru.updateScript = gitUpdater { rev-prefix = "v"; };
 
   nativeBuildInputs = [
     nodePackages.browserify
diff --git a/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix b/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix
new file mode 100644
index 0000000000000..04b03670b79f2
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildLua
+, fetchFromGitHub
+, fetchpatch
+, unstableGitUpdater
+, libnotify }:
+
+buildLua rec {
+  pname = "mpv-notify-send";
+  version = "0-unstable-2020-02-24";
+
+  src = fetchFromGitHub {
+    owner = "emilazy";
+    repo = pname;
+    rev = "a2bab8b2fd8e8d14faa875b5cc3a73f1276cd88a";
+    sha256 = "sha256-EwVkhyB87TJ3i9xJmmZMSTMUKvfbImI1S+y1vgRWbDk=";
+  };
+
+  patches = [
+    # show title of online videos instead of url
+    (fetchpatch {
+      url = "https://github.com/emilazy/mpv-notify-send/pull/6.patch";
+      hash = "sha256-7aXQ8qeqG4yX0Uyn09xCIESnwPZsb6Frd7C49XgbpFw=";
+    })
+  ];
+
+  passthru.extraWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath libnotify)
+  ];
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = with lib; {
+    description = "A Lua script for mpv to send notifications with notify-send";
+    homepage = "https://github.com/emilazy/mpv-notify-send";
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ r3n3gad3p3arl ];
+  };
+}
diff --git a/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix b/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
index 5287c7f21108d..44f09b8f21fe8 100644
--- a/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
+++ b/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
@@ -2,7 +2,7 @@
 
 buildLua rec {
   pname = "mpv-playlistmanager";
-  version = "unstable-2024-02-26";
+  version = "0-unstable-2024-02-26";
 
   src = fetchFromGitHub {
     owner = "jonniek";
diff --git a/pkgs/applications/video/mpv/scripts/mpv-slicing.nix b/pkgs/applications/video/mpv/scripts/mpv-slicing.nix
new file mode 100644
index 0000000000000..cf66a6c78a297
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/mpv-slicing.nix
@@ -0,0 +1,34 @@
+{
+  lib,
+  buildLua,
+  fetchFromGitHub,
+  ffmpeg,
+  unstableGitUpdater,
+}:
+
+buildLua {
+  pname = "mpv-slicing";
+  version = "0-unstable-2017-11-25";
+
+  src = fetchFromGitHub {
+    owner = "Kagami";
+    repo = "mpv_slicing";
+    rev = "d09c11227704c8d5bdaa2c799ef64dce881c63a7";
+    hash = "sha256-MKoM0f74/XoctiHQVOB3LzFWtJXpsREfQh5icaebCJo=";
+  };
+  passthru.updateScript = unstableGitUpdater { };
+
+  postPatch = ''
+    substituteInPlace slicing.lua \
+        --replace-fail ffmpeg ${lib.getExe ffmpeg}
+  '';
+
+  passthru.scriptName = "slicing.lua";
+
+  meta = {
+    description = "A lua script to cut fragments of the video in uncompressed RGB format";
+    homepage = "https://github.com/Kagami/mpv_slicing";
+    license = lib.licenses.cc0;
+    maintainers = with lib.maintainers; [ tomasajt ];
+  };
+}
diff --git a/pkgs/applications/video/mpv/scripts/mpv-webm.nix b/pkgs/applications/video/mpv/scripts/mpv-webm.nix
index 5645d6a65f6bf..efff9fa8ee169 100644
--- a/pkgs/applications/video/mpv/scripts/mpv-webm.nix
+++ b/pkgs/applications/video/mpv/scripts/mpv-webm.nix
@@ -7,15 +7,18 @@
 
 buildLua {
   pname = "mpv-webm";
-  version = "unstable-2023-11-18";
+  version = "0-unstable-2024-04-22";
 
   src = fetchFromGitHub {
     owner = "ekisu";
     repo = "mpv-webm";
-    rev = "6b5863f68275b3dc91c2507284c039ec8a4cbd97";
-    hash = "sha256-rJamBm6FyxWcJO7VXXOUTO9piWCkPfEVdqGKGeJ/h0c=";
+    rev = "225e8e53842f7da6f77034309c1e54293dc629a4";
+    hash = "sha256-82xWiuOChxfzX6e0+cGFxTqyuiPefyVwpvLM5ka7nPk=";
+  };
+  passthru.updateScript = unstableGitUpdater {
+    # only "latest" tag pointing at HEAD
+    hardcodeZeroVersion = true;
   };
-  passthru.updateScript = unstableGitUpdater {};
 
   dontBuild = false;
   nativeBuildInputs = [ luaPackages.moonscript ];
diff --git a/pkgs/applications/video/mpv/scripts/mpvacious.nix b/pkgs/applications/video/mpv/scripts/mpvacious.nix
index ec4e25b88fb7b..adac4d1d60692 100644
--- a/pkgs/applications/video/mpv/scripts/mpvacious.nix
+++ b/pkgs/applications/video/mpv/scripts/mpvacious.nix
@@ -9,13 +9,13 @@
 
 buildLua rec {
   pname = "mpvacious";
-  version = "0.27";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner = "Ajatt-Tools";
     repo = "mpvacious";
     rev = "v${version}";
-    sha256 = "sha256-pn6hNEhOzKiU+zQJKj/rF0GLXaEe+XBpHp0RlzsNIio=";
+    sha256 = "sha256-VHMXW2AzgX88EDnNshxo9Gh8mpXzRoTAq+58HKasUdo=";
   };
   passthru.updateScript = gitUpdater {
     rev-prefix = "v";
diff --git a/pkgs/applications/video/mpv/scripts/occivink.nix b/pkgs/applications/video/mpv/scripts/occivink.nix
index 1f17a27172872..be3bdb07db8da 100644
--- a/pkgs/applications/video/mpv/scripts/occivink.nix
+++ b/pkgs/applications/video/mpv/scripts/occivink.nix
@@ -13,7 +13,7 @@ let
   mkScript = name: args:
     let self = rec {
       pname = camelToKebab name;
-      version = "unstable-2024-01-11";
+      version = "0-unstable-2024-01-11";
       src = fetchFromGitHub {
         owner = "occivink";
         repo = "mpv-scripts";
diff --git a/pkgs/applications/video/mpv/scripts/quack.nix b/pkgs/applications/video/mpv/scripts/quack.nix
index e7138de928779..646a7a524d18f 100644
--- a/pkgs/applications/video/mpv/scripts/quack.nix
+++ b/pkgs/applications/video/mpv/scripts/quack.nix
@@ -6,10 +6,10 @@
 buildLua rec {
   pname = "mpv-quack";
 
-  version = "unstable-2020-05-26";
+  version = "0-unstable-2020-05-27";
   src = fetchFromGitHub {
     owner = "CounterPillow";
-    repo  = pname;
+    repo  = "mpv-quack";
     rev   = "1c87f36f9726d462dd112188c04be54d85692cf3";
     hash  = "sha256-dEnJbS8RJoAxpKINdoMHN4l7vpEdf7+C5JVWpK0VXMw=";
   };
@@ -24,8 +24,8 @@ buildLua rec {
       The volume is linearly increased back up to its original level.
       Repeated seeks before the transition is done work as well.
     '';
-    homepage = "https://github.com/CounterPillow/quack";
-    license = lib.licenses.gpl3;
+    homepage = "https://github.com/CounterPillow/mpv-quack";
+    license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ nicoo ];
   };
 }
diff --git a/pkgs/applications/video/mpv/scripts/reload.nix b/pkgs/applications/video/mpv/scripts/reload.nix
index ec9f441f7cfba..426aabd7fe495 100644
--- a/pkgs/applications/video/mpv/scripts/reload.nix
+++ b/pkgs/applications/video/mpv/scripts/reload.nix
@@ -6,7 +6,7 @@
 buildLua rec {
   pname = "mpv-reload";
 
-  version = "unstable-2024-03-22";
+  version = "0-unstable-2024-03-22";
   src = fetchFromGitHub {
     owner = "4e6";
     repo  = pname;
diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix b/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix
index 7ea503ddd62c5..2557db8313d6d 100644
--- a/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix
+++ b/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix
@@ -2,7 +2,7 @@
 
 buildLua {
   pname = "mpv_sponsorblock_minimal";
-  version = "unstable-2023-08-20";
+  version = "0-unstable-2023-08-20";
   scriptPath = "sponsorblock_minimal.lua";
 
   src = fetchFromGitea {
diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
index 077b8f0590b28..56ac2575ecdea 100644
--- a/pkgs/applications/video/mpv/scripts/sponsorblock.nix
+++ b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
@@ -32,7 +32,7 @@ buildLua {
       --replace 'mp.find_config_file("scripts")' "\"$out/share/mpv/scripts\""
   '';
 
-  postInstall = "cp -a sponsorblock_shared $out/share/mpv/scripts/";
+  extraScripts = [ "sponsorblock_shared" ];
 
   passthru.updateScript = nix-update-script {
     extraArgs = [ "--version=branch" ];
diff --git a/pkgs/applications/video/mpv/scripts/thumbfast.nix b/pkgs/applications/video/mpv/scripts/thumbfast.nix
index 7336fbe35dad8..e30c62774b759 100644
--- a/pkgs/applications/video/mpv/scripts/thumbfast.nix
+++ b/pkgs/applications/video/mpv/scripts/thumbfast.nix
@@ -2,7 +2,7 @@
 
 buildLua {
   pname = "mpv-thumbfast";
-  version = "unstable-2023-12-08";
+  version = "0-unstable-2023-12-08";
 
   src = fetchFromGitHub {
     owner = "po5";
diff --git a/pkgs/applications/video/mpv/scripts/videoclip.nix b/pkgs/applications/video/mpv/scripts/videoclip.nix
new file mode 100644
index 0000000000000..fff5b788b0286
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/videoclip.nix
@@ -0,0 +1,40 @@
+{ lib
+, fetchFromGitHub
+, curl
+, xclip
+, wl-clipboard
+, stdenv
+, buildLua
+, unstableGitUpdater
+}:
+buildLua {
+  pname = "videoclip";
+  version = "0-unstable-2024-03-08";
+
+  src = fetchFromGitHub {
+    owner = "Ajatt-Tools";
+    repo = "videoclip";
+    rev = "0e3f2245b03e888c14c093a50261e0f54ecdf8e8";
+    hash = "sha256-Sg6LHU9OVmVx3cTs8Y0WL8wACb5BlVyeBRccoX+7BXY=";
+  };
+
+  patchPhase = ''
+    substituteInPlace platform.lua \
+    --replace \'curl\' \'${lib.getExe curl}\' \
+  '' + lib.optionalString stdenv.isLinux ''
+    --replace xclip ${lib.getExe xclip} \
+    --replace wl-copy ${lib.getExe' wl-clipboard "wl-copy"}
+  '';
+
+  scriptPath = ".";
+  passthru.scriptName = "videoclip";
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = with lib; {
+    description = "Easily create videoclips with mpv";
+    homepage = "https://github.com/Ajatt-Tools/videoclip";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ BatteredBunny ];
+  };
+}
diff --git a/pkgs/applications/video/mpv/scripts/visualizer.nix b/pkgs/applications/video/mpv/scripts/visualizer.nix
index d387ac7b9ec71..332604286847a 100644
--- a/pkgs/applications/video/mpv/scripts/visualizer.nix
+++ b/pkgs/applications/video/mpv/scripts/visualizer.nix
@@ -6,7 +6,7 @@
 }:
 buildLua {
   pname = "visualizer";
-  version = "unstable-2024-03-10";
+  version = "0-unstable-2024-03-10";
 
   src = fetchFromGitHub {
     owner = "mfcc64";
diff --git a/pkgs/applications/video/mpv/scripts/youtube-upnext.nix b/pkgs/applications/video/mpv/scripts/youtube-upnext.nix
new file mode 100644
index 0000000000000..cdd7ea66a1763
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/youtube-upnext.nix
@@ -0,0 +1,27 @@
+{ buildLua, fetchFromGitHub, curl, unstableGitUpdater, lib }:
+
+buildLua rec {
+  pname = "youtube-upnext";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "cvzi";
+    repo = "mpv-youtube-upnext";
+    rev = "v${version}";
+    hash = "sha256-x9mfyc8JIlOpbSfGEwxXoUtsH0A+K3JPwT/8MHq7ks4=";
+  };
+
+  postPatch = ''
+    substituteInPlace youtube-upnext.lua \
+      --replace '"curl"' '"${lib.getExe curl}"'
+  '';
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = with lib; {
+    description = "A userscript that allows you to play 'up next'/recommended youtube videos";
+    homepage = "https://github.com/cvzi/mpv-youtube-upnext";
+    maintainers = with maintainers; [ bddvlpr ];
+    license = licenses.unfree;
+  };
+}
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index fba7eb16839ef..07e8be2bea719 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -42,6 +42,6 @@ mkDerivation rec {
     description = "Open Source DVR";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.titanous ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 3df52d08684d5..f278d832958ed 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -198,7 +198,7 @@ stdenv.mkDerivation (finalAttrs: {
       video content, efficiently
     '';
     homepage = "https://obsproject.com";
-    maintainers = with maintainers; [ eclairevoyant jb55 MP2E materus fpletz ];
+    maintainers = with maintainers; [ eclairevoyant jb55 materus fpletz ];
     license = with licenses; [ gpl2Plus ] ++ optional withFdk fraunhofer-fdk;
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
     mainProgram = "obs";
diff --git a/pkgs/applications/video/obs-studio/plugins/input-overlay.nix b/pkgs/applications/video/obs-studio/plugins/input-overlay.nix
index 8926b7e1764b8..9f13de2847402 100644
--- a/pkgs/applications/video/obs-studio/plugins/input-overlay.nix
+++ b/pkgs/applications/video/obs-studio/plugins/input-overlay.nix
@@ -13,12 +13,12 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-input-overlay";
-  version = "5.0.4";
+  version = "5.0.5";
   src = fetchFromGitHub {
     owner = "univrsal";
     repo = "input-overlay";
     rev = "v${version}";
-    sha256 = "sha256-MON68yjHUOF/bggWqhw8D0+23HpKQN3jWs+5lLAacaQ=";
+    sha256 = "sha256-9HqEz+KnTt8MyhwqFWjalbl3H/DCzumckXMctCGhs3o=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix
index 766fca414cd8d..638d0785f4c80 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-backgroundremoval/default.nix
@@ -2,37 +2,45 @@
 , stdenv
 , fetchFromGitHub
 , cmake
+, ninja
 , obs-studio
 , onnxruntime
 , opencv
+, qt6
+, curl
 }:
 
 stdenv.mkDerivation rec {
   pname = "obs-backgroundremoval";
-  version = "0.5.16";
+  version = "1.1.13";
 
   src = fetchFromGitHub {
-    owner = "royshil";
+    owner = "occ-ai";
     repo = "obs-backgroundremoval";
-    rev = "v${version}";
-    hash = "sha256-E+pm/Ma6dZTYlX3DpB49ynTETsRS2TBqgHSCijl/Txc=";
+    rev = version;
+    hash = "sha256-QoC9/HkwOXMoFNvcOxQkGCLLAJmsja801LKCNT9O9T0=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ obs-studio onnxruntime opencv ];
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ obs-studio onnxruntime opencv qt6.qtbase curl ];
 
   dontWrapQtApps = true;
 
   cmakeFlags = [
+    "--preset linux-x86_64"
+    "-DCMAKE_MODULE_PATH:PATH=${src}/cmake"
     "-DUSE_SYSTEM_ONNXRUNTIME=ON"
     "-DUSE_SYSTEM_OPENCV=ON"
+    "-DDISABLE_ONNXRUNTIME_GPU=ON"
   ];
 
-  postInstall = ''
-    mkdir $out/lib $out/share
-    mv $out/obs-plugins/64bit $out/lib/obs-plugins
-    rm -rf $out/obs-plugins
-    mv $out/data $out/share/obs
+  buildPhase = ''
+     cd ..
+     cmake --build build_x86_64 --parallel
+  '';
+
+  installPhase = ''
+    cmake --install build_x86_64 --prefix "$out"
   '';
 
   meta = with lib; {
@@ -40,6 +48,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/royshil/obs-backgroundremoval";
     maintainers = with maintainers; [ zahrun ];
     license = licenses.mit;
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix b/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix
index f38d53a14101e..df4ec89316b33 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-command-source";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "norihiro";
     repo = "obs-command-source";
     rev = version;
-    sha256 = "sha256-rBGMQb7iGtxF54bBOK5lHI6VFYCSEyeSq2Arz0T0DPo=";
+    sha256 = "sha256-yrzY4pHSupkkdRlx725oSVtQTH1Ci9zFolHN3i2Vm28=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
index deebf1af7b848..f400fced2ac08 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-shaderfilter";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "exeldro";
     repo = "obs-shaderfilter";
     rev = version;
-    sha256 = "sha256-J7tCEIB9zQ0zZFl1eSuEARd+KqpNClHfYx3wcLawFeM=";
+    sha256 = "sha256-INxz8W4AMKxRcfpZkhqqsWWWQQVEc2G9iFQBit1YA2E=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix b/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix
index c6e9f450b9907..82767da10d998 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-vertical-canvas";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "Aitum";
     repo = "obs-vertical-canvas";
     rev = version;
-    sha256 = "sha256-baEF8vcAmac4bwpzJnGE2WczTa6vojjRQ/oEKgYeXgk=";
+    sha256 = "sha256-3lFM7bOzsKex6JUdbcw8MNS4PRzaN/E/vngdukgfV0s=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index 089b60a3b27c5..fdd96d1aa3ded 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -8,6 +8,9 @@
 , python3
 , qtbase
 , qtsvg
+, qtwayland
+, wayland
+, waylandSupport ? stdenv.isLinux
 , wrapGAppsHook
 }:
 
@@ -33,6 +36,9 @@ mkDerivationWith python3.pkgs.buildPythonApplication {
 
   buildInputs = [
     gtk3
+  ] ++ lib.optionals waylandSupport [
+    qtwayland
+    wayland
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 8678c456b07f7..87732ad75b8cc 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -21,13 +21,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "shotcut";
-  version = "24.02.29";
+  version = "24.04.28";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-PHpVquqC0MT7WNoWcdB9WTz4ZiSK4/f4oD5PH1gWBnw=";
+    hash = "sha256-iMg2XrTrLFZXXvnJ7lMdkxf/LTaL9bh9Nc2jsPOS0eo=";
   };
 
   nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ];
diff --git a/pkgs/applications/video/showmethekey/default.nix b/pkgs/applications/video/showmethekey/default.nix
index cd61cfc9d0d44..ef30ed13784c0 100644
--- a/pkgs/applications/video/showmethekey/default.nix
+++ b/pkgs/applications/video/showmethekey/default.nix
@@ -12,15 +12,16 @@
 , libxkbcommon
 , pkg-config
 }:
+
 stdenv.mkDerivation rec {
   pname = "showmethekey";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "AlynxZhou";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-eeObomb4Gv/vpvViHsi3+O0JR/rYamrlZNZaXKL6KJw=";
+    repo = "showmethekey";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-pVFkO/+a7GAOXbYBfU0zcO/uD26PX+y02bEZa3f1ZP8=";
   };
 
   nativeBuildInputs = [
@@ -40,8 +41,9 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://showmethekey.alynx.one/";
     description = "Show keys you typed on screen";
+    homepage = "https://showmethekey.alynx.one/";
+    changelog = "https://github.com/AlynxZhou/showmethekey/releases/tag/v${version}";
     license = licenses.asl20;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ocfox ];
diff --git a/pkgs/applications/video/vcs/default.nix b/pkgs/applications/video/vcs/default.nix
index e21e3a98f1f7f..63a9989134735 100644
--- a/pkgs/applications/video/vcs/default.nix
+++ b/pkgs/applications/video/vcs/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Generates contact sheets from video files";
     homepage = "http://p.outlyer.net/vcs";
-    license = licenses.cc-by-nc-sa-30;
+    license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ elitak ];
     platforms = with platforms; unix;
     mainProgram = "vcs";
diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix
index c5159fdd61f0f..5713aeb954af3 100644
--- a/pkgs/applications/video/vdr/default.nix
+++ b/pkgs/applications/video/vdr/default.nix
@@ -5,12 +5,12 @@
 }: stdenv.mkDerivation rec {
 
   pname = "vdr";
-  version = "2.6.6";
+  version = "2.6.7";
 
   src = fetchgit {
     url = "git://git.tvdr.de/vdr.git";
     rev = version;
-    hash = "sha256-3om/Q67PHtX/aIG4zMCaJTyD9bZNEcyE5LQTeb+zB+M=";
+    hash = "sha256-6i3EQgARwMLNejgB0NevmLmd9OrNBvjqW+qLrAdqUxE=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/video/vdr/markad/default.nix b/pkgs/applications/video/vdr/markad/default.nix
index 28dad0200270a..efc08eaf06d19 100644
--- a/pkgs/applications/video/vdr/markad/default.nix
+++ b/pkgs/applications/video/vdr/markad/default.nix
@@ -19,12 +19,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "vdr-markad";
-  version = "3.4.13";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     repo = "vdr-plugin-markad";
     owner = "kfb77";
-    sha256 = "sha256-pDnziIWX6deBXuVIN7w6F6TdYDCcEO6MSaUIMB63uAg=";
+    sha256 = "sha256-O958GNQI6Z+m4sIJfGQzLaCrzyrdpn+ZY8COx7RoUZs=";
     rev = "V${version}";
   };
 
diff --git a/pkgs/applications/video/vdr/softhddevice/default.nix b/pkgs/applications/video/vdr/softhddevice/default.nix
index 23c6433f9ebbd..caccdc6ed39a8 100644
--- a/pkgs/applications/video/vdr/softhddevice/default.nix
+++ b/pkgs/applications/video/vdr/softhddevice/default.nix
@@ -14,12 +14,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "vdr-softhddevice";
-  version = "2.1.2";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "ua0lnj";
     repo = "vdr-plugin-softhddevice";
-    sha256 = "sha256-y6b0nOf597uxS9zDh0NQOwLN81nk4U7lHK2CalyVi8s=";
+    sha256 = "sha256-1yCDNfUdQLgJ0WWyx0q3Hi0yxb6zxaK7wMzLD9jXweI=";
     rev = "v${version}";
   };
 
diff --git a/pkgs/applications/video/wf-recorder/default.nix b/pkgs/applications/video/wf-recorder/default.nix
index 56a85517eb0a1..f4e2c8ee714fd 100644
--- a/pkgs/applications/video/wf-recorder/default.nix
+++ b/pkgs/applications/video/wf-recorder/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     changelog = "https://github.com/ammen99/wf-recorder/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ yuka ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
     mainProgram = "wf-recorder";
   };
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock b/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
index 533a473d036ea..18d10d781df63 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
+++ b/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
@@ -5,16 +5,16 @@ version = 3
 [[package]]
 name = "acpi_tables"
 version = "0.1.0"
-source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#76e8552f57f76ca918e19c0a7b7480d2fa2c7241"
+source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#925e3f8aff3551df67ec4472fc221564e30c8847"
 dependencies = [
  "zerocopy",
 ]
 
 [[package]]
 name = "addr2line"
-version = "0.19.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
  "gimli",
 ]
@@ -27,18 +27,18 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
 
 [[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",
@@ -56,9 +56,9 @@ checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.1"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
@@ -84,9 +84,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.79"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
 
 [[package]]
 name = "api_client"
@@ -97,9 +97,9 @@ dependencies = [
 
 [[package]]
 name = "arc-swap"
-version = "1.6.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
 
 [[package]]
 name = "arch"
@@ -115,8 +115,6 @@ dependencies = [
  "serde",
  "thiserror",
  "uuid",
- "versionize",
- "versionize_derive",
  "vm-fdt",
  "vm-memory",
  "vm-migration",
@@ -135,28 +133,27 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.1.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 4.0.0",
- "event-listener-strategy",
+ "event-listener 5.3.0",
+ "event-listener-strategy 0.5.1",
  "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.2.0",
  "async-task",
  "concurrent-queue",
- "fastrand 2.0.0",
- "futures-lite 2.1.0",
+ "fastrand 2.0.2",
+ "futures-lite 2.3.0",
  "slab",
 ]
 
@@ -166,7 +163,7 @@ version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
 dependencies = [
- "async-lock 2.7.0",
+ "async-lock 2.8.0",
  "autocfg",
  "blocking",
  "futures-lite 1.13.0",
@@ -178,14 +175,14 @@ version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
 dependencies = [
- "async-lock 2.7.0",
+ "async-lock 2.8.0",
  "autocfg",
  "cfg-if",
  "concurrent-queue",
  "futures-lite 1.13.0",
  "log",
  "parking",
- "polling",
+ "polling 2.8.0",
  "rustix 0.37.27",
  "slab",
  "socket2",
@@ -193,67 +190,85 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-io"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884"
+dependencies = [
+ "async-lock 3.3.0",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite 2.3.0",
+ "parking",
+ "polling 3.6.0",
+ "rustix 0.38.32",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "async-lock"
-version = "2.7.0"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 dependencies = [
  "event-listener 2.5.3",
 ]
 
 [[package]]
 name = "async-lock"
-version = "3.2.0"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
 dependencies = [
- "event-listener 4.0.0",
- "event-listener-strategy",
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "async-process"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf012553ce51eb7aa6dc2143804cc8252bd1cb681a1c5cb7fa94ca88682dee1d"
+checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
 dependencies = [
- "async-io",
- "async-lock 2.7.0",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-signal",
  "blocking",
  "cfg-if",
- "event-listener 3.0.0",
+ "event-listener 3.1.0",
  "futures-lite 1.13.0",
- "rustix 0.38.25",
+ "rustix 0.38.32",
  "windows-sys 0.48.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.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "async-signal"
-version = "0.2.2"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c99f3cb3f9ff89f7d718fbb942c9eb91bedff12e396adf09a622dfe7ffec2bc2"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io",
- "async-lock 2.7.0",
+ "async-io 2.3.2",
+ "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if",
- "concurrent-queue",
  "futures-core",
  "futures-io",
- "libc",
+ "rustix 0.38.32",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -261,19 +276,19 @@ dependencies = [
 
 [[package]]
 name = "async-task"
-version = "4.5.0"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
-version = "0.1.76"
+version = "0.1.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "531b97fb4cd3dfdce92c35dedbfdc1f0b9d8091c8ca943d6dae340ef5012d514"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -284,15 +299,15 @@ 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.67"
+version = "0.3.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
 dependencies = [
  "addr2line",
  "cc",
@@ -304,15 +319,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
-[[package]]
 name = "bitfield-struct"
 version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -320,7 +326,7 @@ checksum = "a26b8cea8bb6a81b75a84603b9e096f05fa86db057904ef29be1deee900532bd"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -331,9 +337,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 
 [[package]]
 name = "block"
@@ -345,11 +351,10 @@ dependencies = [
  "libc",
  "log",
  "remain",
+ "serde",
  "smallvec",
  "thiserror",
  "uuid",
- "versionize",
- "versionize_derive",
  "virtio-bindings",
  "virtio-queue",
  "vm-memory",
@@ -373,35 +378,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel",
- "async-lock 3.2.0",
+ "async-lock 3.3.0",
  "async-task",
- "fastrand 2.0.0",
+ "fastrand 2.0.2",
  "futures-io",
- "futures-lite 2.1.0",
+ "futures-lite 2.3.0",
  "piper",
  "tracing",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.13.0"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
-dependencies = [
- "libc",
-]
+checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
 
 [[package]]
 name = "cfg-if"
@@ -411,35 +413,35 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "clap"
-version = "4.4.7"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
 dependencies = [
  "clap_builder",
 ]
 
 [[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.1",
  "terminal_size",
 ]
 
 [[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 = "cloud-hypervisor"
-version = "38.0.0"
+version = "39.0.0"
 dependencies = [
  "anyhow",
  "api_client",
@@ -485,9 +487,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -503,20 +505,14 @@ 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 = "crc64"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2707e3afba5e19b75d582d88bc79237418f2a2a2d673d01cf9b03633b46e98f3"
-
-[[package]]
 name = "crossbeam-utils"
 version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -534,9 +530,9 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.20.6"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -544,27 +540,27 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.6"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.48",
+ "strsim 0.10.0",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.6"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -591,17 +587,16 @@ dependencies = [
  "acpi_tables",
  "anyhow",
  "arch",
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "byteorder",
  "event_monitor",
  "hypervisor",
  "libc",
  "log",
  "pci",
+ "serde",
  "thiserror",
  "tpm",
- "versionize",
- "versionize_derive",
  "vm-allocator",
  "vm-device",
  "vm-memory",
@@ -658,9 +653,9 @@ dependencies = [
 
 [[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",
@@ -668,26 +663,36 @@ 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.58",
+]
+
+[[package]]
+name = "env_filter"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+dependencies = [
+ "log",
+ "regex",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.1"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
 dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
  "humantime",
- "is-terminal",
  "log",
- "regex",
- "termcolor",
 ]
 
 [[package]]
@@ -696,7 +701,7 @@ version = "4.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "74351c3392ea1ff6cd2628e0042d268ac2371cb613252ff383b6dfa50d22fa79"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "libc",
 ]
 
@@ -708,12 +713,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.5"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -724,9 +729,20 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "3.0.0"
+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 = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -735,9 +751,9 @@ dependencies = [
 
 [[package]]
 name = "event-listener"
-version = "4.0.0"
+version = "5.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
+checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -750,7 +766,17 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 dependencies = [
- "event-listener 4.0.0",
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3"
+dependencies = [
+ "event-listener 5.3.0",
  "pin-project-lite",
 ]
 
@@ -776,9 +802,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.0"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
 
 [[package]]
 name = "fdt"
@@ -788,14 +814,13 @@ checksum = "784a4df722dc6267a04af36895398f59d21d07dce47232adf31ec0ff2fa45e67"
 
 [[package]]
 name = "flume"
-version = "0.10.14"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
  "futures-core",
  "futures-sink",
  "nanorand",
- "pin-project",
  "spin",
 ]
 
@@ -870,11 +895,11 @@ dependencies = [
 
 [[package]]
 name = "futures-lite"
-version = "2.1.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143"
+checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
 dependencies = [
- "fastrand 2.0.0",
+ "fastrand 2.0.2",
  "futures-core",
  "futures-io",
  "parking",
@@ -889,7 +914,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -928,7 +953,7 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6341b3480afbb34eaefc7f92713bc92f2d83e338aaa1c44192f9c2956f4a4903"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "cfg-if",
  "log",
  "managed",
@@ -958,9 +983,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "a06fddc2749e0528d2813f95e050e87e52c8cbbae56223b9babf73b3e53b0cc6"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -971,9 +996,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.27.3"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "glob"
@@ -983,15 +1008,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[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 = "hex"
@@ -1031,9 +1056,9 @@ dependencies = [
 
 [[package]]
 name = "iced-x86"
-version = "1.20.0"
+version = "1.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdd366a53278429c028367e0ba22a46cab6d565a57afb959f06e92c7a69e7828"
+checksum = "7c447cff8c7f384a7d4f741cfcff32f75f3ad02b406432e8d6c878d56b1edf6b"
 dependencies = [
  "lazy_static",
 ]
@@ -1046,8 +1071,8 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "igvm"
-version = "0.1.0"
-source = "git+https://github.com/microsoft/igvm?branch=main#c1b0201d8286cb23b9f30cb16ba435484666cfa3"
+version = "0.1.9"
+source = "git+https://github.com/microsoft/igvm?branch=main#494aac2318df4111a2737d360ea46f74f5350223"
 dependencies = [
  "bitfield-struct",
  "crc32fast",
@@ -1062,8 +1087,8 @@ dependencies = [
 
 [[package]]
 name = "igvm_defs"
-version = "0.1.0"
-source = "git+https://github.com/microsoft/igvm?branch=main#c1b0201d8286cb23b9f30cb16ba435484666cfa3"
+version = "0.1.9"
+source = "git+https://github.com/microsoft/igvm?branch=main#494aac2318df4111a2737d360ea46f74f5350223"
 dependencies = [
  "bitfield-struct",
  "open-enum",
@@ -1073,9 +1098,9 @@ dependencies = [
 
 [[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",
@@ -1103,9 +1128,9 @@ dependencies = [
 
 [[package]]
 name = "io-uring"
-version = "0.6.2"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "460648e47a07a43110fbfa2e0b14afb2be920093c31e5dccc50e49568e099762"
+checksum = "a9febecd4aebbe9c7c23c8e536e966805fdf09944c8a915e7991ee51acb67087"
 dependencies = [
  "bitflags 1.3.2",
  "libc",
@@ -1121,48 +1146,38 @@ dependencies = [
 ]
 
 [[package]]
-name = "is-terminal"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-dependencies = [
- "hermit-abi",
- "rustix 0.38.25",
- "windows-sys 0.48.0",
-]
-
-[[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "kvm-bindings"
-version = "0.7.0"
-source = "git+https://github.com/cloud-hypervisor/kvm-bindings?branch=ch-v0.7.0#2dcf85d4f8aa55befcaa996b699ddb18ec9ed059"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a82e7e8725a39a0015e511a46cc1f7d90cecc180db1610c4d0d4339a9e48bd21"
 dependencies = [
  "serde",
- "serde_derive",
  "vmm-sys-util",
+ "zerocopy",
 ]
 
 [[package]]
 name = "kvm-ioctls"
-version = "0.16.0"
+version = "0.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9002dff009755414f22b962ec6ae6980b07d6d8b06e5297b1062019d72bd6a8c"
+checksum = "bedae2ca4a531bebe311abaf9691f5cc14eaa21475243caa2e39c43bb872947d"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "kvm-bindings",
  "libc",
  "vmm-sys-util",
@@ -1181,6 +1196,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags 2.5.0",
+ "libc",
+]
+
+[[package]]
 name = "libssh2-sys"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1196,9 +1221,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.12"
+version = "1.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9"
 dependencies = [
  "cc",
  "libc",
@@ -1229,9 +1254,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -1239,9 +1264,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 = "managed"
@@ -1251,9 +1276,9 @@ checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d"
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "memoffset"
@@ -1265,9 +1290,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "memoffset"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
 name = "micro_http"
 version = "0.1.0"
-source = "git+https://github.com/firecracker-microvm/micro-http?branch=main#e75dfa1eeea23b69caa7407bc2c3a76d7b7262fb"
+source = "git+https://github.com/firecracker-microvm/micro-http?branch=main#ef43cef7162a55a6790d528a5e76b4fe2da22de0"
 dependencies = [
  "libc",
  "vmm-sys-util",
@@ -1275,29 +1309,26 @@ dependencies = [
 
 [[package]]
 name = "miniz_oxide"
-version = "0.6.2"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
 ]
 
 [[package]]
 name = "mintex"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd7c5ba1c3b5a23418d7bbf98c71c3d4946a0125002129231da8d6b723d559cb"
-dependencies = [
- "once_cell",
- "sys-info",
-]
+checksum = "9bec4598fddb13cc7b528819e697852653252b760f1228b7642679bf2ff2cd07"
 
 [[package]]
 name = "mshv-bindings"
 version = "0.1.1"
-source = "git+https://github.com/rust-vmm/mshv?branch=main#9d0c11fe9fedfbcf56a5d62fbf4bad80cdf91340"
+source = "git+https://github.com/rust-vmm/mshv?branch=main#fed467ffa4e910d37fc5cd0012f6d59f4a8009d8"
 dependencies = [
  "libc",
+ "num_enum",
  "serde",
  "serde_derive",
  "vmm-sys-util",
@@ -1307,10 +1338,11 @@ dependencies = [
 [[package]]
 name = "mshv-ioctls"
 version = "0.1.1"
-source = "git+https://github.com/rust-vmm/mshv?branch=main#9d0c11fe9fedfbcf56a5d62fbf4bad80cdf91340"
+source = "git+https://github.com/rust-vmm/mshv?branch=main#fed467ffa4e910d37fc5cd0012f6d59f4a8009d8"
 dependencies = [
  "libc",
  "mshv-bindings",
+ "thiserror",
  "vmm-sys-util",
 ]
 
@@ -1346,8 +1378,6 @@ dependencies = [
  "serde",
  "serde_json",
  "thiserror",
- "versionize",
- "versionize_derive",
  "virtio-bindings",
  "virtio-queue",
  "vm-memory",
@@ -1364,7 +1394,7 @@ dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
  "libc",
- "memoffset",
+ "memoffset 0.7.1",
 ]
 
 [[package]]
@@ -1375,18 +1405,38 @@ checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65"
 
 [[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",
 ]
 
 [[package]]
+name = "num_enum"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.58",
+]
+
+[[package]]
 name = "object"
-version = "0.30.4"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
@@ -1399,18 +1449,18 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "open-enum"
-version = "0.3.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9807f1199cf84ec7cc801a79e5ee9aa5178e4762c6b9c7066c30b3cabdcd911e"
+checksum = "ba485b94b3e73fa752d98cfcab74647a4a537269682cc1ee5256aa020432506d"
 dependencies = [
  "open-enum-derive",
 ]
 
 [[package]]
 name = "open-enum-derive"
-version = "0.3.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "894ae443e59fecf7173ab3b963473f44193fa71b3c8953c61a5bd5f30880bb88"
+checksum = "fed1c261430059cab8b2b51eec42a3c15750439ec6c013cd8fe41d4a450de776"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1419,18 +1469,18 @@ dependencies = [
 
 [[package]]
 name = "openssl-src"
-version = "300.1.5+3.1.3"
+version = "300.2.3+3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "559068e4c12950d7dcaa1857a61725c0d38d4fc03ff8e070ab31a75d6e316491"
+checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.99"
+version = "0.9.102"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
+checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
 dependencies = [
  "cc",
  "libc",
@@ -1483,7 +1533,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.7",
+ "parking_lot_core 0.9.9",
 ]
 
 [[package]]
@@ -1502,15 +1552,15 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.2.16",
+ "redox_syscall 0.4.1",
  "smallvec",
- "windows-sys 0.45.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -1530,8 +1580,6 @@ dependencies = [
  "log",
  "serde",
  "thiserror",
- "versionize",
- "versionize_derive",
  "vfio-bindings",
  "vfio-ioctls",
  "vfio_user",
@@ -1556,30 +1604,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "pin-project"
-version = "1.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.48",
-]
-
-[[package]]
 name = "pin-project-lite"
-version = "0.2.12"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
 
 [[package]]
 name = "pin-utils"
@@ -1594,15 +1622,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
 dependencies = [
  "atomic-waker",
- "fastrand 2.0.0",
+ "fastrand 2.0.2",
  "futures-io",
 ]
 
 [[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 = "pnet"
@@ -1649,7 +1677,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -1712,6 +1740,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "polling"
+version = "3.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "hermit-abi",
+ "pin-project-lite",
+ "rustix 0.38.32",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1729,9 +1772,9 @@ 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",
 ]
@@ -1803,29 +1846,29 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
 dependencies = [
  "getrandom",
- "redox_syscall 0.2.16",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.4"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1835,9 +1878,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.7"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1846,19 +1889,19 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
 
 [[package]]
 name = "remain"
-version = "0.2.11"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bce3a7139d2ee67d07538ee5dba997364fbc243e7e7143e96eb830c74bfaa082"
+checksum = "ad9f2390298a947ee0aa6073d440e221c0726188cfbcdf9604addb6ee393eb4a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -1889,22 +1932,22 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.25"
+version = "0.38.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "errno",
  "libc",
  "linux-raw-sys 0.4.13",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[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 = "scopeguard"
@@ -1923,29 +1966,29 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.109"
+version = "1.0.115"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0652c533506ad7a2e353cce269330d6afd8bdfb6d75e0ace5b35aacbd7b9e9"
+checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
 dependencies = [
  "itoa",
  "ryu",
@@ -1954,35 +1997,36 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.17"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "serde_with"
-version = "3.4.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
+checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a"
 dependencies = [
  "serde",
+ "serde_derive",
  "serde_with_macros",
 ]
 
 [[package]]
 name = "serde_with_macros"
-version = "3.4.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788"
+checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655"
 dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -2021,24 +2065,24 @@ dependencies = [
 
 [[package]]
 name = "slab"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.13.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
 dependencies = [
  "libc",
  "winapi",
@@ -2078,6 +2122,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
 name = "syn"
 version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2090,9 +2140,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.48"
+version = "2.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2100,35 +2150,15 @@ dependencies = [
 ]
 
 [[package]]
-name = "sys-info"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b3a0d0aba8bf96a0e1ddfdc352fc53b3df7f39318c71854910c3c4b024ae52c"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
 name = "tempfile"
-version = "3.8.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
- "fastrand 2.0.0",
- "redox_syscall 0.3.5",
- "rustix 0.38.25",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
-dependencies = [
- "winapi-util",
+ "fastrand 2.0.2",
+ "rustix 0.38.32",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2137,7 +2167,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
 dependencies = [
- "rustix 0.38.25",
+ "rustix 0.38.32",
  "windows-sys 0.48.0",
 ]
 
@@ -2158,22 +2188,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.52"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.52"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -2242,7 +2272,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
@@ -2262,10 +2292,11 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "uds_windows"
-version = "1.0.2"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
+ "memoffset 0.9.1",
  "tempfile",
  "winapi",
 ]
@@ -2284,9 +2315,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.3.4"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa2982af2eec27de306107c027578ff7f423d65f7250e40ce0fea8f45248b81"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 dependencies = [
  "getrandom",
 ]
@@ -2304,36 +2335,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "versionize"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62929d59c7f6730b7298fcb363760550f4db6e353fbac4076d447d0e82799d6d"
-dependencies = [
- "bincode",
- "crc64",
- "proc-macro2",
- "quote",
- "serde",
- "serde_derive",
- "syn 1.0.109",
- "versionize_derive",
- "vmm-sys-util",
-]
-
-[[package]]
-name = "versionize_derive"
-version = "0.1.6"
-source = "git+https://github.com/cloud-hypervisor/versionize_derive?branch=ch-0.1.6#7906da996152e2d0ab08f5526440683bf3ca7834"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "vfio-bindings"
 version = "0.4.0"
-source = "git+https://github.com/rust-vmm/vfio?branch=main#0daff4d4c159e842cf18b8b90457a45032b2df5a"
+source = "git+https://github.com/rust-vmm/vfio?branch=main#da8c5b67095fb70f5ef237ca63d316219888f015"
 dependencies = [
  "vmm-sys-util",
 ]
@@ -2341,7 +2345,7 @@ dependencies = [
 [[package]]
 name = "vfio-ioctls"
 version = "0.2.0"
-source = "git+https://github.com/rust-vmm/vfio?branch=main#0daff4d4c159e842cf18b8b90457a45032b2df5a"
+source = "git+https://github.com/rust-vmm/vfio?branch=main#da8c5b67095fb70f5ef237ca63d316219888f015"
 dependencies = [
  "byteorder",
  "kvm-bindings",
@@ -2379,7 +2383,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b64e816d0d49769fbfaa1494eb77cc2a3ddc526ead05c7f922cb7d64106286f"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "libc",
  "vm-memory",
  "vmm-sys-util",
@@ -2462,10 +2466,9 @@ dependencies = [
  "seccompiler",
  "serde",
  "serde_json",
+ "serde_with",
  "serial_buffer",
  "thiserror",
- "versionize",
- "versionize_derive",
  "vhost",
  "virtio-bindings",
  "virtio-queue",
@@ -2513,14 +2516,14 @@ dependencies = [
 
 [[package]]
 name = "vm-fdt"
-version = "0.2.0"
-source = "git+https://github.com/rust-vmm/vm-fdt?branch=main#77212bd0d62913e445c89376bcbbecd595afc5b1"
+version = "0.3.0"
+source = "git+https://github.com/rust-vmm/vm-fdt?branch=main#ef5bd734f5f66fb07722d766981adbc915f0d941"
 
 [[package]]
 name = "vm-memory"
-version = "0.14.0"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74ffc42216c32c35f858fa4bfdcd9b61017dfd691e0240268fdc85dbf59e5459"
+checksum = "3c3aba5064cc5f6f7740cddc8dae34d2d9a311cac69b60d942af7f3ab8fc49f4"
 dependencies = [
  "arc-swap",
  "libc",
@@ -2536,8 +2539,6 @@ dependencies = [
  "serde",
  "serde_json",
  "thiserror",
- "versionize",
- "versionize_derive",
  "vm-memory",
 ]
 
@@ -2558,7 +2559,7 @@ dependencies = [
  "anyhow",
  "arc-swap",
  "arch",
- "bitflags 2.4.1",
+ "bitflags 2.5.0",
  "block",
  "blocking",
  "cfg-if",
@@ -2593,8 +2594,6 @@ dependencies = [
  "thiserror",
  "tracer",
  "uuid",
- "versionize",
- "versionize_derive",
  "vfio-ioctls",
  "vfio_user",
  "virtio-devices",
@@ -2644,9 +2643,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2654,24 +2653,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -2679,22 +2678,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "winapi"
@@ -2713,15 +2712,6 @@ 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"
@@ -2729,20 +2719,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
 version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -2751,210 +2732,153 @@ 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",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
 ]
 
 [[package]]
 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]]
 name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+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"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-
-[[package]]
-name = "windows_i686_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"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_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"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winnow"
-version = "0.5.39"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 dependencies = [
  "memchr",
 ]
 
 [[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",
+ "libc",
  "winapi",
 ]
 
 [[package]]
 name = "zbus"
-version = "3.14.1"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
+checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6"
 dependencies = [
  "async-broadcast",
  "async-executor",
  "async-fs",
- "async-io",
- "async-lock 2.7.0",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-process",
  "async-recursion",
  "async-task",
@@ -2987,9 +2911,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.14.1"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
+checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -3001,9 +2925,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_names"
-version = "2.6.0"
+version = "2.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9"
+checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d"
 dependencies = [
  "serde",
  "static_assertions",
@@ -3028,14 +2952,14 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.58",
 ]
 
 [[package]]
 name = "zvariant"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c"
+checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db"
 dependencies = [
  "byteorder",
  "enumflags2",
@@ -3047,9 +2971,9 @@ dependencies = [
 
 [[package]]
 name = "zvariant_derive"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
+checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index 44bbdcd66313c..f48b5436f5c6b 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,27 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloud-hypervisor";
-  version = "38.0";
+  version = "39.0";
 
   src = fetchFromGitHub {
     owner = "cloud-hypervisor";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Lhug7DCa+QutlvksL6EFQa04UK/sWebDIkqQmwPUpX4=";
+    hash = "sha256-sMnfeICo/PhpljstTIj4CiE4QBuyVKYD9oWvWf0Ouew=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "acpi_tables-0.1.0" = "sha256-syDq+db1hTne6QoP0vMGUv4tB0J9arQG2Ea2hHW1k3M=";
-      "igvm-0.1.0" = "sha256-l+Qyhdy3b8h8hPLHg5M0os8aSkjM55hAP5nqi0AGmjo=";
-      "kvm-bindings-0.7.0" = "sha256-hXv5N3TTwGQaVxdQ/DTzLt+uwLxFnstJwNhxRD2K8TM=";
-      "micro_http-0.1.0" = "sha256-gyeOop6AMXEIbLXhJMN/oYGGU8Un8Y0nFZc9ucCa0y4=";
-      "mshv-bindings-0.1.1" = "sha256-yWvkpOcW3lV47s+rWnN4Bki8tt8CkiPVZ0I36nrWMi4=";
-      "versionize_derive-0.1.6" = "sha256-eI9fM8WnEBZvskPhU67IWeN6QAPg2u5EBT+AOxfb/fY=";
-      "vfio-bindings-0.4.0" = "sha256-Dk4T2dMzPZ+Aoq1YSXX2z1Nky8zvyDl7b+A8NH57Hkc=";
+      "acpi_tables-0.1.0" = "sha256-a6ojB2XVeH+YzzXRle0agg+ljn0Jsgyaf6TJZAGt8sQ=";
+      "igvm-0.1.9" = "sha256-OztgRiv+//27MS9SqSBJPbrVlXihK2m9UkG4REZ9Vn0=";
+      "micro_http-0.1.0" = "sha256-yIgcoEfc7eeS1+bijzkifaBxVNHa71Y+Vn79owMaKvM=";
+      "mshv-bindings-0.1.1" = "sha256-US/AzS7iRUQijkGs1EG04Hk4Q7dPz65BeTMsI8rtMqw=";
+      "vfio-bindings-0.4.0" = "sha256-k8Hf5y8MiTnd3k2iEgnnX/o8VdVS7prKlnssyEerVRM=";
       "vfio_user-0.1.0" = "sha256-LJ84k9pMkSAaWkuaUd+2LnPXnNgrP5LdbPOc1Yjz5xA=";
-      "vm-fdt-0.2.0" = "sha256-lKW4ZUraHomSDyxgNlD5qTaBTZqM0Fwhhh/08yhrjyE=";
+      "vm-fdt-0.3.0" = "sha256-9PywgSnSL+8gT6lcl9t6w7X4fEINa+db+H1vWS+gDOI=";
     };
   };
 
diff --git a/pkgs/applications/virtualization/conmon-rs/default.nix b/pkgs/applications/virtualization/conmon-rs/default.nix
index 3a8c5a5593237..89c6d46d2ccf0 100644
--- a/pkgs/applications/virtualization/conmon-rs/default.nix
+++ b/pkgs/applications/virtualization/conmon-rs/default.nix
@@ -7,19 +7,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "conmon-rs";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-+htd9RJGSFzzyEQSBJGIzurQDQgpJ+sJHLPe3aPH0cg=";
+    hash = "sha256-+RKjJtI01Y56+cFDdOSAL4BodI7R/rM3B3ht3p6+xzs=";
   };
 
   nativeBuildInputs = [ capnproto protobuf ];
   doCheck = false;
 
-  cargoHash = "sha256-CcWji/qMd7eX0O3cR9/FLID17WpSfz4kEAhDgKb3jds=";
+  cargoHash = "sha256-4VOse+y0EO9IORyeAO/j1t6ssQARJp7lK21TUJVuH78=";
 
   meta = with lib; {
     description = "An OCI container runtime monitor written in Rust";
diff --git a/pkgs/applications/virtualization/conmon/default.nix b/pkgs/applications/virtualization/conmon/default.nix
index 124647e6ab7be..6b65ab58dc63c 100644
--- a/pkgs/applications/virtualization/conmon/default.nix
+++ b/pkgs/applications/virtualization/conmon/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "conmon";
-  version = "2.1.10";
+  version = "2.1.11";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-WUXyx5OWIJDamzHUahN+0/rcn2pxQgCgYAE/d0mxk2A=";
+    hash = "sha256-QQgpvvk7S6ARzBct/4AQP66End30EXcUPqv8a4Udoas=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ glibc glibc.static ];
 
   # manpage requires building the vendored go-md2man
-  makeFlags = [ "bin/conmon" ];
+  makeFlags = [ "bin/conmon" "VERSION=${version}" ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index c89c0596536ec..b9d1397e7ea49 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.7.15";
+  version = "1.7.16";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    hash = "sha256-qLrPLGxsUmgEscrhyl+1rJ0k7c9ibKnpMpsJPD4xDZU=";
+    hash = "sha256-OApJaH11iTvjW4gZaANSCVcxw/VHG7a/6OnYcUcHFME=";
   };
 
   vendorHash = null;
@@ -50,7 +50,7 @@ buildGoModule rec {
     homepage = "https://containerd.io/";
     description = "A daemon to control runC";
     license = licenses.asl20;
-    maintainers = with maintainers; [ offline vdemeester endocrimes ];
+    maintainers = with maintainers; [ offline vdemeester ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index 50e49fd192acd..959fe755c209e 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.2";
+  version = "1.29.4";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    hash = "sha256-il28u2+Jv2gh6XqRV4y6u0FDZ4flmcp+bOj9aibL+ro=";
+    hash = "sha256-bF9hvKKwhsmX606Jk34qn32JklUrG939BW2x4tbknjo=";
   };
   vendorHash = null;
 
diff --git a/pkgs/applications/virtualization/ddev/default.nix b/pkgs/applications/virtualization/ddev/default.nix
index fdfafda6acff2..e733fe42127a1 100644
--- a/pkgs/applications/virtualization/ddev/default.nix
+++ b/pkgs/applications/virtualization/ddev/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ddev";
-  version = "1.22.7";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "ddev";
     repo = "ddev";
     rev = "v${version}";
-    hash = "sha256-bFQW12VzH+/OXTRBavEdfxnGowJt5TKM3r0UD64ALVs=";
+    hash = "sha256-+CyihuSo/ssX8tX2rYi3c41eAwdG58aagAsYiBBjQ48=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/virtualization/docker-slim/default.nix b/pkgs/applications/virtualization/docker-slim/default.nix
index 03a76e4f00968..13c8e4f4ce364 100644
--- a/pkgs/applications/virtualization/docker-slim/default.nix
+++ b/pkgs/applications/virtualization/docker-slim/default.nix
@@ -39,6 +39,6 @@ buildGoModule rec {
     homepage = "https://slimtoolkit.org/";
     changelog = "https://github.com/slimtoolkit/slim/raw/${version}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Br1ght0ne marsam mbrgm ];
+    maintainers = with maintainers; [ Br1ght0ne mbrgm ];
   };
 }
diff --git a/pkgs/applications/virtualization/docker/buildx.nix b/pkgs/applications/virtualization/docker/buildx.nix
index de13fcf5ea1e3..f1e91408a0b35 100644
--- a/pkgs/applications/virtualization/docker/buildx.nix
+++ b/pkgs/applications/virtualization/docker/buildx.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-buildx";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "buildx";
     rev = "v${version}";
-    hash = "sha256-mesFwYgDCZ44/EJ31mzx9yLeMyV2bXpxaNSx6L3BQG0=";
+    hash = "sha256-pfDGKxIy9ZXueYv0u1zPWWYCAeSRBaOGDfIt1Hsubkk=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index 3e344a653614b..d2eb61bb893db 100644
--- a/pkgs/applications/virtualization/docker/compose.nix
+++ b/pkgs/applications/virtualization/docker/compose.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.26.1";
+  version = "2.27.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    hash = "sha256-R/AFjJM4rcu2JbdfTNhxIIVhaP7LzFrDAU93hbuXSXs=";
+    hash = "sha256-YM/9ijwxDAjFZk/ku33b/pMYri5V1h0wPd2YS7qJgCw=";
   };
 
   postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
     rm -rf e2e/
   '';
 
-  vendorHash = "sha256-SzySXS0s0p1EXcO5RQyATBG9gtoJ4wPxZKGU62fAOHw=";
+  vendorHash = "sha256-ztqWSoDsN8qdm6Jq8Wo7r16zuXENQDp2JvwSN+6Jbxw=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/dumb-init/default.nix b/pkgs/applications/virtualization/dumb-init/default.nix
index 6c22a5ec12982..5907aacc99d47 100644
--- a/pkgs/applications/virtualization/dumb-init/default.nix
+++ b/pkgs/applications/virtualization/dumb-init/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "A minimal init system for Linux containers";
     homepage = "https://github.com/Yelp/dumb-init";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = [ ];
     platforms = platforms.linux;
     mainProgram = "dumb-init";
   };
diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix
index eeabb94536e12..fca5227177d46 100644
--- a/pkgs/applications/virtualization/firecracker/default.nix
+++ b/pkgs/applications/virtualization/firecracker/default.nix
@@ -54,6 +54,6 @@ stdenv.mkDerivation {
     mainProgram = "firecracker";
     license = licenses.asl20;
     platforms = [ "x86_64-linux" "aarch64-linux" ];
-    maintainers = with maintainers; [ thoughtpolice endocrimes qjoly ];
+    maintainers = with maintainers; [ thoughtpolice qjoly ];
   };
 }
diff --git a/pkgs/applications/virtualization/kraft/default.nix b/pkgs/applications/virtualization/kraft/default.nix
index 4d52565bcdb21..43222fa6b19b3 100644
--- a/pkgs/applications/virtualization/kraft/default.nix
+++ b/pkgs/applications/virtualization/kraft/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "kraftkit";
-  version = "0.8.3";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
     owner = "unikraft";
     repo = "kraftkit";
     rev = "v${version}";
-    hash = "sha256-or1UstxYbj3QvgnoQPT2vyQTVZDIKPMDMxRGtN0n0lk=";
+    hash = "sha256-31cgihmtBIB8U60ic5wKNyqB4a5sXZmIXxAjQI/43ro=";
   };
 
-  vendorHash = "sha256-UyDaEwXTMbyAUghvHS/LcT2Yzz7CJ2xGelF19kgRNec=";
+  vendorHash = "sha256-X2E0Sy4rJhrDgPSSOTqUeMEdgq5H3DF5xjh84qlH1Ug=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 92935ed129d8a..0a8bbcc1853cc 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -161,7 +161,7 @@ buildGoModule rec {
     '';
     changelog = "https://github.com/containers/podman/blob/v${version}/RELEASE_NOTES.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam ] ++ teams.podman.members;
+    maintainers = with maintainers; [ ] ++ teams.podman.members;
     mainProgram = "podman";
   };
 }
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index e7da99d561f6b..3b1eb3b9908cb 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -55,11 +55,11 @@ stdenv.mkDerivation (finalAttrs: {
     + lib.optionalString hostCpuOnly "-host-cpu-only"
     + lib.optionalString nixosTestRunner "-for-vm-tests"
     + lib.optionalString toolsOnly "-utils";
-  version = "8.2.2";
+  version = "8.2.3";
 
   src = fetchurl {
     url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
-    hash = "sha256-hHNGwbgsGlSyw49u29hVSe3rF0MLfU09oSYg4pYrxPM=";
+    hash = "sha256-d1sRjKpjZiCnr0saFWRFoaKA9a1Ss7y7F/jilkhB21g=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ]
diff --git a/pkgs/applications/virtualization/quickgui/default.nix b/pkgs/applications/virtualization/quickgui/default.nix
index 9c4de021f2560..572ee4a0c0823 100644
--- a/pkgs/applications/virtualization/quickgui/default.nix
+++ b/pkgs/applications/virtualization/quickgui/default.nix
@@ -1,12 +1,14 @@
-{ stdenv
+{ stdenvNoCC
 , lib
 , fetchurl
 , autoPatchelfHook
 , dpkg
 , wrapGAppsHook
+, quickemu
+, gnome
 }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "quickgui";
   version = "1.2.8";
 
@@ -18,31 +20,48 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoPatchelfHook
     dpkg
+    wrapGAppsHook
   ];
 
   buildInputs = [
-    wrapGAppsHook
+    quickemu
+    gnome.zenity
   ];
 
+  strictDeps = true;
+
   unpackCmd = "dpkg-deb -x $curSrc source";
 
   installPhase = ''
     runHook preInstall
 
     mv usr $out
+
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : ${lib.makeBinPath [ quickemu gnome.zenity ]}
+    )
+  '';
+
+  postFixup = ''
     substituteInPlace $out/share/applications/quickgui.desktop \
       --replace "/usr" $out
 
-    runHook postInstall
+    # quickgui PR 88
+    echo "Categories=System;" >> $out/share/applications/quickgui.desktop
   '';
 
-  meta = {
+  meta = with lib; {
     description = "A Flutter frontend for quickemu";
     homepage = "https://github.com/quickemu-project/quickgui";
     changelog = "https://github.com/quickemu-project/quickgui/releases/tag/v${version}";
-    maintainers = [ lib.maintainers.heyimnova ];
-    platforms = lib.platforms.linux;
-    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ heyimnova ];
+    platforms = [ "x86_64-linux" ];
+    sourceProvenance = [ sourceTypes.binaryNativeCode ];
     mainProgram = "quickgui";
   };
 }
diff --git a/pkgs/applications/virtualization/singularity/generic.nix b/pkgs/applications/virtualization/singularity/generic.nix
index d16b88adece31..da7c8accf873a 100644
--- a/pkgs/applications/virtualization/singularity/generic.nix
+++ b/pkgs/applications/virtualization/singularity/generic.nix
@@ -1,107 +1,111 @@
 # Configurations that should only be overrided by
 # overrideAttrs
-{ pname
-, version
-, src
-, projectName # "apptainer" or "singularity"
-, vendorHash ? null
-, deleteVendor ? false
-, proxyVendor ? false
-, extraConfigureFlags ? [ ]
-, extraDescription ? ""
-, extraMeta ? { }
+{
+  pname,
+  version,
+  src,
+  projectName, # "apptainer" or "singularity"
+  vendorHash ? null,
+  deleteVendor ? false,
+  proxyVendor ? false,
+  extraConfigureFlags ? [ ],
+  extraDescription ? "",
+  extraMeta ? { },
 }:
 
 let
   # Workaround for vendor-related attributes not overridable (#86349)
   # should be removed when the issue is resolved
   _defaultGoVendorArgs = {
-    inherit
-      vendorHash
-      deleteVendor
-      proxyVendor
-      ;
+    inherit vendorHash deleteVendor proxyVendor;
   };
 in
-{ lib
-, buildGoModule
-, runCommandLocal
+{
+  lib,
+  buildGoModule,
+  runCommandLocal,
+  substituteAll,
   # Native build inputs
-, addDriverRunpath
-, makeWrapper
-, pkg-config
-, util-linux
-, which
+  addDriverRunpath,
+  makeWrapper,
+  pkg-config,
+  util-linux,
+  which,
   # Build inputs
-, bash
-, callPackage
-, conmon
-, coreutils
-, cryptsetup
-, e2fsprogs
-, fakeroot
-, fuse2fs ? e2fsprogs.fuse2fs
-, go
-, gpgme
-, libseccomp
-, libuuid
+  bash,
+  callPackage,
+  conmon,
+  coreutils,
+  cryptsetup,
+  e2fsprogs,
+  fakeroot,
+  fuse2fs ? e2fsprogs.fuse2fs,
+  go,
+  gpgme,
+  libseccomp,
+  libuuid,
   # This is for nvidia-container-cli
-, nvidia-docker
-, openssl
-, squashfsTools
-, squashfuse
+  nvidia-docker,
+  openssl,
+  squashfsTools,
+  squashfuse,
   # Test dependencies
-, singularity-tools
-, cowsay
-, hello
+  singularity-tools,
+  cowsay,
+  hello,
   # Overridable configurations
-, enableNvidiaContainerCli ? true
+  enableNvidiaContainerCli ? true,
   # --nvccli currently requires extra privileges:
   # https://github.com/apptainer/apptainer/issues/1893#issuecomment-1881240800
-, forceNvcCli ? false
+  forceNvcCli ? false,
   # Compile with seccomp support
   # SingularityCE 3.10.0 and above requires explicit --without-seccomp when libseccomp is not available.
-, enableSeccomp ? true
+  enableSeccomp ? true,
   # Whether the configure script treat SUID support as default
   # When equal to enableSuid, it supress the --with-suid / --without-suid build flag
   # It can be set to `null` to always pass either --with-suid or --without-suided
   # Type: null or boolean
-, defaultToSuid ? true
+  defaultToSuid ? true,
   # Whether to compile with SUID support
-, enableSuid ? false
-, starterSuidPath ? null
-, substituteAll
+  enableSuid ? false,
+  starterSuidPath ? null,
   # newuidmapPath and newgidmapPath are to support --fakeroot
   # where those SUID-ed executables are unavailable from the FHS system PATH.
   # Path to SUID-ed newuidmap executable
-, newuidmapPath ? null
+  newuidmapPath ? null,
   # Path to SUID-ed newgidmap executable
-, newgidmapPath ? null
+  newgidmapPath ? null,
   # External LOCALSTATEDIR
-, externalLocalStateDir ? null
+  externalLocalStateDir ? null,
   # Remove the symlinks to `singularity*` when projectName != "singularity"
-, removeCompat ? false
+  removeCompat ? false,
   # Workaround #86349
   # should be removed when the issue is resolved
-, vendorHash ? _defaultGoVendorArgs.vendorHash
-, deleteVendor ? _defaultGoVendorArgs.deleteVendor
-, proxyVendor ? _defaultGoVendorArgs.proxyVendor
+  vendorHash ? _defaultGoVendorArgs.vendorHash,
+  deleteVendor ? _defaultGoVendorArgs.deleteVendor,
+  proxyVendor ? _defaultGoVendorArgs.proxyVendor,
 }:
 
 let
   defaultPathOriginal = "/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin";
-  privileged-un-utils = if ((newuidmapPath == null) && (newgidmapPath == null)) then null else
-  (runCommandLocal "privileged-un-utils" { } ''
-    mkdir -p "$out/bin"
-    ln -s ${lib.escapeShellArg newuidmapPath} "$out/bin/newuidmap"
-    ln -s ${lib.escapeShellArg newgidmapPath} "$out/bin/newgidmap"
-  '');
+  privileged-un-utils =
+    if ((newuidmapPath == null) && (newgidmapPath == null)) then
+      null
+    else
+      (runCommandLocal "privileged-un-utils" { } ''
+        mkdir -p "$out/bin"
+        ln -s ${lib.escapeShellArg newuidmapPath} "$out/bin/newuidmap"
+        ln -s ${lib.escapeShellArg newgidmapPath} "$out/bin/newgidmap"
+      '');
 in
 (buildGoModule {
   inherit pname version src;
 
   patches = lib.optionals (projectName == "apptainer") [
-    (substituteAll { src = ./apptainer/0001-ldCache-patch-for-driverLink.patch; inherit (addDriverRunpath) driverLink; })
+    (substituteAll {
+      src = ./apptainer/0001-ldCache-patch-for-driverLink.patch;
+      inherit (addDriverRunpath) driverLink;
+    })
   ];
 
   # Override vendorHash with the output got from
@@ -138,29 +142,36 @@ in
   # apptainer/apptainer: https://github.com/apptainer/apptainer/blob/main/dist/debian/control
   # sylabs/singularity: https://github.com/sylabs/singularity/blob/main/debian/control
 
-  buildInputs = [
-    bash # To patch /bin/sh shebangs.
-    conmon
-    cryptsetup
-    gpgme
-    libuuid
-    openssl
-    squashfsTools # Required at build time by SingularityCE
-  ]
-  ++ lib.optional enableNvidiaContainerCli nvidia-docker
-  ++ lib.optional enableSeccomp libseccomp
-  ;
+  buildInputs =
+    [
+      bash # To patch /bin/sh shebangs.
+      conmon
+      cryptsetup
+      gpgme
+      libuuid
+      openssl
+      squashfsTools # Required at build time by SingularityCE
+    ]
+    # Optional dependencies.
+    # Formatting: Optional dependencies are likely to increase.
+    # Don't squash them into the same line.
+    ++ lib.optional enableNvidiaContainerCli nvidia-docker
+    ++ lib.optional enableSeccomp libseccomp;
 
   configureScript = "./mconfig";
 
-  configureFlags = [
-    "--localstatedir=${if externalLocalStateDir != null then externalLocalStateDir else "${placeholder "out"}/var/lib"}"
-    "--runstatedir=/var/run"
-  ]
-  ++ lib.optional (!enableSeccomp) "--without-seccomp"
-  ++ lib.optional (enableSuid != defaultToSuid) (if enableSuid then "--with-suid" else "--without-suid")
-  ++ extraConfigureFlags
-  ;
+  configureFlags =
+    [
+      "--localstatedir=${
+        if externalLocalStateDir != null then externalLocalStateDir else "${placeholder "out"}/var/lib"
+      }"
+      "--runstatedir=/var/run"
+    ]
+    ++ lib.optional (!enableSeccomp) "--without-seccomp"
+    ++ lib.optional (enableSuid != defaultToSuid) (
+      if enableSuid then "--with-suid" else "--without-suid"
+    )
+    ++ extraConfigureFlags;
 
   # causes redefinition of _FORTIFY_SOURCE
   hardeningDisable = [ "fortify3" ];
@@ -177,9 +188,7 @@ in
     privileged-un-utils
     squashfsTools # mksquashfs unsquashfs # Make / unpack squashfs image
     squashfuse # squashfuse_ll squashfuse # Mount (without unpacking) a squashfs image without privileges
-  ]
-  ++ lib.optional enableNvidiaContainerCli nvidia-docker
-  ;
+  ] ++ lib.optional enableNvidiaContainerCli nvidia-docker;
 
   postPatch = ''
     if [[ ! -e .git || ! -e VERSION ]]; then
@@ -249,70 +258,86 @@ in
         rm "$file"
       done
     ''}
-    ${lib.optionalString enableSuid (lib.warnIf (starterSuidPath == null) "${projectName}: Null starterSuidPath when enableSuid produces non-SUID-ed starter-suid and run-time permission denial." ''
-      chmod +x $out/libexec/${projectName}/bin/starter-suid
-    '')}
+    ${lib.optionalString enableSuid (
+      lib.warnIf (starterSuidPath == null)
+        "${projectName}: Null starterSuidPath when enableSuid produces non-SUID-ed starter-suid and run-time permission denial."
+        ''
+          chmod +x $out/libexec/${projectName}/bin/starter-suid
+        ''
+    )}
     ${lib.optionalString (enableSuid && (starterSuidPath != null)) ''
       mv "$out"/libexec/${projectName}/bin/starter-suid{,.orig}
       ln -s ${lib.escapeShellArg starterSuidPath} "$out/libexec/${projectName}/bin/starter-suid"
     ''}
   '';
 
-  meta = with lib; {
-    description = "Application containers for linux" + extraDescription;
-    longDescription = ''
-      Singularity (the upstream) renamed themselves to Apptainer
-      to distinguish themselves from a fork made by Sylabs Inc.. See
+  meta =
+    with lib;
+    {
+      description = "Application containers for linux" + extraDescription;
+      longDescription = ''
+        Singularity (the upstream) renamed themselves to Apptainer
+        to distinguish themselves from a fork made by Sylabs Inc.. See
 
-      https://sylabs.io/2021/05/singularity-community-edition
-      https://apptainer.org/news/community-announcement-20211130
-    '';
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ jbedo ShamrockLee ];
-    mainProgram = projectName;
-  } // extraMeta;
-}).overrideAttrs (finalAttrs: prevAttrs: {
-  passthru = prevAttrs.passthru or { } // {
-    tests = {
-      image-hello-cowsay = singularity-tools.buildImage {
-        name = "hello-cowsay";
-        contents = [ hello cowsay ];
-        singularity = finalAttrs.finalPackage;
-      };
-    };
-    gpuChecks = lib.optionalAttrs (projectName == "apptainer") {
-      # Should be in tests, but Ofborg would skip image-hello-cowsay because
-      # saxpy is unfree.
-      image-saxpy = callPackage
-        ({ singularity-tools, cudaPackages }:
-          singularity-tools.buildImage {
-            name = "saxpy";
-            contents = [ cudaPackages.saxpy ];
-            memSize = 2048;
-            diskSize = 2048;
+        https://sylabs.io/2021/05/singularity-community-edition
+        https://apptainer.org/news/community-announcement-20211130
+      '';
+      license = licenses.bsd3;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [
+        jbedo
+        ShamrockLee
+      ];
+      mainProgram = projectName;
+    }
+    // extraMeta;
+}).overrideAttrs
+  (
+    finalAttrs: prevAttrs: {
+      passthru = prevAttrs.passthru or { } // {
+        tests = {
+          image-hello-cowsay = singularity-tools.buildImage {
+            name = "hello-cowsay";
+            contents = [
+              hello
+              cowsay
+            ];
             singularity = finalAttrs.finalPackage;
-          })
-        { };
-      saxpy =
-        callPackage
-          ({ runCommand, writeShellScriptBin }:
+          };
+        };
+        gpuChecks = lib.optionalAttrs (projectName == "apptainer") {
+          # Should be in tests, but Ofborg would skip image-hello-cowsay because
+          # saxpy is unfree.
+          image-saxpy = callPackage (
+            { singularity-tools, cudaPackages }:
+            singularity-tools.buildImage {
+              name = "saxpy";
+              contents = [ cudaPackages.saxpy ];
+              memSize = 2048;
+              diskSize = 2048;
+              singularity = finalAttrs.finalPackage;
+            }
+          ) { };
+          saxpy = callPackage (
+            { runCommand, writeShellScriptBin }:
             let
-              unwrapped = writeShellScriptBin "apptainer-cuda-saxpy"
-                ''
-                  ${lib.getExe finalAttrs.finalPackage} exec --nv $@ ${finalAttrs.passthru.gpuChecks.image-saxpy} saxpy
-                '';
+              unwrapped = writeShellScriptBin "apptainer-cuda-saxpy" ''
+                ${lib.getExe finalAttrs.finalPackage} exec --nv $@ ${finalAttrs.passthru.gpuChecks.image-saxpy} saxpy
+              '';
             in
             runCommand "run-apptainer-cuda-saxpy"
               {
                 requiredSystemFeatures = [ "cuda" ];
                 nativeBuildInputs = [ unwrapped ];
-                passthru = { inherit unwrapped; };
+                passthru = {
+                  inherit unwrapped;
+                };
               }
               ''
                 apptainer-cuda-saxpy
-              '')
-          { };
-    };
-  };
-})
+              ''
+          ) { };
+        };
+      };
+    }
+  )
diff --git a/pkgs/applications/virtualization/singularity/packages.nix b/pkgs/applications/virtualization/singularity/packages.nix
index efa77b4209f3d..bd7deb298d47b 100644
--- a/pkgs/applications/virtualization/singularity/packages.nix
+++ b/pkgs/applications/virtualization/singularity/packages.nix
@@ -1,89 +1,98 @@
-{ callPackage
-, fetchFromGitHub
-, nixos
-, conmon
+{
+  callPackage,
+  fetchFromGitHub,
+  nixos,
+  conmon,
 }:
 let
-  apptainer = callPackage
-    (import ./generic.nix rec {
-      pname = "apptainer";
-      version = "1.3.0";
-      projectName = "apptainer";
+  apptainer =
+    callPackage
+      (import ./generic.nix rec {
+        pname = "apptainer";
+        version = "1.3.1";
+        projectName = "apptainer";
 
-      src = fetchFromGitHub {
-        owner = "apptainer";
-        repo = "apptainer";
-        rev = "refs/tags/v${version}";
-        hash = "sha256-YqPPTs7cIiMbOc8jOwr8KgUBVu2pTPlSL0Vvw/1n4co=";
-      };
+        src = fetchFromGitHub {
+          owner = "apptainer";
+          repo = "apptainer";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-XhJecINx8jC6pRzIoM4nC6Aunj40xL8EmYIA4UizfAY=";
+        };
 
-      # Update by running
-      # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules"
-      # at the root directory of the Nixpkgs repository
-      vendorHash = "sha256-lWo6ic3Tdv1UInA5MtEaAgiheCin2JSh4nmheUooENY=";
+        # Update by running
+        # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules"
+        # at the root directory of the Nixpkgs repository
+        vendorHash = "sha256-MXW1U13uDRAx4tqZvqsuJvoD22nEL2gcxiGaa/6zwU0=";
 
-      extraDescription = " (previously known as Singularity)";
-      extraMeta.homepage = "https://apptainer.org";
-    })
-    {
-      # Apptainer doesn't depend on conmon
-      conmon = null;
+        extraDescription = " (previously known as Singularity)";
+        extraMeta.homepage = "https://apptainer.org";
+      })
+      {
+        # Apptainer doesn't depend on conmon
+        conmon = null;
 
-      # Apptainer builders require explicit --with-suid / --without-suid flag
-      # when building on a system with disabled unprivileged namespace.
-      # See https://github.com/NixOS/nixpkgs/pull/215690#issuecomment-1426954601
-      defaultToSuid = null;
-    };
+        # Apptainer builders require explicit --with-suid / --without-suid flag
+        # when building on a system with disabled unprivileged namespace.
+        # See https://github.com/NixOS/nixpkgs/pull/215690#issuecomment-1426954601
+        defaultToSuid = null;
+      };
 
-  singularity = callPackage
-    (import ./generic.nix rec {
-      pname = "singularity-ce";
-      version = "4.1.2";
-      projectName = "singularity";
+  singularity =
+    callPackage
+      (import ./generic.nix rec {
+        pname = "singularity-ce";
+        version = "4.1.2";
+        projectName = "singularity";
 
-      src = fetchFromGitHub {
-        owner = "sylabs";
-        repo = "singularity";
-        rev = "refs/tags/v${version}";
-        hash = "sha256-/KTDdkCMkZ5hO+VYHzw9vB8FDWxg7PS1yb2waRJQngY=";
-      };
+        src = fetchFromGitHub {
+          owner = "sylabs";
+          repo = "singularity";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-/KTDdkCMkZ5hO+VYHzw9vB8FDWxg7PS1yb2waRJQngY=";
+        };
 
-      # Update by running
-      # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
-      # at the root directory of the Nixpkgs repository
-      vendorHash = "sha256-4Nxj2PzZmFdvouWKyXLFDk8iuRhFuvyPW/+VRTw75Zw=";
+        # Update by running
+        # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
+        # at the root directory of the Nixpkgs repository
+        vendorHash = "sha256-4Nxj2PzZmFdvouWKyXLFDk8iuRhFuvyPW/+VRTw75Zw=";
 
-      # Do not build conmon and squashfuse from the Git submodule sources,
-      # Use Nixpkgs provided version
-      extraConfigureFlags = [
-        "--without-conmon"
-        "--without-squashfuse"
-      ];
+        # Do not build conmon and squashfuse from the Git submodule sources,
+        # Use Nixpkgs provided version
+        extraConfigureFlags = [
+          "--without-conmon"
+          "--without-squashfuse"
+        ];
 
-      extraDescription = " (Sylabs Inc's fork of Singularity, a.k.a. SingularityCE)";
-      extraMeta.homepage = "https://sylabs.io/";
-    })
-    {
-      defaultToSuid = true;
-    };
+        extraDescription = " (Sylabs Inc's fork of Singularity, a.k.a. SingularityCE)";
+        extraMeta.homepage = "https://sylabs.io/";
+      })
+      {
+        # Sylabs SingularityCE builders defaults to set the SUID flag
+        # on UNIX-like platforms,
+        # and only have --without-suid but not --with-suid.
+        defaultToSuid = true;
+      };
 
-  genOverridenNixos = package: packageName: (nixos {
-    programs.singularity = {
-      enable = true;
-      inherit package;
-    };
-  }).config.programs.singularity.packageOverriden.overrideAttrs (oldAttrs: {
-    meta = oldAttrs.meta // {
-      description = "";
-      longDescription = ''
-        This package produces identical store derivations to `pkgs.${packageName}`
-        overriden and installed by the NixOS module `programs.singularity`
-        with default configuration.
+  genOverridenNixos =
+    package: packageName:
+    (nixos {
+      programs.singularity = {
+        enable = true;
+        inherit package;
+      };
+    }).config.programs.singularity.packageOverriden.overrideAttrs
+      (oldAttrs: {
+        meta = oldAttrs.meta // {
+          description = "";
+          longDescription = ''
+            This package produces identical store derivations to `pkgs.${packageName}`
+            overriden and installed by the NixOS module `programs.singularity`
+            with default configuration.
 
-        This is for binary substitutes only. Use pkgs.${packageName} instead.
-      '';
-    };
-  });
+            This is for binary substitutes only. Use pkgs.${packageName} instead.
+          '';
+        };
+      });
 in
 {
   inherit apptainer singularity;
diff --git a/pkgs/applications/window-managers/dk/default.nix b/pkgs/applications/window-managers/dk/default.nix
index 25fcad2ba0b6c..631e7b85d18eb 100644
--- a/pkgs/applications/window-managers/dk/default.nix
+++ b/pkgs/applications/window-managers/dk/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "dk";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchFromBitbucket {
     owner = "natemaia";
     repo = "dk";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-bUt4Se4Gu7CZEdv1/VpU92ncq2MBKXG7T4Wpa/2rocI=";
+    hash = "sha256-u1fZTcfGLwKFeRADU55MFYDvtSOaOg5qtWB90xYpVuY=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/window-managers/eww/default.nix b/pkgs/applications/window-managers/eww/default.nix
deleted file mode 100644
index b245941fc7d49..0000000000000
--- a/pkgs/applications/window-managers/eww/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, pkg-config
-, wrapGAppsHook
-, gtk3
-, librsvg
-, gtk-layer-shell
-, stdenv
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "eww";
-  version = "0.5.0";
-
-  src = fetchFromGitHub {
-    owner = "elkowar";
-    repo = "eww";
-    rev = "v${version}";
-    hash = "sha256-HBBz1NDtj2TnDK5ghDLRrAOwHXDZlzclvVscYnmKGck=";
-  };
-
-  cargoHash = "sha256-IirFE714NZmppLjwbWk6fxcmRXCUFzB4oxOxBvmYu5U=";
-
-  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
-
-  buildInputs = [ gtk3 librsvg gtk-layer-shell ];
-
-  cargoBuildFlags = [ "--bin" "eww" ];
-
-  cargoTestFlags = cargoBuildFlags;
-
-  # requires unstable rust features
-  RUSTC_BOOTSTRAP = 1;
-
-  meta = with lib; {
-    description = "ElKowars wacky widgets";
-    homepage = "https://github.com/elkowar/eww";
-    license = licenses.mit;
-    maintainers = with maintainers; [ figsoda lom coffeeispower ];
-    mainProgram = "eww";
-    broken = stdenv.isDarwin;
-  };
-}
diff --git a/pkgs/applications/window-managers/hackedbox/default.nix b/pkgs/applications/window-managers/hackedbox/default.nix
index f38d0d6beb9b1..45f17c0c912ed 100644
--- a/pkgs/applications/window-managers/hackedbox/default.nix
+++ b/pkgs/applications/window-managers/hackedbox/default.nix
@@ -32,6 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
     pkg-config
   ];
 
+  CXXFLAGS = "-std=c++98";
+
   buildInputs = [
     freetype
     fribidi
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/default.nix b/pkgs/applications/window-managers/hyprwm/hyprland/default.nix
index e8da21dba912b..4d50b39ebedad 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprland/default.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprland/default.nix
@@ -49,13 +49,12 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "hyprland" + lib.optionalString debug "-debug";
-  version = "0.38.1";
-
+  version = "0.39.1";
   src = fetchFromGitHub {
     owner = "hyprwm";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    hash = "sha256-6y422rx8ScSkjR1dNYGYUxBmFewRYlCz9XZZ+XrVZng=";
+    hash = "sha256-Urb/njWiHYUudXpmK8EKl9Z58esTIG0PxXw5LuM2r5g=";
   };
 
   patches = [
@@ -73,11 +72,16 @@ stdenv.mkDerivation (finalAttrs: {
       --replace "@HASH@" '${finalAttrs.src.rev}' \
       --replace "@BRANCH@" "" \
       --replace "@MESSAGE@" "" \
-      --replace "@DATE@" "2024-04-06" \
+      --replace "@DATE@" "2024-04-16" \
       --replace "@TAG@" "" \
       --replace "@DIRTY@" ""
   '';
 
+  depsBuildBuild = [
+    # to find wayland-scanner when cross-compiling
+    pkg-config
+  ];
+
   nativeBuildInputs = [
     jq
     makeWrapper
@@ -94,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   buildInputs =
-    [
+    wlr.buildInputs ++ [
       cairo
       git
       hyprcursor
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
index 53113b3e8bffd..76754dd5f0d8a 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
@@ -24,13 +24,13 @@ let
     hy3 = { fetchFromGitHub, cmake, hyprland }:
       mkHyprlandPlugin hyprland {
         pluginName = "hy3";
-        version = "0.38.0";
+        version = "0.39.1";
 
         src = fetchFromGitHub {
           owner = "outfoxxed";
           repo = "hy3";
-          rev = "hl0.38.0";
-          hash = "sha256-ZVwX5yM97R6MLk64dQG5KqYOR4L4HxEEV+xzQi+NGrk=";
+          rev = "hl0.39.1";
+          hash = "sha256-PqVld+oFziSt7VZTNBomPyboaMEAIkerPQFwNJL/Wjw=";
         };
 
         nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix b/pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix
index d5be9f276cf25..b2f4a52126dcf 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitLab
+{ fetchFromGitHub
 , wlroots
 , enableXWayland ? true
 }:
@@ -7,12 +7,11 @@ wlroots.overrideAttrs
     inherit enableXWayland;
     version = "0.18.0-dev";
 
-    src = fetchFromGitLab {
-      domain = "gitlab.freedesktop.org";
-      owner = "wlroots";
-      repo = "wlroots";
-      rev = "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b";
-      hash = "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=";
+    src = fetchFromGitHub {
+      owner = "hyprwm";
+      repo = "wlroots-hyprland";
+      rev = "611a4f24cd2384378f6e500253983107c6656c64";
+      hash = "sha256-vPeZCY+sdiGsz4fl3AVVujfyZyQBz6+vZdkUE4hQ+HI=";
     };
 
     patches = [ ]; # don't inherit old.patches
diff --git a/pkgs/applications/window-managers/jay/default.nix b/pkgs/applications/window-managers/jay/default.nix
index 6718caf1ada23..6b7951c14c374 100644
--- a/pkgs/applications/window-managers/jay/default.nix
+++ b/pkgs/applications/window-managers/jay/default.nix
@@ -7,20 +7,30 @@
 , mesa
 , pango
 , udev
+, shaderc
+, libglvnd
+, vulkan-loader
+, autoPatchelfHook
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "jay";
-  version = "unstable-2022-11-20";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "mahkoh";
     repo = pname;
-    rev = "09b4668a5363a6e93dfb8ba35b244835f4edb0f2";
-    sha256 = "sha256-0IIzXY7AFTGEe0TzJVKOtTPUZee0Wz40yKgEWLeIYJw=";
+    rev = "v${version}";
+    sha256 = "sha256-9fWwVUqeYADt33HGaJRRFmM20WM7qRWbNGpt3rk9xQM=";
   };
 
-  cargoSha256 = "sha256-zSq6YBlm6gJXGlF9xZ8gWSTMewdNqrJzwP58a0x8QIU=";
+  cargoSha256 = "sha256-oPGY/rVx94BkWgKkwwyDjfASMyGGU32R5IZuNjOv+EM=";
+
+  SHADERC_LIB_DIR = "${lib.getLib shaderc}/lib";
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
 
   buildInputs = [
     libGL
@@ -29,9 +39,18 @@ rustPlatform.buildRustPackage rec {
     pango
     udev
     libinput
+    shaderc
+  ];
+
+  runtimeDependencies = [
+    libglvnd
+    vulkan-loader
   ];
 
-  RUSTC_BOOTSTRAP = 1;
+  postInstall = ''
+    install -D etc/jay.portal $out/usr/share/xdg-desktop-portal/portals/jay.portal
+    install -D etc/jay-portals.conf $out/usr/share/xdg-desktop-portal/jay-portals.conf
+  '';
 
   meta = with lib; {
     description = "A Wayland compositor written in Rust";
diff --git a/pkgs/applications/window-managers/miriway/default.nix b/pkgs/applications/window-managers/miriway/default.nix
index 7e59995126fad..8575c10a6ad64 100644
--- a/pkgs/applications/window-managers/miriway/default.nix
+++ b/pkgs/applications/window-managers/miriway/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "miriway";
-  version = "unstable-2024-04-16";
+  version = "0-unstable-2024-04-25";
 
   src = fetchFromGitHub {
     owner = "Miriway";
     repo = "Miriway";
-    rev = "d7f43ac201e6f1aa7aeee668f5d16683f48917f1";
-    hash = "sha256-hUTK7kd7gTvms4HMF7BgYWomRYZyRkqUfjhVtEF+YRE=";
+    rev = "a3f074be78e77bab378f064452420923b6f9c331";
+    hash = "sha256-D+ClEJL/iCLARaTXe5QpI/uHE61Lajzz5A5EphgHCl8=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index b4472425324ee..a4e36c18368e6 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "weston";
-  version = "13.0.0";
+  version = "13.0.1";
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${version}/downloads/weston-${version}.tar.xz";
-    hash = "sha256-Uv8dSqI5Si5BbIWjOLYnzpf6cdQ+t2L9Sq8UXTb8eVo=";
+    hash = "sha256-6hVmq09f/Ofp/U96H8pbMMquTVACO/RZITmUCU4Cspo=";
   };
 
   postPatch = ''