about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/mopidy/spotify.nix6
-rw-r--r--pkgs/applications/audio/pyradio/default.nix13
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix4
-rw-r--r--pkgs/applications/editors/orbiton/default.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix753
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix337
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix10
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names2
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix4
-rw-r--r--pkgs/applications/file-managers/projectable/default.nix5
-rw-r--r--pkgs/applications/misc/nwg-panel/default.nix4
-rw-r--r--pkgs/applications/misc/swaynotificationcenter/default.nix5
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix10
-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/packages.nix8
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/bosh-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/popeye/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix4
-rw-r--r--pkgs/applications/networking/onionshare/default.nix42
-rw-r--r--pkgs/applications/networking/onionshare/fix-qrcode-gui.patch14
-rw-r--r--pkgs/applications/networking/powerdns-admin/default.nix6
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix8
-rw-r--r--pkgs/applications/office/moneyplex/default.nix123
-rw-r--r--pkgs/applications/science/biology/last/default.nix4
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix4
-rw-r--r--pkgs/applications/version-management/git-dive/default.nix10
-rw-r--r--pkgs/applications/version-management/git-mit/default.nix8
-rw-r--r--pkgs/applications/version-management/gitoxide/default.nix16
-rw-r--r--pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix6
-rw-r--r--pkgs/build-support/docker/default.nix2
-rw-r--r--pkgs/build-support/trivial-builders/default.nix13
-rw-r--r--pkgs/by-name/be/bemoji/package.nix4
-rw-r--r--pkgs/by-name/ch/chrysalis/package.nix (renamed from pkgs/applications/misc/chrysalis/default.nix)8
-rw-r--r--pkgs/by-name/ch/chrysalis/update.sh16
-rw-r--r--pkgs/by-name/ed/edbrowse/0001-small-fixes.patch (renamed from pkgs/applications/editors/edbrowse/0001-small-fixes.patch)0
-rw-r--r--pkgs/by-name/ed/edbrowse/package.nix (renamed from pkgs/applications/editors/edbrowse/default.nix)68
-rw-r--r--pkgs/by-name/em/emacspeak/package.nix (renamed from pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix)35
-rw-r--r--pkgs/by-name/ez/eza/package.nix6
-rw-r--r--pkgs/by-name/ff/ffsubsync/package.nix22
-rw-r--r--pkgs/by-name/fl/flottbot/package.nix6
-rw-r--r--pkgs/by-name/fm/fm-go/package.nix31
-rw-r--r--pkgs/by-name/fw/fwupd/package.nix4
-rw-r--r--pkgs/by-name/go/go-errorlint/package.nix29
-rw-r--r--pkgs/by-name/ho/home-manager/package.nix (renamed from pkgs/tools/package-management/home-manager/default.nix)42
-rw-r--r--pkgs/by-name/ll/llama-cpp/package.nix183
-rw-r--r--pkgs/by-name/mf/mfcj880dwcupswrapper/package.nix46
-rw-r--r--pkgs/by-name/mf/mfcj880dwlpr/package.nix94
-rw-r--r--pkgs/by-name/ni/niri/Cargo.lock588
-rw-r--r--pkgs/by-name/ni/niri/package.nix22
-rw-r--r--pkgs/by-name/no/nosql-workbench/package.nix29
-rw-r--r--pkgs/by-name/oe/oelint-adv/package.nix4
-rw-r--r--pkgs/by-name/ou/outils/package.nix (renamed from pkgs/tools/misc/outils/default.nix)6
-rw-r--r--pkgs/by-name/sc/scitokens-cpp/package.nix6
-rw-r--r--pkgs/by-name/se/searxng/package.nix1
-rw-r--r--pkgs/by-name/sw/sway-unwrapped/package.nix14
-rw-r--r--pkgs/by-name/sw/swayfx-unwrapped/package.nix15
-rw-r--r--pkgs/by-name/ta/tabby/package.nix73
-rw-r--r--pkgs/by-name/ui/uiua/package.nix7
-rwxr-xr-xpkgs/by-name/ui/uiua/update.sh7
-rw-r--r--pkgs/by-name/uv/uv/Cargo.lock44
-rw-r--r--pkgs/by-name/uv/uv/package.nix27
-rw-r--r--pkgs/by-name/vl/vlc/package.nix (renamed from pkgs/applications/video/vlc/default.nix)94
-rw-r--r--pkgs/by-name/zc/zcfan/package.nix4
-rw-r--r--pkgs/data/fonts/lxgw-neoxihei/default.nix4
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix4
-rw-r--r--pkgs/data/themes/alacritty-theme/default.nix6
-rw-r--r--pkgs/desktops/lomiri/data/suru-icon-theme/default.nix5
-rw-r--r--pkgs/development/compilers/factor-lang/factor99.nix4
-rw-r--r--pkgs/development/compilers/tinycc/default.nix62
-rw-r--r--pkgs/development/libraries/google-cloud-cpp/default.nix10
-rw-r--r--pkgs/development/libraries/google-cloud-cpp/skipped_tests.toml139
-rw-r--r--pkgs/development/libraries/hunspell/dictionaries.nix6
-rw-r--r--pkgs/development/libraries/libgbinder/default.nix4
-rw-r--r--pkgs/development/libraries/libshumate/default.nix5
-rw-r--r--pkgs/development/libraries/qt-6/default.nix138
-rw-r--r--pkgs/development/libraries/qt-6/modules/qtbase.nix40
-rw-r--r--pkgs/development/libraries/qt-6/patches/0011-qtbase-derive-plugin-load-path-from-PATH.patch23
-rw-r--r--pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix4
-rw-r--r--pkgs/development/misc/brev-cli/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/caqti/async.nix2
-rw-r--r--pkgs/development/ocaml-modules/caqti/default.nix31
-rw-r--r--pkgs/development/ocaml-modules/caqti/driver-mariadb.nix2
-rw-r--r--pkgs/development/ocaml-modules/caqti/driver-postgresql.nix2
-rw-r--r--pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix8
-rw-r--r--pkgs/development/ocaml-modules/caqti/dynload.nix2
-rw-r--r--pkgs/development/ocaml-modules/caqti/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/caqti/type-calendar.nix2
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/aioairzone/default.nix4
-rw-r--r--pkgs/development/python-modules/aioboto3/default.nix7
-rw-r--r--pkgs/development/python-modules/aiobotocore/default.nix24
-rw-r--r--pkgs/development/python-modules/aiocsv/default.nix4
-rw-r--r--pkgs/development/python-modules/aioshelly/default.nix4
-rw-r--r--pkgs/development/python-modules/aiounifi/default.nix4
-rw-r--r--pkgs/development/python-modules/argilla/default.nix4
-rw-r--r--pkgs/development/python-modules/arviz/default.nix1
-rw-r--r--pkgs/development/python-modules/aws-encryption-sdk/default.nix32
-rw-r--r--pkgs/development/python-modules/aws-secretsmanager-caching/default.nix51
-rw-r--r--pkgs/development/python-modules/azure-core/default.nix16
-rw-r--r--pkgs/development/python-modules/azure-keyvault-administration/default.nix29
-rw-r--r--pkgs/development/python-modules/azure-keyvault-certificates/default.nix27
-rw-r--r--pkgs/development/python-modules/azure-keyvault-secrets/default.nix29
-rw-r--r--pkgs/development/python-modules/boto3-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/boto3/default.nix22
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore/default.nix37
-rw-r--r--pkgs/development/python-modules/cbor2/default.nix10
-rw-r--r--pkgs/development/python-modules/cheetah3/default.nix4
-rw-r--r--pkgs/development/python-modules/chroma-hnswlib/default.nix47
-rw-r--r--pkgs/development/python-modules/chromadb/default.nix160
-rw-r--r--pkgs/development/python-modules/clarifai/default.nix61
-rw-r--r--pkgs/development/python-modules/clickhouse-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/cloudpathlib/default.nix4
-rw-r--r--pkgs/development/python-modules/cssbeautifier/default.nix28
-rw-r--r--pkgs/development/python-modules/dbt-core/default.nix4
-rw-r--r--pkgs/development/python-modules/dbt-redshift/default.nix4
-rw-r--r--pkgs/development/python-modules/dirtyjson/default.nix39
-rw-r--r--pkgs/development/python-modules/django-crispy-bootstrap4/default.nix4
-rw-r--r--pkgs/development/python-modules/docstr-coverage/default.nix6
-rw-r--r--pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch45
-rw-r--r--pkgs/development/python-modules/geoalchemy2/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-compute/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-kms/default.nix19
-rw-r--r--pkgs/development/python-modules/google-cloud-pubsub/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-secret-manager/default.nix4
-rw-r--r--pkgs/development/python-modules/griffe/default.nix8
-rw-r--r--pkgs/development/python-modules/huggingface-hub/default.nix15
-rw-r--r--pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-core/default.nix13
-rw-r--r--pkgs/development/python-modules/litellm/default.nix4
-rw-r--r--pkgs/development/python-modules/llama-index-agent-openai/default.nix30
-rw-r--r--pkgs/development/python-modules/llama-index-cli/default.nix34
-rw-r--r--pkgs/development/python-modules/llama-index-core/default.nix115
-rw-r--r--pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix36
-rw-r--r--pkgs/development/python-modules/llama-index-embeddings-google/default.nix30
-rw-r--r--pkgs/development/python-modules/llama-index-embeddings-openai/default.nix28
-rw-r--r--pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix28
-rw-r--r--pkgs/development/python-modules/llama-index-legacy/default.nix24
-rw-r--r--pkgs/development/python-modules/llama-index-llms-openai/default.nix28
-rw-r--r--pkgs/development/python-modules/llama-index-multi-modal-llms-openai/default.nix30
-rw-r--r--pkgs/development/python-modules/llama-index-program-openai/default.nix32
-rw-r--r--pkgs/development/python-modules/llama-index-question-gen-openai/default.nix32
-rw-r--r--pkgs/development/python-modules/llama-index-readers-file/default.nix46
-rw-r--r--pkgs/development/python-modules/llama-index-readers-json/default.nix34
-rw-r--r--pkgs/development/python-modules/llama-index-readers-llama-parse/default.nix30
-rw-r--r--pkgs/development/python-modules/llama-index-readers-weather/default.nix36
-rw-r--r--pkgs/development/python-modules/llama-index-vector-stores-chroma/default.nix41
-rw-r--r--pkgs/development/python-modules/llama-index/default.nix47
-rw-r--r--pkgs/development/python-modules/llama-parse/default.nix40
-rw-r--r--pkgs/development/python-modules/llamaindex-py-client/default.nix45
-rw-r--r--pkgs/development/python-modules/mscerts/default.nix4
-rw-r--r--pkgs/development/python-modules/msrest/default.nix14
-rw-r--r--pkgs/development/python-modules/msrestazure/default.nix53
-rw-r--r--pkgs/development/python-modules/neo4j/default.nix4
-rw-r--r--pkgs/development/python-modules/nest-asyncio/default.nix40
-rw-r--r--pkgs/development/python-modules/nibabel/default.nix4
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix54
-rw-r--r--pkgs/development/python-modules/opower/default.nix6
-rw-r--r--pkgs/development/python-modules/oslo-concurrency/default.nix4
-rw-r--r--pkgs/development/python-modules/pulsar-client/default.nix119
-rw-r--r--pkgs/development/python-modules/pydeconz/default.nix4
-rw-r--r--pkgs/development/python-modules/pydub/default.nix46
-rw-r--r--pkgs/development/python-modules/pymc/default.nix12
-rw-r--r--pkgs/development/python-modules/pymicrobot/default.nix4
-rw-r--r--pkgs/development/python-modules/pysignalclirestapi/default.nix11
-rw-r--r--pkgs/development/python-modules/pytest-testmon/default.nix4
-rw-r--r--pkgs/development/python-modules/python-idzip/default.nix69
-rw-r--r--pkgs/development/python-modules/rdkit/default.nix4
-rw-r--r--pkgs/development/python-modules/reptor/default.nix4
-rw-r--r--pkgs/development/python-modules/ripser/default.nix4
-rw-r--r--pkgs/development/python-modules/rope/default.nix8
-rw-r--r--pkgs/development/python-modules/s3transfer/default.nix31
-rw-r--r--pkgs/development/python-modules/shazamio/default.nix1
-rw-r--r--pkgs/development/python-modules/simpful/default.nix4
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/snapcast/default.nix11
-rw-r--r--pkgs/development/python-modules/tensordict/default.nix17
-rw-r--r--pkgs/development/python-modules/thriftpy2/default.nix4
-rw-r--r--pkgs/development/python-modules/torch/default.nix2
-rw-r--r--pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--pkgs/development/python-modules/types-aiobotocore/default.nix4
-rw-r--r--pkgs/development/python-modules/types-beautifulsoup4/default.nix4
-rw-r--r--pkgs/development/python-modules/types-html5lib/default.nix4
-rw-r--r--pkgs/development/python-modules/types-lxml/default.nix69
-rw-r--r--pkgs/development/python-modules/universal-silabs-flasher/default.nix6
-rw-r--r--pkgs/development/python-modules/unstructured/default.nix4
-rw-r--r--pkgs/development/python-modules/userpath/default.nix6
-rw-r--r--pkgs/development/python-modules/vllm/default.nix10
-rw-r--r--pkgs/development/python-modules/yolink-api/default.nix8
-rw-r--r--pkgs/development/r-modules/default.nix5
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix6
-rw-r--r--pkgs/development/tools/bearer/default.nix6
-rw-r--r--pkgs/development/tools/biome/default.nix5
-rw-r--r--pkgs/development/tools/build-managers/xmake/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/cirrus-cli/default.nix4
-rw-r--r--pkgs/development/tools/language-servers/gopls/default.nix7
-rw-r--r--pkgs/development/tools/rbspy/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-audit/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-codspeed/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-dephell/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-generate/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-ui/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-unused-features/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-update/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-workspaces/default.nix2
-rw-r--r--pkgs/development/tools/rust/typeshare/default.nix6
-rw-r--r--pkgs/development/tools/rye/Cargo.lock113
-rw-r--r--pkgs/development/tools/rye/default.nix21
-rw-r--r--pkgs/development/tools/vultr-cli/default.nix6
-rw-r--r--pkgs/games/openmw/tes3mp.nix5
-rw-r--r--pkgs/games/unnethack/default.nix5
-rw-r--r--pkgs/kde/lib/mk-kde-derivation.nix3
-rw-r--r--pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix35
-rw-r--r--pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix35
-rw-r--r--pkgs/os-specific/linux/reptyr/default.nix4
-rw-r--r--pkgs/pkgs-lib/formats.nix121
-rw-r--r--pkgs/pkgs-lib/tests/formats.nix251
-rw-r--r--pkgs/servers/mail/rspamd/default.nix4
-rw-r--r--pkgs/servers/mobilizon/common.nix4
-rw-r--r--pkgs/servers/mobilizon/default.nix4
-rw-r--r--pkgs/servers/mobilizon/frontend.nix2
-rw-r--r--pkgs/servers/mobilizon/mix.nix250
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/alertmanager.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/exportarr/default.nix6
-rw-r--r--pkgs/shells/zsh/pure-prompt/default.nix4
-rw-r--r--pkgs/tools/filesystems/fuse-ext2/default.nix6
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix38
-rw-r--r--pkgs/tools/inputmethods/fcitx5/with-addons.nix6
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus/build-without-dbus-launch.patch13
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix56
-rw-r--r--pkgs/tools/misc/faketty/default.nix6
-rw-r--r--pkgs/tools/nix/nix-init/default.nix5
-rw-r--r--pkgs/tools/security/dontgo403/default.nix11
-rw-r--r--pkgs/tools/security/fulcio/default.nix6
-rw-r--r--pkgs/tools/security/ggshield/default.nix4
-rw-r--r--pkgs/tools/security/trufflehog/default.nix6
-rw-r--r--pkgs/tools/text/goawk/default.nix4
-rw-r--r--pkgs/tools/text/zim-tools/default.nix4
-rw-r--r--pkgs/tools/video/yaydl/default.nix6
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix68
-rw-r--r--pkgs/top-level/python-packages.nix54
-rw-r--r--pkgs/top-level/qt6-packages.nix2
249 files changed, 5503 insertions, 3153 deletions
diff --git a/pkgs/applications/audio/mopidy/spotify.nix b/pkgs/applications/audio/mopidy/spotify.nix
index 474088572883..58b5f852a4c9 100644
--- a/pkgs/applications/audio/mopidy/spotify.nix
+++ b/pkgs/applications/audio/mopidy/spotify.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-spotify";
-  version = "unstable-2024-02-11";
+  version = "unstable-2024-02-27";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy-spotify";
-    rev = "fc6ffb3bbbae9224316e2a888db08ef56608966a";
-    hash = "sha256-V1SW8OyuBKLbUoQ4O5iiS4mq3MOXidcVKpiw125vxjQ=";
+    rev = "112d4abbb3f5b6477dab796f2824fa42196bfa0a";
+    hash = "sha256-RkXDzAbOOll3uCNZ2mFRnjqMkT/NkXOGjywLRTC9i60=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/pyradio/default.nix b/pkgs/applications/audio/pyradio/default.nix
index 2fc911222da9..e9ef64260f46 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.1";
+  version = "0.9.2.25";
 
   src = fetchFromGitHub {
     owner = "coderholic";
-    repo = pname;
+    repo = "pyradio";
     rev = "refs/tags/${version}";
-    hash = "sha256-tu/qlrbTcUCIRF15x9ATKHH+LDy1OsGJpo5x+CerTKg=";
+    hash = "sha256-GkOp0iK84HDvVH8RmtmIKJ5EtQIECgZS5g8pmaIhUcc=";
   };
 
   nativeBuildInputs = [
@@ -20,9 +20,12 @@ python3Packages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3Packages; [
-    requests
-    psutil
     dnspython
+    netifaces
+    psutil
+    python-dateutil
+    requests
+    rich
   ];
 
   checkPhase = ''
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 1c698809791b..9a908039b8f5 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -5,6 +5,8 @@ let
   inherit (self) callPackage;
 in
 {
+  inherit (pkgs) emacspeak;
+
   acm = callPackage ./manual-packages/acm { };
 
   acm-terminal = callPackage ./manual-packages/acm-terminal { };
@@ -31,8 +33,6 @@ in
 
   elisp-ffi = callPackage ./manual-packages/elisp-ffi { };
 
-  emacspeak = callPackage ./manual-packages/emacspeak { };
-
   ess-R-object-popup = callPackage ./manual-packages/ess-R-object-popup { };
 
   evil-markdown = callPackage ./manual-packages/evil-markdown { };
diff --git a/pkgs/applications/editors/orbiton/default.nix b/pkgs/applications/editors/orbiton/default.nix
index 413af1ab5c54..1e64c5950798 100644
--- a/pkgs/applications/editors/orbiton/default.nix
+++ b/pkgs/applications/editors/orbiton/default.nix
@@ -4,13 +4,13 @@
 
 buildGoModule rec {
   pname = "orbiton";
-  version = "2.65.10";
+  version = "2.65.11";
 
   src = fetchFromGitHub {
     owner = "xyproto";
     repo = "orbiton";
     rev = "v${version}";
-    hash = "sha256-z81Xled6OFs9tKVJgUnws81C86Vle5XR85f3z96N2Gw=";
+    hash = "sha256-eb7Ku1hgvYdmRgemXcEZMl53oNXYcomh4wYHpRzLTUc=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index d89ca909fa59..20a4184580ff 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -65,12 +65,12 @@ final: prev:
 
   Coqtail = buildVimPlugin {
     pname = "Coqtail";
-    version = "2024-02-17";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "e52c456d44e2e3c580428e54182a59d82009c3e2";
-      sha256 = "025l8y4i5a0zlvm1f0nqliqvqwn1cf2xas3ikiyf6cn749ar7pjw";
+      rev = "70fcabba2ecb776406bedc4b7c968ea7a876de85";
+      sha256 = "1vdqygp8v0j0msyhvc7239fkfvb1m71b3m0fpan9ay2h4x9q0q6i";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -173,12 +173,12 @@ final: prev:
 
   LazyVim = buildVimPlugin {
     pname = "LazyVim";
-    version = "2024-01-23";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "LazyVim";
       repo = "LazyVim";
-      rev = "a50f92f7550fb6e9f21c0852e6cb190e6fcd50f5";
-      sha256 = "01ag75gdn6yfifv5rgk8j72dly511alilqy7z97s7m3fm1zp73mv";
+      rev = "91126b9896bebcea9a21bce43be4e613e7607164";
+      sha256 = "0cp56d4vy8mwdf3gl64cnw25fizqw0p1nfwnn470b3mwk9851i7g";
     };
     meta.homepage = "https://github.com/LazyVim/LazyVim/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPlugin {
     pname = "SchemaStore.nvim";
-    version = "2024-02-16";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "844081710a935b4bd95bb8a3cf2742ffb9630993";
-      sha256 = "0dijcbygl5z4jw8gcfjvld09yijlz0fl10b0c6giizy9r09ij7av";
+      rev = "0358c7e159e5502361bf3971d89bf5133bcc2893";
+      sha256 = "0klr8r0kz0qnyd4g18mrdl3xvjdhsz7vbdppgrkmaa02iq1bi8i9";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -377,12 +377,12 @@ final: prev:
 
   SpaceVim = buildVimPlugin {
     pname = "SpaceVim";
-    version = "2023-09-23";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "SpaceVim";
       repo = "SpaceVim";
-      rev = "f7151f55a9e9b96e332d7cc1e0febdcae6198356";
-      sha256 = "155d7b0vgqcsdayry8gz7sz2l3wlabh1pp6jksanjbfcq3gydvxn";
+      rev = "f393801c5f82a1cdc96fcd70ba9ae6d17eecedee";
+      sha256 = "1yvkgzb786v35h6pw6shw61zibg50npw59f0qyq0f0w7afccschc";
     };
     meta.homepage = "https://github.com/SpaceVim/SpaceVim/";
   };
@@ -449,12 +449,12 @@ final: prev:
 
   YouCompleteMe = buildVimPlugin {
     pname = "YouCompleteMe";
-    version = "2024-02-14";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "f0789244449468b0dad591ec5a87db6504788cfa";
-      sha256 = "0vs201i5aqa157ld9ii0pl9cd9xxfcrkxx69ibk8rzn3ardnllm4";
+      rev = "c3c03323c4e4bd84b8fc6173a6c95bbd6c922b11";
+      sha256 = "1977s7082pvml4yi6km3i0k81n5vp0ym25ybxgl28ym66xrxcl28";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -583,12 +583,12 @@ final: prev:
 
   ale = buildVimPlugin {
     pname = "ale";
-    version = "2024-02-06";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "6fd9f3c54f80cec8be364594246daf9ac41cbe3e";
-      sha256 = "16wa96aymgx4jfw9cxryikvfa1628csblhc4y2d33khbpy8mg81d";
+      rev = "9cc8383fe930e0d6f21b17c9ebb2fdb55331b183";
+      sha256 = "1mfbc89p0kk6n5gk2a51fcn7rl86whz0dm3mcikbxhfnscncnsq6";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -691,12 +691,12 @@ final: prev:
 
   astrotheme = buildVimPlugin {
     pname = "astrotheme";
-    version = "2024-01-27";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "AstroNvim";
       repo = "astrotheme";
-      rev = "415d0030a86dc52371925483a823eb04d483447b";
-      sha256 = "16brpfp5kdgdlpij72kl02gzql04cyhswsaw93qm2svfvr9q2v9x";
+      rev = "d96b532d2f629e0d9b55368a38debc776c3a9d32";
+      sha256 = "1fxjhqgd1akd5qy0llrclmc05jqxl38dwyxij1yk31vg359vrl0j";
     };
     meta.homepage = "https://github.com/AstroNvim/astrotheme/";
   };
@@ -799,12 +799,12 @@ final: prev:
 
   asyncrun-vim = buildVimPlugin {
     pname = "asyncrun.vim";
-    version = "2024-02-16";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "skywind3000";
       repo = "asyncrun.vim";
-      rev = "99b5025131c50c6ef638faefe1f872eea5454785";
-      sha256 = "1cbc1silg0hf3rj7saw4ifxcn5nmvs1fyilnfxskg38bk9pag5ds";
+      rev = "915e36a2ed84b73741e13d2df3edc8e01ca56f5b";
+      sha256 = "0rw3wnxsk9gx4kvw2x5h1pbmpls7fvlim3ihlhw37zf2irsfph5w";
     };
     meta.homepage = "https://github.com/skywind3000/asyncrun.vim/";
   };
@@ -907,16 +907,28 @@ final: prev:
 
   autoclose-nvim = buildVimPlugin {
     pname = "autoclose.nvim";
-    version = "2023-09-16";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "m4xshen";
       repo = "autoclose.nvim";
-      rev = "37e11589aac55b0e8810dc5865f898f9cb36fef6";
-      sha256 = "15l5c9r8wa2i7amdl3b88gj9qhw81wxicm4zglvzcl1yb9ga0pwd";
+      rev = "dc42806540dcf448ecb2bad6b67204410cfbe629";
+      sha256 = "03l4az5xccx941sbw2qx7s8aziydiad2pc75jki1mlbgs7sdbhwi";
     };
     meta.homepage = "https://github.com/m4xshen/autoclose.nvim/";
   };
 
+  autolist-nvim = buildVimPlugin {
+    pname = "autolist.nvim";
+    version = "2023-07-07";
+    src = fetchFromGitHub {
+      owner = "gaoDean";
+      repo = "autolist.nvim";
+      rev = "5f70a5f99e96c8fe3069de042abd2a8ed2deb855";
+      sha256 = "0vdr9mf761qc2rp9xc8ypgdis68khblkwn7c1kc6cxk265nw7awm";
+    };
+    meta.homepage = "https://github.com/gaoDean/autolist.nvim/";
+  };
+
   autoload_cscope-vim = buildVimPlugin {
     pname = "autoload_cscope.vim";
     version = "2011-01-28";
@@ -1003,12 +1015,12 @@ final: prev:
 
   bamboo-nvim = buildVimPlugin {
     pname = "bamboo.nvim";
-    version = "2024-01-30";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "ribru17";
       repo = "bamboo.nvim";
-      rev = "b79d540b251a2085d439f5a7c0fe12b9ed54bab6";
-      sha256 = "1qs0fw9f17x7xyqgx0911q3szrnqfrn77q2ja5pcf8vhq1hk4f1y";
+      rev = "2c5a7442f8db3dcc3f5175f0bed73675e26e3931";
+      sha256 = "0ana0pad4lcqg6mcava4mvvi0c9bwkcgfql1xgmcxmz1svgrqkqg";
     };
     meta.homepage = "https://github.com/ribru17/bamboo.nvim/";
   };
@@ -1171,12 +1183,12 @@ final: prev:
 
   bluloco-nvim = buildVimPlugin {
     pname = "bluloco.nvim";
-    version = "2024-01-22";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "uloco";
       repo = "bluloco.nvim";
-      rev = "e97a9d61fad847a8d98c280181dde1c228be422b";
-      sha256 = "04qbp7chz009kma6lv2zvqkj9z5hv3c45h0zzyc0w145450isqv7";
+      rev = "c585fa3b1b892453b1f68df4c52b4f684a7ed7fe";
+      sha256 = "17q3dwkhdx74xrxzl3069ia4fl0fj2n8k57s56k59v7f1v1l753i";
     };
     meta.homepage = "https://github.com/uloco/bluloco.nvim/";
   };
@@ -1339,24 +1351,24 @@ final: prev:
 
   ccc-nvim = buildVimPlugin {
     pname = "ccc.nvim";
-    version = "2023-12-16";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "uga-rosa";
       repo = "ccc.nvim";
-      rev = "ec6e23fd2c0bf4ffcf71c1271acdcee6e2c6f49c";
-      sha256 = "1y3ns91ysx684ryxv1zjaw8ghrm2ry4rswhm87im4rwghnwvnrwx";
+      rev = "392ef0640b96684e88b3965f32f3bc42530f66c3";
+      sha256 = "124chgrnznl75wmkk6slrjld3mc0q7ycpcb507iimyyw70vc3gm3";
     };
     meta.homepage = "https://github.com/uga-rosa/ccc.nvim/";
   };
 
   chadtree = buildVimPlugin {
     pname = "chadtree";
-    version = "2024-02-16";
+    version = "2024-02-20";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "326830f797f38edefa9691cb9de35833b9571b95";
-      sha256 = "14s3lcp0pyd9dqi5jhnlv0rd51qia4p5sg7p6hxrdzi86mmkz1b6";
+      rev = "9212d5469aba3f0c7a9021640d4535be8fa90af7";
+      sha256 = "1y52b8b2yz6wphqgh2gy9fddrha0xxi2nv04gyksr84riiwrpm12";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -1411,12 +1423,12 @@ final: prev:
 
   citruszest-nvim = buildVimPlugin {
     pname = "citruszest.nvim";
-    version = "2024-01-30";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "zootedb0t";
       repo = "citruszest.nvim";
-      rev = "6c090d537c4fcc5d187632e7e47943e41a218ba8";
-      sha256 = "0x09gz17436fmybr40l69ph0r8k6abxi5jaksn058gh0s6wiq8ic";
+      rev = "60e6cec400cd857ffd69d582794c3ce5571c0049";
+      sha256 = "0mbs4v35v6xwi44dh8isgp66n6x10q6jkvj3ygvpqanwff6bp89s";
     };
     meta.homepage = "https://github.com/zootedb0t/citruszest.nvim/";
   };
@@ -2443,12 +2455,12 @@ final: prev:
 
   conform-nvim = buildVimPlugin {
     pname = "conform.nvim";
-    version = "2024-02-13";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "conform.nvim";
-      rev = "61cff430c9f15770d0c5e68c1b08067223bd94ab";
-      sha256 = "0b6syg14d1bs57nbikiwmragj2ac8nnjk1ns46nbvhc82ixsbr09";
+      rev = "192a6d2ddace343f1840a8f72efe2315bd392243";
+      sha256 = "0lcg301wkf9whm1gaybi6q7vw0yc7pkh32fj5zs95v2jm0glnkpb";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/conform.nvim/";
@@ -2516,24 +2528,24 @@ final: prev:
 
   copilot-vim = buildVimPlugin {
     pname = "copilot.vim";
-    version = "2024-02-17";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "github";
       repo = "copilot.vim";
-      rev = "79e1a892ca9b4fa6234fd25f2930dba5201700bd";
-      sha256 = "11awdp6gmbiy9vp2bpd05x1aj7z5c3x6gkbbx4kjgk613589x7kg";
+      rev = "4d32b064fedbdbf8f3fa83afa1b19ebafd3a035c";
+      sha256 = "1rh246zdczrcdgicq5a848wd1sc71409qkpaj4w205czvxa21f6n";
     };
     meta.homepage = "https://github.com/github/copilot.vim/";
   };
 
   coq-artifacts = buildVimPlugin {
     pname = "coq.artifacts";
-    version = "2024-02-16";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.artifacts";
-      rev = "de9d71b7fbf29ec8dc06adadb18621c55556a59b";
-      sha256 = "16vwf4rvbv00xg12spi8p48ciwkk1w4rlf70vnapl955r08mfwqh";
+      rev = "1b7915035e1cc6b40d27c69051fd81e8fe6b62db";
+      sha256 = "076n62rnr9gahw1n8j94xgrab5q1d09sf98p4nhh32gc1z4w2hd1";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.artifacts/";
   };
@@ -2564,12 +2576,12 @@ final: prev:
 
   coq_nvim = buildVimPlugin {
     pname = "coq_nvim";
-    version = "2024-02-16";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "cddbe83386efbce2a33373df1f98b3bd0b9c10a8";
-      sha256 = "0v7lib5mb1washicqqzl1m3gm4wd6bi3ivygfd5j0j7kxvv6f0hw";
+      rev = "6ce3cf79d66a47f368d173a2806fe107ac28f877";
+      sha256 = "1pvrkckfzwsbbmrd8b08kr4jbl3fcbspg6kjnzqy9hc7yxvq90kh";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
@@ -2696,12 +2708,12 @@ final: prev:
 
   cyberdream-nvim = buildVimPlugin {
     pname = "cyberdream.nvim";
-    version = "2024-01-16";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "scottmckendry";
       repo = "cyberdream.nvim";
-      rev = "5eacf2e0a36c6c44645d66ab7950a126af15dfc2";
-      sha256 = "0a4v1xakcq6sc3kshl45r6iy0y881fv8zc2nyylqgy9xh5p37vzl";
+      rev = "7b83422a9318e036ac21df6a63c0ab1ca745e54f";
+      sha256 = "0dhp2726drdvx63vqcm3kmlk6bi7mwjr40fgwz9zspj8jg8gj40n";
     };
     meta.homepage = "https://github.com/scottmckendry/cyberdream.nvim/";
   };
@@ -2744,12 +2756,12 @@ final: prev:
 
   debugprint-nvim = buildVimPlugin {
     pname = "debugprint.nvim";
-    version = "2024-01-21";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "andrewferrier";
       repo = "debugprint.nvim";
-      rev = "0c81cd2bab372bba99815f505eb1fe759d38dd88";
-      sha256 = "1vyn98y3mnhdpa1yvlarqrs4wzfkgn1g70n5s0x3h1kvs1256g8c";
+      rev = "4432f917be7e0c95a21af17b31b216fba60fb131";
+      sha256 = "0q21kdch8ksb7i94160w5fmja30yvz6rpxkpls0g3ijaafxyk6w3";
     };
     meta.homepage = "https://github.com/andrewferrier/debugprint.nvim/";
   };
@@ -2852,12 +2864,12 @@ final: prev:
 
   denops-vim = buildVimPlugin {
     pname = "denops.vim";
-    version = "2024-02-06";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "vim-denops";
       repo = "denops.vim";
-      rev = "ebda886f724fa2eb8aaa51d569903d5c359f0887";
-      sha256 = "01ln1yp9ymryc5fps1w91a99fn8bdm2gc56k9cmb07mc868p20ll";
+      rev = "113c492120e5549aec8c271be2c977024544e4ce";
+      sha256 = "0vp7cb7pppd0zb0c60h5h5v4bhg4c7h0gn50p072rf8bs5yb1qv7";
     };
     meta.homepage = "https://github.com/vim-denops/denops.vim/";
   };
@@ -3214,12 +3226,12 @@ final: prev:
 
   doom-one-nvim = buildVimPlugin {
     pname = "doom-one.nvim";
-    version = "2022-12-24";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "NTBBloodbath";
       repo = "doom-one.nvim";
-      rev = "a43528cbd7908ccec7af4587ec8e18be149095bd";
-      sha256 = "0zv40jrr9d65kny43bxcfx6hclrsnhirsb9cz87z08qbz9jkbywm";
+      rev = "6d05890f8677d6074037ad4e7faac3f2c892a66e";
+      sha256 = "05c0sjfbi72i54cwc5q57w5aggb8jgws4cjxqsibk20r5yn4wny7";
     };
     meta.homepage = "https://github.com/NTBBloodbath/doom-one.nvim/";
   };
@@ -3250,12 +3262,12 @@ final: prev:
 
   dropbar-nvim = buildVimPlugin {
     pname = "dropbar.nvim";
-    version = "2024-02-17";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "Bekaboo";
       repo = "dropbar.nvim";
-      rev = "da63ca9b24f18b814ac75881b1e36199a7676047";
-      sha256 = "125caxl299svj1lnfr718ahcsg2d2aia9mhm3jx4753piha07bsw";
+      rev = "a133a7deed7431496d8e87e8e4cc9c09a9d78945";
+      sha256 = "1ai1fhwlrvr0p8brqapfrdd7rlkarwf78f6plannydd58zlc4j7p";
     };
     meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/";
   };
@@ -3564,12 +3576,12 @@ final: prev:
 
   fidget-nvim = buildNeovimPlugin {
     pname = "fidget.nvim";
-    version = "2024-02-14";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "j-hui";
       repo = "fidget.nvim";
-      rev = "4e854f3299e21d1c18279add340428a97520fc44";
-      sha256 = "1519w7hb5xh1cgpcgi323if1wiq6n0vyfilza1wqpbbk6801rlfy";
+      rev = "60404ba67044c6ab01894dd5bf77bd64ea5e09aa";
+      sha256 = "16wf6jk18r5grg0l0pqmq45nkchj5jdbdqil5v1jrvwpf7d37yki";
     };
     meta.homepage = "https://github.com/j-hui/fidget.nvim/";
   };
@@ -3661,12 +3673,12 @@ final: prev:
 
   flit-nvim = buildVimPlugin {
     pname = "flit.nvim";
-    version = "2024-01-13";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "flit.nvim";
-      rev = "39e3399ed2cbc328778258ac0d497ece9ed8fe32";
-      sha256 = "0pmaymd1n8k829h2pb392xbnm9qgbsxxnzgjzv84ylmrvr6r83sq";
+      rev = "94419242ba07170b0009514d745e617b120964f4";
+      sha256 = "17zzabbn5f7sk0sq0j4df15jmy3q30j851gxzwf2ahrwbzh2v36z";
     };
     meta.homepage = "https://github.com/ggandor/flit.nvim/";
   };
@@ -3721,12 +3733,12 @@ final: prev:
 
   flutter-tools-nvim = buildVimPlugin {
     pname = "flutter-tools.nvim";
-    version = "2024-02-14";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "flutter-tools.nvim";
-      rev = "28482c71537bb748ccede91facc93a2ea2803a8c";
-      sha256 = "16qa5hlj1a1aff89hfmg1my3k60rvxdibhx3ian3vrh5zmmf4762";
+      rev = "01d72d9c1bdf2d454a60c5ba450f83e5ea783f6a";
+      sha256 = "13xw7vh9ad6ipldxk7q48fd8gwfr88i1n0j3ny18mz3cwg1mldzk";
     };
     meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/";
   };
@@ -3877,12 +3889,12 @@ final: prev:
 
   fzf-lua = buildVimPlugin {
     pname = "fzf-lua";
-    version = "2024-02-11";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "ibhagwan";
       repo = "fzf-lua";
-      rev = "91ec17b4fd0d810599f054eef08db967a0457fbf";
-      sha256 = "1i3qb43mfkn32lkqkql9vrka68ljxc99slns4wp2mvc2x6xamdj7";
+      rev = "3b3cc17c7bb91f6bbef7166c0756f89a189c4db4";
+      sha256 = "0214vy5sid8kw8c65cr795039wchnvayhnij0vryj905m40d9f2c";
     };
     meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
   };
@@ -4081,12 +4093,12 @@ final: prev:
 
   gleam-vim = buildVimPlugin {
     pname = "gleam.vim";
-    version = "2020-06-24";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "gleam-lang";
       repo = "gleam.vim";
-      rev = "847a5ef57c2faef2774242c87f711d1131b89fe6";
-      sha256 = "17kjby64zdnmhyia1cx9jnk4mss0gca1jz1m4hff9rl63i56bql1";
+      rev = "d2f6d0b0399ab6d76b4a17b77ffec590fb2ec1c2";
+      sha256 = "1pimv8cj4a1avxhnv687a9dlf0lvpny9q588lk8xr2dx1fxkcm2a";
     };
     meta.homepage = "https://github.com/gleam-lang/gleam.vim/";
   };
@@ -4380,12 +4392,12 @@ final: prev:
 
   haskell-tools-nvim = buildNeovimPlugin {
     pname = "haskell-tools.nvim";
-    version = "2024-02-11";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "48bd9e6581ff9442f1ca81995df2f1c3acba24a0";
-      sha256 = "1bknval844d889vbsivd1ydz2bm60hmqhbh2xlb8rqbr1w8g1sz4";
+      rev = "217cb7958ebbebf360f7c43efd5129e66d748042";
+      sha256 = "14nk6jyq2y4q93ij56bdjy17h3jlmjwsspw3l6ahvjsl6yg1lv75";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -4559,12 +4571,12 @@ final: prev:
 
   hotpot-nvim = buildVimPlugin {
     pname = "hotpot.nvim";
-    version = "2024-01-25";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "hotpot.nvim";
-      rev = "4deb08235bfccfbba8b0c031b1cfc8189883cdb4";
-      sha256 = "0p3q671s1wca9qnyssbigafh7ylbf6yg2rxn1s9gxgmksvmj0d1a";
+      rev = "b18d3d82e8545d9f765870c1d8f0da041bd61097";
+      sha256 = "1jb2wbkrx4cdncwz991lxhgvfsqkx6zq004ig7jpw8hbkxd6db3z";
     };
     meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
   };
@@ -4655,12 +4667,12 @@ final: prev:
 
   image-nvim = buildNeovimPlugin {
     pname = "image.nvim";
-    version = "2024-02-13";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "3rd";
       repo = "image.nvim";
-      rev = "4c6cb5ad93ee93d8d7b7c84e1eb291cee99f0a0e";
-      sha256 = "0z3c7l12rjabb70rrlagj2j6cilvmqhws2dn0fp8s2mnapgcj7cs";
+      rev = "b0e24e6f4b2c8a7a5656e8418bbfd2200cabc9b9";
+      sha256 = "1wnhl0lkl6vzwvkas13bp5pi1j3zdyhfqclm248czxp9kxi4y1zl";
     };
     meta.homepage = "https://github.com/3rd/image.nvim/";
   };
@@ -5004,12 +5016,12 @@ final: prev:
 
   knap = buildVimPlugin {
     pname = "knap";
-    version = "2023-07-25";
+    version = "2024-02-20";
     src = fetchFromGitHub {
       owner = "frabjous";
       repo = "knap";
-      rev = "503010f541696e99ed5c62f658620e546cebf8b0";
-      sha256 = "1aqfy1c4h95p94npdvyd7dhkr19f4qbnmr05sg1wbvqd9lfkslym";
+      rev = "cf478b707eea4eaa775b2977b816a5d567c0209e";
+      sha256 = "0pz0kdx62msjhdfmy52hg6sdh6kn1p79khisggnj7ljjp73dmcbb";
     };
     meta.homepage = "https://github.com/frabjous/knap/";
   };
@@ -5100,24 +5112,24 @@ final: prev:
 
   lazygit-nvim = buildVimPlugin {
     pname = "lazygit.nvim";
-    version = "2023-12-15";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "kdheepak";
       repo = "lazygit.nvim";
-      rev = "1e08e3f5ac1152339690140e61a4a32b3bdc7de5";
-      sha256 = "1rs3sva578j28hy6881w2wjxixl7g7rirard0fljxz460wfnr0vx";
+      rev = "10a5f30536dc2d4abe36d410d83149272ea457fa";
+      sha256 = "16cf52l4di8pi8b8h7fqnq75spsxv3xvhcqhrq8arcl9zz2pwcbf";
     };
     meta.homepage = "https://github.com/kdheepak/lazygit.nvim/";
   };
 
   lean-nvim = buildVimPlugin {
     pname = "lean.nvim";
-    version = "2024-02-04";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "1a2a2dfbc7e6775e9ec8b84e5eadaf31fde1894e";
-      sha256 = "1lnwsiam4wkqjaamkdb34y1mgy5pir38kssm41v3w83n4gnn8g6f";
+      rev = "dd37e1d2e320fb8a0948bf6ca3f7703c98b80ecb";
+      sha256 = "1n9477lfd12x76vah2p25q36djjf9vmxlqimzdjfl6xs2c3vbcsr";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -5148,12 +5160,12 @@ final: prev:
 
   leap-nvim = buildVimPlugin {
     pname = "leap.nvim";
-    version = "2024-02-16";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "leap.nvim";
-      rev = "52f7ce4fcc1764caac77cf4d43c2c4f5fb42d517";
-      sha256 = "1dpgj7pmq76mc0vg1ahxnh3scl3zdydyfvrhb8gjmdhh32lzwi13";
+      rev = "b41f48643b483bb0881c0f7804f6f0be7bb95155";
+      sha256 = "07jf66bwq5n2xjgkf05983k7y08g547xry6114wcsvjkn98qrxj3";
     };
     meta.homepage = "https://github.com/ggandor/leap.nvim/";
   };
@@ -5232,12 +5244,12 @@ final: prev:
 
   lh-vim-lib = buildVimPlugin {
     pname = "lh-vim-lib";
-    version = "2023-12-27";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-vim-lib";
-      rev = "ec13cd3f042d35c87bddba6c727f5d98091ffe95";
-      sha256 = "0c41cj9f2wc13sh3blby8mpmvqrq7qaz3kq1araxm2p1np4spql1";
+      rev = "8f01365d045f46900c506b99ea1a401f45482619";
+      sha256 = "1pkx161bkpdbb9kj8nz510zb7yf6axnsqsh9wsqylp8s5j3grrxs";
     };
     meta.homepage = "https://github.com/LucHermitte/lh-vim-lib/";
   };
@@ -5724,12 +5736,12 @@ final: prev:
 
   mason-lspconfig-nvim = buildVimPlugin {
     pname = "mason-lspconfig.nvim";
-    version = "2024-02-14";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason-lspconfig.nvim";
-      rev = "fe4cce44dec93c69be17dad79b21de867dde118a";
-      sha256 = "0p788r8k6dj8w5kxkhg8jwzrgyspvlbwd48lhday1gvqxbgfrcb8";
+      rev = "21d33d69a81f6351e5a5f49078b2e4f0075c8e73";
+      sha256 = "1dxx7b5aadhws58dzxh7am0rcnzzzhfxbsnkcl5hp9d221wkvi3q";
     };
     meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/";
   };
@@ -5844,12 +5856,12 @@ final: prev:
 
   midnight-nvim = buildVimPlugin {
     pname = "midnight.nvim";
-    version = "2024-01-30";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "dasupradyumna";
       repo = "midnight.nvim";
-      rev = "13d812355db1e535ba5c790186d301e1fe9e7e1b";
-      sha256 = "1ynwivjw4kn4zz4ahpinvdyd5ndcss308nbqap5pnqzza2k8a7qh";
+      rev = "b5a1dd02a3c2ddc56de8466da45895b19981584a";
+      sha256 = "1ajpkw12ff7xhzl3axl5y3q13zsrjm24mydwr166x3lba6ccqif2";
     };
     meta.homepage = "https://github.com/dasupradyumna/midnight.nvim/";
   };
@@ -5858,22 +5870,22 @@ final: prev:
     pname = "mind.nvim";
     version = "2023-03-22";
     src = fetchFromGitHub {
-      owner = "phaazon";
+      owner = "hadronized";
       repo = "mind.nvim";
       rev = "002137dd7cf97865ebd01b6a260209d2daf2da66";
       sha256 = "1p7gb8p1jrb2wx3x67lv7am3k1a14kvwsq89fdpb8b060s2l1214";
     };
-    meta.homepage = "https://github.com/phaazon/mind.nvim/";
+    meta.homepage = "https://github.com/hadronized/mind.nvim/";
   };
 
   mini-nvim = buildVimPlugin {
     pname = "mini.nvim";
-    version = "2024-02-16";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "1d49300d50a2c8ee7faecceb151084f207ff65ba";
-      sha256 = "1md4wbydbnwmyw72pj1w67a0ljcgx4qam2a41ka3bxcr2hr2n5nw";
+      rev = "b7403ad0c2a4dab777244171ca1b7e8c89696584";
+      sha256 = "0xxli77cs0q2mk3ykvirvfs10dk8ydx9j9fprmgvvis98d4ir14j";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -5964,12 +5976,12 @@ final: prev:
 
   molten-nvim = buildVimPlugin {
     pname = "molten-nvim";
-    version = "2024-01-26";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "benlubas";
       repo = "molten-nvim";
-      rev = "21d766c2d60e5f6e03f507e7f3e382a2a927ad41";
-      sha256 = "15bnp062hxjh477pr5rqs4w9wpqy6rf2h64l9hsaijamrk19qd4y";
+      rev = "8346bba69e0de96278dad2038e9be74605908b7d";
+      sha256 = "08f3zxzka43f87fks56594476h57yq01x7a1zdsn4acc278xg1nb";
     };
     meta.homepage = "https://github.com/benlubas/molten-nvim/";
   };
@@ -6012,12 +6024,12 @@ final: prev:
 
   multicursors-nvim = buildVimPlugin {
     pname = "multicursors.nvim";
-    version = "2023-11-27";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "smoka7";
       repo = "multicursors.nvim";
-      rev = "8e876fe9db46c1b76c151202b418df21eca07bad";
-      sha256 = "0jva5l38ikzgy0nw2il6yfpm9z7ibi99ijfqnwcy7zq9kryysnmy";
+      rev = "8b3e14682eed06a532b155c7eae33e174846b3fd";
+      sha256 = "02ar7m9g92lg7rhz7l1vm2sn8c353wk1rvl32wdbqsbi70ac8pi7";
     };
     meta.homepage = "https://github.com/smoka7/multicursors.nvim/";
   };
@@ -6276,12 +6288,12 @@ final: prev:
 
   neo-tree-nvim = buildVimPlugin {
     pname = "neo-tree.nvim";
-    version = "2024-02-16";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "nvim-neo-tree";
       repo = "neo-tree.nvim";
-      rev = "db178f4a49c19f8e4ed5a01dafa9d79e76f0081e";
-      sha256 = "1kzbz3163mw70cbxwf0kpb5dhz3qh68ywx23n7m4mzrg4anwlhkb";
+      rev = "7d3b02073e59ed9ef271795787de76d0de8f5294";
+      sha256 = "0xqy1lxs450w21688a8190jsda8az9745pxyb5l6lbl60r9m9fkh";
     };
     meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
   };
@@ -6300,12 +6312,12 @@ final: prev:
 
   neoconf-nvim = buildVimPlugin {
     pname = "neoconf.nvim";
-    version = "2024-02-17";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neoconf.nvim";
-      rev = "4ef6c6c5882e7e16209173fb8c47414202843384";
-      sha256 = "0shaipc3nnm3gr19ivxcyqydihlryr07axs1sqvhy0x0x02y37jp";
+      rev = "faab415b0ba57f0a15a82210f346f662e6551e1a";
+      sha256 = "0malbx94g0rf4r068yl3whlwcxyy41i1z1j2pgajxbrg7w03bymy";
     };
     meta.homepage = "https://github.com/folke/neoconf.nvim/";
   };
@@ -6336,12 +6348,12 @@ final: prev:
 
   neodev-nvim = buildVimPlugin {
     pname = "neodev.nvim";
-    version = "2024-02-16";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neodev.nvim";
-      rev = "de3685b8c1cd439dd96b7958793f6f381f98652d";
-      sha256 = "184v1zxbcrndkzbqa9v9mc82vy0mjjwkww62n6nqqvf316dklzwf";
+      rev = "f7f249b361e9fb245eea24cbcd9f5502e796c6ea";
+      sha256 = "1ajya6chj85mzn4k94y2ihbnq4z6fwpa61k04rlz45n9diaczai6";
     };
     meta.homepage = "https://github.com/folke/neodev.nvim/";
   };
@@ -6372,12 +6384,12 @@ final: prev:
 
   neogit = buildVimPlugin {
     pname = "neogit";
-    version = "2024-02-12";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "NeogitOrg";
       repo = "neogit";
-      rev = "1c0369a39587054ff473179c1c04e793fb3d6378";
-      sha256 = "12viin5g409ac5d6p62hz9kyvzrjiyg0l04m28i1hxh5qn719k3q";
+      rev = "0d0879b0045fb213c328126969a3317c0963d34a";
+      sha256 = "1nflx2kk2q0kwwxafbvdfa92pn4vzvynr4jqd5jni9h7n5xvg9dl";
     };
     meta.homepage = "https://github.com/NeogitOrg/neogit/";
   };
@@ -6444,12 +6456,12 @@ final: prev:
 
   neorg = buildVimPlugin {
     pname = "neorg";
-    version = "2024-02-15";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "7b3e794aa8722826418501608c8a3ffe4e19ea30";
-      sha256 = "1cr8hxwyzcca5kwajadvsmi0v1hzr8lfi3gcyhilxjnmaiiqaing";
+      rev = "a157ab3ee86a125a6f83ea9fa6e1f8f1c7ac6da2";
+      sha256 = "02j77kdjaqlhbfcp00q4yl4fr7k2c5773s25kdwnwkkv81pvpnrh";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -6552,12 +6564,12 @@ final: prev:
 
   neotest-dotnet = buildVimPlugin {
     pname = "neotest-dotnet";
-    version = "2024-02-07";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "Issafalcon";
       repo = "neotest-dotnet";
-      rev = "cc387cbd39fd7455ea0a3e0348ccd0da35aa3443";
-      sha256 = "0fndhlgwngvm5dnxxkpv8cbrf1qk5pla2ys9pmgabf3q7js7lq0f";
+      rev = "c19df2a139d88c5b4130b830d2cbe63a2c6c6c0c";
+      sha256 = "1bb9dv6g7x793hgbg20lf8igjym2ixcxk8ymrrhlcn0489sx79rb";
     };
     meta.homepage = "https://github.com/Issafalcon/neotest-dotnet/";
   };
@@ -6577,12 +6589,12 @@ final: prev:
 
   neotest-go = buildVimPlugin {
     pname = "neotest-go";
-    version = "2024-02-12";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-go";
-      rev = "ba5d536304ed6971f00d16b48ec26997622ffb43";
-      sha256 = "0adbz26anv3qnwjw018bkxcf3syjxjdkv71zw3lnal34k5xp6x27";
+      rev = "6a2f996d89fe4631942e035b1c114544ee045043";
+      sha256 = "1jnsgkmsm2jmjd5zhkf3dhrbc04ysz3n0n28frsbvh839n3cdm7f";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-go/";
   };
@@ -6601,12 +6613,12 @@ final: prev:
 
   neotest-jest = buildVimPlugin {
     pname = "neotest-jest";
-    version = "2024-02-12";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-jest";
-      rev = "c2118446d770fedb360a91b1d91a7025db86d4f1";
-      sha256 = "0wzgwx4mdwhrj77bf0wv6rv4qjii118hayavdamwsszpm1ddyvaz";
+      rev = "959d45b133de938c79e3f064db188680eaf69055";
+      sha256 = "12mkqbz5qg59nc3lqn5sl7dyi5631xpish8i4c5xaaxn3k5b9pss";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-jest/";
   };
@@ -6625,12 +6637,12 @@ final: prev:
 
   neotest-phpunit = buildVimPlugin {
     pname = "neotest-phpunit";
-    version = "2023-12-28";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "neotest-phpunit";
-      rev = "c0f398a239b24a5960ab6f76094bd535866451da";
-      sha256 = "0f97fr27yvvykyzvpv07azsaa1ik5aci5vn6xk48xzy74ha1njr1";
+      rev = "2f01e83eedbcf6f0257934b32b5d4fda404a9f11";
+      sha256 = "0yqi7n6ljr3drgng9yj7im6x35fjb9ap5p0svv1n7lwcbnnbywai";
     };
     meta.homepage = "https://github.com/olimorris/neotest-phpunit/";
   };
@@ -6661,12 +6673,12 @@ final: prev:
 
   neotest-rspec = buildVimPlugin {
     pname = "neotest-rspec";
-    version = "2023-11-02";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "neotest-rspec";
-      rev = "8630acad9e84b8267646bc8712a4365af7a12f2b";
-      sha256 = "13s3im555wz66z1hmmn8zlpy6vsry0xi87yxfm7hjpfcb56lqncc";
+      rev = "3f08e43dade616dc271963af94ce5ddd13b61159";
+      sha256 = "12jb71d760z4myd78w3i2cccbbabbyiq8m1s3yfpvz1cvbqwfwqg";
     };
     meta.homepage = "https://github.com/olimorris/neotest-rspec/";
   };
@@ -6709,12 +6721,12 @@ final: prev:
 
   neotest-vitest = buildVimPlugin {
     pname = "neotest-vitest";
-    version = "2024-02-09";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "marilari88";
       repo = "neotest-vitest";
-      rev = "75bb96b8b18adcf5152fdb8a9342373a20a463ce";
-      sha256 = "1k459x2dyw2gr3i9ayqwldbad6zwbr6sp7js1bz9i4ily8wn5y7y";
+      rev = "c0ea475596483eb02fa8e92c6be65c0536d55630";
+      sha256 = "0ksja6zr6l9jcww33sy72g4s82gbkvryh0wm98jfbdsiybjffb50";
     };
     meta.homepage = "https://github.com/marilari88/neotest-vitest/";
   };
@@ -6805,12 +6817,12 @@ final: prev:
 
   netman-nvim = buildVimPlugin {
     pname = "netman.nvim";
-    version = "2024-01-05";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "miversen33";
       repo = "netman.nvim";
-      rev = "6f1e2687d6e534e588d8281b987f33c3f0870e8a";
-      sha256 = "0grdfvd222b4992c3g6wj86jpy73v29ihbz4k8qs23wqgmz7x9r2";
+      rev = "d0ec9d4ca195b2c87bf46ab050130a2c806310c4";
+      sha256 = "0043r66vr10qwdd305q4ckizk8lkm0xy4wazm0yfhq37jwrbhh7d";
     };
     meta.homepage = "https://github.com/miversen33/netman.nvim/";
   };
@@ -6841,12 +6853,12 @@ final: prev:
 
   nfnl = buildVimPlugin {
     pname = "nfnl";
-    version = "2024-01-21";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "nfnl";
-      rev = "7ef3da23c5b7f9e08ca7e1f9807c1a5a93e2f33f";
-      sha256 = "0p0cfds0z409c5ydn8j7ycsh9jmaz0a7izakgkmg8lpqihvw6dc2";
+      rev = "92f03c01405477fc61e410bb75d4387781a493dc";
+      sha256 = "02ih6pjapws1j62mxa02dljjzm82bzms4ccjldsz5l02ks0k8vcr";
     };
     meta.homepage = "https://github.com/Olical/nfnl/";
   };
@@ -6949,12 +6961,12 @@ final: prev:
 
   no-clown-fiesta-nvim = buildVimPlugin {
     pname = "no-clown-fiesta.nvim";
-    version = "2024-01-30";
+    version = "2024-02-20";
     src = fetchFromGitHub {
       owner = "aktersnurra";
       repo = "no-clown-fiesta.nvim";
-      rev = "dae9bbb61223218d0043baffb3ede4cee9568872";
-      sha256 = "0dg6pk8p7gc18nf17yxbs0c4pv1ng44n41jppi71dgv6xb481mbz";
+      rev = "667d51fd990d52f7ba80d9f76baa217dd79c6b11";
+      sha256 = "17kg08fx15fn94073ppnmga3npr8ba9qjxnmhfccph49i90q7d95";
     };
     meta.homepage = "https://github.com/aktersnurra/no-clown-fiesta.nvim/";
   };
@@ -6997,12 +7009,12 @@ final: prev:
 
   none-ls-nvim = buildVimPlugin {
     pname = "none-ls.nvim";
-    version = "2024-02-13";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "nvimtools";
       repo = "none-ls.nvim";
-      rev = "34b1311bd07bd3741e60e06b34d0709d6e5a9f0f";
-      sha256 = "07bxv7xcjgyzvmh4lpdqn2350awi2ah5bjrimqvcm0hrak7b204x";
+      rev = "0f7e1094d06c9d0fa31f545db7f00a0c518397ef";
+      sha256 = "0c970nk32grmc3syw6rqf9szfkxnkjpj1jjajh3c02rjlid56w7y";
     };
     meta.homepage = "https://github.com/nvimtools/none-ls.nvim/";
   };
@@ -7141,12 +7153,12 @@ final: prev:
 
   nvim-autopairs = buildVimPlugin {
     pname = "nvim-autopairs";
-    version = "2024-02-17";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "2e8a10c5fc0dcaf8296a5f1a7077efcd37065cc8";
-      sha256 = "1d02klx0fhacg1ighmz84176rrm0a28dv19fnryhd0086b8ykrr9";
+      rev = "1efb4f2e754d282762a1413ea0528d9a45143cdd";
+      sha256 = "11mxb1xj5m24hgc52cdns2cndnn1m3m5gsv7yzd2zy4iqdjf9y1g";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
@@ -7177,12 +7189,12 @@ final: prev:
 
   nvim-bqf = buildVimPlugin {
     pname = "nvim-bqf";
-    version = "2023-12-06";
+    version = "2024-02-20";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "bdc2a4e5bb670b3c0e33ada9c0eec636d93a0748";
-      sha256 = "1kla734nj2q6bin9d1gzm4kml0bl89q2hfr0l9ly2lw3s506nynb";
+      rev = "654c904d5ad9dc4846445056086168e25bd8ba2d";
+      sha256 = "03gy2qnx7r6h0kk6h1x4pshwh08q5zaw5pxdpwnyfi9fkgdidcyc";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -7345,24 +7357,24 @@ final: prev:
 
   nvim-dap-go = buildVimPlugin {
     pname = "nvim-dap-go";
-    version = "2023-10-07";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "leoluz";
       repo = "nvim-dap-go";
-      rev = "a5cc8dcad43f0732585d4793deb02a25c4afb766";
-      sha256 = "00nm95dpbmjnndvh8kapbgmrbfjqg3dd8hhrwgd3rmk30d777zxq";
+      rev = "64f73400761e2d19459e664a52ea478f3a4420e7";
+      sha256 = "1r6cqvz6kfmkfq6a5vv9kqqqs8sfwhmr26wilrd18sgya58hbdvn";
     };
     meta.homepage = "https://github.com/leoluz/nvim-dap-go/";
   };
 
   nvim-dap-python = buildVimPlugin {
     pname = "nvim-dap-python";
-    version = "2024-02-01";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap-python";
-      rev = "f5b6f3a90aae0284b61fb3565e575267c19a16e6";
-      sha256 = "0drz7gmlg5kyz8a3xhczwlg2bc7lpdwph4q3acjm9skv67cp5bfj";
+      rev = "66560f0ebddf96604f7037e1efad3ba6942761e6";
+      sha256 = "0yc96r53iy0iim2nkl3rz5fza148fs6wk9y9k19k90ilzhh2ay3k";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap-python/";
   };
@@ -7465,24 +7477,24 @@ final: prev:
 
   nvim-highlight-colors = buildVimPlugin {
     pname = "nvim-highlight-colors";
-    version = "2024-01-25";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "brenoprata10";
       repo = "nvim-highlight-colors";
-      rev = "cb3bdad6501d6314fe0ed00eee883b98fc0ec8db";
-      sha256 = "0hh6cccs32g7b1ashz7kjmrcgfdjrd5dw3as0b3d5v04shm0vd17";
+      rev = "6ec3af16ba9110a95513ab0527053410663b10c0";
+      sha256 = "1jgifrzmzv4f3vaw60xmjwjzihpc2qz90qidqzls02swmh84vada";
     };
     meta.homepage = "https://github.com/brenoprata10/nvim-highlight-colors/";
   };
 
   nvim-highlite = buildVimPlugin {
     pname = "nvim-highlite";
-    version = "2024-02-17";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "6c177613d5de2962c4d5b79d96894d77b7b55c31";
-      sha256 = "1563bbwz2szy0gc7i17dii5y1bq0s78dh8k9z5xbb2a415s3qr1s";
+      rev = "44525161735e6e5726c9e3eb0a504b2c975b7a64";
+      sha256 = "0z95473fx8ys4yd5j6nhn5v24bj8sfzv8rb9hl581a7zp2fmwxif";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
@@ -7513,12 +7525,12 @@ final: prev:
 
   nvim-jdtls = buildVimPlugin {
     pname = "nvim-jdtls";
-    version = "2024-02-17";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "01b57f75b00e71541aa328398d5e10ba5ca3ea18";
-      sha256 = "0mfaim31n99j7jd9q1i67ri5a8jkkfkndyhqvl6dcybziyj86l8w";
+      rev = "382b9f625861f47d95876bcfb4c261f3b96077cb";
+      sha256 = "1c65a12w1lmh16f6rwpq5nf5xqr3sna7arbwywh0bnxg6i3lhbgf";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -7596,12 +7608,12 @@ final: prev:
 
   nvim-lint = buildVimPlugin {
     pname = "nvim-lint";
-    version = "2024-02-16";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "31be66c27214174a28fc092ffcf4bb3e8f6cfd43";
-      sha256 = "0n1rkxddmz4q7isf49cigr0viyny758ds8bj3g1rcgd7qd7x4s3m";
+      rev = "85fe14d080d902dcc566461f0205495d0c153372";
+      sha256 = "1xs45spp4j65hxmja1jpcqsmw4sr32vxmhhqwaza7b54z9pb82qy";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
@@ -7632,12 +7644,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPlugin {
     pname = "nvim-lspconfig";
-    version = "2024-02-16";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "d1bab4cf4b69e49d6058028fd933d8ef5e74e680";
-      sha256 = "10sfqf97v2cr9l6fb1i9zvv5srlc0hzm3k74ivb9vwvj6d3c2kfn";
+      rev = "b8751ff9ac9fd6ce253e0653d898de02e54040d5";
+      sha256 = "1ak2fdsp2rbv69swzxw8x8ki5c03alzzamkdz1m3jpjd5x1x62hn";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -7692,12 +7704,12 @@ final: prev:
 
   nvim-metals = buildVimPlugin {
     pname = "nvim-metals";
-    version = "2024-02-14";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "94c8d4d3b13bbf51594cfb940454af33e1149f8b";
-      sha256 = "1p6rpap752y0y42xhl5jkmv08fx1aggjnqyb9adsm11p351yqm1r";
+      rev = "9f498a5f74771cedaa05871a79df91aa09ad6bd9";
+      sha256 = "1ll7nihbwl8rk0l9zrl55rapnc7h1hwcgmvgm6595zjba30sjazn";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
@@ -7860,12 +7872,12 @@ final: prev:
 
   nvim-scrollview = buildVimPlugin {
     pname = "nvim-scrollview";
-    version = "2024-02-13";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "1852d8927e3e4c53df8c675a8a271175483c6ede";
-      sha256 = "0cq9q2q7lmbcq0xcrr9wxvkhb36vsbjg9bm84rqga740db1az1da";
+      rev = "7ef112edde3355cb50c3b7bf1e8909c8d2bc3186";
+      sha256 = "146ljp5gh7vypr7hj6xxkzhlsg7dja4f0b1651clsi0sarxd59s9";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
@@ -7884,12 +7896,12 @@ final: prev:
 
   nvim-snippy = buildVimPlugin {
     pname = "nvim-snippy";
-    version = "2024-01-14";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "dcampos";
       repo = "nvim-snippy";
-      rev = "8e4e39a4bf5f8939fcf4898d1fba48d1d1f72303";
-      sha256 = "0ib8vlh2v3s93b15iv49yzx68bz4rhcgbapdp9cjxdlnvqzyf27y";
+      rev = "6295b6cb30725c343a8986096c9f04b0e7646c52";
+      sha256 = "1rplgghm6xr803xhgshrnbs4qvda4331znywsfwycxqyl7zvynsf";
     };
     meta.homepage = "https://github.com/dcampos/nvim-snippy/";
   };
@@ -7908,12 +7920,12 @@ final: prev:
 
   nvim-spectre = buildVimPlugin {
     pname = "nvim-spectre";
-    version = "2024-02-07";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "nvim-pack";
       repo = "nvim-spectre";
-      rev = "6a0785ef64c839d935a2f92e20988e962fb6537e";
-      sha256 = "1qn1w0n209fhi160mr2jknvly53zj2njcy34cszw0v7sal3achlw";
+      rev = "3712ff0cdf4f9f877d9ca708d835a877d9a0abaf";
+      sha256 = "1112r1qz44mgvqda98a1ch4w262n5hs9ylgp9fdvgz62nhgxgl5m";
     };
     meta.homepage = "https://github.com/nvim-pack/nvim-spectre/";
   };
@@ -7980,36 +7992,36 @@ final: prev:
 
   nvim-tree-lua = buildVimPlugin {
     pname = "nvim-tree.lua";
-    version = "2024-02-20";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-tree.lua";
-      rev = "030defdb6522f5f716d8201d20ca1a2baa57ca66";
-      sha256 = "sha256-eWqm1Vk3KQspImy/k2aMXFmsXkVQkMjrVidUVmEJzek=";
+      rev = "d52fdeb0a300ac42b9cfa65ae0600a299f8e8677";
+      sha256 = "0dngnviq36z9jsm1p6w4b3xg31k6fj05xdk6qn0cxjjharrskazi";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPlugin {
     pname = "nvim-treesitter";
-    version = "2024-02-17";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "17d68ac13c902f55253b7facb47df4c0ae532575";
-      sha256 = "1m77s8va6h6g2xvjfjw3adigyg09z0qnrwbfkbymksa36y4jgc11";
+      rev = "9896ef5f701cc8258c4f04c6944b77e7cfa244e3";
+      sha256 = "0qgvxhhkamkj55nxy7hhyykjpw8jb1gphay5pxnlkayj05rjklih";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPlugin {
     pname = "nvim-treesitter-context";
-    version = "2024-02-17";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-context";
-      rev = "23b699ac40091d8c729f024b3f1400bc7e26e0c5";
-      sha256 = "0mrc0ilamj956wmymr2cc6zjjfxcrzp32iwhy1gmj9hxwacllvw4";
+      rev = "e4a259f05032983c8611ca150ac25f1df62c0871";
+      sha256 = "1f4fv4ip7p4db416cijfx6li7k3pvpc9y0gbkad3q2i2ax5cyw8c";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
   };
@@ -8124,12 +8136,12 @@ final: prev:
 
   nvim-web-devicons = buildVimPlugin {
     pname = "nvim-web-devicons";
-    version = "2024-02-10";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-web-devicons";
-      rev = "7f30f2da3c3641841ceb0e2c150281f624445e8f";
-      sha256 = "1srssx18fgipznnl6b3lk17jkv0acsx6cw86m6x788nawl6qhsv7";
+      rev = "14ac5887110b06b89a96881d534230dac3ed134d";
+      sha256 = "1l02wpzxac4ykghficsdhgn7ix2896qhaisxm4f7xbl72jl77h44";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/";
   };
@@ -8208,12 +8220,12 @@ final: prev:
 
   obsidian-nvim = buildVimPlugin {
     pname = "obsidian.nvim";
-    version = "2024-02-14";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "epwalsh";
       repo = "obsidian.nvim";
-      rev = "0a6739d2229c8eb30396db550f3818e092088c27";
-      sha256 = "1d1xihqkb1fcaqbkdx4pr7xa35g66v9z4bqdv2pk89pa1jm3k1sl";
+      rev = "a53ed63a493b54e4ed90281a2d69aa1d2dd896f3";
+      sha256 = "010a9sxzam788nswma1ln88h08a9i8lskdvzgq7zcqhv9lcawzhf";
     };
     meta.homepage = "https://github.com/epwalsh/obsidian.nvim/";
   };
@@ -8256,12 +8268,12 @@ final: prev:
 
   oil-nvim = buildVimPlugin {
     pname = "oil.nvim";
-    version = "2024-01-22";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "oil.nvim";
-      rev = "bf753c3e3f8736939ad5597f92329dfe7b1df4f5";
-      sha256 = "02wjsfhhq8lrai18m3khv7sln070cmwgr7jqp537dwl47v4pq4z3";
+      rev = "132b4ea0740c417b9d717411cab4cf187e1fd095";
+      sha256 = "085n2mfsv0gmz4f31wpzld804033h73mm7zfhni6xa8ffd7vvldj";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/oil.nvim/";
@@ -8353,12 +8365,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPlugin {
     pname = "onedarkpro.nvim";
-    version = "2024-02-13";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "bbe613372548ef8fa1a1f67d50f55795727ac432";
-      sha256 = "0dd2wrr25cj7k6zp0zdhqks3xdg9kivh3m5z4wnkdxv8mwssm31n";
+      rev = "3fbb6e8c35589e6373fcb8d49b6318f794740343";
+      sha256 = "07iz851rczafvi44bdbcijbahcwjwljsypl80g5zdc0q9i9s313y";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -8437,12 +8449,12 @@ final: prev:
 
   orgmode = buildVimPlugin {
     pname = "orgmode";
-    version = "2024-02-17";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "5a238a2880bc57c156cb23c12ff4af0a0c8181c7";
-      sha256 = "02b7zm570b394ynzr47jik3q3basfm8rz4vm99d8xvrjq7vkjjil";
+      rev = "80314dfa195da5bb52bf92b749ba669b45eda04b";
+      sha256 = "13c15nr0pxq6vizrcvransb770zrjfdqbv0w913kjhvggwc3r679";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
@@ -8461,24 +8473,24 @@ final: prev:
 
   otter-nvim = buildVimPlugin {
     pname = "otter.nvim";
-    version = "2024-02-12";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "jmbuhr";
       repo = "otter.nvim";
-      rev = "05cc5ee31fb20e3dd5b4a3a150b0aabf20c86826";
-      sha256 = "1vnc1p7949jx53070zl15lpdn3gid4s3c7510ncs1npbwhyh9p4d";
+      rev = "216b927dcf6e6b798f7cc5abc9ccd130adb02b04";
+      sha256 = "1r7w8r9f01jl07651s3lbqzx5d202g9vz2bvk8zcwfd2lzsj6n8r";
     };
     meta.homepage = "https://github.com/jmbuhr/otter.nvim/";
   };
 
   overseer-nvim = buildVimPlugin {
     pname = "overseer.nvim";
-    version = "2024-02-13";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "overseer.nvim";
-      rev = "792aeb6d834a11585ea5d667e3e3f05bc6aa4ecc";
-      sha256 = "1s34jqg8p0crrbsv037m9b6gjv0vlvfhrp1acvacwxx9fqbmciik";
+      rev = "4855aefcf335bbac71eea9c6a888958fb1ed1e1a";
+      sha256 = "1p5cr628qcla3ad1nfnpk9vmaxxspvfjiimyw5n81giywlf136sg";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/overseer.nvim/";
@@ -8498,12 +8510,12 @@ final: prev:
 
   package-info-nvim = buildVimPlugin {
     pname = "package-info.nvim";
-    version = "2023-11-12";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "vuki656";
       repo = "package-info.nvim";
-      rev = "18f8126dd8e65b2e21804c9107785af4abbb5bfc";
-      sha256 = "0b9s9a3nz0449sl8zzf55xk12hrkksvnrnbc38i1la234xhrfpsw";
+      rev = "45acce5b12ce824332d8000cc2c91805b6710446";
+      sha256 = "19aaswkjx7q85c091p80zypx6az0m5z2jccapng5clvh2j4qw7qf";
     };
     meta.homepage = "https://github.com/vuki656/package-info.nvim/";
   };
@@ -8666,12 +8678,12 @@ final: prev:
 
   plantuml-syntax = buildVimPlugin {
     pname = "plantuml-syntax";
-    version = "2022-08-26";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "aklt";
       repo = "plantuml-syntax";
-      rev = "845abb56dcd3f12afa6eb47684ef5ba3055802b8";
-      sha256 = "0d2frv6knkj4bjavq2c2kx8qdnmcq0d8l04a5z7bpqwkmrrhd31f";
+      rev = "309c15c77794433f276fb09eb4e3b8f381003cfd";
+      sha256 = "0g7yprik607gy01lamql1kpk25sdl54ckfrc9p11rrimal7rms38";
     };
     meta.homepage = "https://github.com/aklt/plantuml-syntax/";
   };
@@ -8896,12 +8908,12 @@ final: prev:
 
   quarto-nvim = buildVimPlugin {
     pname = "quarto-nvim";
-    version = "2024-02-10";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "quarto-dev";
       repo = "quarto-nvim";
-      rev = "e70a207ede642ccb910540ee36480dcefb67ad6c";
-      sha256 = "1j5yxfmxzc2zimp508r769vgcr4hhn671r4fmwi3nnsrjgp9rq55";
+      rev = "a6e7452de5944f7f38a4b12f1d50e460c1dccd95";
+      sha256 = "0l2qgz51yh4pvx494k8p34xrda4mg38m9dwhy9sdxw01qy910xp8";
     };
     meta.homepage = "https://github.com/quarto-dev/quarto-nvim/";
   };
@@ -8968,11 +8980,11 @@ final: prev:
 
   rainbow-delimiters-nvim = buildVimPlugin {
     pname = "rainbow-delimiters.nvim";
-    version = "2024-02-12";
+    version = "2024-02-22";
     src = fetchgit {
       url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
-      rev = "586f44d21ef687a4d41b5b24c1566d686ae84250";
-      sha256 = "0bvnypwlp688024iaswd9p5d6viyf7p65q09fjlkip28rq50a4cy";
+      rev = "161eb67a82ee269d1037df64c6d5a05bd5860d32";
+      sha256 = "1fg45g6dlnxv9684q3na2kfr5w1m6cbrsjraiap4q7dmndsjxbbr";
     };
     meta.homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
   };
@@ -9051,12 +9063,12 @@ final: prev:
 
   refactoring-nvim = buildVimPlugin {
     pname = "refactoring.nvim";
-    version = "2024-02-05";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "fb4990a0546c59136930ea624b8640d07957f281";
-      sha256 = "14d33lc0a7r5k7i8x2nzy86xgy6p003cjxv9nc827q1g9jv55r7z";
+      rev = "1b593e7203b31c7bde3fa638e6869144698df3b6";
+      sha256 = "0q0xbn5xxh4fyjm5v2c2pvai9djyk67xk2brqn209sx3qq8drs5n";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
@@ -9111,12 +9123,12 @@ final: prev:
 
   rest-nvim = buildNeovimPlugin {
     pname = "rest.nvim";
-    version = "2024-02-12";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "rest-nvim";
       repo = "rest.nvim";
-      rev = "9741f827bd88b588e5136d67c7963e1904f8f1f7";
-      sha256 = "0k16kxz31cxgvsq1341r4gwlyjnavizib3hw2c43x7nw7yxj5mr2";
+      rev = "c27a0bcb84ab5534d89065d638119ed2dbbae189";
+      sha256 = "078w4zr4h302i3d5vd31qypxr2yxhnz0yxkpgvam2z0l3mp07qz0";
     };
     meta.homepage = "https://github.com/rest-nvim/rest.nvim/";
   };
@@ -9231,12 +9243,12 @@ final: prev:
 
   rustaceanvim = buildNeovimPlugin {
     pname = "rustaceanvim";
-    version = "2024-02-15";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "mrcjkb";
       repo = "rustaceanvim";
-      rev = "ec3288d52ed581ee63a10e41a226297801fa6ee8";
-      sha256 = "1nxdyxz416srz4fgpkrnw65kxg6am9ak0yd824667ygsilbcqi2s";
+      rev = "9dbc65d890820ca56fff1ea3e0ecef64f2158140";
+      sha256 = "0r0j4gp1dks77k8b2644xf3v27qmniam5rk8hgklwcab6wf14r9y";
     };
     meta.homepage = "https://github.com/mrcjkb/rustaceanvim/";
   };
@@ -9472,12 +9484,12 @@ final: prev:
 
   smart-splits-nvim = buildVimPlugin {
     pname = "smart-splits.nvim";
-    version = "2024-02-17";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "smart-splits.nvim";
-      rev = "33c85072ac7901b0f4a68dec7f7d6175f4182377";
-      sha256 = "182i7ak4m4bbxgaipc2kqca5i57qw1p244hgra8sv6xgd3qqjhj0";
+      rev = "e1e1e6ca3754bd8ef971fb69673cc17965eb9e37";
+      sha256 = "12wa0a6igw7hmnmgaspcf2h09vvmcmw49wif77i39bl2asfdblkr";
     };
     meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/";
   };
@@ -9688,12 +9700,12 @@ final: prev:
 
   splitjoin-vim = buildVimPlugin {
     pname = "splitjoin.vim";
-    version = "2024-02-15";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "3e60a0b460b5bff086b880727392c71276c2c286";
-      sha256 = "063lbb56h9slryp5pk6f5s66dzaiyaq3znp3jxc2qrw0h82657dw";
+      rev = "1aa617d15a9904107a68f95ebf5036b7d4abf64d";
+      sha256 = "1yjygjjiiv5572ccqn00wk7dc7q30r6jnvxv85qrz5bnvvfymvvs";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -9701,24 +9713,24 @@ final: prev:
 
   sqlite-lua = buildVimPlugin {
     pname = "sqlite.lua";
-    version = "2023-04-19";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "kkharji";
       repo = "sqlite.lua";
-      rev = "b7e28c8463254c46a8e61c52d27d6a2040492fc3";
-      sha256 = "0dx4d29zfp7psp2x42lpag0midadk51fcjiyw4hq570sd0j44jaw";
+      rev = "40701b6151f8883980c1548647116de39b763540";
+      sha256 = "106j1zzsr97jr0pk6ri2jxdpvqc2ci7g8rlsbb5s30lsqr4ix0ah";
     };
     meta.homepage = "https://github.com/kkharji/sqlite.lua/";
   };
 
   srcery-vim = buildVimPlugin {
     pname = "srcery-vim";
-    version = "2024-02-08";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "2e9b1d46bf28cf390950c586d5d1c688a009c8ec";
-      sha256 = "0wiz6q8fw9af825knpv5rbmk8qdq9p2b42hcybmj0m9jic288qwd";
+      rev = "289c6a1499b074c15e30cf437364837dd4966f83";
+      sha256 = "1k14nwndx7z3hy7d81zghrrl641bfgpq61n5j0nsrd0kk2xiym61";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
@@ -9821,12 +9833,12 @@ final: prev:
 
   statuscol-nvim = buildVimPlugin {
     pname = "statuscol.nvim";
-    version = "2024-02-15";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "luukvbaal";
       repo = "statuscol.nvim";
-      rev = "eca428c8df8549fe7a480dd0da0ccc1634f16a4b";
-      sha256 = "1p6h5mmz2lz13ghdyva5as1wqh5ysd5d1zgpyvark7w1a10pp616";
+      rev = "d954893262a57a92e46edd87de67e2b3fe72305e";
+      sha256 = "1i8nvhbrcsinydd1ppnrw6lr3izh1dwp860hr7axyfjgqxgx39f8";
     };
     meta.homepage = "https://github.com/luukvbaal/statuscol.nvim/";
   };
@@ -10051,12 +10063,12 @@ final: prev:
 
   tabout-nvim = buildVimPlugin {
     pname = "tabout.nvim";
-    version = "2023-03-29";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "abecodes";
       repo = "tabout.nvim";
-      rev = "0d275c8d25f32457e67b5c66d6ae43f26a61bce5";
-      sha256 = "11zly7bfdz110a7ififylzgizin06ia0i3jipzp12n2n2paarp1f";
+      rev = "6a8f4e67a9bfc9bfc9989cc45253180598cc4339";
+      sha256 = "0j4n6f8k2054v77pm458q0qf36ipyk31lplm2m4fszxq0sq0kmwp";
     };
     meta.homepage = "https://github.com/abecodes/tabout.nvim/";
   };
@@ -10171,12 +10183,12 @@ final: prev:
 
   telekasten-nvim = buildVimPlugin {
     pname = "telekasten.nvim";
-    version = "2023-12-11";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "renerocksai";
       repo = "telekasten.nvim";
-      rev = "8c2b3889eb31009ae510a43384d1957b37654176";
-      sha256 = "1isbz68lbdm50x9mid0l1jid8q11msfsaayw8ravac0z5ybdb8k3";
+      rev = "872b83f619ddfe4312acdc658d129b6828e1f418";
+      sha256 = "0zcsfzw4gk8jn656l7q850v98r255kcfrbs982ncf2mj7rwrpywy";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/renerocksai/telekasten.nvim/";
@@ -10329,12 +10341,12 @@ final: prev:
 
   telescope-manix = buildNeovimPlugin {
     pname = "telescope-manix";
-    version = "2024-02-11";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "telescope-manix";
-      rev = "47d8bf6c447db33dc059577bd7715665220e79e8";
-      sha256 = "0xxvhi1jp3hfaa06f4jzzqxgk79alkvi2vli59j2j7vj0zvkpm53";
+      rev = "d8f10c235fa153e3de17bf32e886806c3ed382c4";
+      sha256 = "0xrgxgyidz0y7i513vl8ryhsyf3nf9r8408fhhk97ahwdg4kid39";
     };
     meta.homepage = "https://github.com/MrcJkb/telescope-manix/";
   };
@@ -10474,12 +10486,12 @@ final: prev:
 
   telescope-nvim = buildNeovimPlugin {
     pname = "telescope.nvim";
-    version = "2024-02-17";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "b744cf59752aaa01561afb4223006de26f3836fd";
-      sha256 = "1fnzr97xkrg9j713pwi9093nw772xabxs9cxdaa61jy4qlxsnkfz";
+      rev = "2e1e382df42467029b493c143c2e727028140214";
+      sha256 = "1f4paibs644zwbz7xi0v0h83w6g2rdxqlf4qajcy8lgh1ig1d59y";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -10582,12 +10594,12 @@ final: prev:
 
   text-case-nvim = buildVimPlugin {
     pname = "text-case.nvim";
-    version = "2024-02-11";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "johmsalas";
       repo = "text-case.nvim";
-      rev = "5d85b7495c3cf8e842e4d2528edc68e6fe7c92c8";
-      sha256 = "1ri4vp260mvjqkldw9qyp5l31qnks716gz9z2l9vf01wwmxxk76i";
+      rev = "d62c63a4e9a996c7321885937ab89920fca2c1c8";
+      sha256 = "027cgrh0xwnfgakzibzxj3wh8n8q0x5yqjsvhjgcg53pq0yfdss4";
     };
     meta.homepage = "https://github.com/johmsalas/text-case.nvim/";
   };
@@ -10907,12 +10919,12 @@ final: prev:
 
   ultimate-autopair-nvim = buildVimPlugin {
     pname = "ultimate-autopair.nvim";
-    version = "2024-02-07";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "altermo";
       repo = "ultimate-autopair.nvim";
-      rev = "07c9da3e7722107163b68ecc5e0141fdd825449d";
-      sha256 = "16aizsf86cg5l131y2lszlfkdz1b998js89fja8yk25mwa79lsaf";
+      rev = "6ecf7461d44513af89f8257f057fcc99e9297612";
+      sha256 = "01dj9fdzaliwpxh358dql0ndvnykqn8v9w20b7pkn09p1airq937";
     };
     meta.homepage = "https://github.com/altermo/ultimate-autopair.nvim/";
   };
@@ -10955,12 +10967,12 @@ final: prev:
 
   unison = buildVimPlugin {
     pname = "unison";
-    version = "2024-02-13";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "unisonweb";
       repo = "unison";
-      rev = "9d1c75a443fd94efdfa36ec4aa106e0894e03bd1";
-      sha256 = "0g99a224v6brxm15r88chffx1cd009yiix3352h0xd9cl3sf88pv";
+      rev = "5e51fab2004ecfed1fa03adc24faa29b2cb813c2";
+      sha256 = "0y2gkrj026w7kaf3sm62x5fy172gvmkmfg3nlsiwzgm4mlhgsxh8";
     };
     meta.homepage = "https://github.com/unisonweb/unison/";
   };
@@ -11399,12 +11411,12 @@ final: prev:
 
   vim-airline = buildVimPlugin {
     pname = "vim-airline";
-    version = "2024-02-10";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "20a49bd494a87a40b815289693c8b7505f0074c0";
-      sha256 = "1nyjgsjs5n0wkw4419fa1p1dpgrbcxpvxgjg7w0zmkm9s4bifyl4";
+      rev = "d9f42cb46710e31962a9609939ddfeb0685dd779";
+      sha256 = "1a4pcyzvqsmsvz7fxf2h5b4v3xlsqv15qyr35xniji44196aaajc";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -12215,12 +12227,12 @@ final: prev:
 
   vim-dirvish = buildVimPlugin {
     pname = "vim-dirvish";
-    version = "2024-01-24";
+    version = "2024-02-20";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "0966b866580ec5cc8fbc26ee396a516d72600db5";
-      sha256 = "0jmpjrx4kl11hgdaiw5wxfznmn5apl38ykih0mm01hcg49gzirsw";
+      rev = "b660af1fa07fe1d44d4eb3ea5242334f6c2766ca";
+      sha256 = "1h0ypp7fp47dk8sj1xgrm9113cgsvdczmfilbrix5rmm9b0jph2i";
     };
     meta.homepage = "https://github.com/justinmk/vim-dirvish/";
   };
@@ -12239,12 +12251,12 @@ final: prev:
 
   vim-dispatch = buildVimPlugin {
     pname = "vim-dispatch";
-    version = "2024-02-11";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dispatch";
-      rev = "b84d00f11567abfcfec82a6838c7d41dfa49a447";
-      sha256 = "1gfvlki411i090rjww2nx3jn6z609g6d64xrn2hryjxyqykfnr9s";
+      rev = "4c695bc052cad2ae6b980aebbe48d046466e27ae";
+      sha256 = "13c63n7gylny2s84k05cpl4cjn070d3qk6yagxny23yanz29hc15";
     };
     meta.homepage = "https://github.com/tpope/vim-dispatch/";
   };
@@ -12671,12 +12683,12 @@ final: prev:
 
   vim-fugitive = buildVimPlugin {
     pname = "vim-fugitive";
-    version = "2024-02-12";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "011cf4fcb93a9649ffc6dcdff56ef948f5d0f7cc";
-      sha256 = "0dmfy7dzfv201fm0l1x18pg8rbjqflg1js6g8f36nlaqn5fvr3bl";
+      rev = "4bc9d989930e37989b038540cc49e63728d3f220";
+      sha256 = "11xskz5qkld0fqgp7a4rrsrzwphf0jzil0vx7j6yy91adhvqbzqr";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -12707,12 +12719,12 @@ final: prev:
 
   vim-gh-line = buildVimPlugin {
     pname = "vim-gh-line";
-    version = "2022-11-25";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "ruanyl";
       repo = "vim-gh-line";
-      rev = "fbf368bdfad7e5478009a6dc62559e6b2c72d603";
-      sha256 = "0phxvn08z5bwdq0hkan9l1rl94ylsjc2hhv1ahzqvda0rk8lqxj9";
+      rev = "731751fdfa4f64a061dbc7088cb7b2f12e0828ad";
+      sha256 = "06malyx56zswpzf399y7bsxw45fx2ys9ravdqqxgssvgsslq87fb";
     };
     meta.homepage = "https://github.com/ruanyl/vim-gh-line/";
   };
@@ -13802,12 +13814,12 @@ final: prev:
 
   vim-matchup = buildVimPlugin {
     pname = "vim-matchup";
-    version = "2024-02-02";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "7f81ae12542b2a35819f0324895df9bd8626c8ba";
-      sha256 = "10bbp2hshxghimzlvg6avfqi503skfnjlvxv3aar8rclznxd628z";
+      rev = "2d660e4aa7c566014c667af2cda0458043527902";
+      sha256 = "0a5527gmwf0chdn91s2s8pa7iny3qa5a88c413g4vwch12mn2vrj";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -14054,12 +14066,12 @@ final: prev:
 
   vim-nix = buildVimPlugin {
     pname = "vim-nix";
-    version = "2024-01-09";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "LnL7";
       repo = "vim-nix";
-      rev = "048c71f1ed2c679cd55acd2c807c2c96aea82e65";
-      sha256 = "1s75divbphd7qgkljj2bl32gb1q7a23r4g023x6v83qzkfxwl8i3";
+      rev = "e25cd0f2e5922f1f4d3cd969f92e35a9a327ffb0";
+      sha256 = "15k08hl1xls2zxa9sgsjygb6j8643pc0s0fpi05bfldf9z4mxzyv";
     };
     meta.homepage = "https://github.com/LnL7/vim-nix/";
   };
@@ -14426,12 +14438,12 @@ final: prev:
 
   vim-plug = buildVimPlugin {
     pname = "vim-plug";
-    version = "2024-02-15";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "eee20c7e795c9268ce36cb30adb66711af868941";
-      sha256 = "01szxcbdvlh2ki6drmpp3yh8m1a7290w5p997gam63s4y8qvbx8r";
+      rev = "2f8f04cf79f424aab8c2372d8e0b89099e3dba65";
+      sha256 = "03jvf9fcz5894g990jbmn7mr9afl07fkglph2lz3b5015i6ywy08";
     };
     meta.homepage = "https://github.com/junegunn/vim-plug/";
   };
@@ -15074,12 +15086,12 @@ final: prev:
 
   vim-sneak = buildVimPlugin {
     pname = "vim-sneak";
-    version = "2024-02-16";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-sneak";
-      rev = "1f8702bdee0d19e9354ce26735e5d87865b55dc0";
-      sha256 = "1qkyd43kxc5i8bxmfipf2jkb1wah9jfskdnwvwbkn2bpw8cblf94";
+      rev = "c13d0497139b8796ff9c44ddb9bc0dc9770ad2dd";
+      sha256 = "06dlfp0bdnbb75didd52f03r9y8r7g6wh5bc10m2g00zbnfs3mcx";
     };
     meta.homepage = "https://github.com/justinmk/vim-sneak/";
   };
@@ -15098,12 +15110,12 @@ final: prev:
 
   vim-snippets = buildVimPlugin {
     pname = "vim-snippets";
-    version = "2024-01-24";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "9bd88e07865bd4fa982d46356c227b07de66412a";
-      sha256 = "0xy0arqhcndasd4gmh7qbr8aw0ssxgaqy261nzib7f0gd21ig6j4";
+      rev = "393d980157b8149b3ff65a48bc4aae24dca9c846";
+      sha256 = "0fkygzr5srgyyv59glawi9a2j47b57sp20ak9q4qa3izf0z8pk94";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -15555,12 +15567,12 @@ final: prev:
 
   vim-tpipeline = buildVimPlugin {
     pname = "vim-tpipeline";
-    version = "2024-01-27";
+    version = "2024-02-18";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "86be2d4d7719db34d651df4690ab5f49274c646a";
-      sha256 = "1lh8dvh8din5qnm0icmrvsph4aa4nfh91zf1nf8l5kf5yfr3zy68";
+      rev = "649f079a0bee19565978b82b672d831c6641d952";
+      sha256 = "16lyavpy8qh06l03jqs7klyja3nqs3ynjfy7y8xjmlqa4mgfcffn";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -15699,12 +15711,12 @@ final: prev:
 
   vim-visual-multi = buildVimPlugin {
     pname = "vim-visual-multi";
-    version = "2024-02-16";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "cff14071098de5279743b009c496303995fe4df9";
-      sha256 = "0v5fzdkihlbwmplfs44mjm08j2qvkq2h6zx0dxn628v7dzqfxcy3";
+      rev = "fe1ec7e430013b83c8c2dee85ae496251b71e253";
+      sha256 = "0mvirqq1gmp2270bm92fk3c4d96r2jlkl2s36pm1d00b7vd3vpll";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -15795,12 +15807,12 @@ final: prev:
 
   vim-wakatime = buildVimPlugin {
     pname = "vim-wakatime";
-    version = "2024-02-07";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "a4c66faea1eca47dce7c7c3586332f75cfbe9edf";
-      sha256 = "0ji718y9dkpvqz5r5zkvirksgc4nan5xng53flzjnwdiyfzgz5j2";
+      rev = "285c2e4e48fb0c63ced233c00fb10a2edb3b6c94";
+      sha256 = "1f7jqmsr7b9103g9fif3p8fglrqlgk5nf3ckhkjpwfy6355vk41h";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -16107,12 +16119,12 @@ final: prev:
 
   vimspector = buildVimPlugin {
     pname = "vimspector";
-    version = "2024-02-16";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "da7fc248dc699bf423378bd6e48eaa446f674ca7";
-      sha256 = "0r241p9h48c7hdiwfx382dpfnmjz78phw2vx0cmbc3mvsjqi71pk";
+      rev = "def092693ea33eb2055fb2cfbcabb8e56ea77963";
+      sha256 = "0b4md13a4mdf2knmb0p3c83k3v04hl5y4z2sa2kci3shq41v694x";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -16120,24 +16132,24 @@ final: prev:
 
   vimtex = buildVimPlugin {
     pname = "vimtex";
-    version = "2024-02-11";
+    version = "2024-02-22";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "9df79e15bf035d1cfb32c11fffed38dd7b6a0501";
-      sha256 = "06k407g6bs3msvvq8715bk21pj80ybgdhhl84zwf9gxrdrl7yapd";
+      rev = "01c4c167338b74dc0c30621841bc548b52e96330";
+      sha256 = "0gf3ifnyw2207s1r4a0zasx9qdgyymja6nj0dhnys6k3rvax0spp";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
 
   vimux = buildVimPlugin {
     pname = "vimux";
-    version = "2022-09-26";
+    version = "2024-02-19";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vimux";
-      rev = "616fcb4799674a7a809b14ca2dc155bb6ba25788";
-      sha256 = "00lxrajyvg6vl6d87r85wn8swhxq1q2754vs0hnrgxqx6gw4rfga";
+      rev = "f7c41607d9246ec4b6cc28587cce84d75d106e3e";
+      sha256 = "0df041kccvdgn82qqxbwzamc3g1zs5agyyg2xfkqz4ibayq7z5d7";
     };
     meta.homepage = "https://github.com/preservim/vimux/";
   };
@@ -16192,24 +16204,24 @@ final: prev:
 
   vista-vim = buildVimPlugin {
     pname = "vista.vim";
-    version = "2023-11-24";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vista.vim";
-      rev = "290b815cd5a5ff1fb65a48936633d93e2bf14dbd";
-      sha256 = "1hqnczyyg21lsv4j3kvp0w84xm0fxzvdmgakwx2q1wg3x1g4ybcf";
+      rev = "f76cecc430003968e6174cae899c2cb2953219b7";
+      sha256 = "0hq41f91f97885vx1rcl981vhwariiwbz2hs0dzryka2ycy5lvy4";
     };
     meta.homepage = "https://github.com/liuchengxu/vista.vim/";
   };
 
   vscode-nvim = buildVimPlugin {
     pname = "vscode.nvim";
-    version = "2024-02-01";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "Mofiqul";
       repo = "vscode.nvim";
-      rev = "380c1068612b1bfbe35d70a4f2e58be5030a0707";
-      sha256 = "1lq1j6wlh8xxzikpab2gciw6gg88hya92bswz0kk75l6fphp41kl";
+      rev = "e4eb84baf3a2b0b761780bc54b726461d23d4d3e";
+      sha256 = "1w85w68xsjzi9cp78f24wl3p9pq9wcaf7mxczxc7mgnyzpfm7az3";
     };
     meta.homepage = "https://github.com/Mofiqul/vscode.nvim/";
   };
@@ -16613,12 +16625,12 @@ final: prev:
 
   catppuccin-nvim = buildVimPlugin {
     pname = "catppuccin-nvim";
-    version = "2024-02-16";
+    version = "2024-02-24";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "9703f227bfab20d04bcee62d2f08f1795723b4ae";
-      sha256 = "1sgz7m8gdaam87dw5k609jbihyad9hqmlxplv9xwkp76z7nja6kj";
+      rev = "c0de3b46811fe1ce3912e2245a9dfbea6b41c300";
+      sha256 = "12m5jzp2xyv0hyndscnj7708b8rczsmqqr0kd4ng7kh5ll0xr8br";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -16637,12 +16649,12 @@ final: prev:
 
   dracula-vim = buildVimPlugin {
     pname = "dracula-vim";
-    version = "2023-10-29";
+    version = "2024-02-23";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "6495b4ff40479ec7705addb4ea800ec308026648";
-      sha256 = "116gnd891v3rqaxk2dki1ril6j2y7f6vcdh421i0xwnvbj91pfc6";
+      rev = "9fa89296884e47bbadc49ad959e37b9d1c24cafb";
+      sha256 = "0911akib9ys9vyxnalbmyip7m1ahpnsn89km2hrgj0fc9s5m75ky";
     };
     meta.homepage = "https://github.com/dracula/vim/";
   };
@@ -16661,12 +16673,12 @@ final: prev:
 
   gbprod-nord = buildVimPlugin {
     pname = "gbprod-nord";
-    version = "2024-01-28";
+    version = "2024-02-01";
     src = fetchFromGitHub {
       owner = "gbprod";
       repo = "nord.nvim";
-      rev = "fb40d5b19205bc821964f795637250911a9fde0a";
-      sha256 = "10sswfgcl05wpj98m9qlqdbx16ypvmszpipkqhm1n59j43441m0v";
+      rev = "4ae9eb96e9ee65493d4ade102dec7e4b4d4b8b21";
+      sha256 = "1pipplqpmif0wmb9w782bq89dlqidjpi0l8dn1fddr3r7zn7xj48";
     };
     meta.homepage = "https://github.com/gbprod/nord.nvim/";
   };
@@ -16733,24 +16745,24 @@ final: prev:
 
   nvchad-ui = buildVimPlugin {
     pname = "nvchad-ui";
-    version = "2024-02-16";
+    version = "2024-02-21";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "ui";
-      rev = "a0d3fd0adc5fd81dc5128ca3b33949196eb1fee8";
-      sha256 = "1kkrffjhr9w8f7qjvzyr82ndqy42w4m542brjvngqd3ykg8ihsgs";
+      rev = "7b3225264af17a9e0aff0b4fd2a0fac90b73db53";
+      sha256 = "00frh2f0vgz9h3ajbig2df6a6jj1sarbwxnxzr232vi25azysy2z";
     };
     meta.homepage = "https://github.com/nvchad/ui/";
   };
 
   phha-zenburn = buildVimPlugin {
     pname = "phha-zenburn";
-    version = "2024-01-07";
+    version = "2024-01-31";
     src = fetchFromGitHub {
       owner = "phha";
       repo = "zenburn.nvim";
-      rev = "512d5192214000a1ddb430d31df2e2a80c88fa8a";
-      sha256 = "1bx0c1xssmvr4ly01gs67241f9wb30k9z8ykwyqicbid2abx2jga";
+      rev = "f5ee12b30119499c7fa7f95719cd7c5aab9f9f29";
+      sha256 = "10wn4b1awk4bzb7isfqbp3pqzi2ifnmcs7zyrwhna1dpwwdpgvbr";
     };
     meta.homepage = "https://github.com/phha/zenburn.nvim/";
   };
@@ -16839,5 +16851,16 @@ final: prev:
     meta.homepage = "https://github.com/jhradilek/vim-snippets/";
   };
 
+  vim-tabby = buildVimPlugin {
+    pname = "vim-tabby";
+    version = "2024-02-01";
+    src = fetchFromGitHub {
+      owner = "TabbyML";
+      repo = "vim-tabby";
+      rev = "0b62bc2ed5c7d930c7435c3504d5c18ea6379b28";
+      sha256 = "06crxhvwz04s6sfj0q22kkp3g5zvip13088m95qwznw9bv2gpx3s";
+    };
+    meta.homepage = "https://github.com/TabbyML/vim-tabby/";
+  };
 
 }
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index 0ccbc9564e74..7b4653ebf02e 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -50,12 +50,12 @@
   };
   arduino = buildGrammar {
     language = "arduino";
-    version = "0.0.0+rev=2372f16";
+    version = "0.0.0+rev=a282270";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-arduino";
-      rev = "2372f163b8416eeea674686fe0222e39fa06bad5";
-      hash = "sha256-nX0JXEP+fAADlKqMA1rrhKlUS4JMrOtFTQ/wxoOxcIY=";
+      rev = "a282270857b7be447b8be91411468349a31d73b7";
+      hash = "sha256-NAE/E3glGz509nOKO5xsJIwe1Q2OSh6Aj5krUOVhqvw=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
   };
@@ -116,14 +116,14 @@
   };
   bass = buildGrammar {
     language = "bass";
-    version = "0.0.0+rev=27f110d";
+    version = "0.0.0+rev=c9ba456";
     src = fetchFromGitHub {
-      owner = "amaanq";
+      owner = "vito";
       repo = "tree-sitter-bass";
-      rev = "27f110dfe79620993f5493ffa0d0f2fe12d250ed";
-      hash = "sha256-OmYtp2TAsAjw2fgdSezHUrP46b/QXgCbDeJa4ANrtvY=";
+      rev = "c9ba4568af24cd3403029730687c0a43d1350a43";
+      hash = "sha256-F131TkIt2mW2n8Da3zI1/B0yoT9Ezo2hWoptpsdMrb4=";
     };
-    meta.homepage = "https://github.com/amaanq/tree-sitter-bass";
+    meta.homepage = "https://github.com/vito/tree-sitter-bass";
   };
   beancount = buildGrammar {
     language = "beancount";
@@ -182,12 +182,12 @@
   };
   c = buildGrammar {
     language = "c";
-    version = "0.0.0+rev=72a60ea";
+    version = "0.0.0+rev=652433f";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-c";
-      rev = "72a60ea888fb59a8e143883661f021139c905b74";
-      hash = "sha256-huEi/PEzjG9mtwL30mJ2oVy+D64d8I9Z/LZc856qlbw=";
+      rev = "652433fce487d8c3943207da38e3e65e4550e288";
+      hash = "sha256-Ld8ufwdOVqRYb9YpOa6z6fWoA+gj0w0nlq3dqhFCap8=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
   };
@@ -226,12 +226,12 @@
   };
   chatito = buildGrammar {
     language = "chatito";
-    version = "0.0.0+rev=308b591";
+    version = "0.0.0+rev=7162ec1";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-chatito";
-      rev = "308b5913fd2ae6b527183ba1b3a490f90da32012";
-      hash = "sha256-oD49Rc1J/CkIAqEFI87efdzGLYl73se0ekpQll/Mpxs=";
+      rev = "7162ec1e8e9154fb334e84aa7637a4af051dfe42";
+      hash = "sha256-phvENW6wEqhKQakeXxsTclhSmFWFgfK9ztCszOGuaYY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-chatito";
   };
@@ -248,12 +248,12 @@
   };
   cmake = buildGrammar {
     language = "cmake";
-    version = "0.0.0+rev=73ab4b8";
+    version = "0.0.0+rev=f8de25f";
     src = fetchFromGitHub {
       owner = "uyha";
       repo = "tree-sitter-cmake";
-      rev = "73ab4b8e9522f014a67f87f585e820d36fa47408";
-      hash = "sha256-5X4ho6tqPZFQWqoQ6WBsfuA+RbxTX5XzX7xzyFSTifw=";
+      rev = "f8de25f30757a2def006a7c144354710fe63dcf3";
+      hash = "sha256-J8Ro3J9kkH7k/v+nwekCotoS/l28yInhk9p/xaSbegc=";
     };
     meta.homepage = "https://github.com/uyha/tree-sitter-cmake";
   };
@@ -314,12 +314,12 @@
   };
   cpp = buildGrammar {
     language = "cpp";
-    version = "0.0.0+rev=3d98832";
+    version = "0.0.0+rev=e0c1678";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-cpp";
-      rev = "3d988327a1cfd724c0d195b37a1056174fae99bc";
-      hash = "sha256-s7+dRY3OWE7iz9nlqHEOyLlrWaDPF0buDSIjsRYPc7s=";
+      rev = "e0c1678a78731e78655b7d953efb4daecf58be46";
+      hash = "sha256-CdNCVDMAmeJrHgPb2JLxFHj/tHnUYC8flmxj+UaVXTo=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
   };
@@ -348,12 +348,12 @@
   };
   cuda = buildGrammar {
     language = "cuda";
-    version = "0.0.0+rev=2c6e806";
+    version = "0.0.0+rev=221179d";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-cuda";
-      rev = "2c6e806949197e7898910c78f514a3b7ff679068";
-      hash = "sha256-JAShJo+jDv4kzFCPID0C3EokmeiWxMVcJoEsVOzKBEw=";
+      rev = "221179d4287a2c24c08e4c67ff383ef67dc32156";
+      hash = "sha256-e01PTB+SduikiiDvOW411v0pBXCqOFBWlu3HgmM6jFg=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
   };
@@ -370,12 +370,12 @@
   };
   d = buildGrammar {
     language = "d";
-    version = "0.0.0+rev=d9a1a2e";
+    version = "0.0.0+rev=a33d400";
     src = fetchFromGitHub {
       owner = "gdamore";
       repo = "tree-sitter-d";
-      rev = "d9a1a2ed77017c23f715643f4739433a5ea7ab6f";
-      hash = "sha256-GgecDpsZMBTEqHjSbNyUUA6HzGuYEgtqZ9AB+6+fsDo=";
+      rev = "a33d400f025d6bbd37b4c681c93054976f579890";
+      hash = "sha256-LUb+1dTj1IP5ZtWaWBT8UWnGEqb0DJodgbkwnT7xywk=";
     };
     meta.homepage = "https://github.com/gdamore/tree-sitter-d";
   };
@@ -469,12 +469,12 @@
   };
   dtd = buildGrammar {
     language = "dtd";
-    version = "0.0.0+rev=2743ff8";
+    version = "0.0.0+rev=52b3783";
     src = fetchFromGitHub {
       owner = "tree-sitter-grammars";
       repo = "tree-sitter-xml";
-      rev = "2743ff864eac85cec830ff400f2e0024b9ca588b";
-      hash = "sha256-wuj3Q+LAtAS99pwJUD+3BzndVeNhzvQlaugzTHRvUjI=";
+      rev = "52b3783d0c89a69ec64b2d49eee95f44a7fdcd2a";
+      hash = "sha256-DVx/JwQXFEgY3XXo2rOVIWBRHdqprNgja9lAashkh5g=";
     };
     location = "dtd";
     meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
@@ -526,12 +526,12 @@
   };
   elm = buildGrammar {
     language = "elm";
-    version = "0.0.0+rev=c26afd7";
+    version = "0.0.0+rev=09dbf22";
     src = fetchFromGitHub {
       owner = "elm-tooling";
       repo = "tree-sitter-elm";
-      rev = "c26afd7f2316f689410a1622f1780eff054994b1";
-      hash = "sha256-vYN1E49IpsvTUmxuzRyydCmhYZYGndcZPMBYgSMudrE=";
+      rev = "09dbf221d7491dc8d8839616b27c21b9c025c457";
+      hash = "sha256-Bq2oWtqEAsKyV0iHNKC+hXW4fh4yUwbfUhPtZWg5pug=";
     };
     meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm";
   };
@@ -592,25 +592,36 @@
   };
   faust = buildGrammar {
     language = "faust";
-    version = "0.0.0+rev=9e514af";
+    version = "0.0.0+rev=f3b9274";
     src = fetchFromGitHub {
       owner = "khiner";
       repo = "tree-sitter-faust";
-      rev = "9e514af33bfe061d0ccf1999dbcc93fca91f133c";
-      hash = "sha256-FZ5wl6Pl2Y86dNpaRMTh8Q7TEx/s0YoV9/H1J+qwlwo=";
+      rev = "f3b9274514b5f9bf6b0dd4a01c30f9cc15c58bc4";
+      hash = "sha256-JwR8LCEptgQmEG/ruK5ukIGCNtvKJw5bobZ0WXF1ulY=";
     };
     meta.homepage = "https://github.com/khiner/tree-sitter-faust";
   };
   fennel = buildGrammar {
     language = "fennel";
-    version = "0.0.0+rev=15e4f8c";
+    version = "0.0.0+rev=215e391";
     src = fetchFromGitHub {
-      owner = "travonted";
+      owner = "alexmozaidze";
       repo = "tree-sitter-fennel";
-      rev = "15e4f8c417281768db17080c4447297f8ff5343a";
-      hash = "sha256-BdhgDS+yJ/DUYJknVksLSNHvei+MOkqVW7gp6AffKhU=";
+      rev = "215e3913524abc119daa9db7cf6ad2f2f5620189";
+      hash = "sha256-myh0+ZNDzdUZFAdsw8uVGyo0VYh0wKNZ11vlJKTSZnA=";
+    };
+    meta.homepage = "https://github.com/alexmozaidze/tree-sitter-fennel";
+  };
+  fidl = buildGrammar {
+    language = "fidl";
+    version = "0.0.0+rev=bdbb635";
+    src = fetchFromGitHub {
+      owner = "google";
+      repo = "tree-sitter-fidl";
+      rev = "bdbb635a7f5035e424f6173f2f11b9cd79703f8d";
+      hash = "sha256-+s9AC7kAfPumREnc7xCSsYiaDwLp3uirLntwd2wK6Wo=";
     };
-    meta.homepage = "https://github.com/travonted/tree-sitter-fennel";
+    meta.homepage = "https://github.com/google/tree-sitter-fidl";
   };
   firrtl = buildGrammar {
     language = "firrtl";
@@ -702,12 +713,12 @@
   };
   gdscript = buildGrammar {
     language = "gdscript";
-    version = "0.0.0+rev=03f20b9";
+    version = "0.0.0+rev=b5dea4d";
     src = fetchFromGitHub {
       owner = "PrestonKnopp";
       repo = "tree-sitter-gdscript";
-      rev = "03f20b94707a21bed90bb95101684bc4036139ce";
-      hash = "sha256-im87Rws9PPcBWNN0M8PNqnthJZlWKzn3iPLMGR+jtGo=";
+      rev = "b5dea4d852db65f0872d849c24533eb121e03c76";
+      hash = "sha256-/fmg7DfVX62F3sEovFaMs4dTA4rvPexOdQop3257op4=";
     };
     meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-gdscript";
   };
@@ -735,12 +746,12 @@
   };
   gitattributes = buildGrammar {
     language = "gitattributes";
-    version = "0.0.0+rev=3d03b37";
+    version = "0.0.0+rev=0750b59";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-gitattributes";
-      rev = "3d03b37395f5707b6a2bfb43f62957fe0e669c0c";
-      hash = "sha256-+DvxhL+m3Nagv0GXWWWYsIIDuWNzlK1vNVLOO0qBl2E=";
+      rev = "0750b5904f37d6b2f47f6e4655001c2c35a172ec";
+      hash = "sha256-BXsF++uut1WWxe67E+CUh3e6VWrezNJaPfYJhXB0VlY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gitattributes";
   };
@@ -999,23 +1010,23 @@
   };
   hlsl = buildGrammar {
     language = "hlsl";
-    version = "0.0.0+rev=840fd07";
+    version = "0.0.0+rev=f820ee8";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-hlsl";
-      rev = "840fd07f09304bca415b93a15483e9ab1e44bc3f";
-      hash = "sha256-GPY6udz0YZawmQ6WcItXchUeag9EO+eMMGoYSaRsdrY=";
+      rev = "f820ee8417451f69020791cf691904ec1b63f20d";
+      hash = "sha256-d80vNrZGaPWlST5tgvf25CliuzS+zSZ60f49cRuucZ4=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
   };
   hlsplaylist = buildGrammar {
     language = "hlsplaylist";
-    version = "0.0.0+rev=ff121d3";
+    version = "0.0.0+rev=5be34b0";
     src = fetchFromGitHub {
       owner = "Freed-Wu";
       repo = "tree-sitter-hlsplaylist";
-      rev = "ff121d397cf7cc709e3bbc928107fc25529e11e0";
-      hash = "sha256-FItkJbxWfpRne27OPRq5fCHUCX35fxmiT6k1eX8UkhI=";
+      rev = "5be34b0f6ea01b24f017c2c715729a3a919f57fd";
+      hash = "sha256-3ZFaIc4BrfR7dLxftbSLuFdErjYrJgi0Cd8jp9PB19U=";
     };
     meta.homepage = "https://github.com/Freed-Wu/tree-sitter-hlsplaylist";
   };
@@ -1043,12 +1054,12 @@
   };
   html = buildGrammar {
     language = "html";
-    version = "0.0.0+rev=438d694";
+    version = "0.0.0+rev=b5d9758";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-html";
-      rev = "438d694a1f51e1704cb779ad4fec2517523b1d7f";
-      hash = "sha256-NL1tOr7V3QVsVu2OfzLzFpe/FpYVD6MCgdSV0I6AkRY=";
+      rev = "b5d9758e22b4d3d25704b72526670759a9e4d195";
+      hash = "sha256-v3BD36OKkzJ1xqQV87HAyQpnQzi/4+PuyEAM1HfkW3U=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
   };
@@ -1175,12 +1186,12 @@
   };
   json = buildGrammar {
     language = "json";
-    version = "0.0.0+rev=ac6ddfa";
+    version = "0.0.0+rev=3b12920";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-json";
-      rev = "ac6ddfa7775795a3d8f5edab4a71e3a49f932b6a";
-      hash = "sha256-T/y1xfHv3G3cTD2xw43tMiW8agKwE5CV/uwThSHkd84=";
+      rev = "3b129203f4b72d532f58e72c5310c0a7db3b8e6d";
+      hash = "sha256-dVErHgsUDEN42wc/Gd68vQfVc8+/r/8No9KZk2GFzmY=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-json";
   };
@@ -1351,12 +1362,12 @@
   };
   lua = buildGrammar {
     language = "lua";
-    version = "0.0.0+rev=9668709";
+    version = "0.0.0+rev=04c9579";
     src = fetchFromGitHub {
       owner = "MunifTanjim";
       repo = "tree-sitter-lua";
-      rev = "9668709211b2e683f27f414454a8b51bf0a6bda1";
-      hash = "sha256-5t5w8KqbefInNbA12/jpNzmky/uOUhsLjKdEqpl1GEc=";
+      rev = "04c9579dcb917255b2e5f8199df4ae7f587d472f";
+      hash = "sha256-kzyn6XF4/PN8civ/0UV+ancCMkh7DF2B7WUYxix6aaM=";
     };
     meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua";
   };
@@ -1417,24 +1428,24 @@
   };
   markdown = buildGrammar {
     language = "markdown";
-    version = "0.0.0+rev=23d9cb2";
+    version = "0.0.0+rev=2821521";
     src = fetchFromGitHub {
       owner = "MDeiml";
       repo = "tree-sitter-markdown";
-      rev = "23d9cb2ce2f4d0914e7609b500c5fc8dfae0176f";
-      hash = "sha256-Z42w7gSUV9/9Q1jtCrd03cjlMUjHC5Vjie1x8m8K5uw=";
+      rev = "2821521a4e6eab37b63dff6a8e169cd88554047d";
+      hash = "sha256-JoZ/CKIMHVowwqTMFdys+Qu1CHMsP+8Wr2LJo5h30B4=";
     };
     location = "tree-sitter-markdown";
     meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
   };
   markdown_inline = buildGrammar {
     language = "markdown_inline";
-    version = "0.0.0+rev=23d9cb2";
+    version = "0.0.0+rev=2821521";
     src = fetchFromGitHub {
       owner = "MDeiml";
       repo = "tree-sitter-markdown";
-      rev = "23d9cb2ce2f4d0914e7609b500c5fc8dfae0176f";
-      hash = "sha256-Z42w7gSUV9/9Q1jtCrd03cjlMUjHC5Vjie1x8m8K5uw=";
+      rev = "2821521a4e6eab37b63dff6a8e169cd88554047d";
+      hash = "sha256-JoZ/CKIMHVowwqTMFdys+Qu1CHMsP+8Wr2LJo5h30B4=";
     };
     location = "tree-sitter-markdown-inline";
     meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
@@ -1474,35 +1485,35 @@
   };
   meson = buildGrammar {
     language = "meson";
-    version = "0.0.0+rev=3d6dfbd";
+    version = "0.0.0+rev=d6ec8ce";
     src = fetchFromGitHub {
       owner = "Decodetalkers";
       repo = "tree-sitter-meson";
-      rev = "3d6dfbdb2432603bc84ca7dc009bb39ed9a8a7b1";
-      hash = "sha256-NRiecSr5UjISlFtmtvy3SYaWSmXMf0bKCKQVA83Jx+Y=";
+      rev = "d6ec8ce0963c3c8180161391f15d8f7d415f650d";
+      hash = "sha256-SwcBhg6luPAOtaL5dhvLxCpJcwlGhZxhvVmn5pa6ecA=";
     };
     meta.homepage = "https://github.com/Decodetalkers/tree-sitter-meson";
   };
   mlir = buildGrammar {
     language = "mlir";
-    version = "0.0.0+rev=650a8fb";
+    version = "0.0.0+rev=117cbbc";
     src = fetchFromGitHub {
       owner = "artagnon";
       repo = "tree-sitter-mlir";
-      rev = "650a8fb72013ba8d169bdb458e480d640fc545c9";
-      hash = "sha256-Xmn5WaOgvAVyr1Bgzr+QG9G/kymtl4CUvLL5SPZdikU=";
+      rev = "117cbbc46bbf82ae30b24f8939573655017226da";
+      hash = "sha256-c0+Pvhe++fHmRL9Ptri+vsdRN3MCb2Z/7EqWmFaK/CE=";
     };
     generate = true;
     meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
   };
   muttrc = buildGrammar {
     language = "muttrc";
-    version = "0.0.0+rev=0af0e0d";
+    version = "0.0.0+rev=67d9e23";
     src = fetchFromGitHub {
       owner = "neomutt";
       repo = "tree-sitter-muttrc";
-      rev = "0af0e0d8c8cf59dc21cfe565489da0c247374b9f";
-      hash = "sha256-AB8c2mV2sTNwN8sZkv3RbRKdxZW467P6epX+Z4LWqbU=";
+      rev = "67d9e23ca7aa22d9bce9d16c53d2c927dff5159a";
+      hash = "sha256-B3/VoPq8h7TiwOP0nhsuPmFtkLsucpDm9RnUNXkfKpo=";
     };
     meta.homepage = "https://github.com/neomutt/tree-sitter-muttrc";
   };
@@ -1519,23 +1530,23 @@
   };
   nickel = buildGrammar {
     language = "nickel";
-    version = "0.0.0+rev=091b5dc";
+    version = "0.0.0+rev=19fb551";
     src = fetchFromGitHub {
       owner = "nickel-lang";
       repo = "tree-sitter-nickel";
-      rev = "091b5dcc7d138901bcc162da9409c0bb626c0d27";
-      hash = "sha256-HyHdameEgET5UXKMgw7EJvZsJxToc9Qz26XHvc5qmU0=";
+      rev = "19fb551196d18b75160631f5e3a8a006b3875276";
+      hash = "sha256-NXyagRPUT3h8G6R+eE4YrTnWtfB3AT/piXeun5ETU6s=";
     };
     meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
   };
   nim = buildGrammar {
     language = "nim";
-    version = "0.0.0+rev=70ceee8";
+    version = "0.0.0+rev=c5f0ce3";
     src = fetchFromGitHub {
       owner = "alaviss";
       repo = "tree-sitter-nim";
-      rev = "70ceee835e033acbc7092cd7f4f6a251789af121";
-      hash = "sha256-9+ADYNrtdva/DkkjPwavyU0cL6eunqq4TX9IUQi9eKw=";
+      rev = "c5f0ce3b65222f5dbb1a12f9fe894524881ad590";
+      hash = "sha256-KzAZf5vgrdp33esrgle71i0m52MvRJ3z/sMwzb+CueU=";
     };
     meta.homepage = "https://github.com/alaviss/tree-sitter-nim";
   };
@@ -1698,46 +1709,46 @@
   };
   pem = buildGrammar {
     language = "pem";
-    version = "0.0.0+rev=7905a16";
+    version = "0.0.0+rev=db307bb";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-pem";
-      rev = "7905a168036e23605160a0d32a142f58ab5eaa06";
-      hash = "sha256-6gEOrpJ/5UDMMVqKh0XQX+K3JOPiOk5H6CWZgB59h00=";
+      rev = "db307bbb7dc4f721bf2f5ba7fcedaf58feeb59e0";
+      hash = "sha256-uBZo16QtZtbYc4jHdFt1w/zMx9F+WKBB+ANre8IURHA=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pem";
   };
   perl = buildGrammar {
     language = "perl";
-    version = "0.0.0+rev=a30394f";
+    version = "0.0.0+rev=fd8b951";
     src = fetchFromGitHub {
       owner = "tree-sitter-perl";
       repo = "tree-sitter-perl";
-      rev = "a30394f61b607f48c841c6e085d5219f23872816";
-      hash = "sha256-3aWBh5jKXUYXxOv+RKyEpwJVOoP7QuaRQZHw0yOy6tQ=";
+      rev = "fd8b951cf6f72d48dfd07679de8cf0260836b231";
+      hash = "sha256-ejbpska3Ar0cjqDGZXXjRkpDLNsnDUJD0TBsb2cZfY4=";
     };
     meta.homepage = "https://github.com/tree-sitter-perl/tree-sitter-perl";
   };
   php = buildGrammar {
     language = "php";
-    version = "0.0.0+rev=caf4d67";
+    version = "0.0.0+rev=710754c";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-php";
-      rev = "caf4d67d55386d3e4f85d29450b8d9cacbb02d19";
-      hash = "sha256-L0M9v/T3W3v+pES2AytZ6V4jHfnSklFBRGPW3/oB2Aw=";
+      rev = "710754c879435178b7643e525c84cd53f32c510c";
+      hash = "sha256-vOvuctPCcKs5iQ88Tv3Euxk7fDg06o1leRWUic4qzLQ=";
     };
     location = "php";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
   };
   php_only = buildGrammar {
     language = "php_only";
-    version = "0.0.0+rev=caf4d67";
+    version = "0.0.0+rev=710754c";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-php";
-      rev = "caf4d67d55386d3e4f85d29450b8d9cacbb02d19";
-      hash = "sha256-L0M9v/T3W3v+pES2AytZ6V4jHfnSklFBRGPW3/oB2Aw=";
+      rev = "710754c879435178b7643e525c84cd53f32c510c";
+      hash = "sha256-vOvuctPCcKs5iQ88Tv3Euxk7fDg06o1leRWUic4qzLQ=";
     };
     location = "php_only";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
@@ -1788,12 +1799,12 @@
   };
   poe_filter = buildGrammar {
     language = "poe_filter";
-    version = "0.0.0+rev=99ce487";
+    version = "0.0.0+rev=bf912df";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-poe-filter";
-      rev = "99ce487804eab781e1e1cb39de82aea236346c96";
-      hash = "sha256-kMk0gCb2/FExKyGPeRDCd6rW/R3eH1iuE7udnFoI5UY=";
+      rev = "bf912df70f60b356c70631d9cbb317b41c1ea319";
+      hash = "sha256-EHftq35YJzElvYiJxiu7iIcugoXME7CXuQSo1ktG584=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-poe-filter";
   };
@@ -1810,12 +1821,12 @@
   };
   printf = buildGrammar {
     language = "printf";
-    version = "0.0.0+rev=ddff4ce";
+    version = "0.0.0+rev=0e0acea";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-printf";
-      rev = "ddff4ce4d630d1f1a3b591d77b2618a4169b36b9";
-      hash = "sha256-MIj4tP2+zb43pcnSBSVjPpKxjbxKFJTcz8AJphEvh6k=";
+      rev = "0e0aceabbf607ea09e03562f5d8a56f048ddea3d";
+      hash = "sha256-y/7CDnHpT3D6hL0f+52mReCphn+lvElfQQKJwY4fr9c=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-printf";
   };
@@ -1843,14 +1854,14 @@
   };
   properties = buildGrammar {
     language = "properties";
-    version = "0.0.0+rev=74e5d3c";
+    version = "0.0.0+rev=189b3cc";
     src = fetchFromGitHub {
-      owner = "ObserverOfTime";
+      owner = "tree-sitter-grammars";
       repo = "tree-sitter-properties";
-      rev = "74e5d3c63d0da17c0800b3cf9090b24637ef6b59";
-      hash = "sha256-oB5TA8dZtuFop7Urggv2ZWWi8s6wDsIL+ZG5+sCQgq8=";
+      rev = "189b3cc18d36871c27ebb0adcf0cddd123b0cbba";
+      hash = "sha256-5cA2DDMiP8axu8Jl1M+CoxHoB+Jc/VMy3vXME+yxH9o=";
     };
-    meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-properties";
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-properties";
   };
   proto = buildGrammar {
     language = "proto";
@@ -1899,12 +1910,12 @@
   };
   puppet = buildGrammar {
     language = "puppet";
-    version = "0.0.0+rev=9ce9a5f";
+    version = "0.0.0+rev=3641b9e";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-puppet";
-      rev = "9ce9a5f7d64528572aaa8d59459ba869e634086b";
-      hash = "sha256-YEjjy9WLwITERYqoeSVrRYnwVBIAwdc4o0lvAK9wizw=";
+      rev = "3641b9e854ac9c84c7576e71c4c9a357bcfd9550";
+      hash = "sha256-J1DBjQRdV4R85NTyg/qmwbjm1bryKe3UOdp4XyH6BQc=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-puppet";
   };
@@ -2042,12 +2053,12 @@
   };
   readline = buildGrammar {
     language = "readline";
-    version = "0.0.0+rev=f2f98d4";
+    version = "0.0.0+rev=e436eae";
     src = fetchFromGitHub {
       owner = "ribru17";
       repo = "tree-sitter-readline";
-      rev = "f2f98d4263949d696e69a425f65326c59d1ceedc";
-      hash = "sha256-+T4HS2QqoXFRgBfY61NHK4EyQ/HF26eeMt9KV2Ud0Ug=";
+      rev = "e436eaef452266a3d00c195f0eb757d6502c767a";
+      hash = "sha256-y38TDQ+7wBzEKol/UQ5Xk6f15wUW7hJxByDuhx9d0hQ=";
     };
     meta.homepage = "https://github.com/ribru17/tree-sitter-readline";
   };
@@ -2141,12 +2152,12 @@
   };
   rust = buildGrammar {
     language = "rust";
-    version = "0.0.0+rev=a70daac";
+    version = "0.0.0+rev=85a21c9";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-rust";
-      rev = "a70daac064145c84e9d51767c2575bb68d51df58";
-      hash = "sha256-2Y7sQ5bhKEpbDAHd5zJMGAlDWH32tJXxAgFOYY8S7o8=";
+      rev = "85a21c96d31b2a5c4369e5836a7f4ab059268fea";
+      hash = "sha256-uxOjdB65+HjNuOybbYb2N9R0I+bt909bIBOzmh9vfVc=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
   };
@@ -2197,23 +2208,23 @@
   };
   slang = buildGrammar {
     language = "slang";
-    version = "0.0.0+rev=130b2f5";
+    version = "0.0.0+rev=0cdfb17";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-slang";
-      rev = "130b2f5c7a1d5c24645c3518db4bc2b22dd90718";
-      hash = "sha256-gDN8nyQjxE7Hko3MJJj2Le0Ey0pd3GlG5QWkDf8c7Q0=";
+      rev = "0cdfb1741323f38e9a33798674145c22cfc0092b";
+      hash = "sha256-1xSnb3n9u45B2gEBApZpZlb1VvbJOrmgQwrPL2OuGro=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-slang";
   };
   slint = buildGrammar {
     language = "slint";
-    version = "0.0.0+rev=68405a4";
+    version = "0.0.0+rev=3c82235";
     src = fetchFromGitHub {
       owner = "slint-ui";
       repo = "tree-sitter-slint";
-      rev = "68405a45f7a5311cd1f77e40ba84199573303f52";
-      hash = "sha256-zmmxXU7w5N8XjKn2Uu/nAc/FjCAprdKyJ0c75CGUgpk=";
+      rev = "3c82235f41b63f35a01ae3888206e93585cbb84a";
+      hash = "sha256-D3X2YwvxvseIGnKzaSocr3Ak7qoASZhxyRS+rtpir0g=";
     };
     meta.homepage = "https://github.com/slint-ui/tree-sitter-slint";
   };
@@ -2287,12 +2298,12 @@
   };
   sourcepawn = buildGrammar {
     language = "sourcepawn";
-    version = "0.0.0+rev=846ec64";
+    version = "0.0.0+rev=39ce73a";
     src = fetchFromGitHub {
       owner = "nilshelmig";
       repo = "tree-sitter-sourcepawn";
-      rev = "846ec647109a1f3dfab17c025c80ecdf6fd56581";
-      hash = "sha256-3yRBrzuzjWKKpLO+58P/JdNvjPj2o1HuBZOKkFh2RCs=";
+      rev = "39ce73ad42b2c4f52848d16093c24feddaa7d226";
+      hash = "sha256-CyCUGGycWpgQl/BGDjRHwYoa9Mess49jUf9WUkRaliE=";
     };
     meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn";
   };
@@ -2397,23 +2408,23 @@
   };
   svelte = buildGrammar {
     language = "svelte";
-    version = "0.0.0+rev=bd60db7";
+    version = "0.0.0+rev=04a126d";
     src = fetchFromGitHub {
-      owner = "Himujjal";
+      owner = "tree-sitter-grammars";
       repo = "tree-sitter-svelte";
-      rev = "bd60db7d3d06f89b6ec3b287c9a6e9190b5564bd";
-      hash = "sha256-FZuzbTOP9LokPb77DSUwIXCFvMmDQPyyLKt7vNtEuAY=";
+      rev = "04a126d9210def99f06d9ab84a255110b862d47c";
+      hash = "sha256-F6AC72IHMKs1jTwshwNkAXFfiBGEbBn7m83xedCoDsA=";
     };
-    meta.homepage = "https://github.com/Himujjal/tree-sitter-svelte";
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-svelte";
   };
   swift = buildGrammar {
     language = "swift";
-    version = "0.0.0+rev=dabbcf9";
+    version = "0.0.0+rev=e1ac0c3";
     src = fetchFromGitHub {
       owner = "alex-pinkus";
       repo = "tree-sitter-swift";
-      rev = "dabbcf9a2311e08c1b020e1258849b8359e9de1a";
-      hash = "sha256-U4r2uEDqBXeDC0NkOvSwkKreJnFSStxJisNPLJ4CTZs=";
+      rev = "e1ac0c3b48f4c42c40f92f400f14c6561369d4dd";
+      hash = "sha256-7MXH3ZDMH3Im/t5FPMGw6MGKMS+hKaHKUvTXXCrvgtI=";
     };
     generate = true;
     meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@@ -2552,6 +2563,17 @@
     };
     meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
   };
+  tmux = buildGrammar {
+    language = "tmux";
+    version = "0.0.0+rev=10737f5";
+    src = fetchFromGitHub {
+      owner = "Freed-Wu";
+      repo = "tree-sitter-tmux";
+      rev = "10737f5dc4d8e68c9667f11a6996688a1185755f";
+      hash = "sha256-7MQYyWu1Rw3Vwmp3nbuorn9rD0xcEU5nRXPuTVpOqkM=";
+    };
+    meta.homepage = "https://github.com/Freed-Wu/tree-sitter-tmux";
+  };
   todotxt = buildGrammar {
     language = "todotxt";
     version = "0.0.0+rev=3937c5c";
@@ -2643,6 +2665,17 @@
     };
     meta.homepage = "https://github.com/Teddytrombone/tree-sitter-typoscript";
   };
+  typst = buildGrammar {
+    language = "typst";
+    version = "0.0.0+rev=c757be0";
+    src = fetchFromGitHub {
+      owner = "uben0";
+      repo = "tree-sitter-typst";
+      rev = "c757be0898e2a58f4e9761aa164dc413bf5beaf8";
+      hash = "sha256-z0x47Qrr8mYroDtXapRmzOMHOxlYmQmonN0P7VSCBu0=";
+    };
+    meta.homepage = "https://github.com/uben0/tree-sitter-typst";
+  };
   udev = buildGrammar {
     language = "udev";
     version = "0.0.0+rev=15d89be";
@@ -2746,23 +2779,23 @@
   };
   vim = buildGrammar {
     language = "vim";
-    version = "0.0.0+rev=32c76f1";
+    version = "0.0.0+rev=bc1364d";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "tree-sitter-vim";
-      rev = "32c76f150347c1cd044e90b8e2bc73c00677fa55";
-      hash = "sha256-14lkrGZ5JpbPvb5Pm2UzLodhO1IEz5rBETTU0RZDFc4=";
+      rev = "bc1364d922952138957a62105171ed68e73fbb6c";
+      hash = "sha256-5h1GYjyYMJd5GS0zXh0LP1wBs60fYohpFv89gcdZ4vU=";
     };
     meta.homepage = "https://github.com/neovim/tree-sitter-vim";
   };
   vimdoc = buildGrammar {
     language = "vimdoc";
-    version = "0.0.0+rev=ed8695a";
+    version = "0.0.0+rev=40fcd50";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "tree-sitter-vimdoc";
-      rev = "ed8695ad8de39c3f073da130156f00b1148e2891";
-      hash = "sha256-q5Ln8WPFrtKBfZnaAAlMh3Q/eczEt6wCMZAtx+ISCKg=";
+      rev = "40fcd50a2c7b5a3ef98294795116773b24fb61ab";
+      hash = "sha256-i/O8vIjiyOoFECS1nmKfL/8hofzSvwg5cJo7JooJGOY=";
     };
     meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc";
   };
@@ -2790,23 +2823,23 @@
   };
   wgsl_bevy = buildGrammar {
     language = "wgsl_bevy";
-    version = "0.0.0+rev=a041228";
+    version = "0.0.0+rev=cbd58ee";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-wgsl-bevy";
-      rev = "a041228ae64632f59b9bd37346a0dbcb7817f36b";
-      hash = "sha256-bBGunOcFPrHWLsP1ISgdFBNDIBbB0uhwxKAwmQZg7/k=";
+      rev = "cbd58ee33e24f46d16b9882b001eefb25a958ee2";
+      hash = "sha256-EPpI4UJ/5GB2iDQGoSziUOcP1TVf7VU4FMTKvrujcAY=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-wgsl-bevy";
   };
   wing = buildGrammar {
     language = "wing";
-    version = "0.0.0+rev=f7965a9";
+    version = "0.0.0+rev=52ef462";
     src = fetchFromGitHub {
       owner = "winglang";
       repo = "wing";
-      rev = "f7965a947d2eaa8b5b9bba1c42a0e1891f1a0b2a";
-      hash = "sha256-qQ74aj7pccc3gvmeNoa0BBTMdNTmcc0h8aWNcLvpMRY=";
+      rev = "52ef462f76e199845a5df4834b838339e0a6efdb";
+      hash = "sha256-eZEyk285EyfduzrVH3Ojbwu8mbRFfZY6lrQQQT1kWM8=";
     };
     location = "libs/tree-sitter-wing";
     generate = true;
@@ -2814,23 +2847,23 @@
   };
   xcompose = buildGrammar {
     language = "xcompose";
-    version = "0.0.0+rev=8898238";
+    version = "0.0.0+rev=7fd1494";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-xcompose";
-      rev = "8898238fca7e143760386448093392b87e58002e";
-      hash = "sha256-1U3FFO6j4jdynDTRQlD8kfTYTiKvC7ZjxSECMW9NYGY=";
+      rev = "7fd14940e0478fce79ea195067ed14a2c42c654a";
+      hash = "sha256-elnm1HjE4hLFMR/XhCPhOcGjqS9FbCULPRb/IntpQ3U=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xcompose";
   };
   xml = buildGrammar {
     language = "xml";
-    version = "0.0.0+rev=2743ff8";
+    version = "0.0.0+rev=52b3783";
     src = fetchFromGitHub {
       owner = "tree-sitter-grammars";
       repo = "tree-sitter-xml";
-      rev = "2743ff864eac85cec830ff400f2e0024b9ca588b";
-      hash = "sha256-wuj3Q+LAtAS99pwJUD+3BzndVeNhzvQlaugzTHRvUjI=";
+      rev = "52b3783d0c89a69ec64b2d49eee95f44a7fdcd2a";
+      hash = "sha256-DVx/JwQXFEgY3XXo2rOVIWBRHdqprNgja9lAashkh5g=";
     };
     location = "xml";
     meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
@@ -2870,12 +2903,12 @@
   };
   zathurarc = buildGrammar {
     language = "zathurarc";
-    version = "0.0.0+rev=fe37e85";
+    version = "0.0.0+rev=353bdf2";
     src = fetchFromGitHub {
       owner = "Freed-Wu";
       repo = "tree-sitter-zathurarc";
-      rev = "fe37e85db355c737573315f278672534c40fe140";
-      hash = "sha256-lQFCJhyJTCa+zdsobMutgbQqJ9mhehaIbRLbds0riEo=";
+      rev = "353bdf25e7af9c2830e254977fd3fb57ccaa8203";
+      hash = "sha256-vFDz4X0ujqM9GbrpGt3dRjvo0SR07E2qXrT/ppTegBQ=";
     };
     meta.homepage = "https://github.com/Freed-Wu/tree-sitter-zathurarc";
   };
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 68ce88387fa9..ab4d9a594867 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -998,7 +998,7 @@
         inherit (old) version src;
         sourceRoot = "source/spectre_oxi";
 
-        cargoHash = "sha256-822+3s6FJVqBRYJAL/89bJfGv8fNhSN3nQelB29mXvQ=";
+        cargoHash = "sha256-gCGuD5kipgfR0Le8npNmyBxNsUq0PavXvKkxkiPx13E=";
 
 
         preCheck = ''
@@ -1671,6 +1671,14 @@
     dependencies = with self; [ vim-repeat ];
   };
 
+  vim-tabby = super.vim-tabby.overrideAttrs {
+    postPatch = ''
+      substituteInPlace autoload/tabby/globals.vim --replace-fail \
+        "let g:tabby_node_binary = get(g:, 'tabby_node_binary', 'node')" \
+        "let g:tabby_node_binary = get(g:, 'tabby_node_binary', '${nodejs}/bin/node')"
+    '';
+  };
+
   vim-textobj-entire = super.vim-textobj-entire.overrideAttrs {
     dependencies = with self; [ vim-textobj-user ];
     meta.maintainers = with lib.maintainers; [ farlion ];
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 4565ca91925a..8c0814d5616a 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -75,6 +75,7 @@ https://github.com/jiangmiao/auto-pairs/,,
 https://github.com/pocco81/auto-save.nvim/,HEAD,
 https://github.com/rmagatti/auto-session/,,
 https://github.com/m4xshen/autoclose.nvim/,HEAD,
+https://github.com/gaoDean/autolist.nvim/,,
 https://github.com/vim-scripts/autoload_cscope.vim/,,
 https://github.com/nullishamy/autosave.nvim/,HEAD,
 https://github.com/rafi/awesome-vim-colorschemes/,,
@@ -1400,3 +1401,4 @@ https://github.com/ziglang/zig.vim/,,
 https://github.com/mickael-menu/zk-nvim/,HEAD,
 https://github.com/troydm/zoomwintab.vim/,,
 https://github.com/nanotee/zoxide.vim/,,
+https://github.com/TabbyML/vim-tabby/,HEAD,
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 677abcfe9804..a1eeb57d9a4c 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -3928,8 +3928,8 @@ let
         mktplcRef = {
           name = "uiua-vscode";
           publisher = "uiua-lang";
-          version = "0.0.27";
-          sha256 = "sha256-wEY1FZjgiQJ7VrJGZX0SgZqz/14v//jxgrqdafLjIfM=";
+          version = "0.0.39";
+          sha256 = "sha256-B+p5bIwVhzWAdKQPCGPlImQihYCeTtYFTlkZIkgWayk=";
         };
         meta = {
           description = "VSCode language extension for Uiua";
diff --git a/pkgs/applications/file-managers/projectable/default.nix b/pkgs/applications/file-managers/projectable/default.nix
index 8f2a131ce7c9..c5b6009bf22f 100644
--- a/pkgs/applications/file-managers/projectable/default.nix
+++ b/pkgs/applications/file-managers/projectable/default.nix
@@ -2,7 +2,7 @@
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
-, libgit2_1_5
+, libgit2
 , openssl
 , zlib
 , stdenv
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = [
-    libgit2_1_5
+    libgit2
     openssl
     zlib
   ] ++ lib.optionals stdenv.isDarwin [
@@ -35,6 +35,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   env = {
+    LIBGIT2_NO_VENDOR = 1;
     OPENSSL_NO_VENDOR = true;
   };
 
diff --git a/pkgs/applications/misc/nwg-panel/default.nix b/pkgs/applications/misc/nwg-panel/default.nix
index 378d83f8c1ac..308a1d0d2cee 100644
--- a/pkgs/applications/misc/nwg-panel/default.nix
+++ b/pkgs/applications/misc/nwg-panel/default.nix
@@ -16,13 +16,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nwg-panel";
-  version = "0.9.24";
+  version = "0.9.25";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-panel";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qd2fnGdpHXX35ZtNGe59GnmhYGn6VJibc0KEr60VIJM=";
+    hash = "sha256-dTBV2OckPJNA707PNz/jmfUPpufhItt4EEDHAI79kxQ=";
   };
 
   # No tests
diff --git a/pkgs/applications/misc/swaynotificationcenter/default.nix b/pkgs/applications/misc/swaynotificationcenter/default.nix
index a9643e707e5a..f05aa8fd9345 100644
--- a/pkgs/applications/misc/swaynotificationcenter/default.nix
+++ b/pkgs/applications/misc/swaynotificationcenter/default.nix
@@ -39,6 +39,9 @@ stdenv.mkDerivation (finalAttrs: rec {
     hash = "sha256-7O+DX4uuncUqx5zEKQprZE6tctteT6NU01V2EBHiFqA=";
   };
 
+  # build pkg-config is required to locate the native `scdoc` input
+  depsBuildBuild = [ pkg-config ];
+
   nativeBuildInputs = [
     bash-completion
     # cmake # currently conflicts with meson
@@ -50,7 +53,6 @@ stdenv.mkDerivation (finalAttrs: rec {
     pkg-config
     python3
     sassc
-    pantheon.granite
     scdoc
     vala
     wrapGAppsHook
@@ -68,6 +70,7 @@ stdenv.mkDerivation (finalAttrs: rec {
     libhandy
     libpulseaudio
     librsvg
+    pantheon.granite
     # systemd # ends with broken permission
   ];
 
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 5a75f0ad2022..0ab5c7ca1ee4 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -28,12 +28,12 @@
         version = "2024-01-22";
       };
       ungoogled-patches = {
-        hash = "sha256-G+agHdsssYhsyi4TgJUJBqMEnEgQ7bYeqpTqmonXI6I=";
-        rev = "122.0.6261.69-1";
+        hash = "sha256-vqiizzSVWV2/iADPac8qgfdZcbunc0QgMqN15NwJ9js=";
+        rev = "122.0.6261.94-1";
       };
     };
-    hash = "sha256-uEN1hN6DOLgw4QDrMBZdiLLPx+yKQc5MimIf/vbCC84=";
-    hash_deb_amd64 = "sha256-k3/Phs72eIMB6LAU4aU0+ze/cRu6KlRhpBshKhmq9N4=";
-    version = "122.0.6261.69";
+    hash = "sha256-7fIs8qQon9L0iNmM/cHuyqtVm09qf7L4j9qb6KSbw2w=";
+    hash_deb_amd64 = "sha256-hOm7YZ9ya/SmwKhj6uIPkdgIDv5bIbss398szBYHuXk=";
+    version = "122.0.6261.94";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 550babf8f9fd..e2a8a134a66e 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 = "124.0b2";
+  version = "124.0b5";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ach/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ach/firefox-124.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "363c9f44bc94db125f38d5f64cc048db997324da3f6435f2584d2d88285b8bdf";
+      sha256 = "7d2bbc3802ad238953c9423f8023f9a1177712f56379fc69a180fd39f53388d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/af/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/af/firefox-124.0b5.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "7e8b0874d35b0c42fcac1c037dd9be119479fbf3f62e8316f6dd3bfbbdeeae4f";
+      sha256 = "5f36ceebf06776170a20b4727b0859ceb4a26508d6d8707c5d492e1b4ce67975";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/an/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/an/firefox-124.0b5.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "cbe139c6a7a333dcac56d0fa78bc653daea355a45a834de2e35a7192a3a17fc9";
+      sha256 = "5f82fc1cb4a458cf28a1f76383d6c1fe11d6f33a157f9247d524fadc5ea6759d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ar/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ar/firefox-124.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "d50bc9d3d443bf2a90643ce5cdd6bc7d0e4198fab68ef14e1286504f4d18821c";
+      sha256 = "08680db79f744d864cba21f4795dc1b9a2af5bf8c3ddf5f7ea4c908022579028";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ast/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ast/firefox-124.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "2d2543dfdc9c14de05a1c62d088aa0617505b923b1dbb72f4b5e5d2cd9271e53";
+      sha256 = "8bbe8db78333dba3cac356b578a03dd3b77dddc7e63b2177236f6a3d0896f04d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/az/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/az/firefox-124.0b5.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "0379539663e7e48fa7893ada6df1e64e122ec2a14d5f3f76f813b45bbf59f586";
+      sha256 = "7a06cd17959904e49810ef220ec2ba713d4e16ac55eb64bdf74a8dc6ce9b0440";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/be/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/be/firefox-124.0b5.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "f0dcffc2cb42b0a75261f9e16c1edb6b62edecd77a3d9e21f25565ba2ff234f6";
+      sha256 = "10fa657b60076eb048375cc7702edee3bf006c298308254be58a809904c153d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/bg/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/bg/firefox-124.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "91a3c7c3cfa6eb78a7b98c2441d71804437fc94ecbf8522613fa0060b19dd125";
+      sha256 = "ecde1dcb5479e5ca179fc09a090ac542b85287369f3b0d719b1b156c32ebd80e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/bn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/bn/firefox-124.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "215632319b46c5a1b88cc5936e547f5b5dbd8e28bbe66aeea86e1a362f85e82a";
+      sha256 = "6339cf64b10c1d31bef2d6fc95360653446ff76d2e169dd461bba543d60ff763";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/br/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/br/firefox-124.0b5.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "8721df2ac60c218bb704148c3f392292d1dce848358b6972578aba6779475a2e";
+      sha256 = "3d3a1a26e4fbb44da3d354beb6d801a80d1ce20508d99fa794d182b8d536a744";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/bs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/bs/firefox-124.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "583e8f0409e840a88736cd6f49b084e9927eb5ed2021d1bd0f9cd68318d620a2";
+      sha256 = "baed2b12d8d84ce5697320eebad87897b009bcac76e68ba0abda2582e24e88c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ca-valencia/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ca-valencia/firefox-124.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "f34b6bb30b4b8e4d0479ae8049b0439edf7a6bb6f1dda4ed5ab4fd026b9f1bbc";
+      sha256 = "fa7f53c7e56ef56b8fdb4a7e903bb51eb5447d97a0da2408a1be175bc5423f90";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ca/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ca/firefox-124.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "0561f69077245da627e1273268859a100a14c32ecc8822f35ab0c3f8d97e5d2f";
+      sha256 = "0310a427861ec5c2fb7a8dd2a285b591f36f11c90d84af47b5fa1cb52e2ad3b9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/cak/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/cak/firefox-124.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "cf131a37e5f1df0acab0bc5d820dbbf9aacd79394e91f2e52a03ecf9d59e4dd8";
+      sha256 = "67573c77981d94a7aca7a9d6aa2093330b02f26f4710eff9e46b60f9fd8113f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/cs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/cs/firefox-124.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "6d13e7144f50475a51bb044a92b2a5f94873ce454c5bbce3b97538d6498ec87f";
+      sha256 = "ee7d65efb0098765dfb498cf75cbe6555d20654c6fc00859e38204738661fd69";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/cy/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/cy/firefox-124.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "f126e9d3d5515048fc6936c8d917e0db16290183fafb1bc3f2dd73e657cb9490";
+      sha256 = "75ff470c4ade892f4f3f9fe1705000f7c628d6de6e86f6908ee56612bc075671";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/da/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/da/firefox-124.0b5.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "f79b6a07401fcc04503970e9d3cf92c9a9487f5b78f576cbde7fdf550922d061";
+      sha256 = "48d77741b02f2e8fc2e040a84c18e1218ca61bd8e66c7cfefc79bc24bafc5bb3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/de/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/de/firefox-124.0b5.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "3ab1d86e2ecb631d1ef5e62ba96b9eecc1401e185b9a321616fecb315ee51f28";
+      sha256 = "2b1309a5f08980056fe3be624a6c75c05e39618d32153aee826e4b4a50ee15eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/dsb/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/dsb/firefox-124.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "f63e77b38c6cf91351bac23257f3f24393fa6a2de2ccddec9c6b392aea781046";
+      sha256 = "570407536fb85f40dc7a872fed16b652b1d6db223ff46e557021233aa02a7a7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/el/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/el/firefox-124.0b5.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "3b728d338586515822ca1ce165cd7aaee2c8a52e20522de4df36a77988d260fb";
+      sha256 = "fae76f0eed46924669128f56f97d3f2ac672bf5f33d4f1d48f5ab5a7b22d74af";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/en-CA/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/en-CA/firefox-124.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "db701d73b42e418175e527ed4b96796cd40ddf2176a4d796c45864f8274b1cff";
+      sha256 = "92f03b9f6d7a73411e94d69abbe375b3335302880320a3449571a0aee99eebdc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/en-GB/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/en-GB/firefox-124.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "518c256ab304fb94556bc06cd6b924f2195d862e81b7b816c9bcf031715856da";
+      sha256 = "21f60b68d0c1239eaa16000c15e57357337682420bd55d3bfb4463c777cc31fd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/en-US/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/en-US/firefox-124.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "e14b4f9dab4ccbdda293e7808a101dcf90e231b5a90980a13dc7bf6d8fde8776";
+      sha256 = "22a8329ae9d5a493215761326cd472991f6f694a4d42eaf83628ab6d26fca83b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/eo/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/eo/firefox-124.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "1bed1faff69ca8c4c5a9d213458455e61c8b6e4d9e7f7c7eb6862624fdd8a817";
+      sha256 = "5ecd98a7b5e2317abbaf6f5a9fb21c8a59be51715fb5a8c8cae3d64a0ab5fc48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/es-AR/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/es-AR/firefox-124.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "7010d92cc5569e023cf3f669ffae011b6ef79a331083fce0f6efb0350df50c31";
+      sha256 = "40cb5d90564fb90025fc6b392582863e0bc724326cb36fde4dba6ad1406f6d94";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/es-CL/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/es-CL/firefox-124.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "16acae24bb87c2d2df00a597d559a6a621c8647c0de9c3c4ffc248974622f59e";
+      sha256 = "4f791d29b283ae6cd5873b4dbe500b6267b051e1ab2d0cff96c1a4440e6aff08";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/es-ES/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/es-ES/firefox-124.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "9c6f854e01300e2801255b18b7fcf1c31c1457267073ec00fe3cf1b295b30254";
+      sha256 = "2edc711c09c35cd8485343315ae5c2bc6bebb96159168d70cff22527165f58f3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/es-MX/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/es-MX/firefox-124.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "8be367c4b918e2834da814723054f7c1bf32a3fefd6763ce5244985678284aad";
+      sha256 = "b8a2f655358cffc31b1fe2447db01eb7cf57f6bbb31563c012f7158f3c9d42e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/et/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/et/firefox-124.0b5.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "09bb7e3b2ac065613a8d9ebbf7e914b0e1f7ee55938b735e4279441e6b6fcb12";
+      sha256 = "c395fc81add76c9d275d25a8de3a4fb26e4f0415e98de5add80a6bd0e999a01a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/eu/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/eu/firefox-124.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "12ce3b0532812e9adcd3ec3196f798d5e3f91cb83ab0ef601aa329cd7ddf2977";
+      sha256 = "e0851b8ea76f800d9427c217477b94a61de6c274353b4b4cdd47cc8b0d4aaa70";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/fa/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/fa/firefox-124.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "bd7782a2d5a925c3ad41781bcf828e95724f3a82f2ccc5ed2082bc655cce38cc";
+      sha256 = "8e12aa67666b55b919e4e81cad3380e0851797a13548f3dcbdc3c227c69da8d6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ff/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ff/firefox-124.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "b7da1ca6e9e06db0095da2da79f972ef5dd71da3f9f3ba99ced8edc7a83724d5";
+      sha256 = "c04ff0a8b62793ffcbf4d1d0a5111693cee1b35ba3fb1dd0adbaf03ba66bcdf8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/fi/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/fi/firefox-124.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "6c028c8e15fbf784d084c7f50fe7260939b2c1b5ae8e45b483265dffbfdcc305";
+      sha256 = "12ba9ea088fb6d17a826c30967ab7b3443aeff2a3f740a4df3ca7ebbd8b45ced";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/fr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/fr/firefox-124.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "67062d7de084985e8493be8691e50687def2ad630322caf484850cb8372ddcf7";
+      sha256 = "e91929a98ae40d1ef43b11c3c22d8ed0cb19c6e3e07bb04741090fad53b98607";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/fur/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/fur/firefox-124.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "5f63297d83984aee6adff522c7cea24c5724a6f6d2f965782ffcd16e41dc5547";
+      sha256 = "99b88c86eb2013b5f07e6f14e71c2c97352dcc1acc02aff90ab42d13410ff2a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/fy-NL/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/fy-NL/firefox-124.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "24ba249b084764e96a13b6a9336d6dbe7d1eff04847c9e924c53087ca1fede30";
+      sha256 = "b9c9b522a065f64d6cf40b96dff6526313e2dca401a9008f03083b2812b6167b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ga-IE/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ga-IE/firefox-124.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "eaa9b0bc0929e1b51027250f5a840f13f77a91ddf10b9278147ee41212bc82c8";
+      sha256 = "bca74cf277bd25d5066df857846be1dd8f6c310d301f49b2961f439949571b28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/gd/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/gd/firefox-124.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "6f62732e5f83dcea1a537cfacc9698b8e3b2aab0953103038ab774ea6bbc716a";
+      sha256 = "47d553028a1a64259877fdfee83d70a46b866afa3b2457660d2a44067b37061d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/gl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/gl/firefox-124.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "97657e3beec01ef69d119379a32758fb41816de8bd58d9deb004a88b7c3326fe";
+      sha256 = "130886578c83d2eff99209c4d14c05e68acbdd37564edeac079648740fc7bf0b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/gn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/gn/firefox-124.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "f6f05d156c7316cd9baf939309abce7912350c71d409aada45f211ba76409100";
+      sha256 = "23ac53dd3b9a2d18d60a59e2d734fd0c44a5291fee943c902f18cf599d63c16c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/gu-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/gu-IN/firefox-124.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "a81b71bd14054cd82332ec091a292d456c848db2f9daba89965d513bf8f38b87";
+      sha256 = "77689877b0d5e877d3be81f02a040e3120a9dd1b40a4367c5a92a40f4c494919";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/he/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/he/firefox-124.0b5.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "cd3ff8efdad04b12f92d14eb387bd68c3d3a06d81d2a363c3685ca4f5457f18e";
+      sha256 = "8a1f1ac0b23cbf62e47ee29b679ab6c48cd89c4bd77a6d295f6ed0fe69711499";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/hi-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/hi-IN/firefox-124.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "cfd147bc30a081268545d38c38ecf959b7848648b124a3f2fa9f0ac6277a35fa";
+      sha256 = "18957db7e86db0a0d0b823b68d1e377f85aaa5b14e6092e24310ab8ad10a343b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/hr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/hr/firefox-124.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "eea6bcb7747900ba6f0b764890074c6a88506094c8a3e383441a49e164f63dec";
+      sha256 = "3625253e0f9a634270af8f70d1c81b61dadb8102fb2c81b81507f8fdb7b1d250";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/hsb/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/hsb/firefox-124.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "ff5d2011e6e2f20481fd76a04f1f72e9d5bbb29253d2e47a75317dfc13e5c16b";
+      sha256 = "40e040f1231c88af9090a2fac4001ab8f1d69a1e3734ed6c89bf51e4ff21b206";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/hu/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/hu/firefox-124.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "6ceb6098abd49f062c86be8e06cec9e4fc8fd04fbcab43c52318d60ac66f9e93";
+      sha256 = "377fe6254302dd396bdb560a44c138983e2c02eae06c427ff5cf94bc434c61ab";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/hy-AM/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/hy-AM/firefox-124.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "706500ead0a117e63ffabd84105f2ae4293fd3550e2237379ab3069ae3e94f98";
+      sha256 = "2e4b3a4044d0297f9d9c87f1624f672d0d27b21f5012baa2ca60f45885d8ce79";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ia/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ia/firefox-124.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "b3ebdf158d37bb338a3c242acba42ab102e23d3616f5fa74b6c7ebbab16f9099";
+      sha256 = "160aa92ea1168487ecc925ade7cbd2e117da72319a9ceccdc59507e4e8fc8764";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/id/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/id/firefox-124.0b5.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "104ad7b721466bdb923b9490545425392dc76e5c74b3eb7ead26cb177f4c1f16";
+      sha256 = "7bd38f8c8b4953db16c1916ed4b2df49b0f840b81949dc4676f2f71c40008948";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/is/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/is/firefox-124.0b5.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "e974076e947af7599cee9ace49430c3ee651b853965caaf2663c5f2517a8a62a";
+      sha256 = "3424522524ca6388a7e2637dfc5452998b7d6dcad2514f48f518be63e5b45c6f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/it/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/it/firefox-124.0b5.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "ecced41cdcb280c2e018a1cdcfe1b403ef6468de8e0470789c3227bcbcea2b1d";
+      sha256 = "0c7ee36605aac12acc542c9481852d39b1b0f0f3c18256cec2ff38811cb1f3eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ja/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ja/firefox-124.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "0d662890d8fd7e3e617fe8e63cd04d3d6505a8817a17b3552f284e42e536ef44";
+      sha256 = "abe8f35fe044928615fe6cfc947d4153509f88882fb94f06eb78f36ac8a5e30d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ka/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ka/firefox-124.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "7f13f053f74ccdb33216446668f20f37626e37f830680aa8250071522e73be6f";
+      sha256 = "cb697fdd6f9ea00ce308f1c060d91bbdfc5aff20f2992a78e2e342c0c7fabb6d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/kab/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/kab/firefox-124.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "bdcf5b0f64b03504329f0af0827d14499a203bde799584c707261f6397d9b3f8";
+      sha256 = "06984b0b178fd6ed37673e8d41670223377ad77fff6ef8a4a7f0bb09fb4836fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/kk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/kk/firefox-124.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "0f647e6096b245ef9c7329f5aa6c897f301060542ce8043e80384c22233e4a1e";
+      sha256 = "b0184afa67d0102eec7b58749dd3ede7790346b963a52643a0b7e7c838a51357";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/km/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/km/firefox-124.0b5.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "143f5595132bf337fcf34fddf3ec215a7846c00247f3d920e68321f4f57b30ed";
+      sha256 = "d5a344551d654e27a05483bb6fe05c878a2f1e726455b9e8cd2bda5ed98a3539";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/kn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/kn/firefox-124.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "cc9a91fd7809daa3d5bcbd5fe0ad5f5cc3717c9d7b5ce53dbe1c7377e15fa107";
+      sha256 = "b91561544bb249e22e01912acd473404b181cacb6ce1f181a8714416d049ae21";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ko/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ko/firefox-124.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "9c6d8c6a41de599eb8652ae2c3f5df83a70b7f1ebcb9582c60e66ffb10ab88e4";
+      sha256 = "9ee5565b3f09dfd5ae9475211ae610c58ad0884759f18c643afd8e4db5187e11";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/lij/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/lij/firefox-124.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "b7260ed32256d2082fe052b3eaf367ad5a14a8d6d7c357aa9719185bc81917a8";
+      sha256 = "d42e2636a2773df593f4534bf039e8c54db2e7deee1ad1ca7352902b71b551e1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/lt/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/lt/firefox-124.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "436b0381d25b939f63607d15d261f3ec4d639cf3c6bf8e4118427d037f19f38b";
+      sha256 = "d4a80127dc135125f39863ee6b6e59b3aa5c8f5e73df7adddb227e995a5634b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/lv/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/lv/firefox-124.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "cb508a4b712cef1e62f23237efa55f3c8ce539796f6aa301551d42d47f25a80b";
+      sha256 = "3f312f2a8744b84a6543e26b08d4ea20891f0e62e1aa8430e272b0580b736db6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/mk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/mk/firefox-124.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "7bc0348cd0cc869b472c3db2f815ff83e84bdaf58f143775abd122c306918870";
+      sha256 = "ea8c18c9a74d6108eaca2aa4e0ba42ef6452b6a96e2bb6f1ec73baaa8b661c3a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/mr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/mr/firefox-124.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "b8fc3177bf00739e18d4ff53cf7adde07e1f763db90c12ba94771962c4ae936d";
+      sha256 = "c501119c27b95406b81e93b41aa50088c1c87031469fdf891d35d89d09d5489e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ms/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ms/firefox-124.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "d4ed92cf6d38f0c63631d462ea6ea4ba51dadf2d0b36b08aafc23d31c3661b9d";
+      sha256 = "e39693bd45283c19b583848302dd405f0003b7caef939128f8c2f3dc2d5f6988";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/my/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/my/firefox-124.0b5.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "b99b30402ab8071b4cfc1cc565ce8cf06dc8d116e673f9349e529ce03a5b7fed";
+      sha256 = "d8a7e54d74eb3e743f9057838e0abf73def6697fbe5f9474947e08ba810e4bc8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/nb-NO/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/nb-NO/firefox-124.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "126574e1ea081fa5ce526a411d224024c6357e7b74e383038034d40f73e6b781";
+      sha256 = "a63953feb54e1ec1570f5dee716eda162d56b76cc31951513e9076108935aad1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ne-NP/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ne-NP/firefox-124.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "2b8953f7df629c59da03be91366d5a3f88779245d747678a20f9969477421588";
+      sha256 = "629e529489a676d536b72a97523e4343ddfa0ce2d7356a5bf8eefe0238bcb666";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/nl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/nl/firefox-124.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "99abc838e32ba697fba11426ab5c890f98fe58bba0f8e8f828dfabe15c005c3e";
+      sha256 = "12ea68d71847b815ad65d7a665b2a557a083a1c607b3f8cb18ff5fabf0002636";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/nn-NO/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/nn-NO/firefox-124.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "d68c301016afbfb31d9dbce6f1440f89e5b51d19a22a45ecfb1b39d15545a997";
+      sha256 = "ca8a111ecde3bd454ed111c55eae69da4fee13504a94c9df3a93c45550905036";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/oc/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/oc/firefox-124.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "988bdc93d6f7e4a6810491476cdb98339fb6997e873f594260e58841b36e3cc5";
+      sha256 = "902fc9328255bebf6773358103e06ccb9b585638ebaf5eb32505d867c5ecbfe6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/pa-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/pa-IN/firefox-124.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "2204323a7c11b847227e776b4ec21339663476a08a07e63ea1e304bec6bad34d";
+      sha256 = "75ed8b95ab613ea714fd646b1ee84371ebf873ede8a28b6c8e5e96b41749f755";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/pl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/pl/firefox-124.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "489fe92b3fb075bcc11e3c0281d2ad3ec29105353251f427d49aa79a6c207410";
+      sha256 = "cee1409e398d803dd4fe3050fa12b75bc996bbe553b9ffeef18ea0a085b6ee80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/pt-BR/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/pt-BR/firefox-124.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "88fd36ef9b83743736a5a3c23db70a395ae1fc4801296c3ec5f66a92198acf98";
+      sha256 = "448890c7616dc46e381d621df13a28ccb2ce721df244a26742652c846db4593c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/pt-PT/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/pt-PT/firefox-124.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "afaa32392f30f3d28b7f636fcd4aade8236b2b4de43b197f914842b757bb37b8";
+      sha256 = "05a961a4d1130472fad818ac29ef473b5fefa075f86848033c6624305c59ca2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/rm/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/rm/firefox-124.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "cb7f2493ca54d79aee3ac60ad0565a573d55b7d814521cff453fd68f60964592";
+      sha256 = "c7df75c5758d198070d6d978413e3196d42a18b061509d27b3092a003fbd4c4b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ro/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ro/firefox-124.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "2588e0761f102f81b7e195dbf48727e86f38356100f07848422025f3d0e778b9";
+      sha256 = "26f47dfc912a1cd2558b060932973f2a1f690f6a7ea8eb96d36787f638341a5a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ru/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ru/firefox-124.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "7e26d22eca5f65cdff96ff0156ca120047dd2f0de3c5aa1cc52d4f991722c339";
+      sha256 = "942c198c60dc78de58319a3b5138e573b44bc1f99d7e4d2b1325577c9bcc0896";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/sat/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/sat/firefox-124.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "14f77b1a92f7b7359b80c3a6d1b4ecc0b2d88666ee23342bb5f9bab7f9876901";
+      sha256 = "48510782780d5af7b0a1b6c6a86639c00312f066c69abc32bc447451d72ae8cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/sc/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/sc/firefox-124.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "cd6c90b95f06d305c9860084da7a12318d033acdc21ecccf2f485514f7acf9d5";
+      sha256 = "46d9cc6b9e5c47ef64c37e77cffea12f83e64d1460253ff4cb75ed94b3e4367a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/sco/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/sco/firefox-124.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "5e11949fd6c144922e128a9322bab335ecc361ea2d29fc595cfe6a7325aa8ef0";
+      sha256 = "7e037a7fb4c5c99557039cb1ae7618d724f3da2258d047881cdd7147d1174d81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/si/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/si/firefox-124.0b5.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "22f4a449eae9ae27cc586718308ad9c09c96603cd6fec917be7c1e007c90ecc6";
+      sha256 = "5b012871da0bf06f38bf1c26975999914e1fe8ef9824efc49f22c1fbfb6b89ca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/sk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/sk/firefox-124.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "b186826c9adf273db6eb3180f2972149f2e417770a683764bc7403d00a89e169";
+      sha256 = "16a8afc43b6d44ab7c29b753b1a500c6106c8c7bd54c3e8320626b77e2979eb7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/sl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/sl/firefox-124.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "b08c8a2032d110985f4959321b5c42d099d8ba057931ba8a2aba9d473b024581";
+      sha256 = "70c0cc00bf44f4d64a39c2c13ec01f9111c859190a2ca15137f21b2c1ab591a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/son/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/son/firefox-124.0b5.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "24a07144a22cf5af81f250ada72bea887394989fad69340005f516e770a42177";
+      sha256 = "d94707e16ca52af39bbec9b7d527274441e090d54652dfa5c9abc16821225839";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/sq/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/sq/firefox-124.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "47211e50ee162f4cc450ae3e43969ddc9ff3fdf42a4b5dc65dc0ff82b409e3a7";
+      sha256 = "642b971d675f9262e19402f47580f3b811240d3dad3c32b2f4f6e87b4135f2f6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/sr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/sr/firefox-124.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "628d23b0584188a1c77abe1400a3cfb80309bc8fee004fa4b9edaea3c0d4cdbd";
+      sha256 = "23928c430e1db120e84b530b0d3503b2e62036fa8849d9c46b6b1819ea76af64";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/sv-SE/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/sv-SE/firefox-124.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "ca97e41c25b873294953f1b0d1aedbc063469dcf3ed36f19623ee46935255249";
+      sha256 = "617add83937a3ea14002fe41c736137c8011d635e78a246a3f5002562b97f48d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/szl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/szl/firefox-124.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "7606531cf236e2e6a00627c6b698e1156ae27a4eac064c362ea0e96b9451df3d";
+      sha256 = "50e63481383364d50954f5bef8781c125b0f51a876a0377adb399eda00227ed1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ta/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ta/firefox-124.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "adfa846371635fdd08da383383400127b122ac077af8a1c7c7608e9b6426dddb";
+      sha256 = "16f2ce13302bea290af292f74d5c48d8db73ccd6ebea1ce2dc441848c233f533";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/te/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/te/firefox-124.0b5.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "8b5aa3dd89603a8310c27a49b79221e869a1002d6ddd369c3de5e46222fb2ccd";
+      sha256 = "1fbdd511f501b4b3be1933c424c315051079a3ca0d5670c8b88438266843ad27";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/tg/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/tg/firefox-124.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "ef133a701695437aad0ebf3883236a82792f374d94252595df88a7ce73fe68b7";
+      sha256 = "ef5d6491de252486f5b10708b0c0ea5357a2c5d6e0684047ba08949c19ba8651";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/th/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/th/firefox-124.0b5.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "29a62fbef1145649ce6b4e85b7f48abe6880136b3547369a5c745f674d0623e5";
+      sha256 = "1228222e854286521596d3add7ed91668643f8c243c385f90adcb12cd1b0e332";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/tl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/tl/firefox-124.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "94b7ca81a9f27bc2581e637d95e0096b8a58f9a982e1b8497fa2d432239df6a1";
+      sha256 = "7e55d29a61209982dc3a607d761e6c802ab82c8ca1027b4bbf4b47a403c42872";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/tr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/tr/firefox-124.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "7d8d340ed83c350661e43805a8caf132ca570b6b29dbf81795772539109b9e43";
+      sha256 = "627441565a2500c1c3bad1da306e4f5d618656d9533c89fef4e99977ccd27ab4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/trs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/trs/firefox-124.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "548b12d3476f7daa951559c171ebd174e26ae69f6ca4ebf096d78f4efd3744ea";
+      sha256 = "7418475cd4b2d3ae8540f0caf11c8dc81cc6aae0583bffdb7f46e643422c7e77";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/uk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/uk/firefox-124.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "127f304121949104deaeb92fa763c0cf6e64033d15fbe6c54b646e7b74cc2701";
+      sha256 = "492c3a21757e7b10644d3fa70e9f1e244a2d27e8807628088d4ade45ba41cb36";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/ur/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/ur/firefox-124.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "1f219d9f3fca66b099b3e1870e70f55a253ca62df455cf8d05f768c1135f95ae";
+      sha256 = "e4d7126211a34d0bc17cdbe026554fb3cbea722c2f56d1926698104d78e7207b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/uz/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/uz/firefox-124.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "4cb8f30caf29e108d7054db00eed27fdb1a9ec3ce512480f88b8a462f60975f0";
+      sha256 = "d8eb419cb6e4d1e86f68ddedbd42cedff86d6156ae832a32ac5806152f279a6b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/vi/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/vi/firefox-124.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "3fccf94bf7c4605e3c2ae45cd688a90f18bd9219bf600b9397c038c21fcac584";
+      sha256 = "d64cfe0c88935ed7e40099473c25a9e56002926ecbdcc29d8ced6432b0236a7c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/xh/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/xh/firefox-124.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "74b6121bf5bb1f010141ff5de9e8c3c9ffa037146752baff3b8667cf79e9bd7b";
+      sha256 = "7252e30e3656ff20dbafd9c53d5f56844997ae1e02745f59b69a9091260a9035";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/zh-CN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/zh-CN/firefox-124.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "9c6d151d68183d84b8c68a3bfb070709c7606c4a3e844db7db5fda8e0d3e7a94";
+      sha256 = "6af38bf66fb726a6b59986bf563f6f18f50a8732a342bf2fe305a0b3e9c2226d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-x86_64/zh-TW/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-x86_64/zh-TW/firefox-124.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "d29f8f77e4662695566c02e6307b36e6d7b8f3945ad3eb64f2b7e99ca0d3c804";
+      sha256 = "2979bd2b956475ccb6f6de52c7669ee59351bcfbb4a8d9be139edfd044558b9b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ach/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ach/firefox-124.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "4fe8bfeec4a8c3504c2c39f16d878f567c4882d70573c5a3c0e801e0792e31ce";
+      sha256 = "c72c8fff286e4ff8d51bf6475a1dfbe2be4676eb30777b093457bcb3346fd818";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/af/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/af/firefox-124.0b5.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "bba30e236e18a645b3f13b283f39eab426ed5d8cbf44277d18d8bc8ceca2980d";
+      sha256 = "7f604659f0cc938c54df6ede433514107bf787c9e06debb7fd475ab050cb67c7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/an/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/an/firefox-124.0b5.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "e9cb8fb9bab58fb16938605e8a955585bcc1bf3469184a54c5c579f1a24a2ffb";
+      sha256 = "7707076fdcbb8cae6eff8efa1fd0dac40dab0fa7d51486a108161dd8439202c3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ar/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ar/firefox-124.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "f9cebbb247b9d75eae4c85430dcd939471496776637619233c9333a36384a2f0";
+      sha256 = "945f180d474b967c5297c73dd52726967fa337d326d044436cf4869e34db88a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ast/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ast/firefox-124.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "a54e80da8bf3f4ef8141f687a95f3b9d094a0ba68c5316e1b57a9096321262ed";
+      sha256 = "fa6b0152749881c13f8979b0611b9dbaf8d878f68b8439f21bc88b34c7d580bd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/az/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/az/firefox-124.0b5.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "32bb9a71a02dfc99ffd94a28be0fd5e3f1c372b776588a234c6259fd7393a335";
+      sha256 = "9bb66edacd8eaf8c990f0a36a7547e6256a715dcfe7888ad15059ffc89b70984";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/be/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/be/firefox-124.0b5.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "15fdee527c4a51092101ac96b63752b9d382afefdb0f9b71f3f6f30ea3fde8b4";
+      sha256 = "cb1cc8ef5798630117016afbd3f8fdddc66d1a191fa85bedde763e2793a998e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/bg/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/bg/firefox-124.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "4422f0404e9f45ad4708d5b5050792fadd32cf28273fea44f1e9bdc654cbab00";
+      sha256 = "683c069d5da161b02f54255a9c7a62732fe02764d8ca1ad4233f989f09ef52ad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/bn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/bn/firefox-124.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "19733ad48c15419d9b976f5b7fdc189328e2769ecebf441536d8c0a4a5e5bc9e";
+      sha256 = "65caa543af3ecc5d8d4119516c57898c7644aecc988e45d59c5fd4fe2c631e28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/br/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/br/firefox-124.0b5.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "fc0fb718b019be2cdb3f5c445f0ccb21f2362572754a9cd0bdbe3bc56539043e";
+      sha256 = "19cf0bf608bea24c1c0758e07d1af6ca98d7cde3a27f838c4d9811e59bc6f7c3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/bs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/bs/firefox-124.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "79b110f0e8d6f5eb330eb1fcfbd590ac6cf9e3e94f877be3c0b376aaf6ea6fbb";
+      sha256 = "5a5ae9daedd8e961542c6a81c5909a18a128f7a389f2441fb95be559a83d9f28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ca-valencia/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ca-valencia/firefox-124.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "964ad7a1da5b4becb917438d6fb3f821957bf0e216e941c46882c6dc16f642bb";
+      sha256 = "51bff7837d421d1a6e431cb75ce04727dca12d6034d1e919d54409cc4c375023";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ca/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ca/firefox-124.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "713a920628fde9099dae30d9574d4b9fca557e1d996bdcc859a061a802692ecf";
+      sha256 = "28af0576ae0e4fef698e701560a1152264cdab0e2aec01581d8eb7cbbcbc4499";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/cak/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/cak/firefox-124.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "94cc969237012f7368c892acf2872a366a14f8738f88e41542e9dee81e5ee6ec";
+      sha256 = "12e49ac2213e35825928f585d6c0dea8eea1da8ce5b5533049d2fbfb188b193e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/cs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/cs/firefox-124.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "e690f07b0dc7a97ec9cc144e9f3d604ea9ccac52700ec5af8b100c55bdd585d9";
+      sha256 = "2256f53d918bc5dbae5064a1c79d828fc2f3731caa9e4b24ebf3f321ecd752cd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/cy/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/cy/firefox-124.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "c75f5c9702a8c22de5899ad40a7753c1ad6426fa4c8af34a9f420a3d604701ab";
+      sha256 = "cb4eba3e523ee5adf085d0d1b989f26873ac0ccff0bfd560dbb25222c74262b2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/da/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/da/firefox-124.0b5.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "606391ffe609b458dbcbbc859092f57bf4e25886ebbe7fd86c3bd7a90e7dab99";
+      sha256 = "5f1568a418b84d226061d43e1ba59a2f3965308da9c9929e28e7d3118f241559";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/de/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/de/firefox-124.0b5.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "3b09c5c61788f2d62e853bf59c7a67ba362505d67a0b8eeaf84217d0b4f18744";
+      sha256 = "2d278f63a5b88792951e3c9cc71984ae60d6df63cd1ba626edf11fb7d6daa72b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/dsb/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/dsb/firefox-124.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "9a495dfccbc1912f947ef1f31aa843d07214efa9820eaa91fbf3c40910b8ff68";
+      sha256 = "067d0b71cc09b6b11d87d2538410ed010f5d8315c4e1cd0209ac56f8d7292b23";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/el/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/el/firefox-124.0b5.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "0610b38698998866f9a5c063bb5f44ee87c7c15bc154155a9ed22d701028e2ab";
+      sha256 = "8753f6e8a208d7d9b08925230ff0c34dc38680831de15e0842e7f943b958f495";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/en-CA/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/en-CA/firefox-124.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "ed1911bdb239e19791563e6705dc1b70eefa169898b96775bdaaf0aa7bf3dd29";
+      sha256 = "e1c3b136a9923e7f723599e4c41e2242709f93a137388c7a55c2fa01b0f8d66f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/en-GB/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/en-GB/firefox-124.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "12a3191edae0f6ccb4c85494e0f0040d9bf925442c10a69c894da1712461ef0f";
+      sha256 = "4f231c143426cf73efae5ef599621fdc4378983058b582efb2276fecf9c4d741";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/en-US/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/en-US/firefox-124.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "940bb46e4248c2a9071f4fb3d71b9586e86626297b969bef4e5ff528615554aa";
+      sha256 = "e327a18633e26e6a2f2c3339ca20bbc3439186ac8623d5ecc62a6229e11d73d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/eo/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/eo/firefox-124.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "10c70332248aa9018d887403f5c1092d6d98022132708b3e0e3943399b04b883";
+      sha256 = "b6914d14bfcd0cb9ca6753d3d73118914c76a6c1578415e6bda627f5ec60e817";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/es-AR/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/es-AR/firefox-124.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "35f97454fefa3b9a0ef3f9a9fa9e63a40d22787c6eb9d5095d5e34c30911a13d";
+      sha256 = "5106309277a0bdc496fdc1bf6d038664b390706821d8d16b82b9a5e844793a48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/es-CL/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/es-CL/firefox-124.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "92ffe8ac01913b065b4032cb1094cc2a9260b1667b8a05c401c70c1b3bf3e17a";
+      sha256 = "920a6743d3c2589f0eed4fcb5db347dd451aea9ea692e41848f2571df04ed39a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/es-ES/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/es-ES/firefox-124.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "a79e36d36869571f4478b91ef650a5d0b13a43e4f86961d426cf33e3743a0f81";
+      sha256 = "1e17d715730b510ddc39e1946da41221b68f157feef8b22fa93518afc035d268";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/es-MX/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/es-MX/firefox-124.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "fc950fa09d21889a75e234c4e23246e31ed30dfc50c0515ec19c511d4b481bfe";
+      sha256 = "8bb595e7f1b5487dc797583b1c72e53f67e978eb40afa8092fc8b9df22139e29";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/et/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/et/firefox-124.0b5.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "089f99c63bade52974215cb1e57f98fec7ed324e62679843a4f9c393c0be1bc6";
+      sha256 = "afb7e22590c3ec2b2bc577f783c6121a0312041dfa983a4042ce1880299bd739";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/eu/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/eu/firefox-124.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "95f9056932a8c40cca3f90bdb8af0550c1ee9aa4318f17be467f603ff14cef6b";
+      sha256 = "5a054d18e7b80f3a3e0e38f8f65d726b2f7f71fd8641d10cb7b2a99ce2d40761";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/fa/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/fa/firefox-124.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "60e6d6954163029c7d7876b419fad35c87eca170b15fe6080b481aadb952180d";
+      sha256 = "37e9e4103ad71843732012b4f9576acb1e538404ad8b1f246a60a898598b94f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ff/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ff/firefox-124.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "c7bfe5a9b2050403f3608c54e824b2954fc2a2090eeda513179a1152e62b2b92";
+      sha256 = "4ef6ea7c74531085f295c4c24da699a903e862b93966effbc1ba788946c94514";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/fi/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/fi/firefox-124.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "454ac7290795b45a29c7394261d0c92caad9caa4220252c955c7c53634a77ec4";
+      sha256 = "aff1047d05b4fc1557a4a1a0913fb109f9a9ac913e1055dd3d83c84456a1ad11";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/fr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/fr/firefox-124.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "7e2ea1d14a919e8f482ccb9376201aca19022ee55b5a31f05e4d296e7b6e41bc";
+      sha256 = "bf27f573772c6f4604ffd8b231c741bbbdf6f6f550d7a7e815c80c25448d68c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/fur/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/fur/firefox-124.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "1819d23e008886916fb5069413000e447809cc5928ad4d149552f4502aaa2c1b";
+      sha256 = "ce90c58dcda5735f20ce6d8cd6de600e3317c9b61bdaeb9cf906d835bc71cd34";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/fy-NL/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/fy-NL/firefox-124.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "990afb6a57de950a0fb70a0ccfe5bdf162b1c899183e3adad97fdac146161870";
+      sha256 = "d8e9dec1c6ee2d2e9c7088d2667ead8bd5c25dff121945df79d1485858d46237";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ga-IE/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ga-IE/firefox-124.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "09fa1efb59b8ad7de307f6b610b33455d6cc7a0337f34a8f129301654ab66388";
+      sha256 = "1019ed02595beccf552b06d966c2becf58c52bf63bf8bbfa7631c5467060a77d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/gd/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/gd/firefox-124.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "8478a92590fac43ff43324b548d7ae259c5de605f4ce4e9ae1c7ba8e18b19ff3";
+      sha256 = "7e2b5c1f80810df8e22252321e0c87f62da5bf673d4d2bf7e32c4c235b6f8ba9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/gl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/gl/firefox-124.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "7f7433a74921f744500ac7db11df73705f5d852de8f98f87993b6cbc22064e55";
+      sha256 = "6080f23fa5ed30ecc29203be9b46722962605b4c6782636f8276b6d09812074c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/gn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/gn/firefox-124.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "56fb8e346604092e04959b2c81c7aa400ccdbb1ddd10d3f9e74b73dad40d45d5";
+      sha256 = "771aba5bf954301b0bd8a1f28fc5b21be380f044d663182db4da5c58a9811498";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/gu-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/gu-IN/firefox-124.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "b7e6e79418fdaf5cda925294f231e2fd53e1b0d37087691d2bf3beb5e76489ab";
+      sha256 = "c15d1bf95686b1c61b120c9dd68abcc82bb96f06e7053de38491bea049b7870e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/he/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/he/firefox-124.0b5.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "1de395bbf21428c64f32db852171f67d9ac45da9d16d29bfd8f5dab0a97cb6a5";
+      sha256 = "704db19843bd8aed88485b13e65e0ad81afb934a50264139bf4b0c78f0c7ac49";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/hi-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/hi-IN/firefox-124.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "7fb06025747de1c564c0ec13dc2fde96905cc0dfe97bcd85b38b4589047ed933";
+      sha256 = "9584a60e7eca3bc87c2d49c48dfeddbb910f5a5e8bd5250208095e9ded2c5a94";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/hr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/hr/firefox-124.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "2fec6480adb336eed80e9be291ed15c9ea32827cabffae13e783588e43d660a2";
+      sha256 = "52b147f44dad1494b3460e37470656325d83866143071e4e4795a9d7ca5ffbd2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/hsb/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/hsb/firefox-124.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "fef4012c9bf37b4ce11297334f09b54bae25f569da60a10a1db6e40343ae2a95";
+      sha256 = "e2b6f044600d71cda816078e75d378df4145255eced332ead017fcf6795212ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/hu/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/hu/firefox-124.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "764029d04bd9833239d6649e1551807261ec9bbfa62baf679b2b268806bd2fb1";
+      sha256 = "8a61b35c4ff40fbaa8bd09597e33ebb5cd9d3291f7df3d160c46745d4cc39505";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/hy-AM/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/hy-AM/firefox-124.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "97c7d35f406587904eca44981c2786273e1ca9d27396ed8e3328889935803e06";
+      sha256 = "19ab45664ebf3160ef71762df32f3ab61ba8e8d3facbf9219858f67cd669a2fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ia/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ia/firefox-124.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "73e55883abb72c9903c75cf6fd83d9501b209c91863faff4a6f5dd86ab2691e3";
+      sha256 = "8130c47f85fdf7c889fd264972ec3873cd824ab51aff1a786e909448d2cd8901";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/id/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/id/firefox-124.0b5.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "8235188b0756edf63d9c49b7b078b9254a4f902cab8dc1b88d477bd86b6f4cf1";
+      sha256 = "e36e080403eee96f3b85c1516f9e0d95fa433f19bff038ef5b8d562139878378";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/is/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/is/firefox-124.0b5.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "2b288009c99b66ab115be16159fb7f13c92af2a7076b16c029efe220c2cb7068";
+      sha256 = "0af7afa8188463b150bd0bb5a6d70280563a32fba63064238eb99ebd914dae43";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/it/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/it/firefox-124.0b5.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "c752c720c292124f06dbb70dfcdd67a146fa2cc8ae874668218b72dd4ef1b65c";
+      sha256 = "39d4bb3eb6d4f332478dfd7151f681f912c48c9dace7fc5dad0684f114611e73";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ja/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ja/firefox-124.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "34c43c7800927fc6973b1f16aa54170634a487ebe125312e2055ba19bc080009";
+      sha256 = "04a1c82420b4bd333d49c4937a721a5bfd9c01479c975885ec12d6dce5646601";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ka/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ka/firefox-124.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "a2033551b1bbff58c31bacf696286937b1f64d14a0f31d03ae07313d29af0e47";
+      sha256 = "b3b9f59d8a0b8fb940edcf4ab2d9f68e59e20335410c93c362995739a58a0fcc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/kab/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/kab/firefox-124.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "4acec4cedd4a381e256418e5fe437cc173a6383d7653d37c1e9e5d2394b10463";
+      sha256 = "b5632bc5575a1ddfcff3db4b92da6d9aad578170e491f55158f203225f74ef89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/kk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/kk/firefox-124.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "d25eac34b55bfbf2d3e07fa84063a7ec4f2c8b2001b4adf029bf30d55f40a5ca";
+      sha256 = "7228c374b1b3589dbe1b72be1c108e92b5d5b1482b211eb0920f0fe5eb8109ec";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/km/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/km/firefox-124.0b5.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "d03a636b04c142350003363bb517288b2e89b662e8aebb57d14f1922594bf361";
+      sha256 = "4f33c09de0b2bfabad01aadb3a599606ccda4408aaca1f46b850c6d3b0cfc89a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/kn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/kn/firefox-124.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "687725ac097bcf14a9a8827feb3b8f349a88c6af73d8d3ead28e762dc59bbeb2";
+      sha256 = "1019326622395185993433b442246fe4f0cfff513b58143c0e8073c888dd8bd9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ko/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ko/firefox-124.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "f3a2175461a7a80e24ce3039ec4df728a91ff22beb8931467ce729911d845abb";
+      sha256 = "3ef4b7bc685aad7c95c85fea9c66bb708fed3619233ceb99ae838d856988bb0f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/lij/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/lij/firefox-124.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "94c927b3a6fc1fdf045669a7e99a5fafa9d41237d16a14ae4f9a1bf447be8da4";
+      sha256 = "6bb1069a877d6e70af29e47cc924e182e403ef6cd741272a4fb40c35a7661a1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/lt/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/lt/firefox-124.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "20365acd6a1336265faadb1e91dcab7543471b6d4084e2ba6d5771058462fdad";
+      sha256 = "4ab9105cedeae72c8bbed0ab3ef445d3aef9aa1da200e8011249d39193584bd0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/lv/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/lv/firefox-124.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "68e886e4aa30387c658aa5b68b21188a7b89210a1cd6aa79b7fc3bf7dae8aac8";
+      sha256 = "66a9833d26660984ca37fb09b321bacd11882333eb416558d46854ac213f5d5c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/mk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/mk/firefox-124.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "c34e3272ab90c76794e770322b9d6fb76715e249c8f114c1dcc941fb4c5a2168";
+      sha256 = "3d5deb04c79687e5d364c734c30707980417dd478edacf83dc915103c8df1fff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/mr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/mr/firefox-124.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "24dabf9589f3d82dba29fc219513df7841ab4d039d4a3b5235c45aee2a7d4142";
+      sha256 = "217a6667c7ca77dc9225bbb5d590149dda4df4c50f8c367010bc1967d1de885c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ms/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ms/firefox-124.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "b7b251b723ea0bc4545516172d29c6ee7de36c06c4de8a3850be0500384ec859";
+      sha256 = "2c4a574b86ebb09770174adc1906f036b4cd9a1047dbab2470503c27b8bf8c34";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/my/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/my/firefox-124.0b5.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "7fac3b633b65d20d9c55fd38565797c14ce94403553accc2c41dae206395f293";
+      sha256 = "889185eac6e208029c98f32ab360d5d5d6706a6a9b74c8d0d6c223408b276bc3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/nb-NO/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/nb-NO/firefox-124.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "44855c63f4a7c133d0a8b3ecd2ad80a2671caf558fd97bf3001692028126ef7e";
+      sha256 = "54b3ebb3e3765edc5fda8dd16e77b0e64dc6f8c62062780f43fc31082b185dc2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ne-NP/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ne-NP/firefox-124.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "4e2a34d3c0fe86016b2f01a35b2617af3735b28bb7873aabf8668ed26ced2745";
+      sha256 = "d30e24a98bedba69ed1435dbd198e2cb581334df6bdab799e5a522808a111d78";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/nl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/nl/firefox-124.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "09b618d19c9a3ffbcafaf4b9a75741d04de328d721a065526df8e95ea1c2de4f";
+      sha256 = "04d65559f5741c4546ae74645c32b8ffe26a72581e845c41a13485d8cfe30e21";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/nn-NO/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/nn-NO/firefox-124.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "92bb2fa51f920c42addd1c8f3f93d887375baedcfb29d3915c86ff51a7a1af75";
+      sha256 = "b2691a3729afee02ab3b9eba68c08798950e912552d75723436914b4efa34919";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/oc/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/oc/firefox-124.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "e0042d9449a799094aa5f2c28cffbaf633807d56343ec403f497bcababa0979a";
+      sha256 = "fc78773fa0f6667a5685cfb641523df9996d25d3fd325d5c145ee533ad668a47";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/pa-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/pa-IN/firefox-124.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "af84162a056a60ec1677b17a91587e87e9b62c1d238a613b1fbb07e5cce214a8";
+      sha256 = "e7722d661ecb1bb90fcd3aaa74dc180e9f7319c7f291ccacdfd8b8bf7b47f3ca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/pl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/pl/firefox-124.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "6781465486cd966af11443e3df450979eb25753420160ef5fef98dc121d43c79";
+      sha256 = "b776220d9d296f62f6a73f6f6b8c48d681e6d51f06072d8fe18224ead2727e89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/pt-BR/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/pt-BR/firefox-124.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "8b338e9ef4fa42fb6d2f36d9dba1642f95267b645e7ef84f6fa4d395f895ac43";
+      sha256 = "31ab39129ac43049ee04baf7862a8f37f31eb5475474c3242d4bb65069ed05be";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/pt-PT/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/pt-PT/firefox-124.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "490903e862af703908e340ff5a619a076534e66cb033fb505b9d484b933402bb";
+      sha256 = "051f0dc8f2d9673e9998f567e68c5d93192cf868998f9ee1c8480695c868abfe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/rm/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/rm/firefox-124.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "5c7534786f2d4c2682b2a512babcfd1ee5eaf1c1f2ac5787b0f8081c4eefcba7";
+      sha256 = "ab7933e544de5d6302911970fa52af650c85ab3de3a1da40eb137463273c92c7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ro/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ro/firefox-124.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "a783b0921654573f134a8635dca1274d89dc93453ae5efbdb78c3c1d7591b3cb";
+      sha256 = "ee617771912c1c0ae3bcff35a431dfb4409cfe6f4e7f4498fc6cc9402e57d9f6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ru/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ru/firefox-124.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "c4d687be2850404fa1720adf9815b86d9b36c40eb30fd370567bbccfd49f0298";
+      sha256 = "26b2a86099de12870d55407a3742681b7a3ca1595b596355208c540728a6aa8c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/sat/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/sat/firefox-124.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "a010c02ea3f4ec76f7de71f743faa728ef450c49a5a5aa9a14f2b9387beeea77";
+      sha256 = "dd2ccdb96290275332c1cc3c72c393b293d0fd2ba13248c92af3faeaf2fcb7f0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/sc/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/sc/firefox-124.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "dfff4f0c69623696f482ae4be7153b1c8f45bab486729c06497d556c1764b564";
+      sha256 = "a802cf0fc342eb63ad6330dd75f28cb2a437a701b2e06128a2e1ad08d4622496";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/sco/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/sco/firefox-124.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "762c2a782d4558e175a947c9dda553baa6b72d8de9d5fe7a5492fcc1beb5a9a8";
+      sha256 = "56b0b4bd0db2e6c47e384e3c095a39fa0c70aa1a2a1710105ad99003c0ec7955";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/si/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/si/firefox-124.0b5.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "1be1fbb87d7cf1fad185946932e3fdfcaa1763e959d3abd126c0cb880e3e4351";
+      sha256 = "4033b4b774bbc9fb7839dc1557b3ded270ee14deb70a116b111021ee7d22e3e7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/sk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/sk/firefox-124.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "dbe63db23c726e0c42390d57c57b87d1ad9af98bbd2a1dce95de66481e509e96";
+      sha256 = "d90ca875fb4d5aaf5ae2a2d9f26a62b3e78107eb900e570d54b1dca405b724ab";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/sl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/sl/firefox-124.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "97f76716051e61faa9148e75608f0103dc3132b5f33021de90b59f0b2d22e421";
+      sha256 = "896acd6535ce42f8fb1ee66dd39137de3cf18d4439ec10dcb1d28ce45923d9d8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/son/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/son/firefox-124.0b5.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "370633a2800ca6dbe8bac859dd93663cb0491713e17f84d157f28e78eed71393";
+      sha256 = "2516376b0843971ffd6aef0ca14022835c963eb0f1360137a941189eca4ca273";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/sq/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/sq/firefox-124.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "911e0a6e6be7cf0bcb28914dfdcf936b0b50bdee74750faf383cafb13947d811";
+      sha256 = "ece99d294565c787b94cadd992aa9ae3596df5a3e0d79214606bf5115e962eed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/sr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/sr/firefox-124.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "dbe160780eb8e36e12dff33987a4433d40712691f9ae80e365671e4a7cf9500b";
+      sha256 = "0907bb87d06a9cdc7393953fc528f1aa01493520889c68cae81be1b1fcd0a4b9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/sv-SE/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/sv-SE/firefox-124.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "6aba4e8af1db24a463b899003e2d3dff4da71d48127712add142bdd7d970c0bd";
+      sha256 = "cec1b86e3f87680f95183090d08206271910ce13beacf0681d56497fba937228";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/szl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/szl/firefox-124.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "81d293a8e72c4045c4d743bd1aa264d3f5e5523f98fbebee170328625f3c1cbf";
+      sha256 = "c28f2cdde800e3dc6acae4e257fc1c7466568294adf06e96ef26b66ed9786530";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ta/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ta/firefox-124.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "84f74f475ba05a3a96eba87c0fe003b4789e0c850fe0ffae9a7f0cb67ed43609";
+      sha256 = "f5b421495a032d3a584ebe43638bf2721f1400e5d5714140344301744d3cb6a7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/te/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/te/firefox-124.0b5.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "e60b27e7e101b13f014e56948bf30f4ab25f9bafa2a8a0f35c0feaa36c77d1dc";
+      sha256 = "9601c95bd9d8660b7c862370233b710e99ea2d789702a6d7812d75fe59ceb84d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/tg/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/tg/firefox-124.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "b5dbb5049b6cfae7af1577bf44ce62ea229d92446b2e6cd0b00091b95949b3ce";
+      sha256 = "96837fd4aafeb63b54097193c776c798f03c86aeeb1f952a4bbb38ee37641db0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/th/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/th/firefox-124.0b5.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "5d97e3b51a1611908f13ce7eb3f7b5fad7bb6376dce5543b0220c953ea0d04d0";
+      sha256 = "c0fcaef5e94b5357747486c61088b5379da9fa76ebdf2da12ee47e7938f8012b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/tl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/tl/firefox-124.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "36820e779c310fd865a28d0e0dfec9b7a4bd82028731c78312c82bccfc4d61de";
+      sha256 = "9a78df48ab64fc9bfd58a770570abc75b3ece5295e483c87bd4b80b676699084";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/tr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/tr/firefox-124.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "227e15b346d6eda324c2945cb9bb287130bb932415ee4acdbd20b898b957be42";
+      sha256 = "ba817e3b99ffb7f25005164ab5faf505896a526d2f6a3cdabac4ca9d5388d0a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/trs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/trs/firefox-124.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "c75690dd665415b7b45b7160affe9134cf8e6181a6f0d3c818785e7f89cfd421";
+      sha256 = "d4d98090131f4222a89908dcd96ad723734187bfa12078df2cdde2eb88a42b80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/uk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/uk/firefox-124.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "a2c892a3611af4708356d49939bca3045c4a28c0e96edde50b293671a7e7778a";
+      sha256 = "0a89b2feb31cdb9b96f8576b53bb38188b78e3a225c75b5cc549d40f84239912";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/ur/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/ur/firefox-124.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "bb506bf2acdc9f6bc1781f859b2758ed6faf08326d8bfd5b2fbd5acc41111dfd";
+      sha256 = "a1f8bc32290d3b7c36796aa8d969e75346bbeb5f315cf38c143c0ca172bf171e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/uz/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/uz/firefox-124.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "d1d2c71fdb55630413c80a820fea6f3269bc4612af6a5c4b9ffa11dbe051dadf";
+      sha256 = "43aa551a19e051e3e30ea2a36f66cdaf8136f51b3f8b3d59a22b8ffbe81111c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/vi/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/vi/firefox-124.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "e681801883e39fc89a919eba6a0c73ccb8e341d0a0c900832e7b49a78c57454d";
+      sha256 = "22c298ab967d7c3a54b1282890e15cc6fea5c8917281473eb623a0cf0f506255";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/xh/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/xh/firefox-124.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "f68e316a11012f12c90a0b028f0e539e484b7f34d1e4cd693d943adf2c7ee198";
+      sha256 = "de923b5cd70637072481a3f7807bff050c46271ade9be688a52bb4f37581478b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/zh-CN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/zh-CN/firefox-124.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "973d0dd3c052d41f15b4705e3948f761b7727b5ea7bf3fbd221ae9e5c55d7af8";
+      sha256 = "a54545509427e22187e8da4f1aaffae25a727e9e82ae41a141d7dbe3c5f08a46";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b2/linux-i686/zh-TW/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/124.0b5/linux-i686/zh-TW/firefox-124.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "dde83ed0876b328fca4a36fd430890c470cc2846226114f9d51221264065600f";
+      sha256 = "ffb6a8b9041761bc2b77a1d5ab74c6fc4b973dbfd6e46b8967d20f52b8769b7b";
     }
     ];
 }
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 a9a6715eb08a..38dbd0a21f65 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 = "124.0b2";
+  version = "124.0b5";
   sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ach/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ach/firefox-124.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "74793cf9f40a8417cd139a8a5c1eca067d775a1e68c86440ad81db2d84497cb2";
+      sha256 = "3a9d427227b0e507d013b8339c945736bc39d7360c12528017e2c46cd712b74b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/af/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/af/firefox-124.0b5.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "74c505164e6a0d8b175e3b2199b70547d4bdbccef020bc7fcbe257c069608c44";
+      sha256 = "f9389fcad849bc271805a4f6d646bf928c94b7cb848c87599397b0f6e03a5665";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/an/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/an/firefox-124.0b5.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "3f9527cfdcd3f4b08f2fd78d377b1a837d7217576601b962ea20592041a0480b";
+      sha256 = "e021bd8a0c1c6c8f2df3a009586b31ce45f61e3cf38719ddef8166248d9fbd28";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ar/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ar/firefox-124.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "8a00ad9daa6c1c7ccf66b79b797a5d0a882859ad78fa37e9fd345fdb28f220ed";
+      sha256 = "49d099742322b2b263c27c1d86686f76b1fb8130a53b67080d1d616ffbcd4328";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ast/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ast/firefox-124.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "428328be0dabebb838c00492f35c9b3fd0fcaa97c8d42c9f1013fe8b1bad417d";
+      sha256 = "e0396631de1322a7a707451e12157101dbab304e2850300a3d49d4d4dfa54ba0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/az/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/az/firefox-124.0b5.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "c4db6c6aa1a290bc53aa62c40a4103ddf6de99bafa853a5abbe888213dbca475";
+      sha256 = "8e49721bb354ee02c773682fa955a7f6a6b39fa7a1deb5531bddfc6b65d9cac4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/be/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/be/firefox-124.0b5.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "e514ce12bb22492858f0656921239e787c712ac00194fce29569a529c3fdb4d1";
+      sha256 = "5e47c784631398d3fbcdeff8c7472b63491c6a762953ed737475d001c3f237cd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/bg/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/bg/firefox-124.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "ff16975b2740bf9de9e791c9348aecbec9d100b67e31a117d86d27644a7c9c87";
+      sha256 = "efffce83ea3619b5370c765d1c56841c5da3139ede76f9cf1bb73990df6dc630";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/bn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/bn/firefox-124.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "4c6940071a7c6f13edfc3d8c91866b95b36d7c3f0a3c01de3a4608812533282b";
+      sha256 = "20deb64cc3881e1ff7300db626088cda56447a90b28725bd0d86d5e600e924ea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/br/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/br/firefox-124.0b5.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "9a89d3f72df6ac42e75de85e5283fd7fa603a22043037efd291c176834abd26f";
+      sha256 = "79c05c6ced75184d302cbaa0f3a11c9560fc444f7cdc869426067e0e97e06f29";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/bs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/bs/firefox-124.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "d5365e33356f207099880879c7d9acadd9161365ce47a64a6016dc572aa7e54c";
+      sha256 = "fa437eefe4b569f3271ee4feabe0f7636e3311a1b90ee08e59100a9603a92bc9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ca-valencia/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ca-valencia/firefox-124.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "1d975036e67594bf488e0376e2cec3ed35860e343979d307ad41b079707d093c";
+      sha256 = "d134e16646ed46d894350d8758101aded28e94a203ea6380ddb708f63973fa0b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ca/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ca/firefox-124.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "305a55e1ffbbcaf6a9dd7e22e860c2f93df0d22a76a8513398643cae12576201";
+      sha256 = "5620a53acc236bd3aea1e325936134e8f0743acf08aae617d24fa4496cf39f06";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/cak/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/cak/firefox-124.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "4e0879c0d4ea48250bdc957e9fa54d2de1f0710c35ce6955e12a3f8ce3b2f66b";
+      sha256 = "69700283c291f63e16e47a7a1a1074a2cae64708ce5fd2c0b2e2232829a6acb7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/cs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/cs/firefox-124.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "40d1cc5b9c5dfa0d368c5c1c3c078774883463d13414641135abd8b77d4d5f85";
+      sha256 = "efd6574b6a27aa77525edc3d1789b86a4ce3b39024670a3703ba652e8ac3252d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/cy/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/cy/firefox-124.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "e177ea044ddfa85e6963c21d5fea6295f983a1ad03ebb3b5cf1d0e3c82234961";
+      sha256 = "4f13852f795a6ecce2cce51537412a7cfc820d95627548b136c9f63fde959dbf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/da/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/da/firefox-124.0b5.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "ef0acbe342ca124a02bce32bdb67f534dbc3965c794d60c878c1e412bb20ddd8";
+      sha256 = "bd1c60b9026e168d704c4effa522dd944f159abf3bcb839a9f50620e281c0eb5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/de/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/de/firefox-124.0b5.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "9fdaccea1990185581d6b004ca59044af49c2c9a559bce6ac3f2322a9f006978";
+      sha256 = "a0d9a1d95f802c1bd2251e96bbb694582acf69b4c63ec14f0f7ebe3201f8c55b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/dsb/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/dsb/firefox-124.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "a5aae339dd95e857b6c4c3e94c2a43379b711c2cff16c68f83290a94aa90c706";
+      sha256 = "be38971a053252fc897ad1c16165b991e4b94a5edaa1d1aa358c26c6cd47055c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/el/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/el/firefox-124.0b5.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "acee82b0e2b41350a3bf457d002653d2b4631c5453696d25c78f10b0d9fb5a75";
+      sha256 = "9be3cc3c4299e2ef1da36eb8b432b9afca72a103cc0e0c8d921147c003421e6e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/en-CA/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/en-CA/firefox-124.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "fb04adbfb97fecb86d4508f9f3d30b534c055dd676bb440aeda9e2e6b14ca63f";
+      sha256 = "53edf88fa6281f86fd59e29aed42672488c217df9ee7cb610fe6823f38daefa2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/en-GB/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/en-GB/firefox-124.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "326c1c63e361e1c5bdeea0b8522e2a73f333a3fb32cd3f4838ab6eb0243d1c63";
+      sha256 = "b1cf43d40fa62dc43c049be0f53b27c93412be3363e4f1b87e3edfc2b5b0a568";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/en-US/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/en-US/firefox-124.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "e11b490aaede14535fcac0cf05410a8125002fdb8a0eb5fadc40f70059a2edfd";
+      sha256 = "a3a6ee9756e0a49675129cf9a82e24e55df476a68ecc7cf23e7d38ba16549b85";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/eo/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/eo/firefox-124.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "5bb6103b01d81b159a60dae76b327e943c394e73472299ae25a97cc611394595";
+      sha256 = "0ad69137b8befc8f472b0f39022842747b28a22f29695b0cced487ed7050a49c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/es-AR/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/es-AR/firefox-124.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "39367f994b4c9fd4a72475bb0da452b9030fe71d044b9788a4cd68f43419c031";
+      sha256 = "70f7f24ede7387e4f3f1a16e06d5ad1eaed16cd20c07eb80f690ddd9a7f28d57";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/es-CL/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/es-CL/firefox-124.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "4dfceffc0bb03e5aaeba7d9277f2dd5fd95ea82673ef434ddcfe302376c227a0";
+      sha256 = "7dc56ac573ba34c358abd8e626a93524b5af09a83f0bc12ce1ffbc3bdbe9e138";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/es-ES/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/es-ES/firefox-124.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "3c806fc1b6da7358b7d7f35534c1004e8830cc3497016e357b28f3bb15b8bfbe";
+      sha256 = "77ecf7b33d05498ec6681f6248f2eb8d00869a3ac67a1f1d6e2ca4023cc03e4c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/es-MX/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/es-MX/firefox-124.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "bfcd34c6cd99416cfa3072715a43bd657ef4724e7bb63cd072a56a259b8a7ce4";
+      sha256 = "85f2cb1788ff01356f3177973c7764ea8d6ce125c1fca1604f2273d8f0507627";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/et/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/et/firefox-124.0b5.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "27e692508de1fa7101f34de598e13a8f351d8a780e7cf59b354e575fbf0e154e";
+      sha256 = "d409c5f2f299282f4196ff781bd906ea3c002aeab894b99fe12587ac2fcbfa2b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/eu/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/eu/firefox-124.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "96afbd4330b0163da79cfdeb0c270db0fd82602599815ddaed0ef60f72d6273d";
+      sha256 = "b64a0c98d5153a0ba06f423f891a6b1c4aa573e973be974dba9a566dd891b6bd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/fa/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/fa/firefox-124.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "73962b7aab17dddb853216336dab491168e95b84ee1788a3193c81b4c3357121";
+      sha256 = "6eae66efab9e9ce65e3f31f22de36f3b5aa9a5617dc12f4ac1c523edd54f4f24";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ff/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ff/firefox-124.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "37bec00b5277f237d28542d0eeba7706cd762de4f3e1909ea04e364230aaaf72";
+      sha256 = "e31a40ad54a2cb84ab43cf5341b73518508cf584d02c783f1f3259de1d06421e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/fi/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/fi/firefox-124.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "cd7ad1f0073bc94d628c1e9c143a4bf1fae17617a3737f98bfbba5d94bff36c5";
+      sha256 = "5d3a3e5f1ffae23de87db266c00e8d2ed1f8a4bc4e304aa0ecc48fa46d6a5371";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/fr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/fr/firefox-124.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "a40e2f8ea24bc1e5631f15e57dc4f5b9a4a9ecffe8795d267375d13d472a5322";
+      sha256 = "8bc969e514fe1e5108682a04e196b83f4ef13145b9f64a1b151517fb8f452f28";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/fur/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/fur/firefox-124.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "d79e52696e06c842ebacce9186f9de96a017df1403bef8ddf0f84c066691fc72";
+      sha256 = "0e3b1d41f195253d04bf809d533412448f8e8bd78aee1052c0c4400618422801";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/fy-NL/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/fy-NL/firefox-124.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "a23b70e03540eae7d7c286cdf62d24fe92ec8723d70227728edeb1403d7e0e76";
+      sha256 = "ab9ebe35521aa3fb8d8685bbb0f21912435cd9cfa6c2d9e5e3d8a3287036d96f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ga-IE/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ga-IE/firefox-124.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "1f39f3ece2190a2bb0e7fda54b158e68245ab916f6ce625eb204677781ffdf37";
+      sha256 = "0f1435551e0d3c35b6a83d56e6df3d053fd10df28c154b13b307b032f17124de";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/gd/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/gd/firefox-124.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "21fa9fa6958d1bc2e6d2e0cb505e168dd86e16abf154d4a1c7d924fda46ec988";
+      sha256 = "a6eacbbd51c4b9effe1dce31fc51692d65ead167dcac1504c9005e4e006ca58a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/gl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/gl/firefox-124.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "20d8dc988e9c05c0df4b76bdf18c6fc84eca4d248375ededb2af4a08887e369a";
+      sha256 = "1ec59dd6e003582ca6b1f41fc99ae6ae31a8e36405a8a0a9d0f07916ed6f1cdf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/gn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/gn/firefox-124.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "3dd5677e7a1eb9edcd34a5041ac455bc53cc810649c0d9ee583ec8763d8c1239";
+      sha256 = "469f42a54fc30b9e16d1e2b077a6947f9abc4a2bb8538865d570fb6317a0a943";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/gu-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/gu-IN/firefox-124.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "13995938baf5da66bb67dbdfde6d1e7b5fc8d352a16e6d9acbaf38440660fcbf";
+      sha256 = "85ec6fe399c612a6816e5b9825af670b90b3f6964cecf9dcdd1e998edae29cd3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/he/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/he/firefox-124.0b5.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "45c6b2e365949e802e2884fddf8618848f3faeb7d41b4a7220832a2633d25e24";
+      sha256 = "c7b9af532375a0af8fd31704984c0f47a047e5b1a9217023b4568cb9a74fa3e9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/hi-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/hi-IN/firefox-124.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "2368682cf5aff958474da85edcf157319ff5e11e80bbaaf79ecb4ed366e97dce";
+      sha256 = "687111147ec150675e64314c4d81c90052f1b0c66bdd0a02d8ff539dc51deeec";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/hr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/hr/firefox-124.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "bd33c9148a93486468703bb01e63b2082b7786145e14bf2e4fdb9ff970e4bfab";
+      sha256 = "18e2657ab0b1cc94e8643d5398401584de29d1e13542712b0359ef05b28cdaf2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/hsb/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/hsb/firefox-124.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "8a821c32ecacb18528051d2158394aba7fccadb3baf32756faa6dd5e4afbac8e";
+      sha256 = "e741820dc9066a89292d6b741726590d2a14bd1664ccd553fb458f44e6379157";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/hu/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/hu/firefox-124.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "36870f34e7aa4e94ca4421e69b229e2564d07dedad0a7bae3969fe6a783eb823";
+      sha256 = "cbcce410d1ec563434ea44a26584ba655c26f6b41df8ecad97f41432e5f1f66d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/hy-AM/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/hy-AM/firefox-124.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "6954d49ff67257138e840da704e7a669d7a990aebf3045e3fb78bc5a4416713e";
+      sha256 = "2ebd55a1f5bb40702e63488666d4399e9b1ce128d04baf2397f6d4746c66decc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ia/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ia/firefox-124.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "5e224701cd57c3df645d73735f900819d49e66533dc9927f087c48d615f58cef";
+      sha256 = "bd3451b27fe2fe2f1ffaff7fbce982a88f8be73da57fa86be15f3a6aefb4e6bd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/id/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/id/firefox-124.0b5.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "b745177d586c74e63d59b12f27609a870f27a7f2ff7db2d0e60fadd23fec044a";
+      sha256 = "ca292956567115be6867630c5c446a1133f7a9f92c0b8530758527faf13fd742";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/is/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/is/firefox-124.0b5.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "536390a98b8adade9fbbeca2aea91544afc75a681f9ae602d1bba33d20e53148";
+      sha256 = "18261dd49c760210691c5f19e69df72c5db5b68334bccebc5b89e23d30feb97e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/it/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/it/firefox-124.0b5.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "367f690d57b8c95c30f967635ddfae8a8d397a55633b08b159d793c352873cf4";
+      sha256 = "a9a9f81a9b2802d5c9e35a665a20cc1bd94e95a1e7d428d3c5c7e51f92fd5025";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ja/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ja/firefox-124.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "d1c60935841e3e695c2469139c7f4b3fcc4229532ac4a32662110888952a2f25";
+      sha256 = "bf9cb77cb0fe54f5db5765ce921db21e6e5cb010a685e318af6c01399658be04";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ka/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ka/firefox-124.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "35735728917d747bda8f79f108aeacba7b8db5c7c5d8c77bb492f63d71cc6c58";
+      sha256 = "5d9d9147731060c7a4c6a3cb11778b8373ff05e31468b2a3b139627a851d3db1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/kab/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/kab/firefox-124.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "98a4041993477d02dd1d4b3c9c992226428727cad7ced4ad6f47345f75474c21";
+      sha256 = "7ed1d9bec42b2a96531483c584f251a47894cde8b63fe6b2e916172309ef00b7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/kk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/kk/firefox-124.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a8ffed7991f367ceb30ccbc9970f2d4b7bf7dec91835b7c5f798cec381261117";
+      sha256 = "3566f38898ba1e20e07063b330bcd629013ce428cf27d64f8b02e2e60e425fca";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/km/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/km/firefox-124.0b5.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "1e6cfb179b95c37a8f9add7c0d078b8338ed8825e3f941a5828a70de81718858";
+      sha256 = "f3badaef42cb4d56f72913377d02ca28bf6e60d1637b807d1d5c9eea18db687a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/kn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/kn/firefox-124.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "262ccc79e9c54a2f9f292a1efff141693a58b4ef52e3edf21234c79d9cc6353d";
+      sha256 = "9f72af81ae057f491bb6d550790b10a7b98acdb1f39a9daded9fb62f06f531e7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ko/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ko/firefox-124.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "79bba7be23599dcec75529d92f7be71372be60c884c6bfb14ff6291f6859283f";
+      sha256 = "85eb0c3787fc9c32f050cfdb735486769d5ec06c2162931c0a68a6c40d1caf54";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/lij/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/lij/firefox-124.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "c10b95b64b016c5c87117fdeeafa640fc61d47c35fb27f81cd75d5ca6e0f7862";
+      sha256 = "79e926bfed5f351f331142467740acee235389fd42d64d7d6f26b3fd7b2284b5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/lt/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/lt/firefox-124.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "2f154e352db3400cd68bb2001a771e371ae6b584fbc108a586221438ed84a7db";
+      sha256 = "095526aca901b9a727a83b72568db9f98341d00c84f787b6cfe132af463ea570";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/lv/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/lv/firefox-124.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "65f9e00c03745576566244c3a0ce530f9cb838553110018371154f7a7e788e40";
+      sha256 = "00de227c3224da10b45ee7832d559faaa025d8a4ca0cfb554e28a93a1d89dbb3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/mk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/mk/firefox-124.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "f022d406e098f5fa20ee6fc4d81f4ad880c17607ba17afe51825f4702cd42992";
+      sha256 = "5975da0df9e6b2e12945d6e1d28a15b31764711481e9477cf71d464c64415c61";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/mr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/mr/firefox-124.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "755f319023a6a921f599780cef447f50a777a6713a12abe28756392ba417eafc";
+      sha256 = "7164e8fab3e7a47f3da722bb7b91afc3dcbd895c0c06082ae0ed658bd56c1a29";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ms/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ms/firefox-124.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "517f9062ff8315e43d4f210272b86567e03492ca92316b6d8a77d879c0d2b77c";
+      sha256 = "a8850f422d6ee664a6c35e364bdde11cb6c057447354978a0ba16ba69366f885";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/my/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/my/firefox-124.0b5.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "840388b97bab51613d75d345668cc7adff16bcff970a89bf014d1ba0ad9d713c";
+      sha256 = "bbb2dd78a54472b759fe3cc55658bdf5aa7dc020b6c108785fbee037aa4d60b2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/nb-NO/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/nb-NO/firefox-124.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "762b93199192c1f152b5d287a4419c940f58292d5121ecf165b0fef0e46cff9e";
+      sha256 = "b938a616d1d797663022891234875c8b11d08849420b2035841e2f9923ee98f7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ne-NP/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ne-NP/firefox-124.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "e8fae1d9e6633b940c88fa7560ea98201445e02943bd93a851978d34c920280a";
+      sha256 = "059c02e5ac4436d5b2335936986130bf798178950c34bf0761772eddbc0b290d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/nl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/nl/firefox-124.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "a3ab4ebd5d56bef06b996a17bb1f8a2a19c0d0957221c07127b338c610f702f5";
+      sha256 = "5f4aca4a2a5b6ef331bb8cdd011663e3b07197ec7a9acfad0ab72001d833a8d9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/nn-NO/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/nn-NO/firefox-124.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "1b57e17813998644c90f0e67055bef23d2fa99f7866c58c0e24e31b5c154c10b";
+      sha256 = "71f055e95e1f20ef687f0399c7c1c6130af4a156055e2330d6b8e41fb82f384d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/oc/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/oc/firefox-124.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "8ea031ae317c5180fdec4024923913a34a9fbe91b6325f895adebae303989507";
+      sha256 = "b9e23ebc113bce19c0e792f544c2b83354a4c95982d541e86d5a140877d3ffdb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/pa-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/pa-IN/firefox-124.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "a949438ea00b1e81a7e6c1bc0c0c482c27641c568b19bf5ec9bbb11e00a94bf3";
+      sha256 = "a10f44ae3f4fe85aa8885e8ff9c8b6b412e2922760cecd7cf92fcd623606512e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/pl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/pl/firefox-124.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "973c774fa1ed32d6a60cd45a285369735dd1a6e97f69369be1ceec621068d4f4";
+      sha256 = "8cb1458f0df89a59aef33d6c35ffc0d267f3ed0fe09ba3c9d4bb4e73c2594c65";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/pt-BR/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/pt-BR/firefox-124.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "21b16694ddd7fd9419f60d3ed133df088b473b0c315153ae3e1d4d29fd728d62";
+      sha256 = "3d4d6fd8f2c79b7953ae3fff5d8a9a3e6b0b90c700205640648db351fcd9ade9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/pt-PT/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/pt-PT/firefox-124.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "52278307a464713fb118d7a04b8f5c9719dff4d06fec0c50d83e74a944c76328";
+      sha256 = "ea42d3b23a30f7052b4ffc019ba6ffa082d5d685ede24654908ab03c8c8db318";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/rm/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/rm/firefox-124.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "0d8a6e0eada48e70d38cd280936e51e8d4f02eff0b3331d3ec7a8376336f0b9a";
+      sha256 = "50094bff240efd4c49d4247827a50a85ccb8cf025217b486d85fdf35656eea83";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ro/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ro/firefox-124.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "1ac3741d0b14741ddb58515077787dbb642a20a6ee4077ae54eb6da6e70e10b6";
+      sha256 = "707b878228df1ca1e9f05570a7633575dda66bfb2be2e1b2a92194e101e0c124";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ru/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ru/firefox-124.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "609971dd8611e956e702ccf5a77e89fde0f371cabc047093859e2dce5da8a00d";
+      sha256 = "de342f890331beaaf1d9f2809baf454940edfa7a5cd9364b4ccf884ca4cf5be0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/sat/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/sat/firefox-124.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "be01ee3d3747fba34058c827b202551363cce2ae8281dab3fe80b90f7fab389a";
+      sha256 = "52c1c9476158d2d497faf8abc9e3beb883abd951214f04daf8696cac84806dc7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/sc/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/sc/firefox-124.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "243dcd83e58b358f48dddc1532166b2c86c576da3d0dac663e220ff22c402c4c";
+      sha256 = "a4bf499bd0eb3e4b084b63725f2d1cacf51992218429d593e68564ed3400ede5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/sco/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/sco/firefox-124.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "9f8fd14b7025ae1dcb7ea118225577f8c51fa3084d84c38b88b7b252fb79e29c";
+      sha256 = "210e023054d80f11043861bd5c866d607ab275ee2bcdbc26695d63c3a6dbcfb8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/si/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/si/firefox-124.0b5.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "4d80f8bc1f0a39938d51f0db0f06fecf76fba9ff88e3f894a2dc2bbbdc50b013";
+      sha256 = "92734b3ede3cad670987a741504c88c967bffbad342c6019342f62344a967e6f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/sk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/sk/firefox-124.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "6faea76d228a88c4973d220ce571b4f992496aa7026018dad4350114d5fe0db3";
+      sha256 = "23170691d560359be0b92e3f43d468bbdae3df8b92a3fa3e56289dbe4b79a0d4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/sl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/sl/firefox-124.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "2edb42c9aef0670b50acc2beace6f26210567b1efb43c2030e950d38f851a7bf";
+      sha256 = "99b6aff6d04cde61fe4341c332a047c8d72ed47891b8d7b5b5f3300cfa24adea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/son/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/son/firefox-124.0b5.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "30546cdaa39d46ef8f1396fed2cb06cf2d550045ebc03e7f8f5557b689cf74ec";
+      sha256 = "7cfb51266358c6ccefd8be658074652be522f9dd08afa4fbd66c66ea6e1c301c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/sq/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/sq/firefox-124.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "7d4efd553a2e28aa4c853c6a1596139fafe67198d8f85afb47fceba7661e95ac";
+      sha256 = "36c2549c2866c02fe7439fb0aab22472a1fe08499ef903c4d100d6fc5a5382ae";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/sr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/sr/firefox-124.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "37d42cd9317ae0ec236c2cf2979247391be9787080dfa625888e7d215b47e141";
+      sha256 = "72d68fc9b2c27208ee82dc0b12a36c2c830dc0dd8371002f65e83d2fa9bfc580";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/sv-SE/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/sv-SE/firefox-124.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "16ab2cb27e787e8981f7af527ddda5b85f384cb893eddf2d9ab064f667843aa1";
+      sha256 = "e404bfbec892bad57b8c4214476ab24154bb364f4bf417711e108b924cb1a0ef";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/szl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/szl/firefox-124.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "945b54ed7c810e95be63a58d651c7fbf4e7c8fce820d3ae1a8994b79c90e8fc3";
+      sha256 = "396e3a91b623084fb01e5cfeb54b31265f64b2d40220c825013358ce6e91c086";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ta/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ta/firefox-124.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "81d685c7d67d5d78ef6338524ddf49c4701b0eb4f3170b292b3738672f8f434d";
+      sha256 = "3aee12fd06ed6e297c51a7f896ec6c2b6c9d9976963a3b7be38e15ee2f417363";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/te/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/te/firefox-124.0b5.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "b06432c05a9a9af720a0d3fb13d4bdf2f0b911aacfd1b4be0262551f04bd21cd";
+      sha256 = "879b11760080f552185afdfa7d85e97ec3de1582325c365db8e706a2479d952e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/tg/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/tg/firefox-124.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "004214989af19e056281be2e8117fa3df84fd289038b40428ceff0f8927cd13e";
+      sha256 = "142fa013b4c9c25cb3cefaa0c505867abc9f6a740436596c8c71eff2b2c89b0c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/th/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/th/firefox-124.0b5.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "021711b103a1598662ca158625285042ac56493afe4f85fba06247af4cf204c3";
+      sha256 = "9b6433258f1c78b91ba027a185a393683679087d6a718bfa72dff6b29230937a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/tl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/tl/firefox-124.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "963935bde9203ca934606bdb4541b5163766102dd4bd061b92675d1d4bd18e9f";
+      sha256 = "4995d72b2c6f7c36df2bec5d7d6d43db2ab486a4666c8c494c3980ab05b28f58";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/tr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/tr/firefox-124.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "b3921594d76954ffd291093a1ab9be568660f764ab21aca56be6b045f9860eb4";
+      sha256 = "d69e754cd73a7160ab165cc2e9ac9152c7ce21c1f1c80b770505055dc12758b8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/trs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/trs/firefox-124.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "9669b9047cb3216b43beb1e2fcbce26db8ddef3246c110ba721ecacc6217ef8a";
+      sha256 = "e7b548bcccb1fb1dd667db515b3de7b434d8ec2f6b240bfb9d2abb546fd64352";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/uk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/uk/firefox-124.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "1763a89bc98245ae10fdaeabea46edfeb883c77eacfcb60ea32d98e4165bde9c";
+      sha256 = "6b8e56538a29bd538312fda7e423e151dbf7f9818583cc855c9c6532f05012e7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/ur/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/ur/firefox-124.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "d27b5ca78b6cc65bfc4dac1fb634e984cf5d6276f27a2ae6292fe990ee54d686";
+      sha256 = "94f69b4181bfa72981a844f133fdbd6e9ca7e82688c7c75a0ceb8a1a3b3b4962";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/uz/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/uz/firefox-124.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "76f0b7572315a740d2618bb9c4535a53079c96b467cd949b89f7de19e3eb27d5";
+      sha256 = "2c110757681fa6bbb568cb4a73cec0dda794215a78c0bc497327aa69c558e56d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/vi/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/vi/firefox-124.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "24034052bc94a736491adc5b66671108c9534411322a51681465e2797609c8ae";
+      sha256 = "a737e018da186db9d368d9db84f96874b66d211de7dfe6f6c96c51d71296418c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/xh/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/xh/firefox-124.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "a26013df15666d3a41a7fe246264e61e8870ae57f6a3b7801debae83fee22b53";
+      sha256 = "ca7c53e1ad88430cfa59a8f818ced58ab211ea50da640202692857a86487a4b9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/zh-CN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/zh-CN/firefox-124.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "e3c268df2ad614ef363c7fbbdf40ed2843d7893f618e0dee1f600431959445bb";
+      sha256 = "7f221cb142947db55f1bcd8bfc3951372ee99319f2cffbe92ac6e2c95d1ff30f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-x86_64/zh-TW/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-x86_64/zh-TW/firefox-124.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "9be0da58e8ce4f2c803e8525f14f2c0bde65646de4786ad1e394519a2b772e8f";
+      sha256 = "25c10e07d9257649253d8acdbf17a8e7f743c7365cebec1d33a4324e57730463";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ach/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ach/firefox-124.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "2f490132f46d7911618257f7cee0acee78639dc3d956695bf90d9f941deca8fc";
+      sha256 = "6410b114a2c5daf887ac9a38acb844b711bba3f3ea91019711a72bc92a9e6fb8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/af/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/af/firefox-124.0b5.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "9aafc0d5e31d4a2b66eb073f55a9e4fd7f42472f5547b527db5cb6a1c1bcce2a";
+      sha256 = "b36bc55464796fb51652eab114df0684d9ff6a24eed76e94d5646f34b62ce801";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/an/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/an/firefox-124.0b5.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "d983a30c6b00e606a871004186dffe3ea030c54274c3dfae29a10115388705c0";
+      sha256 = "9943120acfe5fc1f3c002bad9e594a53b3b0eb94873de3853d8f875faff79280";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ar/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ar/firefox-124.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "0d3799364eef781abef7649947a53c5f4545f79baf934f47563615b4b112f2b7";
+      sha256 = "753de19d7c7b6035a72829f99b77577857b0aa4da196a7925d0c8123679c4755";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ast/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ast/firefox-124.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "644c4170f7efc88fbdacb74ce1d679fe38551fc22eee6bf914f230d5b9980456";
+      sha256 = "c804f9873eb9e9d03ad0814c541656a8391af36183f98047bb739e9d32751479";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/az/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/az/firefox-124.0b5.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "d573b888d6541af8cc00e3429c9a0cc8af0e5036e61ed45c53aed0c3e18719f7";
+      sha256 = "b0039d1c965c957f99b262611d79c751c34b0e65710e336fa258d4621f5bbcb1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/be/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/be/firefox-124.0b5.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "e59510204f159b62ec7503a7e11e15b2fcde48844f59bbca777e8e4a4a95e18c";
+      sha256 = "648d859b8b19c5b5aad1260436752537534008c668b3e6fbfd99760fe0159a75";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/bg/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/bg/firefox-124.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "5913894496ef63830920478ac7bc736942ddf4a18723b5ca3c608045e7346bab";
+      sha256 = "1df511632cef19795f1f1dbd4d9162654f3ad7fb6f82f8f0042f31692decb3e0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/bn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/bn/firefox-124.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "2c06c054d4af08bb6016111e23f5acc175f48dc66fe806d200315dd61513ff57";
+      sha256 = "12eebe199a907506e279bb13ecbca0648acb610370e55b45337f21c62b779fbd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/br/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/br/firefox-124.0b5.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "ed4912612518db7f25ec9ab23857b917b5e15922d25b82e1cd9df5c8dfc62ca7";
+      sha256 = "4fe652739af9415f50117112fae884cc8965092772c6394916f593144e232096";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/bs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/bs/firefox-124.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "0e2a80167239a6f52c7c219020423360a7fa7507776d63885b4313d5673e7bc5";
+      sha256 = "e1c53f84cbdcb0e54885c95bfabcea4e3af385ef2aa7be97e90ff900ba90225e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ca-valencia/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ca-valencia/firefox-124.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "401f65c35aad581550a71b9e23d75fd315c78706baccef239575315aa6cd7691";
+      sha256 = "cdae0f83ab760f8799f1059d9b0bb7ad9f9c30366ac0bacb7f7666baaf87dacb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ca/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ca/firefox-124.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "01cdab31cfc7d7cb9c3dd546772086653c4857f7fb5483938555c24e79b2dd82";
+      sha256 = "f604aeb476b0c244dc0d8da499f2da74d0637320794d8b74c8a1ca05839fe6f3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/cak/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/cak/firefox-124.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "7285403b994369d50b91fd0461966fd135575484f0f5b410dac8e30612a33d67";
+      sha256 = "9f13a7c93fc8aebee8b819db09dd8a9275c3c2b87771e1f784e6332ac00384d2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/cs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/cs/firefox-124.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "4ad37942080837b6cb455020dcc5ea00b50701f0487f8b71b645510f5bf1bdeb";
+      sha256 = "c2b40d89374e1b25dd304795a490d4eb8b6a4d55a5feba8d1a8fd5be19842e5a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/cy/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/cy/firefox-124.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "8494202bd1e6a60f6ce6d028ed9a4a427e85346ad87e13c722fd1c69cb7621da";
+      sha256 = "4f36c761acebf9799ddad960d08c6af0918de0c76b3138475b4f41a3678a8718";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/da/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/da/firefox-124.0b5.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "a3842b0e02ee84283a70c83b2e63e0b2287690c3f34377c0a7ce1404f93d65a7";
+      sha256 = "05855ff0a054dccca46f05dbd024858f2cb6b79597a3aad8d1002ff56965be05";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/de/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/de/firefox-124.0b5.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "671f5c1fe8b93ee4bbe10c51d9ffd0cecec3fab45abb182da50e09658da08f92";
+      sha256 = "23b266875bbbfa3b71ef3fee60c57ca44a2c27328377c667102642366ff9a290";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/dsb/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/dsb/firefox-124.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "e5ea18682d880e758d7883d3915463e4e88e4c6add0dcd081732562c7197076b";
+      sha256 = "80c14d7befeda8010c510f561b0fb3c7b5ea372bcb5e125c1d7c3f8102a41f2d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/el/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/el/firefox-124.0b5.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "a4d3054d8d45e1a176580b030f98896ba2beed05f93f0b544deb66964a86af68";
+      sha256 = "ad9614d1917167408d615a733793f8c3205b8e139207ffacd2db86b6a31e86b0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/en-CA/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/en-CA/firefox-124.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "48e4068e735464a592d7a9d831792f336dfc4ee512fdd7b89adb9c9219e38b2e";
+      sha256 = "3eb6464f3a221bc467d745eea949cca12252cab79ffa14f632ed2a9fe146b685";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/en-GB/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/en-GB/firefox-124.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "e742bbf40bde8445b6f704e7902049353a73880eb8a8a5ac6df288f4d91f9c90";
+      sha256 = "e3fc3a80db2f9512a19e812b5187afe409331a9f94e27a10a1b975821235db94";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/en-US/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/en-US/firefox-124.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "391d04b1fcd686e1e14456be2db84660ad5b59c13bc0160de89a4d546e2470ce";
+      sha256 = "e3a0ab34e853d7be3372fb02ebd926eaa1bb73198fb2ad51c166b10804659073";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/eo/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/eo/firefox-124.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "00d18aec871fcb0f0041564977ccccd0c9a98fb3db9032dbb8b70d5a984ab308";
+      sha256 = "74a3a78037ed2c808a3d646444339e719bc898c527bbbd4a7389f91aa1a843db";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/es-AR/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/es-AR/firefox-124.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "0398e1bfed77cc284f3e92dc69d542b450f3b061de2053e5063f75051b822f42";
+      sha256 = "5c19c4f750be69c7ece72ac5897f138942cbaadba03cbc17a9cb2e91168e9181";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/es-CL/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/es-CL/firefox-124.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "9cdfac7dd3c6c6351dc59a7c21a3c6c8db53cfef73cc0e84f1a419a01e34516f";
+      sha256 = "63684f89ec146eb2fe41b7a6e3931695cacf3db223b93b93c7bccdbf518a081d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/es-ES/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/es-ES/firefox-124.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "f88e67ea4b4f995621da4d9c76638bd3c5e0f82f5a9c47143c960b0e0988ae57";
+      sha256 = "90cfdd1d7bd9a9bd7c3ea8725deeb6343e0d0197725efc5b1ee5b7b3b0c3dea4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/es-MX/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/es-MX/firefox-124.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "e4065fad28630ade4885ff22f42e64182cae5e26b50a4b67035e16c90a9fdb94";
+      sha256 = "e76ba7f2f5616113b43a4d3dd969cc017cf31d236d8e2a839d6cd342888561dd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/et/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/et/firefox-124.0b5.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "6e813b73d9b17d591f69afd931bd9c4498b04d0a17a6bfe45fd940b4d020a0c2";
+      sha256 = "29d98c7699973ada05a80bbcc1affdbe172f84d094f4ed12c2be729c84f58037";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/eu/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/eu/firefox-124.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "21e284904eae18ae89909b7e46eb1ccc11266a098f2ff073cb5f0b3c57c96683";
+      sha256 = "a99a7bf071b65bbe82d16374abbb154f728ccd22db79c312c25b87fcc12fbb7b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/fa/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/fa/firefox-124.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "df2c33c57df3013892987a55a0d4faecfd302ca108e13e80bb7bd2b2c7b15622";
+      sha256 = "fb87bfeda0969dec943dd7da47f31cd416aab800a30c0ae00737b25044dbc9ba";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ff/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ff/firefox-124.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "e0b1b7b5de2959f1355b1a87de17b8b41b84ee1265feab5f988891323c1726d9";
+      sha256 = "cda78f95e3124ab8efb09c6c39043e144441cea8fdea9c7bde2631a29d008a21";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/fi/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/fi/firefox-124.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "a981c34179dc6e769eb0936675c525029f167bf99a087e29d0ab04feef4bd757";
+      sha256 = "534d4cf6a962369e0d55bebb2ccc411df8b875c5bf4848cf5bdfeb5420239934";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/fr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/fr/firefox-124.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "42c2543ad92772e3c2c3720a90cdb63f4f88b7d4132d5655aca73078b69f0ca9";
+      sha256 = "16b76ccb164f7572530631e242b696f01174d1460510403a29be8f23e42ed083";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/fur/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/fur/firefox-124.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "2868c9444b6631aa56dea35315f380a9697479d6c64290506f42083a81b7329b";
+      sha256 = "75d5dec03f0f4c9ff481a7068853f4f07a9c5dab12df2014c67a52fcf5ee41a4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/fy-NL/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/fy-NL/firefox-124.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "3afaddfeb8f29d5d058b4056f26f16def134a2408eb8d932f2f940acce851eae";
+      sha256 = "8b62e81fb83c91958bd4b4a1a64eb6e80f6300a071d2713e1a9fe366e9de6212";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ga-IE/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ga-IE/firefox-124.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "56110b537eac661b85cf0c50a32e71864a32d1c01339acb82f516d3c85e73f98";
+      sha256 = "62842170dc94f350ca4cf5fa53d29e8bceda1b1ad05ea1f900a8aa559ce84a2e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/gd/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/gd/firefox-124.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "f1798d5a500d0893a55fa4aae5d30c9d364f8774f090931d166dfacbd0e85fea";
+      sha256 = "6244f889f9b7403bb6566943ff7d35c6ff24bbdaea65b8b666e93578c4191c32";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/gl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/gl/firefox-124.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "0319d0f24937adc317883130656a00d5ea18366446accff61fa527819fc29536";
+      sha256 = "912d1fb10dde72c84d6d91a51190b10be45b12df6504285c1f94a1faf28aca7f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/gn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/gn/firefox-124.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "1fc303d04f6328e183c964d8f4427a2ad694bc070d00405df27458ccd7fb4636";
+      sha256 = "afc27f6985a2e206a856ff36c9f9c1237ccc9044c6295142116e582041ffd13b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/gu-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/gu-IN/firefox-124.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "dcf8aade2bd2a8385668e48d2884ae851da10e270cdb49d620a55058dd55b927";
+      sha256 = "18352071ffd3c219108553882452a07ee1d85ca33e7e4f03bd77bb01f19fa44d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/he/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/he/firefox-124.0b5.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "4895a163d923ff8f065d161c1bfc863511bce93cab5047b37f3c5b511a419030";
+      sha256 = "33964ef4c4f2b5c108663c60a970d7b6166ae0289fed71d67c427cbb5ee5529e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/hi-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/hi-IN/firefox-124.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "be2f4266b4ee48b25fe66798a70a15ad56db89f65b91c68227d282d151d1e063";
+      sha256 = "c9d2df146e0647ee63c9110ae35cd0a377d0ec2683d211a424d73f9aebfc2fec";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/hr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/hr/firefox-124.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "6ccdb5b56711569c0f233923bae6a79829e1822309053da38f4757946ff959c6";
+      sha256 = "7a28b5e5f8651037094e76d638cc06d8ec0f5cede39b3dd1dbbebfec6af90fd6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/hsb/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/hsb/firefox-124.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "7c53c0f87f5030c5cb04148cfd0bd50f7622ca96a5db723045ac82ac2543c1e3";
+      sha256 = "627b1ec567e4d8227385002ecca1369a0c8b1746d570ff5c5019e8cc3af40514";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/hu/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/hu/firefox-124.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "579893603bc1db650111a1ebb09bd5e244e503a87b2c6ef24f7a66732afaca09";
+      sha256 = "aceec21e56f24f59e57ebbef1e826e1b5c8bae38ffd249e27dd4645a0b4559b1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/hy-AM/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/hy-AM/firefox-124.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "c1ef3a69e66a8204cbbff3481af995708d361385903771bb9d5eb5babc935c8d";
+      sha256 = "e45653c2f3d8e276d9a321aec0b148bc6f254f4e583f6a4b594e6cd48ff3c977";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ia/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ia/firefox-124.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "04f415ed7e4b603e2264e8afd37a9d2634b76e65dc83c5c6b8dc18deb7da86c2";
+      sha256 = "63efce2c4ae7bebc130745b123b73e6d7ddc620b1aca6b50271cfbc24319cb9f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/id/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/id/firefox-124.0b5.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "d08d629c30e45ea94ea181561448e85de8508f469e55bbd0b6790bc1f99f5899";
+      sha256 = "ce6af3a7fddb9ba6520e186ef647b4ace04e6e7b7b5bdee0888b440b115297ae";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/is/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/is/firefox-124.0b5.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "447e8950ef4ecdad169cef93cc9e390520705b3ea4d088bda589fddbef7bf0f5";
+      sha256 = "c904ead6b576bbb42b39689263ff83197e851a90abd3e824b79315f6c830e593";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/it/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/it/firefox-124.0b5.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "8742d55eaeb26db063af9475658a3be865f2c378e04096b7d9c080099afeb71b";
+      sha256 = "5db33151f0819a8af41aa73077c4e825f52044bc629ce644ef8b80873aefcc19";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ja/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ja/firefox-124.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "f40016e013e548ddc39934cda2cbf48f51e99bc76e4e0ce1796f014a96cdc3ae";
+      sha256 = "73b5d2622f067d74c1f3322ffd2df3c9db5e27ac7edc24e8b3d5b5483d89b02a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ka/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ka/firefox-124.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "7409e7e24397c07e5cbff93ea301025bbf0a8b422a8ee4cf5c59ddfa453c8977";
+      sha256 = "7930341f03147d7149883a91e1c1e588daebfe4f9548314c6fdfdc3c2209e137";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/kab/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/kab/firefox-124.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "048a9d86af755665fc5fa35c44e960a37aac0b2a9d7dff54bb0bcc8d02bbc8b5";
+      sha256 = "39fc9f26498bbf98c4636dc71bd66053de766b1652dacced0b257da37efba818";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/kk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/kk/firefox-124.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "6d6ec919f2ed19b5ec34d430ec49acc573e93fb3b79b2df534345b90f9d2ca76";
+      sha256 = "f4af02bdb106533f991b2a279781461ebb64115996fb45a37b4e4888583a8325";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/km/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/km/firefox-124.0b5.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "fd4fe4d3f77f10966e9f2c929d34fe2c7afc814dbce174bb4e948ce76024d6a3";
+      sha256 = "5ae42af8950275d2d8ce097db1791982ae52c1cb9f4e77a08e8e95a52211708b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/kn/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/kn/firefox-124.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "ffe6972c03c655c2970bb930e169e79e46603423d1772f37350692cee68dcc5b";
+      sha256 = "fb34672b970fa04b93573b699e69e2ad6517996d685e041c41ac9409f97f1e8e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ko/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ko/firefox-124.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "a96fab95ee01c126cca70ee2d8a95ac88abf732a45a63435e3e5238990950597";
+      sha256 = "1bee075f512ab94e99252a55645300151c979e5797ece8cc6f60e7c3e2941979";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/lij/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/lij/firefox-124.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "3eb2987fe59d9b065d2495931a0dd53bfda24ac05e9b387b6258bcac6e002664";
+      sha256 = "598d283a34daf9273349de71bfbf25f842149273aad136285d88edce83a19b9e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/lt/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/lt/firefox-124.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "5c93e34fc5f4b662d911c81762fc6c281ed78ebead0f605168bea23408b5f785";
+      sha256 = "126df1404e11bb44864903879eba9a0eddd942248519b17352dff8487c9737c8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/lv/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/lv/firefox-124.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "c052e0d40cbf4a067235419ccfb5b105f7de0caacb0bf4e7dd6be4bd03b8fd79";
+      sha256 = "d4064f65336d206258b2e2298bdc8cc966e9ea747fa172bf393553f2ad9bf4cd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/mk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/mk/firefox-124.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "726f45cc51c5824ca1abbb67d8f23776c9473fac985cef4dcfdf5e27fd23ea06";
+      sha256 = "d01ff8b6f392c9d20eba744df9cbea1f424d3be8a2b225301506813c24626ed9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/mr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/mr/firefox-124.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "634a8f904f23ab6bb91287aa7762515d0171bc38f7e83ad66e9fcf47fce9bd21";
+      sha256 = "a3032ebd70ba506c5380faaee3df946df840b9eafde5a3c889e675fd4bda6d93";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ms/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ms/firefox-124.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "bfbec91b976f8378c8d7842d386110f3a228cf490350984b357a3b959ab98b2b";
+      sha256 = "01124e88f41088d3af50d627b3f60e92a392561b0bc8a376e19b90e5d9532a68";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/my/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/my/firefox-124.0b5.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "df8469de96f97b0edd8918fd785b0956a9b83d8942e363c0fd2cb3c43c62a3a3";
+      sha256 = "e8cdcc7d9b37275ce14a592126e2ed9ebca9b6b61862a11d543deb40292ca3d2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/nb-NO/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/nb-NO/firefox-124.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "c056e5a9dbd4c96099c17027218f854d42a6e3e0d73327adcdd03e6b541a7b2a";
+      sha256 = "2706dffb755d8f9f1bc3322f8c81ba0fca6ff614e2b722a4f157a2ba5f131427";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ne-NP/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ne-NP/firefox-124.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "7809cc887d241eaf20ca9b740d2031a54def43272b17559d773b66d54d48b414";
+      sha256 = "ae07fb682309cfc7a9b3bac71f01deb5f99da5f4959552af27f929cece49fb91";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/nl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/nl/firefox-124.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "95730506bb5bcdfecbcc8eb1172fbdb627d62830d9ad8335036d9e66505ec974";
+      sha256 = "e5aabf8ddfb7ce8aa1ee23976646879a29fe75aa67a685a23a92267bc82efa31";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/nn-NO/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/nn-NO/firefox-124.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "51cea63f339b978b7474270fcf64e0ef4a6671f06fe48df0759a47f5f13b2574";
+      sha256 = "df00b85e4c0617c9a79d3c1f7d879b4426f2d86a2fb90a9e0854a227438f1223";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/oc/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/oc/firefox-124.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "8e63ce6010475676ba92382e30cbe02abb933a94da9ae68a6151bc794df66b8f";
+      sha256 = "c087ba2df8b1629ae2a9b7db9c48ed43fdb2721cac5a5560e479f48a4e6026e1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/pa-IN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/pa-IN/firefox-124.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "20bc49df1206b6f5a97d0a7bf359582df7340bda5bc207fd8d200fa9a4488607";
+      sha256 = "016724e6aa1ce48a5402ed2e70fd51ab02c3c9540c8157560eb4d9718b75c46e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/pl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/pl/firefox-124.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "03d6515ff506ff2319a877f00b9b6549e8e33ff420b2c751657d6e721eb5f05a";
+      sha256 = "5fc308cd53fb059626a035193bd9e60b36f932e22a3110ac3860d9721bfb0f67";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/pt-BR/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/pt-BR/firefox-124.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "b612c139651654e38dfe2d49f499bdb31f862b837e6b1d359f98b4723762da30";
+      sha256 = "ce7c0b1faed4b1d98c470e9ff34795f97e93f2b77f01a11499bb449cbb914001";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/pt-PT/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/pt-PT/firefox-124.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "8f0c7467a22e76021027795b64922e8f3e5e6d82349ed9c74d30e3ddc2e9ffc5";
+      sha256 = "b30e8a87937bdeb6c95b17db5d514851219c4a83f3995c27a73ece8a732c1b74";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/rm/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/rm/firefox-124.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "32aefa9e3f69c455f881ecbe2bd0779792e3d5fad94f32d435e98bf4753c19a6";
+      sha256 = "fc9f24869aa998ff0e49659b338661164727d4e1411e7750afd34a9b32e4fa58";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ro/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ro/firefox-124.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "28776a0c93e3e8533210e55ee3a01a2d1f52efe552b81512cbe4281ece80dd1d";
+      sha256 = "7a8224a90221d9ffe9a243c051c05327610755f11ecdecd2b5d3f30e04fc13b4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ru/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ru/firefox-124.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "fbae655a52ca3faf2b4651379451225b4a112c3cee127a28bbcc3f33ed0d260a";
+      sha256 = "184c7301bce1429f2eb03de2752ac0d4488f90351a40e4a1b1a591f256609dca";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/sat/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/sat/firefox-124.0b5.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "f70a998b30d92986a8e3531e9cb39485449a42760be3e5fb89b33ef3cc9c2ffb";
+      sha256 = "57f605d927b765595d702c5a21022d06c29979594ff4c3a0b2490beb49aebbc3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/sc/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/sc/firefox-124.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "0f340bf270e6a251a487951bffe67e47192e2aab8ffca5c896f05844dfc9d63e";
+      sha256 = "d45fbd0ec436d2b3a404a8ebb4a2953d94672cd58d547fec7b37c9dd9a880cf0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/sco/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/sco/firefox-124.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "329f7751ca82903ffbc97e81f598ed8c96781b0db1586a2d369358642150651e";
+      sha256 = "ca5080dd24a1728596ee9f18622b8f472a38794dddcf502f94cdea322a5c2ea0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/si/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/si/firefox-124.0b5.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "c06620fc41f2268055ce9478c9e7d05a5b748a88153c39a207e62d46dae1874c";
+      sha256 = "7619c96af6694e39b4facd42e8e99d7b8efe716372b7241b6f411c5c887ceec1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/sk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/sk/firefox-124.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "f490a187c9758e614268eef2dd66ced62f2eb3ce93d7deec8844e7c767d3b6dd";
+      sha256 = "299383f3da74c81153bc828506fed4f2a3ce312b49420fb992e847710e87b5d9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/sl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/sl/firefox-124.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "8c1f937a974a014be66367bc05afd222dff3dc81c5042570769546973b1d1b8a";
+      sha256 = "dbf5b58e315ab2723ed5408c290c527261c1f2780dc54baeca55c3ad092c5167";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/son/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/son/firefox-124.0b5.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "66ae427e708e6968b64097b309a73457aeaa8c0623a8f91d54e294bf783e3e8a";
+      sha256 = "8e61c851cbcc497b73770a6ecb6281dbe59fb6059c33b29906c29bec1d0887af";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/sq/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/sq/firefox-124.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "372b55d37112ae472ed045a8358957f7009d17f9888ded2b11e3552e3f6b91c6";
+      sha256 = "bf2fd515b30e3dff7ac7b796a66098b6dcf026e5329521c08e5d2966e97c8a9c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/sr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/sr/firefox-124.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "2ca00e2f6dad1d5ba446a8315bca8f2ea104d1de7e60c29dc0e4b3d2f68dcfa0";
+      sha256 = "1102ed90f5af1feccef6ee6d891c378260fa83356b7e5c10df0e812ee199ba0f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/sv-SE/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/sv-SE/firefox-124.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "d138f355fd5577c8ce52bc38b6cac51a244f5590697dab8cec784d90e04f374f";
+      sha256 = "08deb15679412a19305b447b5623a01cd85fa640904eeb83fb00cd7878b34d8b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/szl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/szl/firefox-124.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "4a8934473d63c375f36fc647a394da269c89d834257bc29e5cffbc03e87ebb99";
+      sha256 = "7f9bc22f10d3e775c5a6f1e1db2d477fb4fe2cf7fdfa340dcf36cec4aa8842e2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ta/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ta/firefox-124.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "4028f5b708736d406676fc17417c848845c137173a44ce7be64d8075b88ed284";
+      sha256 = "0fc213731dc9a04c3f83f936eb138a0da768c577e65d688b5bfc4a5b6340a2aa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/te/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/te/firefox-124.0b5.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "de933dd9666175b0caf67190a4ef201862ac124123d34ca07d286272d34ade7b";
+      sha256 = "08f380bef43660c672cdd604cdcc871894810db738cc808f65713d4af5116031";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/tg/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/tg/firefox-124.0b5.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "fb1cb98912782b54728c3dd8d2175961ec086bbfbc17de8501409e5fe4738e61";
+      sha256 = "2e8b90a30b37889814aaa76bc9984fae85265c8b991e0847661d5485d5ac75cf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/th/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/th/firefox-124.0b5.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "6a1adb355aa8c8f968828b405198e8900a1d862a1a45c4ebb14395e33eca80d3";
+      sha256 = "07684ca053f6321c5ea5c4307ea1e1ba1ac13eb45c519e83d5c6b4515e7db324";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/tl/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/tl/firefox-124.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "448182e041cb358aa020da1dc395caa96b8aa490a2e0a9ac178f260d88add18a";
+      sha256 = "d58a6d63ca1d2d161b85c78660a303f91875ba6f69a2ef66e36e393688b02a3e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/tr/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/tr/firefox-124.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "1d956f6078d801880ed4b436b2505a1f419356891814a1e3144eaa1aa8d1af91";
+      sha256 = "b1f71d7961f2cc9a025f65e4f6ddd3c28acd3e11f9aed981bef38dcdf5191b68";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/trs/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/trs/firefox-124.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "f9821d95b6d289c54ce03202e4421ea9e25355d290d90ea2298d1ec2d3ccd8fb";
+      sha256 = "d17daf00437ffcdaca30e7b085f12d0e18850e42cc9974349738e6f53d7d8077";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/uk/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/uk/firefox-124.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "38820181b0ad6303631f3b1931ec865eb59b014dfebdf7a63189b061ced81f16";
+      sha256 = "c3e8c5fe1c6ed73a9b66ad4f6785929c183a1333588b1d288a481f8abf52bb4f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/ur/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/ur/firefox-124.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "3b525d9c2de9674da96e84621ac980888b4389de247a30c830fd3d5ec94bc446";
+      sha256 = "653473c33c8eafe638c83089ba9f99ffc81b20f13d0b6d15bfbc2ebee5bb1931";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/uz/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/uz/firefox-124.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "a7b1f2817995b4e7398f2dab855d0025dc024128cb519d073541be1deb89ecf3";
+      sha256 = "7ca4cd55d2d48aef1c80f26c9e0c7edd8db4f2945d5fb8bd3466cd61d3917965";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/vi/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/vi/firefox-124.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "acc6cc725737ccc7fe0b1a1a802a687c4e86db5fcdeac364375a6503ea9933c6";
+      sha256 = "2c45af4e5a789bb7a2ec03322987e83c249b18006126c0cb6a2036678092c244";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/xh/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/xh/firefox-124.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "f2e2afc654efd280bb1daf47afdd2e503ef762d39f13ae70bbaa76847c96882c";
+      sha256 = "8b4d414f92a3f1368d2eef8cfccb17ee9bba5c86fdf705281020f140d60fe5ee";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/zh-CN/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/zh-CN/firefox-124.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "6bcec8e98dd9ac57d214a84b8fe87f3acfbc6339f0484394039e1a64af68d0c7";
+      sha256 = "79a67eefcf5655b1de108f6d14f42ed34167e5556637c34f41a1093e6a18561f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b2/linux-i686/zh-TW/firefox-124.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/124.0b5/linux-i686/zh-TW/firefox-124.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "bc8ca622e452d69c0d5e371f2ba89a5947c1fa7492f91a791c4250b3ca945cc9";
+      sha256 = "f14023c75ee13fc10e05db2110bf4e9541f2cda889715e6e499122fb698d40a7";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index e21ec0ec7414..f92dc751e528 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -33,11 +33,11 @@
 
   firefox-beta = buildMozillaMach rec {
     pname = "firefox-beta";
-    version = "124.0b2";
+    version = "124.0b5";
     applicationName = "Mozilla Firefox Beta";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "a98bedcf2bb6e58a20b4ab49d53db0899ed7c6589b20266522521c3db5c583807be1d536a580a1b42dd5783c0d81d95c4f42be6a157fb08a588447ca4fa21dde";
+      sha512 = "a232d5f8d3118ef37166ef8706ab17d4cceaf67f0b12da4780c52253eec297c79e95ab42fe15165fdda62cda045ac923a53550c3525e9fd94ea3dca586510637";
     };
 
     meta = {
@@ -62,13 +62,13 @@
 
   firefox-devedition = buildMozillaMach rec {
     pname = "firefox-devedition";
-    version = "124.0b2";
+    version = "124.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 = "a65a522130d95ef5ffd4ee351c79a64517abdd60a80a74e66b147f6b179613240ab2abd6eb9cd939dfe31dd5b971773e882eb234a358e9546ab0272d8ed94145";
+      sha512 = "bea92dcf8703dab99cc8248a0d205b8613f74efa81cbe789aa3ef863093fa78ac4e362956dfd57186954389cd87cd97bc0b077d3f80bfe5b7dd3b6435874fa98";
     };
 
     meta = {
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index ae98d8aa44a2..784e89adc629 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 = "122.0.2365.52";
+    version = "122.0.2365.59";
     revision = "1";
-    hash = "sha256-H8VTDyDY2Rm5z4cJruzMa1YorBAUL0pJuwhQ6cy4WfY=";
+    hash = "sha256-hs6NHAdqji5Cg1ReGWqalFHv6wyRlyclssyc0cxM+ZU=";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "123.0.2400.1";
+    version = "123.0.2420.6";
     revision = "1";
-    hash = "sha256-I9PT320DJgqJYNwB0pvngyLlV+N2jaS5tOwVwwNHex0=";
+    hash = "sha256-fX6lxhJstz2cZZODu7xRe1fez8WTXqlYNgsMhIVTLaU=";
   };
   stable = import ./browser.nix {
     channel = "stable";
-    version = "122.0.2365.52";
+    version = "122.0.2365.59";
     revision = "1";
-    hash = "sha256-hULyUUFhMjiareXr1zTynyknVyert45N0H4iR8woGRw=";
+    hash = "sha256-LbyipfA5TZWSZu1jeUykGZ2FXwt9rZ7ak7mmryXRnMQ=";
   };
 }
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 4995a5b9340e..ada3dc518efc 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -24,7 +24,7 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "6.5.3206.55";
+  version = "6.5.3206.63";
 
   suffix = {
     aarch64-linux = "arm64";
@@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
     hash = {
-      aarch64-linux = "sha256-lr+9+w1vRZSG/2dP5K3mcKLCQijckPdkM/I2DgjO4wg=";
-      x86_64-linux = "sha256-ElkuuaZfK8F6CVA5xbKszkbqdcPACFR+xd0pRxnd6+U=";
+      aarch64-linux = "sha256-MyKTihImCd1/4UwnC/GqyeQcYnJNvKW5UfIIRN45r8E=";
+      x86_64-linux = "sha256-RbGoOKQyAaNY+y+jCT+r7GI9vymTT9kPDrwl9/bhaNw=";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
diff --git a/pkgs/applications/networking/cluster/bosh-cli/default.nix b/pkgs/applications/networking/cluster/bosh-cli/default.nix
index f54860cd95e1..ab20b2dc72cc 100644
--- a/pkgs/applications/networking/cluster/bosh-cli/default.nix
+++ b/pkgs/applications/networking/cluster/bosh-cli/default.nix
@@ -8,13 +8,13 @@
 buildGoModule rec {
   pname = "bosh-cli";
 
-  version = "7.5.2";
+  version = "7.5.4";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gT0Oivo5QE+pr5PpD/7JAj8oYF9UmSi5F6Ps8RtACzc=";
+    sha256 = "sha256-aNzKp7QwyhC/ado0NrCyxrRZu+ePGBNSq31/Iw6k6n0=";
   };
   vendorHash = null;
 
diff --git a/pkgs/applications/networking/cluster/popeye/default.nix b/pkgs/applications/networking/cluster/popeye/default.nix
index 3afe0bfe0eae..f1db435c443c 100644
--- a/pkgs/applications/networking/cluster/popeye/default.nix
+++ b/pkgs/applications/networking/cluster/popeye/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "popeye";
-  version = "0.20.3";
+  version = "0.20.4";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "derailed";
     repo = "popeye";
-    sha256 = "sha256-Iq33TEl6yCw4e6LeOsXcaMGRmOJqq9XV4KChEArDL6Q=";
+    sha256 = "sha256-rUG2tZokWXWVvGiyDAxVYfVwSDInaLptBCBuawtP1bc=";
   };
 
   ldflags = [
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 94ba7a3c08fa..e214a4a9d1f4 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 = "6.48.1";
+  version = "7.0.0";
   url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-  hash = "sha256-3FJdgWmpfHAy5Hd97bH1DAbXYLsabom22tUKNK2bF2c=";
+  hash = "sha256-xwKisiOE2g+pg1P9mX6AlwYU1JWXIWSSygwauoU05E8=";
 }
diff --git a/pkgs/applications/networking/onionshare/default.nix b/pkgs/applications/networking/onionshare/default.nix
index af0722a6acd3..017dcf3c9156 100644
--- a/pkgs/applications/networking/onionshare/default.nix
+++ b/pkgs/applications/networking/onionshare/default.nix
@@ -1,39 +1,40 @@
 { lib
 , stdenv
 , buildPythonApplication
-, substituteAll
-, fetchFromGitHub
-, isPy3k
+, cepa
 , colorama
+, fetchFromGitHub
 , flask
+, flask-compress
 , flask-httpauth
 , flask-socketio
 , gevent-socketio
 , gevent-websocket
-, cepa
+, obfs4
 , psutil
-, pyqt5
 , pycrypto
 , pynacl
-, pyside2
+, pyqt5
+, pyside6
 , pysocks
 , pytestCheckHook
 , qrcode
 , qt5
 , requests
-, unidecode
-, tor
-, obfs4
 , snowflake
+, substituteAll
+, tor
+, unidecode
+, waitress
 }:
 
 let
-  version = "2.6";
+  version = "2.6.1";
   src = fetchFromGitHub {
     owner = "onionshare";
     repo = "onionshare";
     rev = "v${version}";
-    sha256 = "sha256-LA7XlzoCXUiG/9subTddAd22336wO9sOHCIBlQK4Ga4=";
+    sha256 = "sha256-LR3Ao4Q8kEDwrFV+gYdMSEeYF4hDtEa1rJgvRRrJMwc=";
   };
   meta = with lib; {
     description = "Securely and anonymously send and receive files";
@@ -79,23 +80,27 @@ rec {
       })
     ];
     propagatedBuildInputs = [
+      cepa
       colorama
       flask
+      flask-compress
       flask-httpauth
       flask-socketio
       gevent-socketio
       gevent-websocket
-      cepa
       psutil
       pycrypto
       pynacl
+      pyside6
+      qrcode
       requests
       unidecode
+      waitress
     ];
 
     buildInputs = [
-      tor
       obfs4
+      tor
     ];
 
     nativeCheckInputs = [
@@ -107,9 +112,11 @@ rec {
       export HOME="$(mktemp -d)"
     '';
 
-    disabledTests = [
+    disabledTests = lib.optionals stdenv.isLinux [
       "test_get_tor_paths_linux"  # expects /usr instead of /nix/store
     ] ++ lib.optionals stdenv.isDarwin [
+      # requires meek-client which is not packaged
+      "test_get_tor_paths_darwin"
       # on darwin (and only on darwin) onionshare attempts to discover
       # user's *real* homedir via /etc/passwd, making it more painful
       # to fake
@@ -128,16 +135,15 @@ rec {
         inherit tor meek obfs4 snowflake;
         inherit (tor) geoip;
       })
-      ./fix-qrcode-gui.patch
     ];
 
     propagatedBuildInputs = [
       onionshare
-      pyqt5
-      pyside2
       psutil
-      qrcode
+      pyqt5
+      pyside6
       pysocks
+      qrcode
     ];
 
     nativeBuildInputs = [ qt5.wrapQtAppsHook ];
diff --git a/pkgs/applications/networking/onionshare/fix-qrcode-gui.patch b/pkgs/applications/networking/onionshare/fix-qrcode-gui.patch
deleted file mode 100644
index 97ee3817ab68..000000000000
--- a/pkgs/applications/networking/onionshare/fix-qrcode-gui.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git desktop/onionshare/widgets.py desktop/onionshare/widgets.py
-index 64a07703..bca974fb 100644
---- desktop/onionshare/widgets.py
-+++ desktop/onionshare/widgets.py
-@@ -101,7 +101,7 @@ class Image(qrcode.image.base.BaseImage):
-     A custom Image class, for use with the QR Code pixmap.
-     """
- 
--    def __init__(self, border, width, box_size):
-+    def __init__(self, border, width, box_size, *args, **kargs):
-         self.border = border
-         self.width = width
-         self.box_size = box_size
-
diff --git a/pkgs/applications/networking/powerdns-admin/default.nix b/pkgs/applications/networking/powerdns-admin/default.nix
index 61a728d983b3..12cd9f9d04e7 100644
--- a/pkgs/applications/networking/powerdns-admin/default.nix
+++ b/pkgs/applications/networking/powerdns-admin/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, fetchYarnDeps, mkYarnPackage, nixosTests, writeText, python3 }:
 
 let
-  version = "0.4.1";
+  version = "0.4.2";
   src = fetchFromGitHub {
     owner = "PowerDNS-Admin";
     repo = "PowerDNS-Admin";
     rev = "v${version}";
-    hash = "sha256-AwqEcAPD1SF1Ma3wtH03mXlTywM0Q19hciCmTtlr3gk=";
+    hash = "sha256-q9mt8wjSNFb452Xsg+qhNOWa03KJkYVGAeCWVSzZCyk=";
   };
 
   python = python3;
@@ -29,7 +29,7 @@ let
 
     offlineCache = fetchYarnDeps {
       yarnLock = "${src}/yarn.lock";
-      hash = "sha256-3ebT19LrbYuypdJaoB3tClVVP0Fi8tHx3Xi6ge/DpA4=";
+      hash = "sha256-rXIts+dgOuZQGyiSke1NIG7b4lFlR/Gfu3J6T3wP3aY=";
     };
 
     # Copied from package.json, see also
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 735133d641fe..ebb0f17e784b 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, buildGoModule, fetchFromGitHub, buildPackages, installShellFiles
 , makeWrapper
-, enableCmount ? true, fuse, macfuse-stubs
+, enableCmount ? true, fuse, fuse3, macfuse-stubs
 , librclone
 }:
 
@@ -46,12 +46,12 @@ buildGoModule rec {
       ln -s $out/bin/rclone $out/bin/rclonefs
       ln -s $out/bin/rclone $out/bin/mount.rclone
     '' + lib.optionalString (enableCmount && !stdenv.isDarwin)
-      # use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount,
+      # use --suffix here to ensure we don't shadow /run/wrappers/bin/fusermount3,
       # as the setuid wrapper is required as non-root on NixOS.
       ''
       wrapProgram $out/bin/rclone \
-        --suffix PATH : "${lib.makeBinPath [ fuse ] }" \
-        --prefix LD_LIBRARY_PATH : "${fuse}/lib"
+        --suffix PATH : "${lib.makeBinPath [ fuse3 ] }" \
+        --prefix LD_LIBRARY_PATH : "${fuse3}/lib"
     '';
 
   passthru.tests = {
diff --git a/pkgs/applications/office/moneyplex/default.nix b/pkgs/applications/office/moneyplex/default.nix
deleted file mode 100644
index 08d926a6d5e2..000000000000
--- a/pkgs/applications/office/moneyplex/default.nix
+++ /dev/null
@@ -1,123 +0,0 @@
-{ lib, stdenv, fetchurl, patchelf, coreutils, pcsclite
-, zlib, glib, gdk-pixbuf, gtk2, cairo, pango, libX11, atk, openssl
-, runtimeShell }:
-
-let
-  libPath = lib.makeLibraryPath [
-    stdenv.cc.cc zlib glib gdk-pixbuf gtk2 cairo pango libX11 atk openssl
-  ];
-
-  src_i686 = {
-    url = "http://www.matrica.com/download/distribution/moneyplex_16_install32_22424.tar.gz";
-    sha256 = "0yfpc6s85r08g796dycl378kagkma865vp7j72npia3hjc4vwamr";
-  };
-
-  src_x86_64 = {
-    url = "http://www.matrica.com/download/distribution/moneyplex_16_install64_22424.tar.gz";
-    sha256 = "03vxbg1yp8qyvcn6bw2a5s134nxzq9cn0vqbmlld7hh4knbsfqzw";
-  };
-in
-
-stdenv.mkDerivation {
-  pname = "moneyplex";
-  version = "16.0.22424";
-
-  src = fetchurl (if stdenv.hostPlatform.system == "i686-linux" then src_i686
-                  else if stdenv.hostPlatform.system == "x86_64-linux" then src_x86_64
-                  else throw "moneyplex requires i686-linux or x86_64-linux");
-
-
-  phases = [ "unpackPhase" "installPhase" "postInstall" ];
-
-  buildInputs = [ ];
-
-  installPhase =
-  ''
-    mkdir -p "$out/opt/moneyplex"
-    cp -r . $out/opt/moneyplex
-
-    mkdir "$out/bin"
-
-    cat > $out/bin/moneyplex <<EOF
-    #!${runtimeShell}
-
-    if [ -z "\$XDG_DATA_HOME" ]; then
-        MDIR=\$HOME/.local/share/moneyplex
-    else
-        MDIR=\$XDG_DATA_HOME/moneyplex
-    fi
-
-    if [ ! -d "\$MDIR" ]; then
-        ${coreutils}/bin/mkdir -p \$MDIR
-        ${coreutils}/bin/cp -r $out/opt/moneyplex/* \$MDIR
-        ${coreutils}/bin/chmod 0644 \$MDIR/*
-        ${coreutils}/bin/chmod 0755 \$MDIR/system
-        ${coreutils}/bin/chmod 0644 \$MDIR/system/*
-        ${coreutils}/bin/chmod 0755 \$MDIR/reports
-        ${coreutils}/bin/chmod 0644 \$MDIR/reports/*
-        ${coreutils}/bin/chmod 0755 \$MDIR/moneyplex
-        ${coreutils}/bin/chmod 0755 \$MDIR/prestart
-        ${coreutils}/bin/chmod 0755 \$MDIR/mpxalarm
-    fi
-
-    if [ ! -d "\$MDIR/pcsc" ]; then
-        ${coreutils}/bin/mkdir -p \$MDIR/pcsc
-    fi
-    if [ ! -e "\$MDIR/pcsc/libpcsclite.so.1" ] || [ ! \`${coreutils}/bin/readlink -f "\$MDIR/pcsc/libpcsclite.so.1"\` -ef "${lib.getLib pcsclite}/lib/libpcsclite.so.1" ]; then
-        ${coreutils}/bin/ln -sf "${lib.getLib pcsclite}/lib/libpcsclite.so.1" "\$MDIR/pcsc/libpcsclite.so.1"
-    fi
-
-
-    if [ -e "\$MDIR/rup/rupremote.lst" ]; then
-      for i in \`${coreutils}/bin/cat "\$MDIR/rup/rupremote.lst"\`; do
-        ${coreutils}/bin/mv "\$MDIR/rup/"\`${coreutils}/bin/basename \$i\` "\$MDIR/\$i"
-      done
-      rm -r "\$MDIR/rup/rupremote.lst"
-    fi
-
-    if [ ! -e "\$MDIR/moneyplex.patched" ] || [ "\$MDIR/moneyplex" -nt "\$MDIR/moneyplex.patched" ]; then
-        ${coreutils}/bin/cp "\$MDIR/moneyplex" "\$MDIR/moneyplex.patched"
-        ${coreutils}/bin/chmod 0755 "\$MDIR/moneyplex.patched"
-    fi
-    if [ ! \`${patchelf}/bin/patchelf --print-interpreter \$MDIR/moneyplex.patched\` = $(cat $NIX_CC/nix-support/dynamic-linker) ] ||
-       [ ! \`${patchelf}/bin/patchelf --print-rpath \$MDIR/moneyplex.patched\` = "${libPath}" ]; then
-        ${patchelf}/bin/patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath "${libPath}" "\$MDIR/moneyplex.patched"
-    fi
-
-    exec \$MDIR/moneyplex.patched
-    EOF
-
-    chmod +x $out/bin/moneyplex
-    '';
-
-  postInstall = ''
-    mkdir -p $out/share/icons
-    cp -r $out/opt/moneyplex/system/mpx256.png $out/share/icons/moneyplex.png
-
-    mkdir -p $out/share/applications
-    cat > $out/share/applications/moneyplex.desktop <<EOF
-    [Desktop Entry]
-    Type=Application
-    Encoding=UTF-8
-    Name=Moneyplex
-    GenericName=Moneyplex online banking software
-    Comment=Online banking software
-    Icon=$out/share/icons/moneyplex.png
-    Exec=$out/bin/moneyplex
-    Terminal=false
-    Categories=Application;
-    StartupNotify=true
-    EOF
-    '';
-
-
-  meta = with lib; {
-    description = "Moneyplex online banking software";
-    maintainers = with maintainers; [ ];
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    platforms = platforms.linux;
-    license = licenses.unfree;
-    downloadPage = "http://matrica.de/download/download.html";
-  };
-
-}
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index a3faca60c2a6..3bc84e414bb7 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 = "1541";
+  version = "1542";
 
   src = fetchFromGitLab {
     owner = "mcfrith";
     repo = "last";
     rev = "refs/tags/${version}";
-    hash = "sha256-gEesPeGY2RozoViZpBWNTXFJriKVb/r0Efw9XEXwXmM=";
+    hash = "sha256-ZzvyyecYiBscogfN9/FnDbHg/lqb8y14n9C2KLIqhFA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index 98a5549faab4..5b5042494c49 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.15.0";
+  version = "3.16.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-WXsEkJRis9L9heHj6SkTFFTuGmnDXPMKfr7rYy8vzcI=";
+    hash = "sha256-vd8MtkzI7PPow0Ld0NhwbWOUWgSgecAT/DZK0ocUWCw=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/version-management/git-dive/default.nix b/pkgs/applications/version-management/git-dive/default.nix
index 983d7b3dd672..c0209c38cfa9 100644
--- a/pkgs/applications/version-management/git-dive/default.nix
+++ b/pkgs/applications/version-management/git-dive/default.nix
@@ -2,8 +2,7 @@
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
-  # libgit2-sys doesn't support libgit2 1.6 yet
-, libgit2_1_5
+, libgit2
 , oniguruma
 , zlib
 , stdenv
@@ -29,7 +28,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = [
-    libgit2_1_5
+    libgit2
     oniguruma
     zlib
   ] ++ lib.optionals stdenv.isDarwin [
@@ -54,7 +53,10 @@ rustPlatform.buildRustPackage rec {
     git config --global user.email nixbld@example.com
   '';
 
-  RUSTONIG_SYSTEM_LIBONIG = true;
+  env = {
+    LIBGIT2_NO_VENDOR = 1;
+    RUSTONIG_SYSTEM_LIBONIG = true;
+  };
 
   meta = with lib; {
     description = "Dive into a file's history to find root cause";
diff --git a/pkgs/applications/version-management/git-mit/default.nix b/pkgs/applications/version-management/git-mit/default.nix
index d4dece40ebde..5e5732a01145 100644
--- a/pkgs/applications/version-management/git-mit/default.nix
+++ b/pkgs/applications/version-management/git-mit/default.nix
@@ -2,7 +2,7 @@
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
-, libgit2_1_5
+, libgit2
 , openssl
 , zlib
 , stdenv
@@ -28,13 +28,17 @@ rustPlatform.buildRustPackage {
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
-    libgit2_1_5
+    libgit2
     openssl
     zlib
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.AppKit
   ];
 
+  env = {
+    LIBGIT2_NO_VENDOR = 1;
+  };
+
   meta = with lib; {
     description = "Minimalist set of hooks to aid pairing and link commits to issues";
     homepage = "https://github.com/PurpleBooth/git-mit";
diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix
index ed3f3c8764f4..eb3ee122bf51 100644
--- a/pkgs/applications/version-management/gitoxide/default.nix
+++ b/pkgs/applications/version-management/gitoxide/default.nix
@@ -9,9 +9,14 @@
 , SystemConfiguration
 , curl
 , openssl
+, buildPackages
+, installShellFiles
 }:
 
-rustPlatform.buildRustPackage rec {
+let
+  canRunCmd = stdenv.hostPlatform.emulatorAvailable buildPackages;
+  gix = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/gix";
+in rustPlatform.buildRustPackage rec {
   pname = "gitoxide";
   version = "0.33.0";
 
@@ -24,12 +29,19 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-JOl/hhyuc6vqeK6/oXXMB3fGRapBsuOTaUG+BQ9QSnk=";
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config installShellFiles ];
 
   buildInputs = [ curl ] ++ (if stdenv.isDarwin
     then [ libiconv Security SystemConfiguration ]
     else [ openssl ]);
 
+  preFixup = lib.optionalString canRunCmd ''
+    installShellCompletion --cmd gix \
+      --bash <(${gix} completions --shell bash) \
+      --fish <(${gix} completions --shell fish) \
+      --zsh <(${gix} completions --shell zsh)
+  '';
+
   # Needed to get openssl-sys to use pkg-config.
   env.OPENSSL_NO_VENDOR = 1;
 
diff --git a/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix b/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
index 874263f7b2d2..5287c7f21108 100644
--- a/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
+++ b/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
@@ -2,13 +2,13 @@
 
 buildLua rec {
   pname = "mpv-playlistmanager";
-  version = "unstable-2023-11-28";
+  version = "unstable-2024-02-26";
 
   src = fetchFromGitHub {
     owner = "jonniek";
     repo = "mpv-playlistmanager";
-    rev = "579490c7ae1becc129736b7632deec4f3fb90b99";
-    hash = "sha256-swOtoB8UV/HPTpQRGXswAfUYsyC2Nj/QRIkGP8X1jk0=";
+    rev = "1911dc053951169c98cfcfd9f44ef87d9122ca80";
+    hash = "sha256-pcdOMhkivLF5B86aNuHrqj77DuYLAFGlwFwY7jxkDkE=";
   };
   passthru.updateScript = unstableGitUpdater {};
 
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 1fe0ef18aa99..0583f522bda3 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -64,6 +64,8 @@ let
       # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
       export USER=nobody
       ${buildPackages.nix}/bin/nix-store --load-db < ${closureInfo {rootPaths = contentsList;}}/registration
+      # Reset registration times to make the image reproducible
+      ${buildPackages.sqlite}/bin/sqlite3 nix/var/nix/db/db.sqlite "UPDATE ValidPaths SET registrationTime = ''${SOURCE_DATE_EPOCH}"
 
       mkdir -p nix/var/nix/gcroots/docker/
       for i in ${lib.concatStringsSep " " contentsList}; do
diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix
index a38231bdcaa3..cecf3f5eae84 100644
--- a/pkgs/build-support/trivial-builders/default.nix
+++ b/pkgs/build-support/trivial-builders/default.nix
@@ -904,22 +904,23 @@ rec {
         else throw "applyPatches: please supply a `name` argument because a default name can only be computed when the `src` is a path or is an attribute set with a `name` attribute."
       ) + "-patched"
     , patches ? [ ]
+    , prePatch ? ""
     , postPatch ? ""
     , ...
     }@args:
-    if patches == [ ] && postPatch == ""
+    if patches == [ ] && prePatch == "" && postPatch == ""
     then src # nothing to do, so use original src to avoid additional drv
     else stdenvNoCC.mkDerivation
-      {
-        inherit name src patches postPatch;
+      ({
+        inherit name src patches prePatch postPatch;
         preferLocalBuild = true;
         allowSubstitutes = false;
         phases = "unpackPhase patchPhase installPhase";
         installPhase = "cp -R ./ $out";
       }
-    # Carry `meta` information from the underlying `src` if present.
-    // (optionalAttrs (src?meta) { inherit (src) meta; })
-    // (removeAttrs args [ "src" "name" "patches" "postPatch" ]);
+      # Carry `meta` information from the underlying `src` if present.
+      // (optionalAttrs (src?meta) { inherit (src) meta; })
+      // (removeAttrs args [ "src" "name" "patches" "prePatch" "postPatch" ]));
 
   /* An immutable file in the store with a length of 0 bytes. */
   emptyFile = runCommand "empty-file"
diff --git a/pkgs/by-name/be/bemoji/package.nix b/pkgs/by-name/be/bemoji/package.nix
index 1747d8934c26..37e2155ca1d3 100644
--- a/pkgs/by-name/be/bemoji/package.nix
+++ b/pkgs/by-name/be/bemoji/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "bemoji";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "marty-oehme";
     repo = "bemoji";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DhsJX5HlyTh0QLlHy1OwyaYg4vxWpBSsF71D9fxqPWE=";
+    hash = "sha256-HXwho0vRI9ZrUuDMicMH4ZNExY+zJfbrne2LMQmmHww=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/misc/chrysalis/default.nix b/pkgs/by-name/ch/chrysalis/package.nix
index 0852e886c54b..ab4b5b5f3f8f 100644
--- a/pkgs/applications/misc/chrysalis/default.nix
+++ b/pkgs/by-name/ch/chrysalis/package.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "chrysalis";
-  version = "0.13.2";
+  version = "0.13.3";
   name = "${pname}-${version}-binary";
   src = fetchurl {
     url =
       "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}-x64.AppImage";
     hash =
-      "sha512-WuItdQ/hDxbZZ3zulHI74NUkuYfesV/31rA1gPakCFgX2hpPrmKzwUez2vqt4N5qrGyphrR0bcelUatGZhOn5A==";
+      "sha512-F6Y87rgIclj1OA3gVX/gqqp9AvXKQlBXrbqk/26F1KHPF9NzHJgVmeszSo3Nhb6xg4CzWmzkqc8IW2H/Bg57kw==";
   };
   appimageContents = appimageTools.extract { inherit name src; };
 in appimageTools.wrapType2 rec {
@@ -38,11 +38,13 @@ in appimageTools.wrapType2 rec {
     install -Dm444 ${appimageContents}/usr/share/icons/hicolor/256x256/chrysalis.png -t $out/share/pixmaps
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "A graphical configurator for Kaleidoscope-powered keyboards";
     homepage = "https://github.com/keyboardio/Chrysalis";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ aw ];
+    maintainers = with maintainers; [ aw eclairevoyant nshalman ];
     platforms = [ "x86_64-linux" ];
     mainProgram = "chrysalis";
   };
diff --git a/pkgs/by-name/ch/chrysalis/update.sh b/pkgs/by-name/ch/chrysalis/update.sh
new file mode 100644
index 000000000000..182d47a9285a
--- /dev/null
+++ b/pkgs/by-name/ch/chrysalis/update.sh
@@ -0,0 +1,16 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash --pure -p curl cacert jq
+
+set -euo pipefail
+
+cd "$(dirname "${BASH_SOURCE[0]}")"
+DRV_DIR="$PWD"
+
+relinfo=$(curl -sL 'https://api.github.com/repos/keyboardio/chrysalis/releases' | jq 'map(select(.prerelease == false)) | max_by(.tag_name)')
+newver=$(echo "$relinfo" | jq --raw-output '.tag_name' | sed 's|^v||')
+hashurl=$(echo "$relinfo" | jq --raw-output '.assets[] | select(.name == "latest-linux.yml").browser_download_url')
+newhash=$(curl -sL "$hashurl" | grep -Po '^sha512: \K.*')
+
+sed -i package.nix \
+    -e "/^  version =/ s|\".*\"|\"$newver\"|" \
+    -e "/sha512-/ s|\".*\"|\"sha512-$newhash\"|" \
diff --git a/pkgs/applications/editors/edbrowse/0001-small-fixes.patch b/pkgs/by-name/ed/edbrowse/0001-small-fixes.patch
index 433b884cc5de..433b884cc5de 100644
--- a/pkgs/applications/editors/edbrowse/0001-small-fixes.patch
+++ b/pkgs/by-name/ed/edbrowse/0001-small-fixes.patch
diff --git a/pkgs/applications/editors/edbrowse/default.nix b/pkgs/by-name/ed/edbrowse/package.nix
index 0f51e016c0ea..154095e57cc8 100644
--- a/pkgs/applications/editors/edbrowse/default.nix
+++ b/pkgs/by-name/ed/edbrowse/package.nix
@@ -1,8 +1,7 @@
 { lib
-, stdenv
-, fetchFromGitHub
 , curl
 , duktape
+, fetchFromGitHub
 , html-tidy
 , openssl
 , pcre
@@ -10,24 +9,45 @@
 , pkg-config
 , quickjs
 , readline
+, stdenv
+, unixODBC
 , which
+, withODBC ? true
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "edbrowse";
   version = "3.8.0";
 
   src = fetchFromGitHub {
     owner = "CMB";
-    repo = pname;
-    rev = "v${version}";
+    repo = "edbrowse";
+    rev = "v${finalAttrs.version}";
     hash = "sha256-ZXxzQBAmu7kM3sjqg/rDLBXNucO8sFRFKXV8UxQVQZU=";
   };
 
+  sourceRoot = "${finalAttrs.src.name}/src";
+
+  patches = [
+    # Fixes some small annoyances on src/makefile
+     ./0001-small-fixes.patch
+  ];
+
+  patchFlags =  [
+    "-p2"
+  ];
+
+  postPatch = ''
+    for file in $(find ./tools/ -type f ! -name '*.c'); do
+      patchShebangs $file
+    done
+  '';
+
   nativeBuildInputs = [
     pkg-config
     which
   ];
+
   buildInputs = [
     curl
     duktape
@@ -37,27 +57,23 @@ stdenv.mkDerivation rec {
     perl
     quickjs
     readline
+  ] ++ lib.optionals withODBC [
+    unixODBC
   ];
 
-  patches = [
-    # Fixes some small annoyances on src/makefile
-    ./0001-small-fixes.patch
-  ];
-
-  postPatch = ''
-    substituteInPlace src/makefile --replace\
-      '-L/usr/local/lib/quickjs' '-L${quickjs}/lib/quickjs'
-    for i in $(find ./tools/ -type f ! -name '*.c'); do
-      patchShebangs $i
-    done
-  '';
-
   makeFlags = [
-    "-C" "src"
     "PREFIX=${placeholder "out"}"
   ];
 
-  meta = with lib; {
+  preBuild = ''
+    buildFlagsArray+=(
+      BUILD_EDBR_ODBC=${if withODBC then "on" else "off"}
+      EBDEMIN=on
+      QUICKJS_LDFLAGS="-L${quickjs}/lib/quickjs -lquickjs -ldl -latomic"
+    )
+  '';
+
+  meta = {
     homepage = "https://edbrowse.org/";
     description = "Command Line Editor Browser";
     longDescription = ''
@@ -71,10 +87,14 @@ stdenv.mkDerivation rec {
       send email, with no human intervention whatsoever. edbrowse can also tap
       into databases through odbc. It was primarily written by Karl Dahlke.
     '';
-    license = licenses.gpl1Plus;
-    maintainers = with maintainers; [ schmitthenner vrthra equirosa ];
-    platforms = platforms.linux;
+    license = with lib.licenses; [ gpl1Plus ];
     mainProgram = "edbrowse";
+    maintainers = with lib.maintainers; [
+      schmitthenner
+      equirosa
+      AndersonTorres
+    ];
+    platforms = lib.platforms.linux;
   };
-}
+})
 # TODO: send the patch to upstream developers
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix b/pkgs/by-name/em/emacspeak/package.nix
index 5294623584da..6c18af7807ea 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacspeak/default.nix
+++ b/pkgs/by-name/em/emacspeak/package.nix
@@ -1,34 +1,37 @@
 { lib
-, stdenv
+, emacs
+, espeak-ng
 , fetchFromGitHub
 , makeWrapper
-, emacs
+, stdenv
 , tcl
 , tclx
-, espeak-ng
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "emacspeak";
-  version = "58.0";
+  version = "59.0";
 
   src = fetchFromGitHub {
     owner = "tvraman";
-    repo = pname;
-    rev = version;
-    hash= "sha256-5pWC17nvy3ZuG0bR//LqDVpKsH5hFSFf63Q33a1BfBk=";
+    repo = "emacspeak";
+    rev = finalAttrs.version;
+    hash = "sha256-npS/wlqI7nBde/2S/rzp79jdfYXIIhgsVs5VizxEDAQ=";
   };
 
   nativeBuildInputs = [
     emacs
     makeWrapper
   ];
+
   buildInputs = [
     espeak-ng
     tcl
     tclx
   ];
 
+  strictDeps = true;
+
   preConfigure = ''
     make config
   '';
@@ -44,17 +47,21 @@ stdenv.mkDerivation rec {
     cp -a .  "$d"
     find "$d" \( -type d -or \( -type f -executable \) \) -execdir chmod 755 {} +
     find "$d" -type f -not -executable -execdir chmod 644 {} +
-    makeWrapper ${emacs}/bin/emacs $out/bin/emacspeak \
+    makeWrapper ${lib.getExe emacs} $out/bin/emacspeak \
         --set DTK_PROGRAM "${placeholder "out"}/share/emacs/site-lisp/emacspeak/servers/espeak" \
         --set TCLLIBPATH "${tclx}/lib" \
         --add-flags '-l "${placeholder "out"}/share/emacs/site-lisp/emacspeak/lisp/emacspeak-setup.elc"'
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/tvraman/emacspeak/";
     description = "Emacs extension that provides spoken output";
-    license = licenses.gpl2Plus;
-    maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    changelog = "https://github.com/tvraman/emacspeak/blob/${finalAttrs.src.rev}/etc/NEWS";
+    license = with lib.licenses; [ gpl2Plus ];
+    mainProgram = "emacspeak";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.linux;
+    # Emacspeak requires a minimal Emacs version; let's use the broken flag
+    broken = lib.versionOlder (lib.getVersion emacs) "29.1";
   };
-}
+})
diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix
index 396b1cf38c73..5ac21168eb1f 100644
--- a/pkgs/by-name/ez/eza/package.nix
+++ b/pkgs/by-name/ez/eza/package.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "eza";
-  version = "0.18.4";
+  version = "0.18.5";
 
   src = fetchFromGitHub {
     owner = "eza-community";
     repo = "eza";
     rev = "v${version}";
-    hash = "sha256-G8Ow38vNSMMYINYhGp33rls5AV4EFZDEJhkNn5H64LA=";
+    hash = "sha256-L0FF9pN4WGCFpg2MPAvrKC/DwyWK6BWGxwYEpQBl9Rw=";
   };
 
-  cargoHash = "sha256-A/EIkWSdMqSdrnjMTfIdg0scSBK/xsI5PPsOn+cRogA=";
+  cargoHash = "sha256-bZ2NzFpB9vpT0mB2LsETdmtzYAwNrpzBRoqmm4+13+0=";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
   buildInputs = [ zlib ]
diff --git a/pkgs/by-name/ff/ffsubsync/package.nix b/pkgs/by-name/ff/ffsubsync/package.nix
index 8165e30c504d..759de944a6e3 100644
--- a/pkgs/by-name/ff/ffsubsync/package.nix
+++ b/pkgs/by-name/ff/ffsubsync/package.nix
@@ -1,21 +1,25 @@
 { lib
-, python3Packages
 , fetchFromGitHub
+, python3
 }:
 
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "ffsubsync";
   version = "0.4.25";
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "smacke";
     repo = "ffsubsync";
-    rev = version;
+    rev = "refs/tags/${version}";
     hash = "sha256-ZdKZeKfAUe/FXLOur9Btb5RgXewmy3EHunQphqlxpIc=";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
     auditok
     charset-normalizer
     faust-cchardet
@@ -32,9 +36,13 @@ python3Packages.buildPythonApplication rec {
     webrtcvad
   ];
 
-  nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
+  nativeCheckInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "ffsubsync" ];
+  pythonImportsCheck = [
+    "ffsubsync"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/smacke/ffsubsync";
diff --git a/pkgs/by-name/fl/flottbot/package.nix b/pkgs/by-name/fl/flottbot/package.nix
index 43866e947c81..ba0321fbdd5b 100644
--- a/pkgs/by-name/fl/flottbot/package.nix
+++ b/pkgs/by-name/fl/flottbot/package.nix
@@ -6,13 +6,13 @@
 }:
 buildGoModule rec {
   pname = "flottbot";
-  version = "0.13.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "target";
     repo = "flottbot";
     rev = version;
-    hash = "sha256-ldWE5QcLHyIqap5Qe6OTTIJZ1sshI+CVoJoRUxWHfxM=";
+    hash = "sha256-Fv4ZBCQA7gwt11ULIiyFwn+QgoMNgu+1TM9yy2Jz7og=";
   };
 
   patches = [
@@ -24,7 +24,7 @@ buildGoModule rec {
     })
   ];
 
-  vendorHash = "sha256-XRcTp3ZnoPupzI1kjoM4oF5+VlNJFV0Bu+WAwfRWl7g=";
+  vendorHash = "sha256-wOUQKFd2Xm/2rvLw8kw8Ejbcq/JUvup/BzZs0fllBYY=";
 
   subPackages = [ "cmd/flottbot" ];
 
diff --git a/pkgs/by-name/fm/fm-go/package.nix b/pkgs/by-name/fm/fm-go/package.nix
new file mode 100644
index 000000000000..204250e7c907
--- /dev/null
+++ b/pkgs/by-name/fm/fm-go/package.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+let
+  finalAttrs = {
+    pname = "fm";
+    version = "0.16.0";
+
+    src = fetchFromGitHub {
+      owner = "mistakenelf";
+      repo = "fm";
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-wiACaszbkO9jBYmIfeQpcx984RY41Emyu911nkJxUFY=";
+    };
+
+    vendorHash = "sha256-AfRGoKiVZGVIbsDj5pV1zCkp2FpcfWKS0t+cTU51RRc=";
+
+    meta = {
+      homepage = "https://github.com/mistakenelf/fm";
+      description = "A terminal based file manager";
+      changelog = "https://github.com/mistakenelf/fm/releases/tag/${finalAttrs.src.rev}";
+      license = with lib.licenses; [ mit ];
+      mainProgram = "fm";
+      maintainers = with lib.maintainers; [ AndersonTorres ];
+    };
+  };
+in
+buildGoModule finalAttrs
diff --git a/pkgs/by-name/fw/fwupd/package.nix b/pkgs/by-name/fw/fwupd/package.nix
index 532ba9bb2537..e87ebdc04d6f 100644
--- a/pkgs/by-name/fw/fwupd/package.nix
+++ b/pkgs/by-name/fw/fwupd/package.nix
@@ -120,7 +120,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "fwupd";
-  version = "1.9.13";
+  version = "1.9.14";
 
   # libfwupd goes to lib
   # daemon, plug-ins and libfwupdplugin go to out
@@ -131,7 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "fwupd";
     repo = "fwupd";
     rev = finalAttrs.version;
-    hash = "sha256-h2e9MFTb777xbNRlzKWXc5GUdu/BHSkJTaogEE5byjo=";
+    hash = "sha256-pG4pRksHw8p8rz99UnLURP+ROE+P+ySt4IlfmyRc1CQ=";
   };
 
   patches = [
diff --git a/pkgs/by-name/go/go-errorlint/package.nix b/pkgs/by-name/go/go-errorlint/package.nix
new file mode 100644
index 000000000000..5c67519c4ea5
--- /dev/null
+++ b/pkgs/by-name/go/go-errorlint/package.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "go-errorlint";
+  version = "1.4.5";
+
+  src = fetchFromGitHub {
+    owner = "polyfloyd";
+    repo = "go-errorlint";
+    rev = "v${version}";
+    hash = "sha256-BU+3sLUGBCFA1JYFxTEyIan+iWB7Y7SaMFVomfNObMg=";
+  };
+
+  vendorHash = "sha256-xn7Ou4l8vbPD44rsN0mdFjTzOvkfv6QN6i5XR1XPxTE=";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    description = "A source code linter that can be used to find code that will cause problems with Go's error wrapping scheme";
+    homepage = "https://github.com/polyfloyd/go-errorlint";
+    changelog = "https://github.com/polyfloyd/go-errorlint/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ meain ];
+    mainProgram = "go-errorlint";
+  };
+}
diff --git a/pkgs/tools/package-management/home-manager/default.nix b/pkgs/by-name/ho/home-manager/package.nix
index 7a427300f85e..dce820175938 100644
--- a/pkgs/tools/package-management/home-manager/default.nix
+++ b/pkgs/by-name/ho/home-manager/package.nix
@@ -1,29 +1,29 @@
 { lib
-, stdenvNoCC
-, fetchFromGitHub
 , bash
 , coreutils
+, fetchFromGitHub
 , findutils
 , gettext
 , gnused
+, installShellFiles
 , less
 , ncurses
 , nixos-option
+, stdenvNoCC
 , unixtools
-, installShellFiles
 , unstableGitUpdater
 }:
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "home-manager";
-  version = "unstable-2024-02-20";
+  version = "0-unstable-2024-02-24";
 
   src = fetchFromGitHub {
     name = "home-manager-source";
     owner = "nix-community";
     repo = "home-manager";
-    rev = "517601b37c6d495274454f63c5a483c8e3ca6be1";
-    hash = "sha256-tgZ38NummEdnXvxj4D0StHBzXgceAw8CptytHljH790=";
+    rev = "4ee704cb13a5a7645436f400b9acc89a67b9c08a";
+    hash = "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=";
   };
 
   nativeBuildInputs = [
@@ -40,6 +40,21 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     install -D -m755 home-manager/home-manager $out/bin/home-manager
     install -D -m755 lib/bash/home-manager.sh $out/share/bash/home-manager.sh
 
+    installShellCompletion --bash --name home-manager.bash home-manager/completion.bash
+    installShellCompletion --fish --name home-manager.fish home-manager/completion.fish
+    installShellCompletion --zsh --name _home-manager home-manager/completion.zsh
+
+    for pofile in home-manager/po/*.po; do
+      lang="''${pofile##*/}"
+      lang="''${lang%%.*}"
+      mkdir -p "$out/share/locale/$lang/LC_MESSAGES"
+      msgfmt -o "$out/share/locale/$lang/LC_MESSAGES/home-manager.mo" "$pofile"
+    done
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
     substituteInPlace $out/bin/home-manager \
       --subst-var-by bash "${bash}" \
       --subst-var-by DEP_PATH "${
@@ -57,19 +72,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
       --subst-var-by HOME_MANAGER_LIB '${placeholder "out"}/share/bash/home-manager.sh' \
       --subst-var-by HOME_MANAGER_PATH "${finalAttrs.src}" \
       --subst-var-by OUT '${placeholder "out"}'
-
-    installShellCompletion --bash --name home-manager.bash home-manager/completion.bash
-    installShellCompletion --fish --name home-manager.fish home-manager/completion.fish
-    installShellCompletion --zsh --name _home-manager home-manager/completion.zsh
-
-    for pofile in home-manager/po/*.po; do
-      lang="''${pofile##*/}"
-      lang="''${lang%%.*}"
-      mkdir -p "$out/share/locale/$lang/LC_MESSAGES"
-      msgfmt -o "$out/share/locale/$lang/LC_MESSAGES/home-manager.mo" "$pofile"
-    done
-
-    runHook postInstall
   '';
 
   passthru.updateScript = unstableGitUpdater {
@@ -86,8 +88,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
       (non global) packages and dotfiles.
     '';
     license = lib.licenses.mit;
+    mainProgram = "home-manager";
     maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = lib.platforms.unix;
-    mainProgram = "home-manager";
   };
 })
diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix
index 4ee6293ae438..ebb9c29e75bd 100644
--- a/pkgs/by-name/ll/llama-cpp/package.nix
+++ b/pkgs/by-name/ll/llama-cpp/package.nix
@@ -15,12 +15,16 @@
 , openclSupport ? false
 , clblast
 
-, blasSupport ? !rocmSupport && !cudaSupport
-, openblas
+, blasSupport ? builtins.all (x: !x) [ cudaSupport metalSupport openclSupport rocmSupport vulkanSupport ]
 , pkg-config
 , metalSupport ? stdenv.isDarwin && stdenv.isAarch64 && !openclSupport
-, patchelf
-, static ? true # if false will build the shared objects as well
+, vulkanSupport ? false
+, mpiSupport ? false # Increases the runtime closure by ~700M
+, vulkan-headers
+, vulkan-loader
+, ninja
+, git
+, mpi
 }:
 
 let
@@ -28,16 +32,50 @@ let
   # otherwise we get libstdc++ errors downstream.
   # cuda imposes an upper bound on the gcc version, e.g. the latest gcc compatible with cudaPackages_11 is gcc11
   effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv;
+  inherit (lib) cmakeBool cmakeFeature optionals;
+
+  darwinBuildInputs =
+    with darwin.apple_sdk.frameworks;
+    [
+      Accelerate
+      CoreVideo
+      CoreGraphics
+    ]
+    ++ optionals metalSupport [ MetalKit ];
+
+   cudaBuildInputs = with cudaPackages; [
+    cuda_cccl.dev # <nv/target>
+
+    # A temporary hack for reducing the closure size, remove once cudaPackages
+    # have stopped using lndir: https://github.com/NixOS/nixpkgs/issues/271792
+    cuda_cudart.dev
+    cuda_cudart.lib
+    cuda_cudart.static
+    libcublas.dev
+    libcublas.lib
+    libcublas.static
+  ];
+
+  rocmBuildInputs = with rocmPackages; [
+    clr
+    hipblas
+    rocblas
+  ];
+
+  vulkanBuildInputs = [
+    vulkan-headers
+    vulkan-loader
+  ];
 in
 effectiveStdenv.mkDerivation (finalAttrs: {
   pname = "llama-cpp";
-  version = "2249";
+  version = "2294";
 
   src = fetchFromGitHub {
     owner = "ggerganov";
     repo = "llama.cpp";
     rev = "refs/tags/b${finalAttrs.version}";
-    hash = "sha256-ikJUToUbA60u/8azR6dPmPyodq/nQe5L2aotlYBclaE=";
+    hash = "sha256-uZi4Bj03PgfFV+jS5M+A1sMCWC/GMY5IyyrlR1b4Sh4=";
   };
 
   postPatch = ''
@@ -45,7 +83,8 @@ effectiveStdenv.mkDerivation (finalAttrs: {
       --replace '[bundle pathForResource:@"ggml-metal" ofType:@"metal"];' "@\"$out/bin/ggml-metal.metal\";"
   '';
 
-  nativeBuildInputs = [ cmake ] ++ lib.optionals blasSupport [ pkg-config ] ++ lib.optionals cudaSupport [
+  nativeBuildInputs = [ cmake ninja pkg-config git ]
+    ++ optionals cudaSupport [
     cudaPackages.cuda_nvcc
 
     # TODO: Replace with autoAddDriverRunpath
@@ -53,86 +92,55 @@ effectiveStdenv.mkDerivation (finalAttrs: {
     cudaPackages.autoAddOpenGLRunpathHook
   ];
 
-  buildInputs = lib.optionals effectiveStdenv.isDarwin
-    (with darwin.apple_sdk.frameworks; [
-      Accelerate
-      CoreGraphics
-      CoreVideo
-      Foundation
-    ])
-  ++ lib.optionals metalSupport (with darwin.apple_sdk.frameworks; [
-    MetalKit
-  ])
-  ++ lib.optionals cudaSupport (with cudaPackages; [
-    cuda_cccl.dev # <nv/target>
-
-    # A temporary hack for reducing the closure size, remove once cudaPackages
-    # have stopped using lndir: https://github.com/NixOS/nixpkgs/issues/271792
-    cuda_cudart.dev
-    cuda_cudart.lib
-    cuda_cudart.static
-    libcublas.dev
-    libcublas.lib
-    libcublas.static
-  ]) ++ lib.optionals rocmSupport [
-    rocmPackages.clr
-    rocmPackages.hipblas
-    rocmPackages.rocblas
-  ] ++ lib.optionals openclSupport [
-    clblast
-  ] ++ lib.optionals blasSupport [
-    openblas
-  ];
+  buildInputs = optionals effectiveStdenv.isDarwin darwinBuildInputs
+    ++ optionals cudaSupport cudaBuildInputs
+    ++ optionals mpiSupport mpi
+    ++ optionals openclSupport [ clblast ]
+    ++ optionals rocmSupport rocmBuildInputs
+    ++ optionals vulkanSupport vulkanBuildInputs;
 
   cmakeFlags = [
-    "-DLLAMA_NATIVE=OFF"
-    "-DLLAMA_BUILD_SERVER=ON"
+    # -march=native is non-deterministic; override with platform-specific flags if needed
+    (cmakeBool "LLAMA_NATIVE" false)
+    (cmakeBool "BUILD_SHARED_SERVER" true)
+    (cmakeBool "BUILD_SHARED_LIBS" true)
+    (cmakeBool "BUILD_SHARED_LIBS" true)
+    (cmakeBool "LLAMA_BLAS" blasSupport)
+    (cmakeBool "LLAMA_CLBLAST" openclSupport)
+    (cmakeBool "LLAMA_CUBLAS" cudaSupport)
+    (cmakeBool "LLAMA_HIPBLAS" rocmSupport)
+    (cmakeBool "LLAMA_METAL" metalSupport)
+    (cmakeBool "LLAMA_MPI" mpiSupport)
+    (cmakeBool "LLAMA_VULKAN" vulkanSupport)
   ]
-  ++ lib.optionals metalSupport [
-    "-DCMAKE_C_FLAGS=-D__ARM_FEATURE_DOTPROD=1"
-    "-DLLAMA_METAL=ON"
-  ]
-  ++ lib.optionals cudaSupport [
-    "-DLLAMA_CUBLAS=ON"
-  ]
-  ++ lib.optionals rocmSupport [
-    "-DLLAMA_HIPBLAS=1"
-    "-DCMAKE_C_COMPILER=hipcc"
-    "-DCMAKE_CXX_COMPILER=hipcc"
-    "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
-  ]
-  ++ lib.optionals openclSupport [
-    "-DLLAMA_CLBLAST=ON"
-  ]
-  ++ lib.optionals blasSupport [
-    "-DLLAMA_BLAS=ON"
-    "-DLLAMA_BLAS_VENDOR=OpenBLAS"
-  ]
-  ++ lib.optionals (!static) [
-    (lib.cmakeBool "BUILD_SHARED_LIBS" true)
-  ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-    ${lib.optionalString (!static) ''
-      mkdir $out/lib
-      cp libggml_shared.so $out/lib
-      cp libllama.so $out/lib
-    ''}
-
-    for f in bin/*; do
-      test -x "$f" || continue
-      ${lib.optionalString (!static) ''
-        ${patchelf}/bin/patchelf "$f" --set-rpath "$out/lib"
-      ''}
-      cp "$f" $out/bin/llama-cpp-"$(basename "$f")"
-    done
-
-    ${lib.optionalString metalSupport "cp ./bin/ggml-metal.metal $out/bin/ggml-metal.metal"}
-
-    runHook postInstall
+      ++ optionals cudaSupport [
+        (
+          with cudaPackages.flags;
+          cmakeFeature "CMAKE_CUDA_ARCHITECTURES" (
+            builtins.concatStringsSep ";" (map dropDot cudaCapabilities)
+          )
+        )
+      ]
+      ++ optionals rocmSupport [
+        (cmakeFeature "CMAKE_C_COMPILER" "hipcc")
+        (cmakeFeature "CMAKE_CXX_COMPILER" "hipcc")
+
+        # Build all targets supported by rocBLAS. When updating search for TARGET_LIST_ROCM
+        # in https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/CMakeLists.txt
+        # and select the line that matches the current nixpkgs version of rocBLAS.
+        # Should likely use `rocmPackages.clr.gpuTargets`.
+        "-DAMDGPU_TARGETS=gfx803;gfx900;gfx906:xnack-;gfx908:xnack-;gfx90a:xnack+;gfx90a:xnack-;gfx940;gfx941;gfx942;gfx1010;gfx1012;gfx1030;gfx1100;gfx1101;gfx1102"
+      ]
+      ++ optionals metalSupport [ (cmakeFeature "CMAKE_C_FLAGS" "-D__ARM_FEATURE_DOTPROD=1") ]
+      ++ optionals blasSupport [ (cmakeFeature "LLAMA_BLAS_VENDOR" "OpenBLAS") ];
+
+  # upstream plans on adding targets at the cmakelevel, remove those
+  # additional steps after that
+  postInstall = ''
+    mv $out/bin/main $out/bin/llama
+    mv $out/bin/server $out/bin/llama-server
+    mkdir -p $out/include
+    cp $src/llama.h $out/include/
   '';
 
   passthru.updateScript = nix-update-script {
@@ -144,9 +152,10 @@ effectiveStdenv.mkDerivation (finalAttrs: {
     description = "Port of Facebook's LLaMA model in C/C++";
     homepage = "https://github.com/ggerganov/llama.cpp/";
     license = licenses.mit;
-    mainProgram = "llama-cpp-main";
-    maintainers = with maintainers; [ dit7ya elohmeier ];
-    broken = (effectiveStdenv.isDarwin && effectiveStdenv.isx86_64) || lib.count lib.id [openclSupport blasSupport rocmSupport cudaSupport] == 0;
+    mainProgram = "llama";
+    maintainers = with maintainers; [ dit7ya elohmeier philiptaron ];
     platforms = platforms.unix;
+    badPlatforms = optionals (cudaSupport || openclSupport) lib.platforms.darwin;
+    broken = (metalSupport && !effectiveStdenv.isDarwin);
   };
 })
diff --git a/pkgs/by-name/mf/mfcj880dwcupswrapper/package.nix b/pkgs/by-name/mf/mfcj880dwcupswrapper/package.nix
new file mode 100644
index 000000000000..38ff80577071
--- /dev/null
+++ b/pkgs/by-name/mf/mfcj880dwcupswrapper/package.nix
@@ -0,0 +1,46 @@
+{ lib, stdenv, fetchurl, mfcj880dwlpr, makeWrapper, bash }:
+
+stdenv.mkDerivation rec {
+  pname = "mfcj880dw-cupswrapper";
+  version = "1.0.0-0";
+
+  src = fetchurl {
+    url = "https://download.brother.com/welcome/dlf102044/mfcj880dw_cupswrapper_GPL_source_${version}.tar.gz";
+    sha256 = "bf291fe31d64afeaefb5b0e606f4baf80c41d80009e34b32b77d56f759e9cf94";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [
+    bash # shebang
+  ];
+
+  makeFlags = [ "-C" "brcupsconfig" "all" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    TARGETFOLDER=$out/opt/brother/Printers/mfcj880dw/cupswrapper
+    mkdir -p $TARGETFOLDER
+    cp PPD/brother_mfcj880dw_printer_en.ppd $TARGETFOLDER
+    cp brcupsconfig/brcupsconfpt1 $TARGETFOLDER
+    cp cupswrapper/cupswrappermfcj880dw $TARGETFOLDER
+    sed -i -e '26,306d' $TARGETFOLDER/cupswrappermfcj880dw
+    substituteInPlace $TARGETFOLDER/cupswrappermfcj880dw \
+      --replace-fail "\$ppd_file_name" "$TARGETFOLDER/brother_mfcj880dw_printer_en.ppd"
+
+    CPUSFILTERFOLDER=$out/lib/cups/filter
+    mkdir -p $TARGETFOLDER $CPUSFILTERFOLDER
+    ln -s ${mfcj880dwlpr}/lib/cups/filter/brother_lpdwrapper_mfcj880dw $out/lib/cups/filter/brother_lpdwrapper_mfcj880dw
+
+    runHook postInstall
+    '';
+
+  meta = with lib; {
+    homepage = "http://www.brother.com/";
+    description = "Brother MFC-J880DW CUPS wrapper driver";
+    license = with licenses; gpl2;
+    platforms = with platforms; linux;
+    downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj880dw_us_eu_as&os=128";
+    maintainers = with maintainers; [ _6543 ];
+  };
+}
diff --git a/pkgs/by-name/mf/mfcj880dwlpr/package.nix b/pkgs/by-name/mf/mfcj880dwlpr/package.nix
new file mode 100644
index 000000000000..8b69c85c7240
--- /dev/null
+++ b/pkgs/by-name/mf/mfcj880dwlpr/package.nix
@@ -0,0 +1,94 @@
+{ lib, stdenv, fetchurl, pkgsi686Linux, dpkg, makeWrapper, coreutils, gnused, gawk, file, cups, util-linux, xxd, runtimeShell
+, ghostscript, a2ps, bash }:
+
+# Why:
+# The executable "brprintconf_mfcj880dw" binary is looking for "/opt/brother/Printers/%s/inf/br%sfunc" and "/opt/brother/Printers/%s/inf/br%src".
+# Whereby, %s is printf(3) string substitution for stdin's arg0 (the command's own filename) from the 10th char forwards, as a runtime dependency.
+# e.g. Say the filename is "0123456789ABCDE", the runtime will be looking for /opt/brother/Printers/ABCDE/inf/brABCDEfunc.
+# Presumably, the binary was designed to be deployed under the filename "printconf_mfcj880dw", whereby it will search for "/opt/brother/Printers/mfcj880dw/inf/brmfcj880dwfunc".
+# For NixOS, we want to change the string to the store path of brmfcj880dwfunc and brmfcj880dwrc but we're faced with two complications:
+# 1. Too little room to specify the nix store path. We can't even take advantage of %s by renaming the file to the store path hash since the variable is too short and can't contain the whole hash.
+# 2. The binary needs the directory it's running from to be r/w.
+# What:
+# As such, we strip the path and substitution altogether, leaving only "brmfcj880dwfunc" and "brmfcj880dwrc", while filling the leftovers with nulls.
+# Fully null terminating the cstrings is necessary to keep the array the same size and preventing overflows.
+# We then use a shell script to link and execute the binary, func and rc files in a temporary directory.
+# How:
+# In the package, we dump the raw binary as a string of search-able hex values using hexdump. We execute the substitution with sed. We then convert the hex values back to binary form using xxd.
+# We also write a shell script that invoked "mktemp -d" to produce a r/w temporary directory and link what we need in the temporary directory.
+# Result:
+# The user can run brprintconf_mfcj880dw in the shell.
+
+stdenv.mkDerivation rec {
+  pname = "mfcj880dwlpr";
+  version = "1.0.0-0";
+
+  src = fetchurl {
+    url = "https://download.brother.com/welcome/dlf102038/mfcj880dwlpr-${version}.i386.deb";
+    sha256 = "1680b301f660a407fe0b69f5de59c7473d2d66dc472a1589b0cd9f51736bfea7";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ cups ghostscript dpkg a2ps ];
+
+  dontUnpack = true;
+
+  brprintconf_mfcj880dw_script = ''
+    #!${runtimeShell}
+    cd $(mktemp -d)
+    ln -s @out@/usr/bin/brprintconf_mfcj880dw_patched brprintconf_mfcj880dw_patched
+    ln -s @out@/opt/brother/Printers/mfcj880dw/inf/brmfcj880dwfunc brmfcj880dwfunc
+    ln -s @out@/opt/brother/Printers/mfcj880dw/inf/brmfcj880dwrc brmfcj880dwrc
+    ./brprintconf_mfcj880dw_patched "$@"
+  '';
+
+  installPhase = ''
+    dpkg-deb -x $src $out
+    substituteInPlace $out/opt/brother/Printers/mfcj880dw/lpd/filtermfcj880dw \
+      --replace-fail /opt "$out/opt"
+    substituteInPlace $out/opt/brother/Printers/mfcj880dw/lpd/psconvertij2 \
+      --replace-fail "GHOST_SCRIPT=`which gs`" "GHOST_SCRIPT=${ghostscript}/bin/gs"
+    substituteInPlace $out/opt/brother/Printers/mfcj880dw/inf/setupPrintcapij \
+      --replace-fail "/opt/brother/Printers" "$out/opt/brother/Printers" \
+      --replace-fail "printcap.local" "printcap"
+
+    patchelf --set-interpreter ${pkgsi686Linux.stdenv.cc.libc.out}/lib/ld-linux.so.2 \
+      --set-rpath $out/opt/brother/Printers/mfcj880dw/inf:$out/opt/brother/Printers/mfcj880dw/lpd \
+      $out/opt/brother/Printers/mfcj880dw/lpd/brmfcj880dwfilter
+    patchelf --set-interpreter ${pkgsi686Linux.stdenv.cc.libc.out}/lib/ld-linux.so.2 $out/usr/bin/brprintconf_mfcj880dw
+
+    #stripping the hardcoded path.
+    # /opt/brother/Printers/%s/inf/br%sfunc -> brmfcj880dwfunc
+    # /opt/brother/Printers/%s/inf/br%src -> brmfcj880dwrc
+    ${util-linux}/bin/hexdump -ve '1/1 "%.2X"' $out/usr/bin/brprintconf_mfcj880dw | \
+    sed 's.2F6F70742F62726F746865722F5072696E746572732F25732F696E662F6272257366756E63.62726d66636a383830647766756e6300000000000000000000000000000000000000000000.' | \
+    sed 's.2F6F70742F62726F746865722F5072696E746572732F25732F696E662F627225737263.62726d66636a3838306477726300000000000000000000000000000000000000000000.' | \
+    ${xxd}/bin/xxd -r -p > $out/usr/bin/brprintconf_mfcj880dw_patched
+    chmod +x $out/usr/bin/brprintconf_mfcj880dw_patched
+    #executing from current dir. segfaults if it's not r\w.
+    mkdir -p $out/bin
+    echo -n "$brprintconf_mfcj880dw_script" > $out/bin/brprintconf_mfcj880dw
+    chmod +x $out/bin/brprintconf_mfcj880dw
+    substituteInPlace $out/bin/brprintconf_mfcj880dw --replace-fail @out@ $out
+
+    # NOTE: opt/brother/Printers/mfcj880dw/lpd/brmfcj880dwfilter also has cardcoded paths, but we can not simply replace them
+
+    mkdir -p $out/lib/cups/filter/
+    ln -s $out/opt/brother/Printers/mfcj880dw/lpd/filtermfcj880dw $out/lib/cups/filter/brother_lpdwrapper_mfcj880dw
+
+    wrapProgram $out/opt/brother/Printers/mfcj880dw/lpd/psconvertij2 \
+      --prefix PATH ":" ${ lib.makeBinPath [ coreutils gnused gawk ] }
+    wrapProgram $out/opt/brother/Printers/mfcj880dw/lpd/filtermfcj880dw \
+      --prefix PATH ":" ${ lib.makeBinPath [ coreutils gnused file ghostscript a2ps ] }
+    '';
+
+  meta = with lib; {
+    description  = "Brother MFC-J880DW LPR driver";
+    downloadPage = "https://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj880dw_us_eu_as&os=128";
+    homepage     = "http://www.brother.com/";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license      = with licenses; unfree;
+    maintainers  = with maintainers; [ _6543 ];
+    platforms    = with platforms; linux;
+  };
+}
diff --git a/pkgs/by-name/ni/niri/Cargo.lock b/pkgs/by-name/ni/niri/Cargo.lock
index bc8014e2499a..a44b513cfcbb 100644
--- a/pkgs/by-name/ni/niri/Cargo.lock
+++ b/pkgs/by-name/ni/niri/Cargo.lock
@@ -64,6 +64,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
 
 [[package]]
+name = "annotate-snippets"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e"
+dependencies = [
+ "unicode-width",
+ "yansi-term",
+]
+
+[[package]]
 name = "anstream"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -79,9 +89,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.5"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2faccea4cc4ab4a667ce676a30e8ec13922a692c99bb8f5b11f1502c72e04220"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
@@ -156,13 +166,13 @@ 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.3",
- "event-listener-strategy",
+ "event-listener 5.0.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
  "pin-project-lite",
 ]
@@ -225,7 +235,7 @@ dependencies = [
  "futures-io",
  "futures-lite 2.2.0",
  "parking",
- "polling 3.3.2",
+ "polling 3.4.0",
  "rustix 0.38.31",
  "slab",
  "tracing",
@@ -248,7 +258,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
 dependencies = [
  "event-listener 4.0.3",
- "event-listener-strategy",
+ "event-listener-strategy 0.4.0",
  "pin-project-lite",
 ]
 
@@ -335,16 +345,17 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "bindgen"
-version = "0.66.1"
+version = "0.69.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7"
+checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
 dependencies = [
+ "annotate-snippets",
  "bitflags 2.4.2",
  "cexpr",
  "clang-sys",
+ "itertools",
  "lazy_static",
  "lazycell",
- "peeking_take_while",
  "proc-macro2",
  "quote",
  "regex",
@@ -438,9 +449,9 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.1"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 dependencies = [
  "bytemuck_derive",
 ]
@@ -470,23 +481,22 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cairo-rs"
-version = "0.18.5"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
+checksum = "bc1c415b7088381c53c575420899c34c9e6312df5ac5defd05614210e9fd6e1b"
 dependencies = [
  "bitflags 2.4.2",
  "cairo-sys-rs",
  "glib",
  "libc",
- "once_cell",
  "thiserror",
 ]
 
 [[package]]
 name = "cairo-sys-rs"
-version = "0.18.2"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
+checksum = "75b6a5fefce2eadb8333e3c604ac964ba6573ec4f28bdd17f67032c4a2831831"
 dependencies = [
  "glib-sys",
  "libc",
@@ -503,7 +513,7 @@ dependencies = [
  "bitflags 2.4.2",
  "futures-io",
  "log",
- "polling 3.3.2",
+ "polling 3.4.0",
  "rustix 0.38.31",
  "slab",
  "thiserror",
@@ -548,9 +558,9 @@ dependencies = [
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.6"
+version = "0.15.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a"
+checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -897,6 +907,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2ab5fa33485cd85ac354df485819a63360fefa312fe04cffe65e6f175be1522c"
 
 [[package]]
+name = "either"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+
+[[package]]
 name = "enumflags2"
 version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -962,6 +978,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener"
+version = "5.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1"
+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"
@@ -972,6 +999,16 @@ dependencies = [
 ]
 
 [[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.0.0",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "fastrand"
 version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -996,6 +1033,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "field-offset"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
+dependencies = [
+ "memoffset 0.9.0",
+ "rustc_version",
+]
+
+[[package]]
 name = "flate2"
 version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1149,9 +1196,9 @@ dependencies = [
 
 [[package]]
 name = "gbm"
-version = "0.14.0"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65dffaf38d96aa22cb748ccd9b1ffe624931e899f54c0225815ef7ac757a409f"
+checksum = "f177420f6650dcd50042121adf7ff7ab265abdaf4862fe2624066e36e3a9ef34"
 dependencies = [
  "bitflags 1.3.2",
  "drm",
@@ -1172,6 +1219,63 @@ dependencies = [
 ]
 
 [[package]]
+name = "gdk-pixbuf"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c311c47800051b87de1335e8792774d7cec551c91a0a3d109ab21d76b36f208f"
+dependencies = [
+ "gdk-pixbuf-sys",
+ "gio",
+ "glib",
+ "libc",
+]
+
+[[package]]
+name = "gdk-pixbuf-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96"
+dependencies = [
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "gdk4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6771942f85a2beaa220c64739395e4401b9fab4a52aba9b503fa1e6ed4d4d806"
+dependencies = [
+ "cairo-rs",
+ "gdk-pixbuf",
+ "gdk4-sys",
+ "gio",
+ "glib",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "gdk4-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1eb95854fab65072023a7814434f003db571d6e45c287c0b0c540c1c78bdf6ae"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "pango-sys",
+ "pkg-config",
+ "system-deps",
+]
+
+[[package]]
 name = "generator"
 version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1217,9 +1321,9 @@ dependencies = [
 
 [[package]]
 name = "gio"
-version = "0.18.4"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73"
+checksum = "b3d1aaa2d926710a27f3b35822806b1513b393b71174dd2601c9d02fdab0cb82"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1228,7 +1332,6 @@ dependencies = [
  "gio-sys",
  "glib",
  "libc",
- "once_cell",
  "pin-project-lite",
  "smallvec",
  "thiserror",
@@ -1236,15 +1339,15 @@ dependencies = [
 
 [[package]]
 name = "gio-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4"
 dependencies = [
  "glib-sys",
  "gobject-sys",
  "libc",
  "system-deps",
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1280,9 +1383,9 @@ dependencies = [
 
 [[package]]
 name = "glib"
-version = "0.18.5"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
+checksum = "170ee82b9b44b3b5fd1cf4971d6cf0eadec38303bb84c7bcc4e6b95a18934e71"
 dependencies = [
  "bitflags 2.4.2",
  "futures-channel",
@@ -1296,20 +1399,18 @@ dependencies = [
  "gobject-sys",
  "libc",
  "memchr",
- "once_cell",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "glib-macros"
-version = "0.18.5"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc"
+checksum = "2ff52fff7e4d1bb8598ae744e9bb90c8c76271712483c3f0ce931bee9814de85"
 dependencies = [
  "heck",
- "proc-macro-crate 2.0.2",
- "proc-macro-error",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
  "syn 2.0.48",
@@ -1317,9 +1418,9 @@ dependencies = [
 
 [[package]]
 name = "glib-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4"
 dependencies = [
  "libc",
  "system-deps",
@@ -1333,12 +1434,120 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "gobject-sys"
-version = "0.18.0"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "graphene-rs"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147827e4f506f8073ac3ec5b28cc2255bdf3abc30f5b4e101a80506eebe11d2c"
+dependencies = [
+ "glib",
+ "graphene-sys",
+ "libc",
+]
+
+[[package]]
+name = "graphene-sys"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
+checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0"
 dependencies = [
  "glib-sys",
  "libc",
+ "pkg-config",
+ "system-deps",
+]
+
+[[package]]
+name = "gsk4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e8ce8dee0fd87a11002214b1204ff18c9272fbd530408f0884a0f9b25dc31de"
+dependencies = [
+ "cairo-rs",
+ "gdk4",
+ "glib",
+ "graphene-rs",
+ "gsk4-sys",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "gsk4-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2660a652da5b662d43924df19ba40d73f015ed427329ef51d2b1360a4e0dc0e4"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk4-sys",
+ "glib-sys",
+ "gobject-sys",
+ "graphene-sys",
+ "libc",
+ "pango-sys",
+ "system-deps",
+]
+
+[[package]]
+name = "gtk4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d26ffa3ec6316ccaa1df62d3e7f5bae1637c0acbb43f250fabef38319f73c64"
+dependencies = [
+ "cairo-rs",
+ "field-offset",
+ "futures-channel",
+ "gdk-pixbuf",
+ "gdk4",
+ "gio",
+ "glib",
+ "graphene-rs",
+ "gsk4",
+ "gtk4-macros",
+ "gtk4-sys",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "gtk4-macros"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8b86439e9896f6f3f47c3d8077c5c8205174078760afdabd9098a8e9e937d97"
+dependencies = [
+ "anyhow",
+ "proc-macro-crate 3.1.0",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "gtk4-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2abc0a6d356d59a3806021829ce6ed3e70bba3509b41a535fedcb09fae13fbc0"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gdk4-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "graphene-sys",
+ "gsk4-sys",
+ "libc",
+ "pango-sys",
  "system-deps",
 ]
 
@@ -1363,9 +1572,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.4"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
+checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
 
 [[package]]
 name = "hex"
@@ -1414,6 +1623,7 @@ dependencies = [
  "input-sys",
  "io-lifetimes 1.0.11",
  "libc",
+ "log",
  "udev",
 ]
 
@@ -1450,6 +1660,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5a611371471e98973dbcab4e0ec66c31a10bc356eeb4d54a0e05eac8158fe38c"
 
 [[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.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1479,18 +1698,18 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "jobserver"
-version = "0.1.27"
+version = "0.1.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.67"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1550,6 +1769,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
+name = "libadwaita"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9"
+dependencies = [
+ "gdk-pixbuf",
+ "gdk4",
+ "gio",
+ "glib",
+ "gtk4",
+ "libadwaita-sys",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "libadwaita-sys"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8"
+dependencies = [
+ "gdk4-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "gtk4-sys",
+ "libc",
+ "pango-sys",
+ "system-deps",
+]
+
+[[package]]
 name = "libc"
 version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1615,9 +1866,9 @@ dependencies = [
 
 [[package]]
 name = "libspa"
-version = "0.7.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0434617020ddca18b86067912970c55410ca654cdafd775480322f50b857a8c4"
+checksum = "65f3a4b81b2a2d8c7f300643676202debd1b7c929dbf5c9bb89402ea11d19810"
 dependencies = [
  "bitflags 2.4.2",
  "cc",
@@ -1625,16 +1876,16 @@ dependencies = [
  "cookie-factory",
  "libc",
  "libspa-sys",
- "nix",
+ "nix 0.27.1",
  "nom",
  "system-deps",
 ]
 
 [[package]]
 name = "libspa-sys"
-version = "0.7.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3e70ca3f3e70f858ef363046d06178c427b4e0b63d210c95fd87d752679d345"
+checksum = "bf0d9716420364790e85cbb9d3ac2c950bde16a7dd36f3209b7dfdfc4a24d01f"
 dependencies = [
  "bindgen",
  "cc",
@@ -1676,16 +1927,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
-name = "logind-zbus"
-version = "3.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c07a2542f6e91ea92780158654852190edb2ba0b232d9d00d649d0c691cb7eb3"
-dependencies = [
- "serde",
- "zbus",
-]
-
-[[package]]
 name = "loom"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1802,9 +2043,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
  "simd-adler32",
@@ -1842,7 +2083,7 @@ dependencies = [
 
 [[package]]
 name = "niri"
-version = "0.1.1"
+version = "0.1.2"
 dependencies = [
  "anyhow",
  "arrayvec",
@@ -1854,10 +2095,10 @@ dependencies = [
  "directories",
  "futures-util",
  "git-version",
+ "input",
  "keyframe",
  "libc",
  "log",
- "logind-zbus",
  "niri-config",
  "niri-ipc",
  "notify-rust",
@@ -1878,16 +2119,19 @@ dependencies = [
  "tracy-client",
  "url",
  "xcursor",
+ "xshell",
  "zbus",
 ]
 
 [[package]]
 name = "niri-config"
-version = "0.1.1"
+version = "0.1.2"
 dependencies = [
  "bitflags 2.4.2",
  "knuffel",
  "miette",
+ "niri-ipc",
+ "regex",
  "smithay",
  "tracing",
  "tracy-client",
@@ -1895,12 +2139,27 @@ dependencies = [
 
 [[package]]
 name = "niri-ipc"
-version = "0.1.1"
+version = "0.1.2"
 dependencies = [
+ "clap",
  "serde",
 ]
 
 [[package]]
+name = "niri-visual-tests"
+version = "0.1.2"
+dependencies = [
+ "anyhow",
+ "gtk4",
+ "libadwaita",
+ "niri",
+ "niri-config",
+ "smithay",
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
 name = "nix"
 version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1910,7 +2169,17 @@ dependencies = [
  "cfg-if",
  "libc",
  "memoffset 0.7.1",
- "pin-utils",
+]
+
+[[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "libc",
 ]
 
 [[package]]
@@ -1954,9 +2223,9 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
  "libm",
@@ -1977,7 +2246,7 @@ version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
 dependencies = [
- "proc-macro-crate 2.0.2",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
  "syn 2.0.48",
@@ -2073,22 +2342,21 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
 name = "pango"
-version = "0.18.3"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4"
+checksum = "78d7f779b957728c74fd1a060dfa6d89a0bea792ebc50cc2da80e4e87282d69e"
 dependencies = [
  "gio",
  "glib",
  "libc",
- "once_cell",
  "pango-sys",
 ]
 
 [[package]]
 name = "pango-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -2098,9 +2366,9 @@ dependencies = [
 
 [[package]]
 name = "pangocairo"
-version = "0.18.0"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57036589a9cfcacf83f9e606d15813fc6bf03f0e9e69aa2b5e3bb85af86b38a5"
+checksum = "9615c6294903a6ea26fa63984b18e51275354d1fa91bbde68eeb7fa3ab61a72f"
 dependencies = [
  "cairo-rs",
  "glib",
@@ -2111,9 +2379,9 @@ dependencies = [
 
 [[package]]
 name = "pangocairo-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc3c8ff676a37e7a72ec1d5fc029f91c407278083d2752784ff9f5188c108833"
+checksum = "01bd0597ae45983f9e8b7f73afc42238426cd3fbb44a9cf14fd881a4ae08f1e4"
 dependencies = [
  "cairo-sys-rs",
  "glib-sys",
@@ -2135,12 +2403,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
-name = "peeking_take_while"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
-
-[[package]]
 name = "percent-encoding"
 version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2171,16 +2433,16 @@ dependencies = [
 
 [[package]]
 name = "pipewire"
-version = "0.7.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2d009c8dd65e890b515a71950f7e4c801523b8894ff33863a40830bf762e9e9"
+checksum = "08e645ba5c45109106d56610b3ee60eb13a6f2beb8b74f8dc8186cf261788dda"
 dependencies = [
  "anyhow",
  "bitflags 2.4.2",
  "libc",
  "libspa",
  "libspa-sys",
- "nix",
+ "nix 0.27.1",
  "once_cell",
  "pipewire-sys",
  "thiserror",
@@ -2188,9 +2450,9 @@ dependencies = [
 
 [[package]]
 name = "pipewire-sys"
-version = "0.7.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "890c084e7b737246cb4799c86b71a0e4da536031ff7473dd639eba9f95039f64"
+checksum = "849e188f90b1dda88fe2bfe1ad31fe5f158af2c98f80fb5d13726c44f3f01112"
 dependencies = [
  "bindgen",
  "libspa-sys",
@@ -2252,9 +2514,9 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.3.2"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41"
+checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
@@ -2294,12 +2556,11 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-crate"
-version = "2.0.2"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
 dependencies = [
- "toml_datetime",
- "toml_edit 0.20.2",
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
@@ -2544,6 +2805,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
 name = "rustix"
 version = "0.37.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2622,6 +2892,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32"
 
 [[package]]
+name = "semver"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
+
+[[package]]
 name = "serde"
 version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2731,7 +3007,7 @@ checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 [[package]]
 name = "smithay"
 version = "0.3.0"
-source = "git+https://github.com/Smithay/smithay.git#0eac415ba2d9409cbc201955dc0fd306c116ae05"
+source = "git+https://github.com/Smithay/smithay.git#832dee8586d783d4c60a162ef8aabca2ba7fd499"
 dependencies = [
  "appendlist",
  "bitflags 2.4.2",
@@ -2777,9 +3053,9 @@ dependencies = [
 
 [[package]]
 name = "smithay-client-toolkit"
-version = "0.18.0"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f"
+checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a"
 dependencies = [
  "bitflags 2.4.2",
  "calloop",
@@ -2803,7 +3079,7 @@ dependencies = [
 [[package]]
 name = "smithay-drm-extras"
 version = "0.1.0"
-source = "git+https://github.com/Smithay/smithay.git#0eac415ba2d9409cbc201955dc0fd306c116ae05"
+source = "git+https://github.com/Smithay/smithay.git#832dee8586d783d4c60a162ef8aabca2ba7fd499"
 dependencies = [
  "drm",
  "edid-rs",
@@ -2893,13 +3169,12 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.9.0"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
- "redox_syscall 0.4.1",
  "rustix 0.38.31",
  "windows-sys 0.52.0",
 ]
@@ -2936,9 +3211,9 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.32"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
  "deranged",
  "num-conv",
@@ -2970,21 +3245,21 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "toml"
-version = "0.8.2"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.20.2",
+ "toml_edit 0.22.4",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
@@ -3002,9 +3277,20 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.20.2"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
 dependencies = [
  "indexmap",
  "serde",
@@ -3152,9 +3438,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-width"
@@ -3230,9 +3516,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.90"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -3240,9 +3526,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.90"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
@@ -3255,9 +3541,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.40"
+version = "0.4.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -3267,9 +3553,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.90"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3277,9 +3563,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.90"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3290,9 +3576,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.90"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "wayland-backend"
@@ -3446,9 +3732,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.67"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -3770,9 +4056,9 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.5.36"
+version = "0.5.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "818ce546a11a9986bc24f93d0cdf38a8a1a400f1473ea8c82e59f6e0ffab9249"
+checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
 dependencies = [
  "memchr",
 ]
@@ -3817,11 +4103,11 @@ checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
 
 [[package]]
 name = "xdg-home"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
 dependencies = [
- "nix",
+ "libc",
  "winapi",
 ]
 
@@ -3862,10 +4148,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
 
 [[package]]
+name = "xshell"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce2107fe03e558353b4c71ad7626d58ed82efaf56c54134228608893c77023ad"
+dependencies = [
+ "xshell-macros",
+]
+
+[[package]]
+name = "xshell-macros"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e2c411759b501fb9501aac2b1b2d287a6e93e5bdcf13c25306b23e1b716dd0e"
+
+[[package]]
+name = "yansi-term"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
 name = "zbus"
-version = "3.14.1"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
+checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8"
 dependencies = [
  "async-broadcast",
  "async-executor",
@@ -3885,7 +4195,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "hex",
- "nix",
+ "nix 0.26.4",
  "once_cell",
  "ordered-stream",
  "rand",
@@ -3904,9 +4214,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.14.1"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
+checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d"
 dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2",
diff --git a/pkgs/by-name/ni/niri/package.nix b/pkgs/by-name/ni/niri/package.nix
index 17c0e6993340..f704155fe70d 100644
--- a/pkgs/by-name/ni/niri/package.nix
+++ b/pkgs/by-name/ni/niri/package.nix
@@ -20,19 +20,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "niri";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "YaLTeR";
     repo = "niri";
     rev = "v${version}";
-    hash = "sha256-+Y7dnq8gwVxefwvRnamqGneCTI4uUXgAo0SEffIvNB0=";
+    hash = "sha256-vO6ak5rT6ntBC20vYC36zcEcHv7Cki9y8A+c7ThfsUg=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "smithay-0.3.0" = "sha256-TWq4L7Pe4/s0+hGjvTixoOFQ3P6tJXzV4/VgKcJ0tWU=";
+      "smithay-0.3.0" = "sha256-ZEWamojE5ZRlhPVv/DK2Mj+QIz7zudw9+AxFD7Onr9Q=";
     };
   };
 
@@ -64,6 +64,22 @@ rustPlatform.buildRustPackage rec {
 
   LIBCLANG_PATH = "${libclang.lib}/lib";
 
+  passthru.providedSessions = ["niri"];
+
+  postInstall = ''
+    mkdir -p $out/share/{systemd/user,wayland-sessions,xdg-desktop-portal}
+
+    cp ./resources/niri-session $out/bin/niri-session
+    cp ./resources/niri.service $out/share/systemd/user/niri.service
+    cp ./resources/niri-shutdown.target $out/share/systemd/user/niri-shutdown.target
+    cp ./resources/niri.desktop $out/share/wayland-sessions/niri.desktop
+    cp ./resources/niri-portals.conf $out/share/xdg-desktop-portal/niri-portals.conf
+  '';
+
+  postFixup = ''
+    sed -i "s#/usr#$out#" $out/share/systemd/user/niri.service
+  '';
+
   meta = with lib; {
     description = "A scrollable-tiling Wayland compositor";
     homepage = "https://github.com/YaLTeR/niri";
diff --git a/pkgs/by-name/no/nosql-workbench/package.nix b/pkgs/by-name/no/nosql-workbench/package.nix
index 5bba91c28584..9fb744fa6570 100644
--- a/pkgs/by-name/no/nosql-workbench/package.nix
+++ b/pkgs/by-name/no/nosql-workbench/package.nix
@@ -4,7 +4,7 @@
   fetchurl,
   jdk21,
   stdenv,
-  undmg
+  _7zz
 }:
 let
   pname = "nosql-workbench";
@@ -39,30 +39,19 @@ if stdenv.isDarwin then stdenv.mkDerivation {
 
   sourceRoot = ".";
 
+  nativeBuildInputs = [ _7zz ];
+
   buildInputs = [ jdk21 ];
 
   # DMG file is using APFS which is unsupported by "undmg".
-  # Fix found: https://discourse.nixos.org/t/help-with-error-only-hfs-file-systems-are-supported-on-ventura/25873/8
+  # Instead, use "7zz" to extract the contents.
   # "undmg" issue: https://github.com/matthewbauer/undmg/issues/4
   unpackCmd = ''
-    echo "Creating temp directory"
-    mnt=$(TMPDIR=/tmp mktemp -d -t nix-XXXXXXXXXX)
-
-    function finish {
-      echo "Ejecting temp directory"
-      /usr/bin/hdiutil detach $mnt -force
-      rm -rf $mnt
-    }
-    # Detach volume when receiving SIG "0"
-    trap finish EXIT
-
-    # Mount DMG file
-    echo "Mounting DMG file into \"$mnt\""
-    /usr/bin/hdiutil attach -nobrowse -mountpoint $mnt $curSrc
-
-    # Copy content to local dir for later use
-    echo 'Copying extracted content into "sourceRoot"'
-    cp -a $mnt/NoSQL\ Workbench.app $PWD/
+    runHook preUnpack
+
+    7zz x $curSrc
+
+    runHook postUnpack
   '';
 
   installPhase = ''
diff --git a/pkgs/by-name/oe/oelint-adv/package.nix b/pkgs/by-name/oe/oelint-adv/package.nix
index 2b1b6f5f3ad6..32215b708f98 100644
--- a/pkgs/by-name/oe/oelint-adv/package.nix
+++ b/pkgs/by-name/oe/oelint-adv/package.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "oelint-adv";
-  version = "4.4.0";
+  version = "4.4.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_adv";
-    hash = "sha256-Sg7qn/yZUJEJdMmaGm27kyL+fKkUsZo25eExZPOem40=";
+    hash = "sha256-Yv0GCz0vZTVrnFjHFIl4XF/jbVD4DJ4J6V6+X5IllJ8=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/misc/outils/default.nix b/pkgs/by-name/ou/outils/package.nix
index 065d641f4f30..e29e6440edcb 100644
--- a/pkgs/tools/misc/outils/default.nix
+++ b/pkgs/by-name/ou/outils/package.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "outils";
-  version = "0.10";
+  version = "0.13";
 
   src = fetchFromGitHub {
     owner = "leahneukirchen";
-    repo = pname;
+    repo = "outils";
     rev = "v${version}";
-    sha256 = "sha256-xYjILa0Km57q/xNP+M34r29WLGC15tzUNoUgPzQTtIs=";
+    hash = "sha256-FokJytwQsbGsryBzyglpb1Hg3wti/CPQTOfIGIz9ThA=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/by-name/sc/scitokens-cpp/package.nix b/pkgs/by-name/sc/scitokens-cpp/package.nix
index 691e89fa2b80..56cc5ba18bb8 100644
--- a/pkgs/by-name/sc/scitokens-cpp/package.nix
+++ b/pkgs/by-name/sc/scitokens-cpp/package.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "scitokens-cpp";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "scitokens";
     repo = "scitokens-cpp";
 
-    rev = "v1.1.0";
-    hash = "sha256-g97Ah5Oob0iOvMQegpG/AACLZCW37kA0RpSIcKOyQnE=";
+    rev = "v1.1.1";
+    hash = "sha256-G3z9DYYWCNeA/rufNHQP3SwT5WS2AvUWm1rd8lx6XxA=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/by-name/se/searxng/package.nix b/pkgs/by-name/se/searxng/package.nix
index c0d6cd63036d..6f541d8a3b38 100644
--- a/pkgs/by-name/se/searxng/package.nix
+++ b/pkgs/by-name/se/searxng/package.nix
@@ -73,6 +73,7 @@ python3.pkgs.toPythonModule (python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/searxng/searxng";
     description = "A fork of Searx, a privacy-respecting, hackable metasearch engine";
     license = licenses.agpl3Plus;
+    mainProgram = "searxng-run";
     maintainers = with maintainers; [ SuperSandro2000 _999eagle ];
   };
 })
diff --git a/pkgs/by-name/sw/sway-unwrapped/package.nix b/pkgs/by-name/sw/sway-unwrapped/package.nix
index 452925beeabb..89af07a9af3d 100644
--- a/pkgs/by-name/sw/sway-unwrapped/package.nix
+++ b/pkgs/by-name/sw/sway-unwrapped/package.nix
@@ -2,7 +2,7 @@
 , meson, ninja, pkg-config, wayland-scanner, scdoc
 , libGL, wayland, libxkbcommon, pcre2, json_c, libevdev
 , pango, cairo, libinput, gdk-pixbuf, librsvg
-, wlroots_0_16, wayland-protocols, libdrm
+, wlroots, wayland-protocols, libdrm
 , nixosTests
 # Used by the NixOS module:
 , isNixOS ? false
@@ -11,19 +11,16 @@
 , trayEnabled ? systemdSupport
 }:
 
-let
-  wlroots = wlroots_0_16;
-in
 stdenv.mkDerivation (finalAttrs: {
   pname = "sway-unwrapped";
-  version = "1.8.1";
+  version = "1.9";
 
   inherit enableXWayland isNixOS systemdSupport trayEnabled;
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = finalAttrs.version;
-    hash = "sha256-WxnT+le9vneQLFPz2KoBduOI+zfZPhn1fKlaqbPL6/g=";
+    hash = "sha256-/6+iDkQfdLcL/pTJaqNc6QdP4SRVOYLjfOItEu/bZtg=";
   };
 
   patches = [
@@ -34,11 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
       inherit swaybg;
     })
 
-    (fetchpatch {
-      name = "LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM.patch";
-      url = "https://github.com/swaywm/sway/commit/dee032d0a0ecd958c902b88302dc59703d703c7f.diff";
-      hash = "sha256-dx+7MpEiAkxTBnJcsT3/1BO8rYRfNLecXmpAvhqGMD0=";
-    })
   ] ++ lib.optionals (!finalAttrs.isNixOS) [
     # References to /nix/store/... will get GC'ed which causes problems when
     # copying the default configuration:
diff --git a/pkgs/by-name/sw/swayfx-unwrapped/package.nix b/pkgs/by-name/sw/swayfx-unwrapped/package.nix
index b49496f1383d..dfbb2e540c53 100644
--- a/pkgs/by-name/sw/swayfx-unwrapped/package.nix
+++ b/pkgs/by-name/sw/swayfx-unwrapped/package.nix
@@ -4,6 +4,7 @@
   sway-unwrapped,
   stdenv,
   systemd,
+  wlroots_0_16,
   # Used by the NixOS module:
   isNixOS ? false,
   enableXWayland ? true,
@@ -18,6 +19,8 @@
     systemdSupport
     trayEnabled
     ;
+
+  wlroots = wlroots_0_16;
 }).overrideAttrs (oldAttrs: rec {
   pname = "swayfx-unwrapped";
   version = "0.3.2";
@@ -29,18 +32,6 @@
     sha256 = "sha256-Gwewb0yDVhEBrefSSGDf1hLtpWcntzifPCPJQhqLqI0=";
   };
 
-  # This patch was backported into SwayFX
-  # remove when next release is rebased on Sway 1.9
-  patches =
-    let
-      removePatches = [
-        "LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM.patch"
-      ];
-    in
-    builtins.filter
-      (patch: !builtins.elem (patch.name or null) removePatches)
-      (oldAttrs.patches or [ ]);
-
   meta = with lib; {
     description = "Sway, but with eye candy!";
     homepage = "https://github.com/WillPower3309/swayfx";
diff --git a/pkgs/by-name/ta/tabby/package.nix b/pkgs/by-name/ta/tabby/package.nix
new file mode 100644
index 000000000000..b89434a8fc48
--- /dev/null
+++ b/pkgs/by-name/ta/tabby/package.nix
@@ -0,0 +1,73 @@
+{ lib
+, fetchFromGitHub
+, gcc12
+, cmake
+, git
+, openssl
+, pkg-config
+, protobuf
+, rustPlatform
+, addOpenGLRunpath
+, cudatoolkit
+, nvidia ? true
+}:
+
+rustPlatform.buildRustPackage rec {
+  version = "0.7.0";
+  pname = "tabby";
+
+  src = fetchFromGitHub {
+    owner = "TabbyML";
+    repo = "tabby";
+    rev = "v${version}";
+    hash = "sha256-BTPJWvqO4IuQAiUEER9PYfu4aQsz5RI77WsA/gQu5Jc=";
+    fetchSubmodules = true;
+  };
+
+  cargoHash = "sha256-Du0ya9J+0tz72mSid5If0VFX2lLC7YtwNQ/MALpFv2M=";
+
+  # https://github.com/TabbyML/tabby/blob/v0.7.0/.github/workflows/release.yml#L39
+  cargoBuildFlags = [
+    "--release"
+    "--package" "tabby"
+  ] ++ lib.optional nvidia [
+    "--features" "cuda"
+  ];
+
+  OPENSSL_NO_VENDOR = 1;
+
+  nativeBuildInputs = [
+    pkg-config
+    protobuf
+    git
+    cmake
+    gcc12
+
+  ] ++ lib.optional nvidia [
+    addOpenGLRunpath
+  ];
+
+  buildInputs = [ openssl ]
+    ++ lib.optional nvidia cudatoolkit
+  ;
+
+  postInstall = ''
+    ${if nvidia then ''
+    addOpenGLRunpath "$out/bin/tabby"
+    '' else ''
+    ''}
+  '';
+
+  # Fails with:
+  # file cannot create directory: /var/empty/local/lib64/cmake/Llama
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/TabbyML/tabby";
+    changelog = "https://github.com/TabbyML/tabby/releases/tag/v${version}";
+    description = "Self-hosted AI coding assistant";
+    mainProgram = "tabby";
+    license = licenses.asl20;
+    maintainers = [ maintainers.ghthor ];
+  };
+}
diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix
index 8b11104cb9a0..52d364fb7fbd 100644
--- a/pkgs/by-name/ui/uiua/package.nix
+++ b/pkgs/by-name/ui/uiua/package.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "uiua";
-  version = "0.8.0";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "uiua-lang";
     repo = "uiua";
     rev = version;
-    hash = "sha256-JilYPIeJbVf9wgGpLTy8pbMwFRrW7Od+8y0tWwAXU84=";
+    hash = "sha256-629hJLSGf0LJ+P1j1b87RV6XGgsDaWif1a6+Eo3NmMw=";
   };
 
-  cargoHash = "sha256-oXO2TBdKmVIpZD0jLI1CK9b48r3SwdeygcJoUG6HGXo=";
+  cargoHash = "sha256-ZRiDlsSZ5jjTrOrB/bg2xOcOTsCNFdP0jY0SwZ1zwGU=";
 
   nativeBuildInputs = lib.optionals stdenv.isDarwin [
     rustPlatform.bindgenHook
@@ -41,6 +41,7 @@ rustPlatform.buildRustPackage rec {
 
   buildFeatures = lib.optional audioSupport "audio";
 
+  passthru.updateScript = ./update.sh;
   passthru.tests.run = runCommand "uiua-test-run" { nativeBuildInputs = [ uiua ]; } ''
     uiua init
     diff -U3 --color=auto <(uiua run main.ua) <(echo '"Hello, World!"')
diff --git a/pkgs/by-name/ui/uiua/update.sh b/pkgs/by-name/ui/uiua/update.sh
new file mode 100755
index 000000000000..389ba4867198
--- /dev/null
+++ b/pkgs/by-name/ui/uiua/update.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq nix-update common-updater-scripts
+
+nix-update uiua
+
+EXT_VER=$(curl https://raw.githubusercontent.com/uiua-lang/uiua-vscode/main/package.json | jq -r .version)
+update-source-version vscode-extensions.uiua-lang.uiua-vscode $EXT_VER
diff --git a/pkgs/by-name/uv/uv/Cargo.lock b/pkgs/by-name/uv/uv/Cargo.lock
index efd58e171c7d..3baa252aa5d4 100644
--- a/pkgs/by-name/uv/uv/Cargo.lock
+++ b/pkgs/by-name/uv/uv/Cargo.lock
@@ -75,9 +75,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
 
 [[package]]
 name = "anstream"
-version = "0.6.11"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
+checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -147,9 +147,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
 name = "assert_cmd"
-version = "2.0.13"
+version = "2.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00ad3f3a942eee60335ab4342358c161ee296829e0d16ff42fc1d6cb07815467"
+checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8"
 dependencies = [
  "anstyle",
  "bstr",
@@ -1587,25 +1587,21 @@ dependencies = [
  "data-encoding",
  "distribution-filename",
  "fs-err",
- "fs2",
- "goblin",
  "indoc",
  "mailparse",
  "once_cell",
+ "pathdiff",
  "pep440_rs",
  "platform-host",
  "platform-info",
  "plist",
- "pyo3",
  "pypi-types",
- "rayon",
  "reflink-copy",
  "regex",
  "rustc-hash",
  "serde",
  "serde_json",
  "sha2",
- "target-lexicon",
  "tempfile",
  "thiserror",
  "tracing",
@@ -2194,6 +2190,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
+name = "pathdiff"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
+
+[[package]]
 name = "pep440_rs"
 version = "0.5.0"
 dependencies = [
@@ -3189,18 +3191,18 @@ 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",
@@ -3209,9 +3211,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.113"
+version = "1.0.114"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
 dependencies = [
  "itoa",
  "ryu",
@@ -3496,9 +3498,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.13"
+version = "0.12.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
 
 [[package]]
 name = "task-local-extensions"
@@ -4131,7 +4133,7 @@ checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 
 [[package]]
 name = "uv"
-version = "0.1.11"
+version = "0.1.12"
 dependencies = [
  "anstream",
  "anyhow",
@@ -4151,6 +4153,7 @@ dependencies = [
  "fs-err",
  "futures",
  "gourgeist",
+ "indexmap 2.2.3",
  "indicatif",
  "indoc",
  "insta",
@@ -4493,12 +4496,15 @@ dependencies = [
  "pep508_rs",
  "platform-tags",
  "pypi-types",
+ "pyproject-toml",
  "rayon",
  "requirements-txt",
  "rustc-hash",
+ "serde",
  "tempfile",
  "thiserror",
  "tokio",
+ "toml",
  "tracing",
  "url",
  "uv-cache",
@@ -4518,9 +4524,11 @@ version = "0.0.1"
 dependencies = [
  "anyhow",
  "cache-key",
+ "configparser",
  "fs-err",
  "indoc",
  "insta",
+ "install-wheel-rs",
  "itertools 0.12.1",
  "once_cell",
  "pep440_rs",
diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix
index 9a4f38355da6..be273cae8916 100644
--- a/pkgs/by-name/uv/uv/package.nix
+++ b/pkgs/by-name/uv/uv/package.nix
@@ -1,31 +1,25 @@
 { lib
-, cargo
 , cmake
 , darwin
 , fetchFromGitHub
-, libgit2
 , openssl
 , pkg-config
-, python3
 , rustPlatform
-, rustc
 , stdenv
-, zlib
 }:
 
-python3.pkgs.buildPythonApplication rec {
+rustPlatform.buildRustPackage rec {
   pname = "uv";
-  version = "0.1.11";
-  pyproject = true;
+  version = "0.1.12";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "uv";
     rev = version;
-    hash = "sha256-0J6m/DgalYA+GGmgjFrNoo9KAv6WgMcx+gasgqG5v1Q=";
+    hash = "sha256-tM8NX4BPGm8Xxlau+qpKSljTdSJutipsYFsZAdtmZuo=";
   };
 
-  cargoDeps = rustPlatform.importCargoLock {
+  cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "async_zip-0.0.16" = "sha256-M94ceTCtyQc1AtPXYrVGplShQhItqZZa/x5qLiL+gs0=";
@@ -34,25 +28,20 @@ python3.pkgs.buildPythonApplication rec {
   };
 
   nativeBuildInputs = [
-    cargo
     cmake
     pkg-config
-    rustPlatform.cargoSetupHook
-    rustPlatform.maturinBuildHook
-    rustc
   ];
 
   buildInputs = [
-    libgit2
     openssl
-    zlib
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.SystemConfiguration
   ];
 
-  dontUseCmakeConfigure = true;
+  cargoBuildFlags = [ "--package" "uv" ];
 
-  pythonImportsCheck = [ "uv" ];
+  # Tests require network access
+  doCheck = false;
 
   env = {
     OPENSSL_NO_VENDOR = true;
@@ -61,7 +50,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "An extremely fast Python package installer and resolver, written in Rust";
     homepage = "https://github.com/astral-sh/uv";
-    changelog = "https://github.com/astral-sh/uv/releases/tag/${version}";
+    changelog = "https://github.com/astral-sh/uv/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ marsam ];
     mainProgram = "uv";
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/by-name/vl/vlc/package.nix
index 2b5c86b0efb2..9b89cca9a192 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/by-name/vl/vlc/package.nix
@@ -1,8 +1,4 @@
 { lib
-, stdenv
-, pkgsBuildBuild
-, fetchurl
-, fetchpatch
 , SDL
 , SDL_image
 , a52dec
@@ -11,6 +7,8 @@
 , avahi
 , dbus
 , faad2
+, fetchpatch
+, fetchurl
 , ffmpeg
 , flac
 , fluidsynth
@@ -48,6 +46,7 @@
 , libpulseaudio
 , libraw1394
 , librsvg
+, libsForQt5
 , libsamplerate
 , libspatialaudio
 , libssh2
@@ -65,23 +64,20 @@
 , ncurses
 , perl
 , pkg-config
+, pkgsBuildBuild
 , protobuf
-, qtbase
-, qtsvg
-, qtwayland
-, qtx11extras
 , removeReferencesTo
 , samba
 , schroedinger
 , speex
 , srt
+, stdenv
 , systemd
 , taglib
 , unzip
 , wayland
 , wayland-protocols
 , wrapGAppsHook
-, wrapQtAppsHook
 , xcbutilkeysyms
 , zlib
 
@@ -98,7 +94,7 @@
 #   networking.firewall.allowedTCPPorts = [ 8010 ];
 
 let
-  inherit (lib) optionalString optional optionals;
+  inherit (lib) optionalString optionals;
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "${optionalString onlyLibVLC "lib"}vlc";
@@ -118,8 +114,8 @@ stdenv.mkDerivation (finalAttrs: {
     unzip
     wrapGAppsHook
   ]
-  ++ optional chromecastSupport protobuf
-  ++ optionals withQt5 [ wrapQtAppsHook ]
+  ++ optionals chromecastSupport [ protobuf ]
+  ++ optionals withQt5 [ libsForQt5.wrapQtAppsHook ]
   ++ optionals waylandSupport [
     wayland
     wayland-protocols
@@ -191,8 +187,8 @@ stdenv.mkDerivation (finalAttrs: {
     xcbutilkeysyms
     zlib
   ]
-  ++ optional (!stdenv.hostPlatform.isAarch && !onlyLibVLC) live555
-  ++ optional jackSupport libjack2
+  ++ optionals (!stdenv.hostPlatform.isAarch && !onlyLibVLC) [ live555 ]
+  ++ optionals jackSupport [ libjack2 ]
   ++ optionals chromecastSupport [ libmicrodns protobuf ]
   ++ optionals skins2Support [
     freetype
@@ -201,8 +197,12 @@ stdenv.mkDerivation (finalAttrs: {
     libXpm
   ]
   ++ optionals waylandSupport [ wayland wayland-protocols ]
-  ++ optionals withQt5 [ qtbase qtsvg qtx11extras ]
-  ++ optional (waylandSupport && withQt5) qtwayland;
+  ++ optionals withQt5 (with libsForQt5; [
+    qtbase
+    qtsvg
+    qtx11extras
+  ])
+  ++ optionals (waylandSupport && withQt5) [ libsForQt5.qtwayland ];
 
   env = {
     # vlc depends on a c11-gcc wrapper script which we don't have so we need to
@@ -218,51 +218,37 @@ stdenv.mkDerivation (finalAttrs: {
     # upstream issue: https://code.videolan.org/videolan/vlc/-/issues/25473
     (fetchpatch {
       url = "https://code.videolan.org/videolan/vlc/uploads/eb1c313d2d499b8a777314f789794f9d/0001-Add-lssl-and-lcrypto-to-liblive555_plugin_la_LIBADD.patch";
-      sha256 = "0kyi8q2zn2ww148ngbia9c7qjgdrijf4jlvxyxgrj29cb5iy1kda";
+      hash = "sha256-qs3gY1ksCZlf931TSZyMuT2JD0sqrmcRCZwL+wVG0U8=";
     })
   ];
 
   postPatch = ''
-    substituteInPlace modules/text_renderer/freetype/platform_fonts.h --replace \
-      /usr/share/fonts/truetype/freefont ${freefont_ttf}/share/fonts/truetype
-  '' + lib.optionalString (!stdenv.hostPlatform.canExecute stdenv.buildPlatform) ''
-    # Upstream luac can't cross compile, so we have to install the lua
-    # sources, not bytecode:
-    # https://www.lua.org/wshop13/Jericke.pdf#page=39
-    substituteInPlace share/Makefile.am --replace $'.luac \\\n' $'.lua \\\n'
+    substituteInPlace modules/text_renderer/freetype/platform_fonts.h \
+      --replace \
+        /usr/share/fonts/truetype/freefont \
+        ${freefont_ttf}/share/fonts/truetype
+  ''
+  # Upstream luac can't cross compile, so we have to install the lua sources
+  # instead of bytecode:
+  # https://www.lua.org/wshop13/Jericke.pdf#page=39
+  + lib.optionalString (!stdenv.hostPlatform.canExecute stdenv.buildPlatform) ''
+      substituteInPlace share/Makefile.am \
+        --replace $'.luac \\\n' $'.lua \\\n'
   '';
 
   enableParallelBuilding = true;
 
   dontWrapGApps = true; # to prevent double wrapping of Qtwrap and Gwrap
 
-  preFixup = ''
-    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
-  '';
-
-  # - Touch plugins (plugins cache keyed off mtime and file size:
-  #     https://github.com/NixOS/nixpkgs/pull/35124#issuecomment-370552830
-  # - Remove references to the Qt development headers (used in error messages)
-  #
-  # pkgsBuildBuild is used here because buildPackages.libvlc somehow
-  # depends on a qt5.qttranslations that doesn't build, even though it
-  # should be the same as pkgsBuildBuild.qt5.qttranslations.
-  postFixup = ''
-    find $out/lib/vlc/plugins -exec touch -d @1 '{}' ';'
-    ${if stdenv.buildPlatform.canExecute stdenv.hostPlatform then "$out" else pkgsBuildBuild.libvlc}/lib/vlc/vlc-cache-gen $out/vlc/plugins
-  '' + optionalString withQt5 ''
-    remove-references-to -t "${qtbase.dev}" $out/lib/vlc/plugins/gui/libqt_plugin.so
-  '';
-
   # Most of the libraries are auto-detected so we don't need to set a bunch of
   # "--enable-foo" flags here
   configureFlags = [
     "--enable-srt" # Explicit enable srt to ensure the patch is applied.
     "--with-kde-solid=$out/share/apps/solid/actions"
   ]
-  ++ optional onlyLibVLC "--disable-vlc"
-  ++ optional skins2Support "--enable-skins2"
-  ++ optional waylandSupport "--enable-wayland"
+  ++ optionals onlyLibVLC [ "--disable-vlc" ]
+  ++ optionals skins2Support [ "--enable-skins2" ]
+  ++ optionals waylandSupport [ "--enable-wayland" ]
   ++ optionals chromecastSupport [
     "--enable-sout"
     "--enable-chromecast"
@@ -285,6 +271,24 @@ stdenv.mkDerivation (finalAttrs: {
     cp -R share/hrtfs $out/share/vlc
   '';
 
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  # - Touch plugins (plugins cache keyed off mtime and file size:
+  #     https://github.com/NixOS/nixpkgs/pull/35124#issuecomment-370552830
+  # - Remove references to the Qt development headers (used in error messages)
+  #
+  # pkgsBuildBuild is used here because buildPackages.libvlc somehow
+  # depends on a qt5.qttranslations that doesn't build, even though it
+  # should be the same as pkgsBuildBuild.qt5.qttranslations.
+  postFixup = ''
+    find $out/lib/vlc/plugins -exec touch -d @1 '{}' ';'
+    ${if stdenv.buildPlatform.canExecute stdenv.hostPlatform then "$out" else pkgsBuildBuild.libvlc}/lib/vlc/vlc-cache-gen $out/vlc/plugins
+  '' + optionalString withQt5 ''
+    remove-references-to -t "${libsForQt5.qtbase.dev}" $out/lib/vlc/plugins/gui/libqt_plugin.so
+  '';
+
   meta = {
     description = "Cross-platform media player and streaming server";
     homepage = "https://www.videolan.org/vlc/";
diff --git a/pkgs/by-name/zc/zcfan/package.nix b/pkgs/by-name/zc/zcfan/package.nix
index 4534a71fa3e4..c6bb42c286fb 100644
--- a/pkgs/by-name/zc/zcfan/package.nix
+++ b/pkgs/by-name/zc/zcfan/package.nix
@@ -6,13 +6,13 @@
 # Testing this requires a Thinkpad or the presence of /proc/acpi/ibm/fan
 stdenv.mkDerivation (finalAttrs: {
   pname = "zcfan";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "cdown";
     repo = "zcfan";
     rev = finalAttrs.version;
-    hash = "sha256-XngchR06HP2iExKJVe+XKBDgsv98AEYWOkl1a/Hktgs=";
+    hash = "sha256-zpYQEHXt8LBNX+luM4YxP0dKH+hb2c8Z0BEeGP09oZo=";
   };
 
   postPatch = ''
diff --git a/pkgs/data/fonts/lxgw-neoxihei/default.nix b/pkgs/data/fonts/lxgw-neoxihei/default.nix
index 36ab88861ae4..34450f55cbdf 100644
--- a/pkgs/data/fonts/lxgw-neoxihei/default.nix
+++ b/pkgs/data/fonts/lxgw-neoxihei/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lxgw-neoxihei";
-  version = "1.110";
+  version = "1.120";
 
   src = fetchurl {
     url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
-    hash = "sha256-6KeKz8lJBCc/sc5pCkS2mSwMAQ8XpwDIMCjSbVXuyH4=";
+    hash = "sha256-rQ+gbmUYr+iWm5WCUSqb+8+aMD5JZUsbPXZ0Nio2cl8=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index 7a5c8fc0c3f4..1533cd089228 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,12 +3,12 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20240217140518";
+    version = "20240221053250";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-7Voepx8+tFWpugtUKoRJ55nSX3cWtXgPhYiNDhE3OGs=";
+      hash = "sha256-oPffStUx2CD4gfSNIYqCzLLj+IAhm3aGQknRsrauD+k=";
     };
     vendorHash = "sha256-azvMUi8eLNoNofRa2X4SKTTiMd6aOyO6H/rOiKjkpIY=";
     meta = with lib; {
diff --git a/pkgs/data/themes/alacritty-theme/default.nix b/pkgs/data/themes/alacritty-theme/default.nix
index d5225cc89937..d5fbc03b6301 100644
--- a/pkgs/data/themes/alacritty-theme/default.nix
+++ b/pkgs/data/themes/alacritty-theme/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation (self: {
   name = "alacritty-theme";
-  version = "unstable-2024-02-25";
+  version = "unstable-2024-02-28";
 
   src = fetchFromGitHub {
     owner = "alacritty";
     repo = "alacritty-theme";
-    rev = "07c10441dae4d0490145a0f40178f8846b24e800";
-    hash = "sha256-aZlsKbFcm1bswx7k0cjwhj1MudR0Q0rD8sdHa7kQ0rY=";
+    rev = "4aefb7c079721474078b28bbf9f582b592749ca6";
+    hash = "sha256-+35S6eQkxLBuS/fDKD5bglQDIuz2xeEc5KSaK6k7IjI=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/desktops/lomiri/data/suru-icon-theme/default.nix b/pkgs/desktops/lomiri/data/suru-icon-theme/default.nix
index 796dc05d819a..32b2cef1f021 100644
--- a/pkgs/desktops/lomiri/data/suru-icon-theme/default.nix
+++ b/pkgs/desktops/lomiri/data/suru-icon-theme/default.nix
@@ -9,13 +9,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "suru-icon-theme";
-  version = "20.05.1";
+  version = "2024.02.1";
 
   src = fetchFromGitLab {
     owner = "ubports";
     repo = "development/core/suru-icon-theme";
     rev = finalAttrs.version;
-    hash = "sha256-jJ6J+SjSABZCgnCF9cIFBpeSXX2LMnV+nPLPpoXQv30=";
+    hash = "sha256-7T9FILhZrs5bbdBEV/FszCOwUd/C1Rl9tbDt77SIzRk=";
   };
 
   strictDeps = true;
@@ -50,6 +50,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "Suru Icon Theme for Lomiri Operating Environment";
     homepage = "https://gitlab.com/ubports/development/core/suru-icon-theme";
+    changelog = "https://gitlab.com/ubports/development/core/suru-icon-theme/-/blob/${finalAttrs.version}/ChangeLog";
     license = licenses.cc-by-sa-30;
     maintainers = teams.lomiri.members;
     platforms = platforms.all;
diff --git a/pkgs/development/compilers/factor-lang/factor99.nix b/pkgs/development/compilers/factor-lang/factor99.nix
index 85ff98a28ba1..59595210dd1a 100644
--- a/pkgs/development/compilers/factor-lang/factor99.nix
+++ b/pkgs/development/compilers/factor-lang/factor99.nix
@@ -57,7 +57,7 @@ let
     # Defined in gdk-pixbuf setup hook
     findGdkPixbufLoaders "${librsvg}"
 
-    ${if to then "makeWrapper ${from} ${to}" else "wrapProgram ${from}"} \
+    ${if (builtins.isString to) then "makeWrapper ${from} ${to}" else "wrapProgram ${from}"} \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --argv0 factor \
       --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:${lib.makeLibraryPath runtimeLibs} \
@@ -72,7 +72,7 @@ let
         passthru.runtimeLibs = runtimeLibs ++ interpreter.runtimeLibs;
       }
       (wrapFactorScript {
-        from = "${interpreter}/lib/factor/.factor.wrapped";
+        from = "${interpreter}/lib/factor/.factor-wrapped";
         to = "$out/bin/factor";
         runtimeLibs = (runtimeLibs ++ interpreter.runtimeLibs);
       });
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index 906df89b2117..a848accf1666 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -1,20 +1,16 @@
 { lib
-, stdenv
-, fetchFromRepoOrCz
 , copyPkgconfigItems
+, fetchFromRepoOrCz
 , makePkgconfigItem
 , perl
+, stdenv
 , texinfo
 , which
 }:
 
-let
-  # avoid "malformed 32-bit x.y.z" error on mac when using clang
-  isCleanVer = version: builtins.match "^[0-9]\\.+[0-9]+\\.[0-9]+" version != null;
-in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "tcc";
-  version = "unstable-2022-07-15";
+  version = "0.9.27-unstable-2022-07-15";
 
   src = fetchFromRepoOrCz {
     repo = "tinycc";
@@ -22,6 +18,8 @@ stdenv.mkDerivation rec {
     hash = "sha256-jY0P2GErmo//YBaz6u4/jj/voOE3C2JaIDRmo0orXN8=";
   };
 
+  outputs = [ "out" "info" "man" ];
+
   nativeBuildInputs = [
     copyPkgconfigItems
     perl
@@ -29,23 +27,27 @@ stdenv.mkDerivation rec {
     which
   ];
 
-  pkgconfigItems = [
-    (makePkgconfigItem rec {
+  strictDeps = true;
+
+  pkgconfigItems = let
+    libtcc-pcitem = {
       name = "libtcc";
-      inherit version;
-      cflags = [ "-I${variables.includedir}" ];
+      inherit (finalAttrs) version;
+      cflags = [ "-I${libtcc-pcitem.variables.includedir}" ];
       libs = [
-        "-L${variables.libdir}"
-        "-Wl,--rpath ${variables.libdir}"
+        "-L${libtcc-pcitem.variables.libdir}"
+        "-Wl,--rpath ${libtcc-pcitem.variables.libdir}"
         "-ltcc"
       ];
-      variables = rec {
+      variables = {
         prefix = "${placeholder "out"}";
-        includedir = "${prefix}/include";
-        libdir = "${prefix}/lib";
+        includedir = "${placeholder "dev"}/include";
+        libdir = "${placeholder "lib"}/lib";
       };
       description = "Tiny C compiler backend";
-    })
+    };
+  in [
+    (makePkgconfigItem libtcc-pcitem)
   ];
 
   postPatch = ''
@@ -64,17 +66,19 @@ stdenv.mkDerivation rec {
     "--config-musl"
   ];
 
-  preConfigure = ''
+  preConfigure = let
+    # To avoid "malformed 32-bit x.y.z" error on mac when using clang
+    versionIsClean = version:
+      builtins.match "^[0-9]\\.+[0-9]+\\.[0-9]+" version != null;
+  in ''
     ${
-      if stdenv.isDarwin && ! isCleanVer version
+      if stdenv.isDarwin && ! versionIsClean finalAttrs.version
       then "echo 'not overwriting VERSION since it would upset ld'"
-      else "echo ${version} > VERSION"
+      else "echo ${finalAttrs.version} > VERSION"
     }
     configureFlagsArray+=("--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker)")
   '';
 
-  outputs = [ "out" "info" "man" ];
-
   # Test segfault for static build
   doCheck = !stdenv.hostPlatform.isStatic;
 
@@ -84,7 +88,7 @@ stdenv.mkDerivation rec {
     rm tests/tests2/{108,114}*
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://repo.or.cz/tinycc.git";
     description = "Small, fast, and embeddable C compiler and interpreter";
     longDescription = ''
@@ -108,13 +112,13 @@ stdenv.mkDerivation rec {
 
       With libtcc, you can use TCC as a backend for dynamic code generation.
     '';
-    license = licenses.lgpl21Only;
-    maintainers = with maintainers; [ joachifm AndersonTorres ];
-    platforms = platforms.unix;
+    license = with lib.licenses; [ lgpl21Only ];
+    mainProgram = "tcc";
+    maintainers = with lib.maintainers; [ joachifm AndersonTorres ];
+    platforms = lib.platforms.unix;
     # https://www.mail-archive.com/tinycc-devel@nongnu.org/msg10199.html
     broken = stdenv.isDarwin && stdenv.isAarch64;
   };
-}
+})
 # TODO: more multiple outputs
 # TODO: self-compilation
-# TODO: provide expression for stable release
diff --git a/pkgs/development/libraries/google-cloud-cpp/default.nix b/pkgs/development/libraries/google-cloud-cpp/default.nix
index 0a6be882120b..4d8ef6821240 100644
--- a/pkgs/development/libraries/google-cloud-cpp/default.nix
+++ b/pkgs/development/libraries/google-cloud-cpp/default.nix
@@ -28,7 +28,6 @@ let
     rev = googleapisRev;
     hash = "sha256-4Qiz0pBgW3OZi+Z8Zq6k9E94+8q6/EFMwPh8eQxDjdI=";
   };
-  excludedTests = builtins.fromTOML (builtins.readFile ./skipped_tests.toml);
 in
 stdenv.mkDerivation rec {
   pname = "google-cloud-cpp";
@@ -106,16 +105,17 @@ stdenv.mkDerivation rec {
     lib.optionalString doInstallCheck (
       lib.optionalString (!staticOnly) ''
         export ${ldLibraryPathName}=${lib.concatStringsSep ":" additionalLibraryPaths}
-      '' + ''
-        export GTEST_FILTER="-${lib.concatStringsSep ":" excludedTests.cases}"
       ''
     );
 
   installCheckPhase = lib.optionalString doInstallCheck ''
     runHook preInstallCheck
 
-    # disable tests that contact the internet
-    ctest --exclude-regex '^(${lib.concatStringsSep "|" excludedTests.whole})'
+    # Disable any integration tests, which need to contact the internet.
+    # Also disable the `storage_benchmark_*` tests.
+    # With Protobuf < 23.x they require -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_WORKAROUND=ON.
+    # With Protobuf >= 23.x they require They require setting -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_WORKAROUND=OFF
+    ctest --label-exclude integration-test --exclude-regex storage_benchmarks_
 
     runHook postInstallCheck
   '';
diff --git a/pkgs/development/libraries/google-cloud-cpp/skipped_tests.toml b/pkgs/development/libraries/google-cloud-cpp/skipped_tests.toml
deleted file mode 100644
index d4ac469fbcff..000000000000
--- a/pkgs/development/libraries/google-cloud-cpp/skipped_tests.toml
+++ /dev/null
@@ -1,139 +0,0 @@
-whole = [
-  "common_samples_samples",
-  "common_internal_grpc_impersonate_service_account_integration_test",
-  "common_internal_unified_rest_credentials_integration_test",
-  "iam_samples_iam_credentials_samples",
-  "iam_samples_iam_samples",
-  "iam_admin_v1_samples_iam_client_samples",
-  "iam_credentials_v1_samples_iam_credentials_client_samples",
-  "iam_v1_samples_iam_policy_client_samples",
-  "iam_v2_samples_policies_client_samples",
-  "bigtable_admin_admin_iam_policy_integration_test",
-  "bigtable_bigtable_instance_admin_client_samples",
-  "bigtable_bigtable_table_admin_client_samples",
-  "bigtable_apply_read_latency_benchmark",
-  "bigtable_endurance_benchmark",
-  "bigtable_mutation_batcher_throughput_benchmark",
-  "bigtable_read_sync_vs_async_benchmark",
-  "bigtable_scan_throughput_benchmark",
-  "bigtable_admin_iam_policy_integration_test",
-  "bigtable_data_async_future_integration_test",
-  "bigtable_data_integration_test",
-  "bigtable_filters_integration_test",
-  "bigtable_mutations_integration_test",
-  "bigtable_table_sample_rows_integration_test",
-  "bigquery_samples_bigquery_read_samples",
-  "bigquery_analyticshub_v1_samples_analytics_hub_client_samples",
-  "bigquery_biglake_v1_samples_metastore_client_samples",
-  "bigquery_connection_v1_samples_connection_client_samples",
-  "bigquery_datapolicies_v1_samples_data_policy_client_samples",
-  "bigquery_datatransfer_v1_samples_data_transfer_client_samples",
-  "bigquery_migration_v2_samples_migration_client_samples",
-  "bigquery_reservation_v1_samples_reservation_client_samples",
-  "bigquery_storage_v1_samples_bigquery_read_client_samples",
-  "bigquery_storage_v1_samples_bigquery_write_client_samples",
-  "logging_quickstart",
-  "logging_v2_samples_config_service_v2_client_samples",
-  "logging_v2_samples_logging_service_v2_client_samples",
-  "logging_v2_samples_metrics_service_v2_client_samples",
-  "pubsub_endurance",
-  "pubsub_throughput",
-  "pubsub_subscriber_integration_test",
-  "pubsub_subscription_admin_integration_test",
-  "pubsub_topic_admin_integration_test",
-  "spanner_client_integration_test",
-  "spanner_client_stress_test",
-  "spanner_data_types_integration_test",
-  "spanner_database_admin_integration_test",
-  "spanner_instance_admin_integration_test",
-  "spanner_session_pool_integration_test",
-  "spanner_admin_database_admin_integration_test",
-  "spanner_admin_instance_admin_integration_test",
-  "spanner_database_admin_client_samples",
-  "spanner_instance_admin_client_samples",
-  "spanner_multiple_rows_cpu_benchmark",
-  "spanner_single_row_throughput_benchmark",
-  "storage_alternative_endpoint_integration_test",
-  "storage_auto_finalize_integration_test",
-  "storage_bucket_integration_test",
-  "storage_create_client_integration_test",
-  "storage_curl_sign_blob_integration_test",
-  "storage_decompressive_transcoding_integration_test",
-  "storage_grpc_bucket_acl_integration_test",
-  "storage_grpc_bucket_metadata_integration_test",
-  "storage_grpc_default_object_acl_integration_test",
-  "storage_grpc_integration_test",
-  "storage_grpc_object_acl_integration_test",
-  "storage_grpc_object_media_integration_test",
-  "storage_grpc_object_metadata_integration_test",
-  "storage_key_file_integration_test",
-  "storage_minimal_iam_credentials_rest_integration_test",
-  "storage_object_basic_crud_integration_test",
-  "storage_object_checksum_integration_test",
-  "storage_object_compose_many_integration_test",
-  "storage_object_file_integration_test",
-  "storage_object_hash_integration_test",
-  "storage_object_insert_integration_test",
-  "storage_object_insert_preconditions_integration_test",
-  "storage_object_integration_test",
-  "storage_object_list_objects_versions_integration_test",
-  "storage_object_media_integration_test",
-  "storage_object_parallel_upload_integration_test",
-  "storage_object_plenty_clients_serially_integration_test",
-  "storage_object_plenty_clients_simultaneously_integration_test",
-  "storage_object_read_headers_integration_test",
-  "storage_object_read_preconditions_integration_test",
-  "storage_object_read_range_integration_test",
-  "storage_object_read_stream_integration_test",
-  "storage_object_resumable_parallel_upload_integration_test",
-  "storage_object_resumable_write_integration_test",
-  "storage_object_rewrite_integration_test",
-  "storage_object_write_preconditions_integration_test",
-  "storage_object_write_stream_integration_test",
-  "storage_object_write_streambuf_integration_test",
-  "storage_service_account_integration_test",
-  "storage_signed_url_integration_test",
-  "storage_small_reads_integration_test",
-  "storage_thread_integration_test",
-  "storage_tracing_integration_test",
-  "storage_unified_credentials_integration_test",
-  "storage_aggregate_download_throughput_benchmark",
-  "storage_aggregate_upload_throughput_benchmark",
-  "storage_create_dataset",
-  "storage_storage_file_transfer_benchmark",
-  "storage_storage_parallel_uploads_benchmark",
-  "storage_storage_throughput_vs_cpu_benchmark",
-  "storage_throughput_experiment_test"
-]
-cases = [
-  "BackupExtraIntegrationTest.CreateBackupWithExpiredVersionTime",
-  "BackupExtraIntegrationTest.BackupWithExpiredVersionTime",
-  "BackupExtraIntegrationTest.BackupWithFutureVersionTime",
-  "BackupExtraIntegrationTest.CreateBackupWithFutureVersionTime",
-  "BlockingPublisherIntegrationTest.Basic",
-  "DatabaseAdminClientTest.CreateWithEncryptionKey",
-  "DatabaseAdminClientTest.CreateWithNonexistentEncryptionKey",
-  "DatabaseAdminClientTest.DatabaseBasicCRUD",
-  "DatabaseAdminClientTest.VersionRetentionPeriodCreate",
-  "DatabaseAdminClientTest.VersionRetentionPeriodCreateFailure",
-  "DatabaseAdminClientTest.VersionRetentionPeriodUpdate",
-  "DatabaseAdminClientTest.VersionRetentionPeriodUpdateFailure",
-  "ErrorParsingIntegrationTest.FailureContainsErrorInfo",
-  "GrpcServiceAccountIntegrationTest.GetServiceAccount",
-  "GrpcBucketMetadataIntegrationTest.ObjectMetadataCRUD",
-  "InstanceAdminClientTest.InstanceConfig",
-  "InstanceAdminClientTest.InstanceIam",
-  "InstanceAdminClientTest.InstanceReadOperations",
-  "LoggingIntegrationTest.ListMonitoredResourceDescriptors",
-  "LoggingIntegrationTest.WriteLogEntries",
-  "ObjectFileMultiThreadedTest.Download",
-  "ObjectReadLargeIntegrationTest.LimitedMemoryGrowth",
-  "SubscriberIntegrationTest.FireAndForget",
-  "SubscriberIntegrationTest.PublishOrdered",
-  "SubscriberIntegrationTest.PublishPullAck",
-  "SubscriberIntegrationTest.RawStub",
-  "SubscriberIntegrationTest.ReportNotFound",
-  "SubscriberIntegrationTest.StreamingSubscriptionBatchSource",
-  "SubscriptionAdminIntegrationTest.SubscriptionCRUD",
-  "TopicAdminIntegrationTest.TopicCRUD"
-]
diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix
index dbaa4888922c..d62f672f0660 100644
--- a/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -828,14 +828,14 @@ rec {
   th_TH = th-th;
   th-th = mkDict {
     pname = "hunspell-dict-th-th";
-    version = "experimental-2023-03-01";
+    version = "experimental-2024-02-27";
     dictFileName = "th_TH";
     readmeFile = "README.md";
     src = fetchFromGitHub {
       owner = "SyafiqHadzir";
       repo = "Hunspell-TH";
-      rev = "9c09f1b7c0eb4d04b9f6f427901686c5c3d9fa54";
-      sha256 = "1wszpnbgj31k72x1vvcfkzcpmxsncdpqsi3zagah7swilpi7cqm4";
+      rev = "62d35f9211ca1eb4c367eac2ae57193efe6e88d2";
+      sha256 = "sha256-t4m4u+qIgJPrKz58Cu2Q+knYm/+cvrNLzQsiiSRTB1A=";
     };
     meta = with lib; {
       description = "Hunspell dictionary for Central Thai (Thailand)";
diff --git a/pkgs/development/libraries/libgbinder/default.nix b/pkgs/development/libraries/libgbinder/default.nix
index 4a4a0ee6bf21..c0f4577078e2 100644
--- a/pkgs/development/libraries/libgbinder/default.nix
+++ b/pkgs/development/libraries/libgbinder/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgbinder";
-  version = "1.1.36";
+  version = "1.1.37";
 
   src = fetchFromGitHub {
     owner = "mer-hybris";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QTlOiZG6qpNeicMJpOTMSTk2WwKbOzkaLulgmsxYaVI=";
+    sha256 = "sha256-/XxWOaT2f6+0apv0NzMsPoYBf3GLuaXyPkmTMTDtOes=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libshumate/default.nix b/pkgs/development/libraries/libshumate/default.nix
index 4722781c1933..9639ac34a01b 100644
--- a/pkgs/development/libraries/libshumate/default.nix
+++ b/pkgs/development/libraries/libshumate/default.nix
@@ -32,6 +32,11 @@ stdenv.mkDerivation rec {
     sha256 = "+h0dKLECtvfsxwD5aRTIgiNI9jG/tortUJYFiYMe60g=";
   };
 
+  depsBuildBuild = [
+    # required to find native gi-docgen when cross compiling
+    pkg-config
+  ];
+
   nativeBuildInputs = [
     gi-docgen
     meson
diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix
index 8acc044894bc..ea65e5f3ae82 100644
--- a/pkgs/development/libraries/qt-6/default.nix
+++ b/pkgs/development/libraries/qt-6/default.nix
@@ -42,7 +42,7 @@ let
       qtModule = callPackage ./qtModule.nix { };
 
       qtbase = callPackage ./modules/qtbase.nix {
-        withGtk3 = true;
+        withGtk3 = !stdenv.hostPlatform.isMinGW;
         inherit (srcs.qtbase) src version;
         inherit developerBuild;
         inherit (darwin.apple_sdk_11_0.frameworks)
@@ -69,47 +69,49 @@ let
         ];
       };
       env = callPackage ./qt-env.nix { };
-      full = callPackage ({ env, qtbase }: env "qt-full-${qtbase.version}"
-      # `with self` is ok to use here because having these spliced is unnecessary
-      ( with self;[
-        qt3d
-        qt5compat
-        qtcharts
-        qtconnectivity
-        qtdatavis3d
-        qtdeclarative
-        qtdoc
-        qtgraphs
-        qtgrpc
-        qthttpserver
-        qtimageformats
-        qtlanguageserver
-        qtlocation
-        qtlottie
-        qtmultimedia
-        qtmqtt
-        qtnetworkauth
-        qtpositioning
-        qtsensors
-        qtserialbus
-        qtserialport
-        qtshadertools
-        qtspeech
-        qtquick3d
-        qtquick3dphysics
-        qtquickeffectmaker
-        qtquicktimeline
-        qtremoteobjects
-        qtsvg
-        qtscxml
-        qttools
-        qttranslations
-        qtvirtualkeyboard
-        qtwebchannel
-        qtwebengine
-        qtwebsockets
-        qtwebview
-      ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ qtwayland libglvnd ])) { };
+      full = callPackage
+        ({ env, qtbase }: env "qt-full-${qtbase.version}"
+          # `with self` is ok to use here because having these spliced is unnecessary
+          (with self;[
+            qt3d
+            qt5compat
+            qtcharts
+            qtconnectivity
+            qtdatavis3d
+            qtdeclarative
+            qtdoc
+            qtgraphs
+            qtgrpc
+            qthttpserver
+            qtimageformats
+            qtlanguageserver
+            qtlocation
+            qtlottie
+            qtmultimedia
+            qtmqtt
+            qtnetworkauth
+            qtpositioning
+            qtsensors
+            qtserialbus
+            qtserialport
+            qtshadertools
+            qtspeech
+            qtquick3d
+            qtquick3dphysics
+            qtquickeffectmaker
+            qtquicktimeline
+            qtremoteobjects
+            qtsvg
+            qtscxml
+            qttools
+            qttranslations
+            qtvirtualkeyboard
+            qtwebchannel
+            qtwebengine
+            qtwebsockets
+            qtwebview
+          ] ++ lib.optionals (!stdenv.isDarwin) [ qtwayland libglvnd ]))
+        { };
 
       qt3d = callPackage ./modules/qt3d.nix { };
       qt5compat = callPackage ./modules/qt5compat.nix { };
@@ -162,11 +164,14 @@ let
           GameController ImageCaptureCore LocalAuthentication
           MediaAccessibility MediaPlayer MetalKit Network OpenDirectory Quartz
           ReplayKit SecurityInterface Vision;
-        qtModule = callPackage ({ qtModule }: qtModule.override {
-          stdenv = if stdenv.hostPlatform.isDarwin
-            then overrideSDK stdenv { darwinMinVersion = "10.13"; darwinSdkVersion = "11.0"; }
-            else stdenv;
-        }) { };
+        qtModule = callPackage
+          ({ qtModule }: qtModule.override {
+            stdenv =
+              if stdenv.isDarwin
+              then overrideSDK stdenv { darwinMinVersion = "10.13"; darwinSdkVersion = "11.0"; }
+              else stdenv;
+          })
+          { };
         xcbuild = buildPackages.xcbuild.override {
           productBuildVer = "20A2408";
         };
@@ -176,21 +181,25 @@ let
         inherit (darwin.apple_sdk_11_0.frameworks) WebKit;
       };
 
-      wrapQtAppsHook = callPackage ({ makeBinaryWrapper }: makeSetupHook
-        {
-          name = "wrap-qt6-apps-hook";
-          propagatedBuildInputs = [ makeBinaryWrapper ];
-        } ./hooks/wrap-qt-apps-hook.sh) { };
+      wrapQtAppsHook = callPackage
+        ({ makeBinaryWrapper }: makeSetupHook
+          {
+            name = "wrap-qt6-apps-hook";
+            propagatedBuildInputs = [ makeBinaryWrapper ];
+          } ./hooks/wrap-qt-apps-hook.sh)
+        { };
 
-      qmake = callPackage ({ qtbase }: makeSetupHook
-        {
-          name = "qmake6-hook";
-          propagatedBuildInputs = [ qtbase.dev ];
-          substitutions = {
-            inherit debug;
-            fix_qmake_libtool = ./hooks/fix-qmake-libtool.sh;
-          };
-        } ./hooks/qmake-hook.sh) { };
+      qmake = callPackage
+        ({ qtbase }: makeSetupHook
+          {
+            name = "qmake6-hook";
+            propagatedBuildInputs = [ qtbase.dev ];
+            substitutions = {
+              inherit debug;
+              fix_qmake_libtool = ./hooks/fix-qmake-libtool.sh;
+            };
+          } ./hooks/qmake-hook.sh)
+        { };
     } // lib.optionalAttrs config.allowAliases {
       # Convert to a throw on 03-01-2023 and backport the change.
       # Warnings show up in various cli tool outputs, throws do not.
@@ -203,12 +212,13 @@ let
     f = addPackages;
   };
 
-  bootstrapScope = baseScope.overrideScope(final: prev: {
+  bootstrapScope = baseScope.overrideScope (final: prev: {
     qtbase = prev.qtbase.override { qttranslations = null; };
     qtdeclarative = null;
   });
 
-  finalScope = baseScope.overrideScope(final: prev: {
+  finalScope = baseScope.overrideScope (final: prev: {
     qttranslations = bootstrapScope.qttranslations;
   });
-in finalScope
+in
+finalScope
diff --git a/pkgs/development/libraries/qt-6/modules/qtbase.nix b/pkgs/development/libraries/qt-6/modules/qtbase.nix
index 26fdeceda61f..0a16f725c477 100644
--- a/pkgs/development/libraries/qt-6/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-6/modules/qtbase.nix
@@ -4,6 +4,7 @@
 , patches ? [ ]
 , version
 , coreutils
+, buildPackages
 , bison
 , flex
 , gdb
@@ -79,6 +80,8 @@
 , EventKit
 , GSS
 , MetalKit
+  # mingw
+, pkgsBuildBuild
   # optional dependencies
 , cups
 , libmysqlclient
@@ -96,6 +99,7 @@
 
 let
   debugSymbols = debug || developerBuild;
+  isCrossBuild = !stdenv.buildPlatform.canExecute stdenv.hostPlatform;
 in
 stdenv.mkDerivation rec {
   pname = "qtbase";
@@ -110,7 +114,6 @@ stdenv.mkDerivation rec {
     openssl
     sqlite
     zlib
-    unixODBC
     # Text rendering
     harfbuzz
     icu
@@ -119,14 +122,16 @@ stdenv.mkDerivation rec {
     libpng
     pcre2
     pcre
-    libproxy
     zstd
-    double-conversion
     libb2
     md4c
+    double-conversion
+  ] ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [
+    libproxy
     dbus
     glib
     # unixODBC drivers
+    unixODBC
     unixODBCDrivers.psql
     unixODBCDrivers.sqlite
     unixODBCDrivers.mariadb
@@ -174,11 +179,16 @@ stdenv.mkDerivation rec {
     EventKit
     GSS
     MetalKit
-  ] ++ lib.optional libGLSupported libGL;
+  ] ++ lib.optionals libGLSupported [
+    libGL
+  ] ++ lib.optionals stdenv.hostPlatform.isMinGW [
+    vulkan-headers
+    vulkan-loader
+  ];
 
-  buildInputs = [
+  buildInputs = lib.optionals (lib.meta.availableOn stdenv.hostPlatform at-spi2-core) [
     at-spi2-core
-  ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
+  ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libinput) [
     libinput
   ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
     AppKit
@@ -186,9 +196,9 @@ stdenv.mkDerivation rec {
   ]
   ++ lib.optional withGtk3 gtk3
   ++ lib.optional developerBuild gdb
-  ++ lib.optional (cups != null) cups
-  ++ lib.optional (libmysqlclient != null) libmysqlclient
-  ++ lib.optional (postgresql != null) postgresql;
+  ++ lib.optional (cups != null && lib.meta.availableOn stdenv.hostPlatform cups) cups
+  ++ lib.optional (libmysqlclient != null && !stdenv.hostPlatform.isMinGW) libmysqlclient
+  ++ lib.optional (postgresql != null && lib.meta.availableOn stdenv.hostPlatform postgresql) postgresql;
 
   nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which cmake xmlstarlet ninja ]
     ++ lib.optionals stdenv.hostPlatform.isDarwin [ moveBuildTree ];
@@ -203,7 +213,7 @@ stdenv.mkDerivation rec {
 
   # https://bugreports.qt.io/browse/QTBUG-97568
   postPatch = ''
-    substituteInPlace src/corelib/CMakeLists.txt --replace-fail "/bin/ls" "${coreutils}/bin/ls"
+    substituteInPlace src/corelib/CMakeLists.txt --replace-fail "/bin/ls" "${buildPackages.coreutils}/bin/ls"
   '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
     substituteInPlace cmake/QtPublicAppleHelpers.cmake --replace-fail "/usr/bin/xcrun" "${xcbuild}/bin/xcrun"
   '';
@@ -232,7 +242,11 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
     # error: 'path' is unavailable: introduced in macOS 10.15
     "-DQT_FEATURE_cxx17_filesystem=OFF"
-  ] ++ lib.optional (qttranslations != null) "-DINSTALL_TRANSLATIONSDIR=${qttranslations}/translations";
+  ] ++ lib.optionals isCrossBuild [
+    "-DQT_HOST_PATH=${pkgsBuildBuild.qt6.qtbase}"
+    "-DQt6HostInfo_DIR=${pkgsBuildBuild.qt6.qtbase}/lib/cmake/Qt6HostInfo"
+  ]
+  ++ lib.optional (qttranslations != null && !isCrossBuild) "-DINSTALL_TRANSLATIONSDIR=${qttranslations}/translations";
 
   env.NIX_LDFLAGS = toString (lib.optionals stdenv.hostPlatform.isDarwin [
     # Undefined symbols for architecture arm64: "___gss_c_nt_hostbased_service_oid_desc"
@@ -253,6 +267,8 @@ stdenv.mkDerivation rec {
 
   dontStrip = debugSymbols;
 
+  dontWrapQtApps = true;
+
   setupHook = ../hooks/qtbase-setup-hook.sh;
 
   meta = with lib; {
@@ -260,6 +276,6 @@ stdenv.mkDerivation rec {
     description = "A cross-platform application framework for C++";
     license = with licenses; [ fdl13Plus gpl2Plus lgpl21Plus lgpl3Plus ];
     maintainers = with maintainers; [ milahu nickcao LunNova ];
-    platforms = platforms.unix;
+    platforms = platforms.unix ++ platforms.windows;
   };
 }
diff --git a/pkgs/development/libraries/qt-6/patches/0011-qtbase-derive-plugin-load-path-from-PATH.patch b/pkgs/development/libraries/qt-6/patches/0011-qtbase-derive-plugin-load-path-from-PATH.patch
index 22530f453536..cae39e879120 100644
--- a/pkgs/development/libraries/qt-6/patches/0011-qtbase-derive-plugin-load-path-from-PATH.patch
+++ b/pkgs/development/libraries/qt-6/patches/0011-qtbase-derive-plugin-load-path-from-PATH.patch
@@ -1,19 +1,19 @@
-From f0c4d3860b75cb064d066045907622d536044096 Mon Sep 17 00:00:00 2001
+From 6f0e6fe1e13ca5844a93d3b97111b7ece7e60f0f Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
 Date: Sun, 10 May 2020 12:47:28 +0200
 Subject: [PATCH 11/11] qtbase: derive plugin load path from PATH
 
 ---
- src/corelib/kernel/qcoreapplication.cpp | 10 ++++++++++
- 1 file changed, 10 insertions(+)
+ src/corelib/kernel/qcoreapplication.cpp | 9 +++++++++
+ 1 file changed, 9 insertions(+)
 
 diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
-index a80efbb5622..8cf9e85da43 100644
+index a80efbb5622..0d41dabeed3 100644
 --- a/src/corelib/kernel/qcoreapplication.cpp
 +++ b/src/corelib/kernel/qcoreapplication.cpp
-@@ -2991,6 +2991,16 @@ QStringList QCoreApplication::libraryPathsLocked()
-         QStringList *app_libpaths = new QStringList;
-         coreappdata()->app_libpaths.reset(app_libpaths);
+@@ -3032,6 +3032,15 @@ QStringList QCoreApplication::libraryPathsLocked()
+                 app_libpaths->append(installPathPlugins);
+         }
  
 +        // Add library paths derived from PATH
 +        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(QStringLiteral(":"));
@@ -24,10 +24,9 @@ index a80efbb5622..8cf9e85da43 100644
 +            }
 +        }
 +
-+
-         auto setPathsFromEnv = [&](QString libPathEnv) {
-             if (!libPathEnv.isEmpty()) {
-                 QStringList paths = libPathEnv.split(QDir::listSeparator(), Qt::SkipEmptyParts);
+         // If QCoreApplication is not yet instantiated,
+         // make sure we add the application path when we construct the QCoreApplication
+         if (self) self->d_func()->appendApplicationPathToLibraryPaths();
 -- 
-2.42.0
+2.43.1
 
diff --git a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
index 648e05376529..1995068ebd92 100644
--- a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "suitesparse-graphblas";
-  version = "9.0.1";
+  version = "9.0.2";
 
   outputs = [ "out" "dev" ];
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "DrTimothyAldenDavis";
     repo = "GraphBLAS";
     rev = "v${version}";
-    hash = "sha256-eNd6jlpW3KiRvOCKvNP5ttpgjPPXt2M2vLhk1Zn4gTE=";
+    hash = "sha256-wPg5A1lwtRPDO5gPbllEFkRJFRIhkqqaVd4CBdPavKE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/misc/brev-cli/default.nix b/pkgs/development/misc/brev-cli/default.nix
index cd2b854d7955..05ef47ee2794 100644
--- a/pkgs/development/misc/brev-cli/default.nix
+++ b/pkgs/development/misc/brev-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "brev-cli";
-  version = "0.6.276";
+  version = "0.6.277";
 
   src = fetchFromGitHub {
     owner = "brevdev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IAzsoKPFmhyBgd3jD6qEBav5ynQYrn8/cl6epsjrVKg=";
+    sha256 = "sha256-s80veDxN0GfHKOwDhxx1ArZXqk8OPSl+d/Ruxj0oLJA=";
   };
 
   vendorHash = "sha256-IR/tgqh8rS4uN5jSOcopCutbHCKHSU9icUfRhOgu4t8=";
diff --git a/pkgs/development/ocaml-modules/caqti/async.nix b/pkgs/development/ocaml-modules/caqti/async.nix
index 328cf37986d2..22755be193df 100644
--- a/pkgs/development/ocaml-modules/caqti/async.nix
+++ b/pkgs/development/ocaml-modules/caqti/async.nix
@@ -4,7 +4,7 @@ buildDunePackage {
   pname = "caqti-async";
   inherit (caqti) version src;
 
-  duneVersion = "3";
+  minimalOCamlVersion = "4.14";
 
   propagatedBuildInputs = [ async_kernel async_unix caqti core_kernel ];
 
diff --git a/pkgs/development/ocaml-modules/caqti/default.nix b/pkgs/development/ocaml-modules/caqti/default.nix
index 68eb2657b324..218f4cf3c120 100644
--- a/pkgs/development/ocaml-modules/caqti/default.nix
+++ b/pkgs/development/ocaml-modules/caqti/default.nix
@@ -1,25 +1,34 @@
-{ lib, fetchurl, buildDunePackage, ocaml
-, cppo, logs, ptime, uri, bigstringaf
-, re, cmdliner, alcotest
+{ lib
+, fetchurl
+, buildDunePackage
+, angstrom
+, bigstringaf
+, domain-name
+, dune-site
+, ipaddr
+, logs
+, lwt-dllist
+, mtime
+, ptime
+, uri
 }:
 
 buildDunePackage rec {
   pname = "caqti";
-  version = "1.9.1";
+  version = "2.1.1";
 
-  minimalOCamlVersion = "4.04";
-  duneVersion = "3";
+  minimalOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/paurkedal/ocaml-caqti/releases/download/v${version}/caqti-v${version}.tbz";
-    sha256 = "sha256-PQBgJBNx3IcE6/vyNIf26a2xStU22LBhff8eM6UPaJ4=";
+    hash = "sha256-SDpTX0HiZBkX/BgyzkrRX/w/ToKDsbMBiiYXNJWDCQo=";
   };
 
-  nativeBuildInputs = [ cppo ];
-  propagatedBuildInputs = [ logs ptime uri bigstringaf ];
-  checkInputs = [ re cmdliner alcotest ];
+  buildInputs = [ dune-site ];
+  propagatedBuildInputs = [ angstrom bigstringaf domain-name ipaddr logs lwt-dllist mtime ptime uri ];
 
-  doCheck = lib.versionAtLeast ocaml.version "4.08";
+  # Checks depend on caqti-driver-sqlite3 (circural dependency)
+  doCheck = false;
 
   meta = {
     description = "Unified interface to relational database libraries";
diff --git a/pkgs/development/ocaml-modules/caqti/driver-mariadb.nix b/pkgs/development/ocaml-modules/caqti/driver-mariadb.nix
index 859402d83ea1..bff515eff381 100644
--- a/pkgs/development/ocaml-modules/caqti/driver-mariadb.nix
+++ b/pkgs/development/ocaml-modules/caqti/driver-mariadb.nix
@@ -6,8 +6,6 @@ buildDunePackage {
 
   propagatedBuildInputs = [ caqti mariadb ];
 
-  duneVersion = "3";
-
   meta = caqti.meta // {
     description = "MariaDB driver for Caqti using C bindings";
   };
diff --git a/pkgs/development/ocaml-modules/caqti/driver-postgresql.nix b/pkgs/development/ocaml-modules/caqti/driver-postgresql.nix
index d48ae1186bf7..f33e38fab8df 100644
--- a/pkgs/development/ocaml-modules/caqti/driver-postgresql.nix
+++ b/pkgs/development/ocaml-modules/caqti/driver-postgresql.nix
@@ -4,8 +4,6 @@ buildDunePackage {
   pname = "caqti-driver-postgresql";
   inherit (caqti) version src;
 
-  duneVersion = "3";
-
   propagatedBuildInputs = [ caqti postgresql ];
 
   meta = caqti.meta // {
diff --git a/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix b/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix
index d6c230d9dbde..ddac07f7fcfb 100644
--- a/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix
+++ b/pkgs/development/ocaml-modules/caqti/driver-sqlite3.nix
@@ -1,13 +1,15 @@
-{ lib, buildDunePackage, caqti, ocaml_sqlite3 }:
+{ lib, buildDunePackage, caqti, ocaml_sqlite3, alcotest }:
 
 buildDunePackage {
   pname = "caqti-driver-sqlite3";
   inherit (caqti) version src;
 
-  duneVersion = "3";
-
   propagatedBuildInputs = [ caqti ocaml_sqlite3 ];
 
+  checkInputs = [ alcotest ];
+
+  doCheck = true;
+
   meta = caqti.meta // {
     description = "Sqlite3 driver for Caqti using C bindings";
   };
diff --git a/pkgs/development/ocaml-modules/caqti/dynload.nix b/pkgs/development/ocaml-modules/caqti/dynload.nix
index dfd52e24dd1e..3dd94fc0e310 100644
--- a/pkgs/development/ocaml-modules/caqti/dynload.nix
+++ b/pkgs/development/ocaml-modules/caqti/dynload.nix
@@ -4,8 +4,6 @@ buildDunePackage {
   pname = "caqti-dynload";
   inherit (caqti) version src;
 
-  duneVersion = "3";
-
   propagatedBuildInputs = [ caqti findlib ];
 
   meta = caqti.meta // {
diff --git a/pkgs/development/ocaml-modules/caqti/lwt.nix b/pkgs/development/ocaml-modules/caqti/lwt.nix
index 66e5a7ce293d..d06421136280 100644
--- a/pkgs/development/ocaml-modules/caqti/lwt.nix
+++ b/pkgs/development/ocaml-modules/caqti/lwt.nix
@@ -4,8 +4,6 @@ buildDunePackage {
   pname = "caqti-lwt";
   inherit (caqti) version src;
 
-  duneVersion = "3";
-
   propagatedBuildInputs = [ caqti logs lwt ];
 
   meta = caqti.meta // { description = "Lwt support for Caqti"; };
diff --git a/pkgs/development/ocaml-modules/caqti/type-calendar.nix b/pkgs/development/ocaml-modules/caqti/type-calendar.nix
index db4d5983aedf..26b0887f20e8 100644
--- a/pkgs/development/ocaml-modules/caqti/type-calendar.nix
+++ b/pkgs/development/ocaml-modules/caqti/type-calendar.nix
@@ -4,8 +4,6 @@ buildDunePackage {
   pname = "caqti-type-calendar";
   inherit (caqti) src version;
 
-  duneVersion = "3";
-
   propagatedBuildInputs = [ calendar caqti ];
 
   meta = caqti.meta // {
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index baecca21fd5e..dd5e90ef2e41 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.60.0";
+  version = "3.61.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    hash = "sha256-ZE3rETwAuhv7pHA/zYDKtStWONShFG8tWDeN9K8JdG8=";
+    hash = "sha256-hA10t/ZtMH2MjyHJJdJeOZLOF5NNTCOgGqxU6CCkZlQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioairzone/default.nix b/pkgs/development/python-modules/aioairzone/default.nix
index fdded411bee7..78d572744aab 100644
--- a/pkgs/development/python-modules/aioairzone/default.nix
+++ b/pkgs/development/python-modules/aioairzone/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone";
-  version = "0.7.4";
+  version = "0.7.5";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = "aioairzone";
     rev = "refs/tags/${version}";
-    hash = "sha256-yIkP0eWyEJAZc2tJbwTvlU5b2pDta4SatmsTMPsSDt8=";
+    hash = "sha256-mliyDKh+7M8GQ0ZJijoYrqKDeAqRHfKGyPJM/5no+fM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioboto3/default.nix b/pkgs/development/python-modules/aioboto3/default.nix
index 231e4bbbe8b2..6b0f79655717 100644
--- a/pkgs/development/python-modules/aioboto3/default.nix
+++ b/pkgs/development/python-modules/aioboto3/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "aioboto3";
-  version = "12.1.0";
+  version = "12.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "terrycain";
     repo = "aioboto3";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CVRDQhymQRi5dyVBLJYTnF3RI4jPBB966dVMT4lOd8g=";
+    hash = "sha256-GDuxy/V+j0LRJ2lbcRHMEAga+pdCbYIWhEt3ItrHMB4=";
   };
 
   nativeBuildInputs = [
@@ -37,8 +37,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiobotocore
-    boto3
-  ];
+  ] ++ aiobotocore.optional-dependencies.boto3;
 
   passthru.optional-dependencies = {
     chalice = [
diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix
index 9b8609c435af..15eeb18989cc 100644
--- a/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/pkgs/development/python-modules/aiobotocore/default.nix
@@ -7,7 +7,10 @@
 , fetchFromGitHub
 , flask
 , flask-cors
+, awscli
 , moto
+, boto3
+, setuptools
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
@@ -16,16 +19,16 @@
 
 buildPythonPackage rec {
   pname = "aiobotocore";
-  version = "2.9.1";
-  format = "setuptools";
+  version = "2.11.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
-    repo = pname;
+    repo = "aiobotocore";
     rev = "refs/tags/${version}";
-    hash = "sha256-cODdmP/O24fNIugzl4AYdf3g4Gzwx3JseYKbZKgEPbc=";
+    hash = "sha256-H9nsLPxjv3H5y6+5piBt6Pb+Wks4vwOitM+WQtyViPs=";
   };
 
   # Relax version constraints: aiobotocore works with newer botocore versions
@@ -34,6 +37,10 @@ buildPythonPackage rec {
     sed -i "s/'botocore>=.*'/'botocore'/" setup.py
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     aioitertools
@@ -41,6 +48,15 @@ buildPythonPackage rec {
     wrapt
   ];
 
+  passthru.optional-dependencies = {
+    awscli = [
+      awscli
+    ];
+    boto3 = [
+      boto3
+    ];
+  };
+
   nativeCheckInputs = [
     dill
     flask
diff --git a/pkgs/development/python-modules/aiocsv/default.nix b/pkgs/development/python-modules/aiocsv/default.nix
index 8960dca9a8d7..30511eb81676 100644
--- a/pkgs/development/python-modules/aiocsv/default.nix
+++ b/pkgs/development/python-modules/aiocsv/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiocsv";
-  version = "1.3.0";
+  version = "1.3.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "MKuranowski";
     repo = "aiocsv";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5jMmT7XY+1VNbDNciZS6B/oQJFj4XmGvhDITKWHCuOQ=";
+    hash = "sha256-zHU9NfxiRUOAk0kwsKmvxd01UtNXZTnb700Wlm9DUz4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix
index 0282412ccf4c..2dfef5a251ad 100644
--- a/pkgs/development/python-modules/aioshelly/default.nix
+++ b/pkgs/development/python-modules/aioshelly/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioshelly";
-  version = "8.0.2";
+  version = "8.1.1";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-wDEHHc+TFlrp2X2/03NNxZut1bn1Sn7y4Sk5nGYBvEs=";
+    hash = "sha256-i2dlcparDQlwM7Wk/HwlBz0mmI38ZRwxVM6jLY0rI+0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index 93010f174c7c..e50bd10281c5 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "71";
+  version = "72";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = "aiounifi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KmxwCjmvDByCtsSQ+fQtdLS4ZDxtUaqc5zoOF9dsSq8=";
+    hash = "sha256-PrFI5ncHW4r2Re1BIqRZlz8ns6d5p6y6PASCleSmyNc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/argilla/default.nix b/pkgs/development/python-modules/argilla/default.nix
index 336b6f6db856..0ccca5417a2e 100644
--- a/pkgs/development/python-modules/argilla/default.nix
+++ b/pkgs/development/python-modules/argilla/default.nix
@@ -65,7 +65,7 @@
 }:
 let
   pname = "argilla";
-  version = "1.24.0";
+  version = "1.25.0";
   optional-dependencies = {
     server = [
       fastapi
@@ -126,7 +126,7 @@ buildPythonPackage {
     owner = "argilla-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-2baSX6b2BFYHXKg37WMHcGel3OTGsCJrulvyxmbdBek=";
+    hash = "sha256-KU67tu14pX1nCRl9k/Na9EqelO3Uz7It1dpFBU2IjZA=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/arviz/default.nix b/pkgs/development/python-modules/arviz/default.nix
index 63bf85273811..edd555a96b16 100644
--- a/pkgs/development/python-modules/arviz/default.nix
+++ b/pkgs/development/python-modules/arviz/default.nix
@@ -100,6 +100,7 @@ buildPythonPackage rec {
     "test_plot_ppc_discrete_save_animation"
     # Assertion error
     "test_data_zarr"
+    "test_plot_forest"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/aws-encryption-sdk/default.nix b/pkgs/development/python-modules/aws-encryption-sdk/default.nix
index b9186ab1779c..7cdcc917c8a8 100644
--- a/pkgs/development/python-modules/aws-encryption-sdk/default.nix
+++ b/pkgs/development/python-modules/aws-encryption-sdk/default.nix
@@ -1,54 +1,62 @@
 { lib
-, buildPythonPackage
-, fetchPypi
 , attrs
 , boto3
+, buildPythonPackage
 , cryptography
-, setuptools
-, wrapt
+, fetchPypi
 , mock
-, pytest
 , pytest-mock
 , pytestCheckHook
+, pythonAtLeast
+, pythonOlder
+, setuptools
+, wrapt
 }:
 
 buildPythonPackage rec {
   pname = "aws-encryption-sdk";
   version = "3.1.1";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-jV+/AY/GjWscrL5N0Df9gFKWx3Nqn+RX62hNBT9/lWM=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     attrs
     boto3
     cryptography
-    setuptools
     wrapt
   ];
 
-  doCheck = true;
-
   nativeCheckInputs = [
     mock
-    pytest
     pytest-mock
     pytestCheckHook
   ];
 
   disabledTestPaths = [
-    # requires networking
+    # Tests require networking
     "examples"
     "test/integration"
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.12") [
+    # AssertionError: Regex pattern did not match, https://github.com/aws/aws-encryption-sdk-python/issues/644
+    "test_abstracts"
+  ];
+
   meta = with lib; {
+    description = "Python implementation of the AWS Encryption SDK";
     homepage = "https://aws-encryption-sdk-python.readthedocs.io/";
     changelog = "https://github.com/aws/aws-encryption-sdk-python/blob/v${version}/CHANGELOG.rst";
-    description = "Fully compliant, native Python implementation of the AWS Encryption SDK.";
     license = licenses.asl20;
     maintainers = with maintainers; [ anthonyroussel ];
   };
diff --git a/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix b/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix
index 7e54c030bf1e..90226ddd99e4 100644
--- a/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix
+++ b/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix
@@ -1,34 +1,27 @@
 { lib
+, botocore
 , buildPythonPackage
-, pythonOlder
 , fetchPypi
+, pytestCheckHook
+, pythonAtLeast
+, pythonOlder
 , setuptools
 , setuptools-scm
-, botocore
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  pname = "aws_secretsmanager_caching";
+  pname = "aws-secretsmanager-caching";
   version = "1.1.1.5";
-  format = "setuptools";
+  pyprject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "5cee2762bb89b72f3e5123feee8e45fbe44ffe163bfca08b28f27b2e2b7772e1";
+    pname = "aws_secretsmanager_caching";
+    inherit version;
+    hash = "sha256-XO4nYruJty8+USP+7o5F++RP/hY7/KCLKPJ7Lit3cuE=";
   };
 
-  nativeBuildInputs = [
-    setuptools-scm
-  ];
-
-  propagatedBuildInputs = [
-    botocore
-    setuptools  # Needs pkg_resources at runtime.
-  ];
-
   patches = [
     # Remove coverage tests from the pytest invocation in setup.cfg.
     ./remove-coverage-tests.patch
@@ -36,9 +29,18 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "'pytest-runner'," ""
+      --replace-fail "'pytest-runner'," ""
   '';
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    botocore
+    setuptools  # Needs pkg_resources at runtime.
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
@@ -48,6 +50,21 @@ buildPythonPackage rec {
     "test/integ"
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.12") [
+    # TypeError: 'float' object cannot be interpreted as an integer
+    "test_calls_hook_binary"
+    "test_calls_hook_string"
+    "test_get_secret_binary"
+    "test_get_secret_string"
+    "test_invalid_json"
+    "test_missing_key"
+    "test_string_with_additional_kwargs"
+    "test_string"
+    "test_valid_json_with_mixed_args"
+    "test_valid_json_with_no_secret_kwarg"
+    "test_valid_json"
+  ];
+
   pythonImportsCheck = [
     "aws_secretsmanager_caching"
   ];
diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix
index 44f3c1b81085..b376126432b5 100644
--- a/pkgs/development/python-modules/azure-core/default.nix
+++ b/pkgs/development/python-modules/azure-core/default.nix
@@ -12,15 +12,16 @@
 , pytest-trio
 , pytestCheckHook
 , requests
+, setuptools
 , six
 , trio
 , typing-extensions
 }:
 
 buildPythonPackage rec {
-  version = "1.28.0";
+  version = "1.30.0";
   pname = "azure-core";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -28,10 +29,13 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-6e78Zvwf3lbatvBNTl0SxgdU1an6Sb3P2FNPyW7ZNr0=";
+    hash = "sha256-bzp4g+8YRyL2vZlyYu3a+Az+fls+DKqvjbFpVpWJPTU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     requests
     six
@@ -99,8 +103,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Microsoft Azure Core Library for Python";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
-    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CHANGELOG.md";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-core_${version}/sdk/core/azure-core/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/azure-keyvault-administration/default.nix b/pkgs/development/python-modules/azure-keyvault-administration/default.nix
index 07d608dfa56f..a890e435508f 100644
--- a/pkgs/development/python-modules/azure-keyvault-administration/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-administration/default.nix
@@ -1,34 +1,36 @@
 { lib
+, azure-core
 , buildPythonPackage
 , fetchPypi
+, isodate
 , pythonOlder
-, azure-common
-, azure-core
-, msrest
-, six
+, setuptools
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-keyvault-administration";
-  version = "4.3.0";
-  format = "setuptools";
+  version = "4.4.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-PuKjui0OP0ODNErjbjJ90hOgee97JDrVT2sh+MufxWY=";
+    hash = "sha256-ems2y59UTzV1D/L6lMg7l7PvIMH+G0JOpoAY7ucD8d8=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    azure-common
     azure-core
-    msrest
-    six
+    typing-extensions
+    isodate
   ];
 
-  # no tests in pypi tarball
+  # Tests require checkout from mono-repo
   doCheck = false;
 
   pythonNamespaces = [
@@ -42,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Microsoft Azure Key Vault Administration Client Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-administration";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-keyvault-administration_${version}/sdk/keyvault/azure-keyvault-administration/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/azure-keyvault-certificates/default.nix b/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
index 77d81c87ec31..e45f1b241517 100644
--- a/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
@@ -3,36 +3,40 @@
 , fetchPypi
 , azure-common
 , azure-core
-, msrest
-, msrestazure
+, isodate
 , pythonOlder
+, setuptools
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-keyvault-certificates";
-  version = "4.7.0";
-  format = "setuptools";
+  version = "4.8.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-nkfZp0gl5QKxPVSByZwYIEDE9Ucj9DNx4AhZQ23888o=";
+    hash = "sha256-xWEnPkQCwlEUhzSGyYv6GyxHiGIp1BAOh9rxAO4Edyg=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     azure-common
     azure-core
-    msrest
-    msrestazure
+    isodate
+    typing-extensions
   ];
 
   pythonNamespaces = [
     "azure.keyvault"
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
   pythonImportsCheck = [
@@ -41,7 +45,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Microsoft Azure Key Vault Certificates Client Library for Python";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-keyvault-certificates_${version}/sdk/keyvault/azure-keyvault-certificates/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/azure-keyvault-secrets/default.nix b/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
index ddb5d440b0b3..56004efa76b6 100644
--- a/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
@@ -1,41 +1,46 @@
 { lib
+, azure-core
 , buildPythonPackage
 , fetchPypi
+, isodate
 , pythonOlder
-, azure-common
-, azure-core
-, msrest
+, setuptools
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-keyvault-secrets";
-  version = "4.7.0";
-  format = "setuptools";
+  version = "4.8.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-d+4lNLplGh8wbIXXtQW8PM7o/qd0UOuvr8Jq7BblRF0=";
+    hash = "sha256-VjbAodiiDjxXmcs8z/1Ovz8NGst8rpUmhhgzr4sP6BQ=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    azure-common
     azure-core
-    msrest
+    isodate
+    typing-extensions
   ];
 
   pythonNamespaces = [
     "azure.keyvault"
   ];
 
-  # requires checkout from mono-repo
+  # Tests require checkout from mono-repo
   doCheck = false;
 
   meta = with lib; {
     description = "Microsoft Azure Key Vault Secrets Client Library for Python";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/tree/azure-keyvault-secrets_${version}/sdk/keyvault/azure-keyvault-secrets";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index 5d78b5479de1..371497c895fb 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -365,14 +365,14 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.34.50";
+  version = "1.34.52";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7WKO7Bq5oyTBN60pJAi474gvFyShWk6ESqfusljIyzM=";
+    hash = "sha256-gjxBBZ+DbWh32qocvSD4E8jxp4uf3ykLwLhTEn4Se6M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index 3a48019b2e99..f1ab0c4f28e3 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -1,27 +1,27 @@
 { lib
+, botocore
 , buildPythonPackage
-, pythonOlder
 , fetchFromGitHub
-, botocore
 , jmespath
-, s3transfer
+, pytestCheckHook
+, pythonOlder
 , pythonRelaxDepsHook
+, s3transfer
 , setuptools
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "boto3";
-  version = "1.34.21"; # N.B: if you change this, change botocore and awscli to a matching version
-  format = "pyproject";
+  version = "1.34.49"; # N.B: if you change this, change botocore and awscli to a matching version
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "boto";
-    repo = pname;
+    repo = "boto3";
     rev = "refs/tags/${version}";
-    hash = "sha256-oOrUVBh1sbaOibU8A+bGZ4z7IEiE4gjHwZ+8889Hv60=";
+    hash = "sha256-/pgbLSL5RJ5RrKUAfQ1QNJykBdICrpqnuziHOVHt1JI=";
   };
 
   nativeBuildInputs = [
@@ -54,14 +54,16 @@ buildPythonPackage rec {
   ];
 
   passthru.optional-dependencies = {
-    crt = [ botocore.optional-dependencies.crt ];
+    crt = [
+      botocore.optional-dependencies.crt
+    ];
   };
 
   meta = with lib; {
+    description = "AWS SDK for Python";
     homepage = "https://github.com/boto/boto3";
     changelog = "https://github.com/boto/boto3/blob/${version}/CHANGELOG.rst";
     license = licenses.asl20;
-    description = "AWS SDK for Python";
     longDescription = ''
       Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
       Python, which allows Python developers to write software that makes use of
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index c60f2e9f6dcd..808deb064ad8 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.34.50";
+  version = "1.34.52";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-jWzjI/M4gnTLbYyBCyvEe/GJHioZlVdv/YKzrf+L5NU=";
+    hash = "sha256-pRtsofyprNqp6AQS83FTaQ//rX7SJ3Q8xTCAmSDSoAk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index bc1454b70ff1..89b6dbe07821 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -1,36 +1,47 @@
 { lib
+, awscrt
 , buildPythonPackage
-, pythonOlder
 , fetchPypi
-, python-dateutil
 , jmespath
-, urllib3
-, pytestCheckHook
 , jsonschema
-, awscrt
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
+, pythonRelaxDepsHook
+, setuptools
+, urllib3
 }:
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.34.21"; # N.B: if you change this, change boto3 and awscli to a matching version
-  format = "setuptools";
+  version = "1.34.49"; # N.B: if you change this, change boto3 and awscli to a matching version
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IZg7sEc6GRMBksUOxpdNVfDEqkinCUvPQPeILItpuPE=";
+    hash = "sha256-2JQQvGBnPq/xaZ8/H9yw46Xh96agSMDYjDzlw1SUM+w=";
   };
 
+  pythonRelaxDeps = [
+    "urllib3"
+  ];
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    python-dateutil
     jmespath
+    python-dateutil
     urllib3
   ];
 
   nativeCheckInputs = [
-    pytestCheckHook
     jsonschema
+    pytestCheckHook
   ];
 
   disabledTestPaths = [
@@ -46,14 +57,16 @@ buildPythonPackage rec {
   ];
 
   passthru.optional-dependencies = {
-    crt = [ awscrt ];
+    crt = [
+      awscrt
+    ];
   };
 
   meta = with lib; {
+    description = "A low-level interface to a growing number of Amazon Web Services";
     homepage = "https://github.com/boto/botocore";
     changelog = "https://github.com/boto/botocore/blob/${version}/CHANGELOG.rst";
     license = licenses.asl20;
-    description = "A low-level interface to a growing number of Amazon Web Services";
     maintainers = with maintainers; [ anthonyroussel ];
   };
 }
diff --git a/pkgs/development/python-modules/cbor2/default.nix b/pkgs/development/python-modules/cbor2/default.nix
index 5523d4f5e0a2..2db51887e21f 100644
--- a/pkgs/development/python-modules/cbor2/default.nix
+++ b/pkgs/development/python-modules/cbor2/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "cbor2";
-  version = "5.5.1";
+  version = "5.6.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+eGS9GGp+PYILfKMA1sAbRU5BCE9yGQL7Ypy1yu8lHU=";
+    hash = "sha256-t1E8LeqIaJkfrX74iZiQ68+LGZubRGHDwR160670gg0=";
   };
 
   postPatch = ''
@@ -44,12 +44,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # https://github.com/agronholm/cbor2/issues/99
-  disabledTests = lib.optionals stdenv.is32bit [
-    "test_huge_truncated_bytes"
-    "test_huge_truncated_string"
-  ];
-
   meta = with lib; {
     changelog = "https://github.com/agronholm/cbor2/releases/tag/${version}";
     description = "Python CBOR (de)serializer with extensive tag support";
diff --git a/pkgs/development/python-modules/cheetah3/default.nix b/pkgs/development/python-modules/cheetah3/default.nix
index b85870572a4c..bb1a3da46cf5 100644
--- a/pkgs/development/python-modules/cheetah3/default.nix
+++ b/pkgs/development/python-modules/cheetah3/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "cheetah3";
-  version = "3.3.3";
+  version = "3.3.3.post1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "CheetahTemplate3";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-7L3SBMgNOOLAFvQST8I0gFlrya/6Lwp/umzolfJx3t4=";
+    hash = "sha256-0NVKie/6Fp8T1O1fvrVorycybLrEXMY1yXZBDyxjpbE=";
   };
 
   doCheck = false; # Circular dependency
diff --git a/pkgs/development/python-modules/chroma-hnswlib/default.nix b/pkgs/development/python-modules/chroma-hnswlib/default.nix
new file mode 100644
index 000000000000..31f884e53ba8
--- /dev/null
+++ b/pkgs/development/python-modules/chroma-hnswlib/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, pybind11
+, setuptools
+, wheel
+, pythonOlder
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "chroma-hnswlib";
+  version = "0.7.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "chroma-core";
+    repo = "hnswlib";
+    rev = "refs/tags/${version}";
+    hash = "sha256-c4FvymqZy8AZKbh6Y8xZRjKAqYcUyZABRGc1u7vwlsk=";
+  };
+
+  nativeBuildInputs = [
+    numpy
+    pybind11
+    setuptools
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "hnswlib"
+  ];
+
+  meta = with lib; {
+    description = "Header-only C++/python library for fast approximate nearest neighbors";
+    homepage = "https://github.com/chroma-core/hnswlib";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/chromadb/default.nix b/pkgs/development/python-modules/chromadb/default.nix
new file mode 100644
index 000000000000..0cc5484332df
--- /dev/null
+++ b/pkgs/development/python-modules/chromadb/default.nix
@@ -0,0 +1,160 @@
+{ lib
+, stdenv
+, bcrypt
+, build
+, buildPythonPackage
+, cargo
+, chroma-hnswlib
+, darwin
+, fastapi
+, fetchFromGitHub
+, grpcio
+, hypothesis
+, importlib-resources
+, kubernetes
+, mmh3
+, numpy
+, onnxruntime
+, openssl
+, opentelemetry-api
+, opentelemetry-exporter-otlp-proto-grpc
+, opentelemetry-instrumentation-fastapi
+, opentelemetry-sdk
+, orjson
+, overrides
+, pkg-config
+, posthog
+, protobuf
+, pulsar-client
+, pydantic
+, pypika
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, pythonRelaxDepsHook
+, pyyaml
+, requests
+, rustc
+, rustPlatform
+, setuptools
+, setuptools-scm
+, tenacity
+, tokenizers
+, tqdm
+, typer
+, typing-extensions
+, uvicorn
+, zstd
+}:
+
+buildPythonPackage rec {
+  pname = "chromadb";
+  version = "0.4.23";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "chroma-core";
+    repo = "chroma";
+    rev = "refs/tags/${version}";
+    hash = "sha256-5gI+FE2jx4G/qahATLcYsONfPZZkk1RFFYK5nrpE0Ug=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-glItbT8gg5SAySnfx3A9TaPyFmd1R46JpAB1JnjBE5M=";
+  };
+
+  pythonRelaxDeps = [
+    "orjson"
+  ];
+
+  nativeBuildInputs = [
+    cargo
+    pkg-config
+    protobuf
+    pythonRelaxDepsHook
+    rustc
+    rustPlatform.cargoSetupHook
+    setuptools
+    setuptools-scm
+  ];
+
+  buildInputs = [
+    openssl
+    zstd
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  propagatedBuildInputs = [
+    bcrypt
+    build
+    chroma-hnswlib
+    fastapi
+    grpcio
+    importlib-resources
+    kubernetes
+    mmh3
+    numpy
+    onnxruntime
+    opentelemetry-api
+    opentelemetry-exporter-otlp-proto-grpc
+    opentelemetry-instrumentation-fastapi
+    opentelemetry-sdk
+    orjson
+    overrides
+    posthog
+    pulsar-client
+    pydantic
+    pypika
+    pyyaml
+    requests
+    tenacity
+    tokenizers
+    tqdm
+    typer
+    typing-extensions
+    uvicorn
+  ];
+
+  nativeCheckInputs = [
+    hypothesis
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "chromadb"
+  ];
+
+  env = {
+    ZSTD_SYS_USE_PKG_CONFIG = true;
+  };
+
+  pytestFlagsArray = [ "-x" ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  disabledTestPaths = [
+    # Tests require network access
+    "chromadb/test/property/test_cross_version_persist.py"
+    "chromadb/test/auth/test_simple_rbac_authz.py"
+    "chromadb/test/ef/test_default_ef.py"
+    "chromadb/test/test_api.py"
+    "chromadb/test/property/"
+    "chromadb/test/stress/"
+  ];
+
+  meta = with lib; {
+    description = "The AI-native open-source embedding database";
+    homepage = "https://github.com/chroma-core/chroma";
+    changelog = "https://github.com/chroma-core/chroma/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/clarifai/default.nix b/pkgs/development/python-modules/clarifai/default.nix
index 2564b168cfe7..05a86d09ee77 100644
--- a/pkgs/development/python-modules/clarifai/default.nix
+++ b/pkgs/development/python-modules/clarifai/default.nix
@@ -1,23 +1,29 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, setuptools
 , clarifai-grpc
+, fetchFromGitHub
+, inquirerpy
+, llama-index-core
 , numpy
 , opencv4
+, pandas
 , pillow
+, pycocotools
+, pypdf
+, pytestCheckHook
+, pythonOlder
+, pythonRelaxDepsHook
 , pyyaml
 , rich
 , schema
+, setuptools
 , tqdm
 , tritonclient
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "clarifai";
-  version = "9.11.1";
+  version = "10.1.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -26,36 +32,59 @@ buildPythonPackage rec {
     owner = "Clarifai";
     repo = "clarifai-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-fVari/SnrUnEbrYefV9j2yA/EMJoGiLOV7q/DrS0AQ8=";
+    hash = "sha256-/2PIsSsYr/R7DuTX/ndBAOX7C3IaFqPw16ZAX8E1Vk8=";
   };
 
+  pythonRelaxDeps = [
+    "clarifai-grpc"
+  ];
+
+  pythonRemoveDeps = [
+    "opencv-python"
+  ];
+
   nativeBuildInputs = [
+    pythonRelaxDepsHook
     setuptools
   ];
 
   propagatedBuildInputs = [
     clarifai-grpc
+    inquirerpy
+    llama-index-core
     numpy
-    tqdm
     opencv4
-    tritonclient
-    rich
-    schema
+    pandas
     pillow
+    pypdf
     pyyaml
+    rich
+    schema
+    tqdm
+    tritonclient
   ];
 
+  passthru.optional-dependencies = {
+    all = [
+      pycocotools
+    ];
+  };
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
   disabledTests = [
-    # require network access and API key
+    # Test requires network access and API key
     "test_export_workflow_general"
   ];
 
   disabledTestPaths = [
-    # require network access and API key
+    # Tests require network access and API key
     "tests/test_app.py"
     "tests/test_data_upload.py"
     "tests/test_model_predict.py"
@@ -63,14 +92,18 @@ buildPythonPackage rec {
     "tests/test_search.py"
     "tests/workflow/test_create_delete.py"
     "tests/workflow/test_predict.py"
+    "tests/test_rag.py"
+    "clarifai/models/model_serving/repo_build/static_files/base_test.py"
   ];
 
-  pythonImportsCheck = [ "clarifai" ];
+  pythonImportsCheck = [
+    "clarifai"
+  ];
 
   meta = with lib; {
     description = "Clarifai Python Utilities";
     homepage = "https://github.com/Clarifai/clarifai-python";
-    changelog = "https://github.com/Clarifai/clarifai-python/releases/tag/${src.rev}";
+    changelog = "https://github.com/Clarifai/clarifai-python/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ natsukium ];
   };
diff --git a/pkgs/development/python-modules/clickhouse-connect/default.nix b/pkgs/development/python-modules/clickhouse-connect/default.nix
index b44188ffcc71..b51949f73a13 100644
--- a/pkgs/development/python-modules/clickhouse-connect/default.nix
+++ b/pkgs/development/python-modules/clickhouse-connect/default.nix
@@ -23,7 +23,7 @@
 }:
 buildPythonPackage rec {
   pname = "clickhouse-connect";
-  version = "0.7.0";
+  version = "0.7.1";
 
   format = "setuptools";
 
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     repo = "clickhouse-connect";
     owner = "ClickHouse";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RpuBKdjjSjJJ9UU7VW20gD9Rouj0oxv72sZZaUa/BfY=";
+    hash = "sha256-Qdv0DcdIjqz8NtyMsVNQxGTxsB3TpXUGDA3oL8QbBDc=";
   };
 
   nativeBuildInputs = [ cython_3 ];
diff --git a/pkgs/development/python-modules/cloudpathlib/default.nix b/pkgs/development/python-modules/cloudpathlib/default.nix
index 06efdac9939d..89f5ef6fbf5c 100644
--- a/pkgs/development/python-modules/cloudpathlib/default.nix
+++ b/pkgs/development/python-modules/cloudpathlib/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "cloudpathlib";
-  version = "0.18.0";
+  version = "0.18.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "drivendataorg";
     repo = "cloudpathlib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4CwwCdGUKUmie9PmAmrVxpAhk3b2WG+Cmx3QAADkyYQ=";
+    hash = "sha256-RrdRUqQ3QyMUpTi1FEsSXK6WS37r77SdPBH1oVVvSw0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cssbeautifier/default.nix b/pkgs/development/python-modules/cssbeautifier/default.nix
index 3144c5114fc2..02f1de52af7e 100644
--- a/pkgs/development/python-modules/cssbeautifier/default.nix
+++ b/pkgs/development/python-modules/cssbeautifier/default.nix
@@ -1,34 +1,46 @@
 { lib
 , buildPythonPackage
+, editorconfig
 , fetchPypi
-, setuptools
 , jsbeautifier
+, pythonOlder
+, setuptools
+, six
 }:
 
 buildPythonPackage rec {
   pname = "cssbeautifier";
-  version = "1.14.11";
-  format = "pyproject";
+  version = "1.15.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QFRMK2K7y2TKpefzegLflWVOXOG8rK2sTKHz3InDFRM=";
+    hash = "sha256-n3BkNirt1VnFXu7Pa2vtZeBfM0iNy+OQRPBAPCbhwAY=";
   };
 
   nativeBuildInputs = [
     setuptools
   ];
 
-  propagatedBuildInputs = [ jsbeautifier ];
+  propagatedBuildInputs = [
+    editorconfig
+    jsbeautifier
+    six
+  ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "cssbeautifier" ];
+  pythonImportsCheck = [
+    "cssbeautifier"
+  ];
 
   meta = with lib; {
     description = "CSS unobfuscator and beautifier";
-    homepage = "https://pypi.org/project/cssbeautifier/";
+    homepage = "https://github.com/beautifier/js-beautify";
+    changelog = "https://github.com/beautifier/js-beautify/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ traxys ];
   };
diff --git a/pkgs/development/python-modules/dbt-core/default.nix b/pkgs/development/python-modules/dbt-core/default.nix
index e114d678b145..806444d411b1 100644
--- a/pkgs/development/python-modules/dbt-core/default.nix
+++ b/pkgs/development/python-modules/dbt-core/default.nix
@@ -33,7 +33,7 @@
 
 buildPythonPackage rec {
   pname = "dbt-core";
-  version = "1.7.8";
+  version = "1.7.9";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     owner = "dbt-labs";
     repo = "dbt-core";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EpKZiSDU5fivG3TIarirPgxRGQ3Sf1hwNvCKdQx25c0=";
+    hash = "sha256-ff+cdY6xy14w30BDn1ct/2Q+4j8cQupJrJHb4vO58J0=";
   };
 
   sourceRoot = "${src.name}/core";
diff --git a/pkgs/development/python-modules/dbt-redshift/default.nix b/pkgs/development/python-modules/dbt-redshift/default.nix
index 1ab2143953b7..41906a936264 100644
--- a/pkgs/development/python-modules/dbt-redshift/default.nix
+++ b/pkgs/development/python-modules/dbt-redshift/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "dbt-redshift";
-  version = "1.7.3";
+  version = "1.7.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "dbt-labs";
     repo = "dbt-redshift";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3zj3wA1wxUjKSm1n7QE2g/VUuH3UuWlXCC68mOb2eso=";
+    hash = "sha256-Ny6Nnb5OhtqSQZ0BMOQrb0ic6i29GVywy3hn3UuVtxE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dirtyjson/default.nix b/pkgs/development/python-modules/dirtyjson/default.nix
new file mode 100644
index 000000000000..7cd4fce0e650
--- /dev/null
+++ b/pkgs/development/python-modules/dirtyjson/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "dirtyjson";
+  version = "1.0.8";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-kMpKGPP/MM6EnRANz0oAOVPHnTojSO8Fbx2cIiMaJf0=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "dirtyjson"
+  ];
+
+  meta = with lib; {
+    description = "JSON decoder for Python that can extract data from the muck";
+    homepage = "https://github.com/codecobblers/dirtyjson";
+    license = with licenses; [ afl21 /* and */ mit];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix b/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix
index d8bb73ccdef8..d1a66ed8f704 100644
--- a/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix
+++ b/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "django-crispy-bootstrap4";
-  version = "2023.1";
+  version = "2024.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "django-crispy-forms";
     repo = "crispy-bootstrap4";
     rev = "refs/tags/${version}";
-    hash = "sha256-4p6dlyQYZGyfBntTuzCjikL8ZG/4xDnTiQ1rCVt0Hbk=";
+    hash = "sha256-upHrNDhoY+8qD+aeXPcY452xUIyYjW0apf8mVo6pqY4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/docstr-coverage/default.nix b/pkgs/development/python-modules/docstr-coverage/default.nix
index 2c3289c0f393..ba0945ad15af 100644
--- a/pkgs/development/python-modules/docstr-coverage/default.nix
+++ b/pkgs/development/python-modules/docstr-coverage/default.nix
@@ -8,7 +8,7 @@
 , pytest-mock
 }:
 let
-  version = "2.3.0";
+  version = "2.3.1";
 in
 buildPythonPackage {
   pname = "docstr-coverage";
@@ -17,8 +17,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "HunterMcGushion";
     repo = "docstr_coverage";
-    rev = "v${version}";
-    hash = "sha256-eYHhE5zs3hYzK3aAimF0Gx/Kyk1Ot1F/lKf1poR2er0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-QmQE6KZ2NdXKQun+uletxYPktWvfkrj6NPAVl/mmpAY=";
   };
 
   propagatedBuildInputs = [ click pyyaml tqdm ];
diff --git a/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch b/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch
index c12c85e0de25..2506a10268b2 100644
--- a/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch
+++ b/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch
@@ -1,17 +1,17 @@
-From 001549503eed364d4baaa5804242f67c6236f6c2 Mon Sep 17 00:00:00 2001
+From d3aed2c18cc3a1c88a8052af1f34d7f81f1be11a Mon Sep 17 00:00:00 2001
 From: Flakebi <flakebi@t-online.de>
-Date: Sat, 2 Dec 2023 16:55:05 +0100
+Date: Wed, 28 Feb 2024 23:24:14 +0100
 Subject: [PATCH] Fix with new dependency versions
 
 - cookie_jar is private in werkzeug 2.3, so recreate the client instead
 - set_cookie does not take a hostname argument anymore, use domain instead
 - Headers need to specify a content type
 ---
- test_seasurf.py | 63 ++++++++++++++++++++++++-------------------------
- 1 file changed, 31 insertions(+), 32 deletions(-)
+ test_seasurf.py | 71 ++++++++++++++++++++++++-------------------------
+ 1 file changed, 35 insertions(+), 36 deletions(-)
 
 diff --git a/test_seasurf.py b/test_seasurf.py
-index 517b2d7..501f82d 100644
+index 517b2d7..f940b91 100644
 --- a/test_seasurf.py
 +++ b/test_seasurf.py
 @@ -71,18 +71,18 @@ class SeaSurfTestCase(BaseTestCase):
@@ -37,6 +37,15 @@ index 517b2d7..501f82d 100644
          self.assertIn(b('403 Forbidden'), rv.data)
  
      def test_json_token_validation_bad(self):
+@@ -93,7 +93,7 @@ class SeaSurfTestCase(BaseTestCase):
+         with self.app.test_client() as client:
+             with client.session_transaction() as sess:
+                 sess[self.csrf._csrf_name] = tokenA
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, tokenB)
++                client.set_cookie(self.csrf._csrf_name, tokenB, domain='www.example.com')
+ 
+             rv = client.post('/bar', data=data)
+             self.assertEqual(rv.status_code, 403, rv)
 @@ -107,7 +107,7 @@ class SeaSurfTestCase(BaseTestCase):
          data = {'_csrf_token': token}
          with self.app.test_client() as client:
@@ -55,7 +64,7 @@ index 517b2d7..501f82d 100644
                  sess[self.csrf._csrf_name] = token
  
              # once this is reached the session was stored
-@@ -144,7 +144,7 @@ class SeaSurfTestCase(BaseTestCase):
+@@ -144,18 +144,18 @@ class SeaSurfTestCase(BaseTestCase):
              with client.session_transaction() as sess:
                  token = self.csrf._generate_token()
  
@@ -64,6 +73,19 @@ index 517b2d7..501f82d 100644
                  sess[self.csrf._csrf_name] = token
  
              # once this is reached the session was stored
+-            rv = client.post('/bar',
++            rv = client.post('/bar', content_type='application/json',
+                 data={self.csrf._csrf_name: token},
+                 base_url='https://www.example.com',
+                 headers={'Referer': 'https://www.example.com/foobar'})
+ 
+             self.assertEqual(rv.status_code, 200)
+ 
+-            rv = client.post(u'/bar/\xf8',
++            rv = client.post(u'/bar/\xf8', content_type='application/json',
+                 data={self.csrf._csrf_name: token},
+                 base_url='https://www.example.com',
+                 headers={'Referer': 'https://www.example.com/foobar\xf8'})
 @@ -167,7 +167,7 @@ class SeaSurfTestCase(BaseTestCase):
              with client.session_transaction() as sess:
                  token = self.csrf._generate_token()
@@ -252,6 +274,15 @@ index 517b2d7..501f82d 100644
              self.assertEqual(res2.status_code, 200)
  
      def test_header_set_cookie_samesite(self):
+@@ -789,7 +788,7 @@ class SeaSurfTestCaseGenerateNewToken(BaseTestCase):
+             client.get('/foo')
+             tokenA = self.csrf._get_token()
+ 
+-            client.set_cookie('www.example.com', self.csrf._csrf_name, tokenA)
++            client.set_cookie(self.csrf._csrf_name, tokenA, domain='www.example.com')
+             with client.session_transaction() as sess:
+                 sess[self.csrf._csrf_name] = tokenA
+ 
 -- 
-2.42.0
+2.43.0
 
diff --git a/pkgs/development/python-modules/geoalchemy2/default.nix b/pkgs/development/python-modules/geoalchemy2/default.nix
index bb4eb7ca664e..7920c53b8f57 100644
--- a/pkgs/development/python-modules/geoalchemy2/default.nix
+++ b/pkgs/development/python-modules/geoalchemy2/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "geoalchemy2";
-  version = "0.14.4";
+  version = "0.14.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "geoalchemy";
     repo = "geoalchemy2";
     rev = "refs/tags/${version}";
-    hash = "sha256-zMd/hHobFBPre0bZA1e2S9gPWnIkeImZhSySlIDxYsg=";
+    hash = "sha256-s3+w6LtewjR725O8ENl7jRer979fRZDqsnbAYJOWcIY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
index 50346213b253..c256ea54ae49 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "3.14.1";
+  version = "3.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-v9gBSb9TYvaqF1/g7dJshSkJ2RlCAWXGdf7yPlne0I4=";
+    hash = "sha256-/LBhPJorIQvyiInfNy7PJcVyOvH217FErtwiC2XTZvQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-compute/default.nix b/pkgs/development/python-modules/google-cloud-compute/default.nix
index ffe81f753aa7..535aa86cc8a5 100644
--- a/pkgs/development/python-modules/google-cloud-compute/default.nix
+++ b/pkgs/development/python-modules/google-cloud-compute/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-compute";
-  version = "1.16.1";
+  version = "1.17.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-P/A08nd3ZP4GsySd3Q6TM+kuXRabcnnI1aFd+svMz5E=";
+    hash = "sha256-dPs7hSe0YcD3luNqHkF6T8fTHC4/u3HMJwsw6THWL44=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-kms/default.nix b/pkgs/development/python-modules/google-cloud-kms/default.nix
index 32949b14c332..deab86952e76 100644
--- a/pkgs/development/python-modules/google-cloud-kms/default.nix
+++ b/pkgs/development/python-modules/google-cloud-kms/default.nix
@@ -9,20 +9,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-kms";
-  version = "2.19.2";
-  format = "setuptools";
+  version = "2.21.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-F6UDRZLoXvADHSW75YlL2y1xlGCFWYC/62iqTo/8Er0=";
+    hash = "sha256-8GrZ38gBVE+6EYN4i5ZPawF0g6Zgkapoa1Gr0HSAbIQ=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     grpc-google-iam-v1
     google-api-core
@@ -36,9 +41,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # Disable tests that need credentials
   disabledTests = [
+    # Disable tests that need credentials
     "test_list_global_key_rings"
+    # Tests require PROJECT_ID
+    "test_list_ekm_connections"
   ];
 
   pythonImportsCheck = [
@@ -48,8 +55,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Cloud Key Management Service (KMS) API API client library";
-    homepage = "https://github.com/googleapis/python-kms";
-    changelog = "https://github.com/googleapis/python-kms/blob/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-kms";
+    changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-kms-v${version}/packages/google-cloud-kms/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index 8d0d27a77f69..ec901eb34a4f 100644
--- a/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "2.19.6";
+  version = "2.19.7";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Tq5LyYRj29rq11l/dmb/4U/GKqvtEOPjIslcsFD6fb4=";
+    hash = "sha256-2l8eshfAcnvvp8hbm5XmqJsytCLVSMnPmh4ClBAnC4c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
index 32304fad221f..679d8631aaee 100644
--- a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-secret-manager";
-  version = "2.18.1";
+  version = "2.18.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MQVV88jLl39KRtRFTsosg/7WoJ88SzW4T2+h+P71UCQ=";
+    hash = "sha256-oA1iEVpwCD6GsdRMp+vK4EGzakTMYupX3kAFcx+NPIg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix
index d3e9ca2ae7f4..8f2884a5b6c6 100644
--- a/pkgs/development/python-modules/griffe/default.nix
+++ b/pkgs/development/python-modules/griffe/default.nix
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "griffe";
-  version = "0.40.1";
-  format = "pyproject";
+  version = "0.41.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mkdocstrings";
-    repo = pname;
+    repo = "griffe";
     rev = "refs/tags/${version}";
-    hash = "sha256-DaLxGEwR2Z9IEkKbLkOy7Q3dvvmwTNBNMzYxNoeZMJE=";
+    hash = "sha256-or0kXc8YJl7+95gM54MaviDdErN0vqBnCtAavZM938k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/huggingface-hub/default.nix b/pkgs/development/python-modules/huggingface-hub/default.nix
index 17ad769329c7..f57aa1a4cbb9 100644
--- a/pkgs/development/python-modules/huggingface-hub/default.nix
+++ b/pkgs/development/python-modules/huggingface-hub/default.nix
@@ -1,7 +1,8 @@
 { lib
-, fetchFromGitHub
 , buildPythonPackage
 , pythonOlder
+, fetchFromGitHub
+, setuptools
 , filelock
 , fsspec
 , packaging
@@ -13,8 +14,8 @@
 
 buildPythonPackage rec {
   pname = "huggingface-hub";
-  version = "0.20.3";
-  format = "setuptools";
+  version = "0.21.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -22,9 +23,13 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "huggingface_hub";
     rev = "refs/tags/v${version}";
-    hash = "sha256-21Ay8RVS2vtQIh4bBUxE8jFk6F+yeFBJ3XgvRRNtNgI=";
+    hash = "sha256-0Nr6qs9rzuBQo8SGuQ2Ai2Q+E+Gs4DT/AMrYf7dYM/E=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     filelock
     fsspec
@@ -47,6 +52,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/huggingface/huggingface_hub";
     changelog = "https://github.com/huggingface/huggingface_hub/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ kira-bruneau ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
index 5d27b9d490e1..46a5eb3e3691 100644
--- a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
+++ b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "ibm-cloud-sdk-core";
-  version = "3.19.1";
+  version = "3.19.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-oPDcQSWNWG9wauSVW7srXN85+UeF6Q0CRlaSyqh2W/Q=";
+    hash = "sha256-qodN9ALyAfzsrCAiPT3t02JJRCBqFCNVWlsQP+4d3do=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/karton-core/default.nix b/pkgs/development/python-modules/karton-core/default.nix
index a934b793c60e..6746fd6eb710 100644
--- a/pkgs/development/python-modules/karton-core/default.nix
+++ b/pkgs/development/python-modules/karton-core/default.nix
@@ -3,15 +3,16 @@
 , buildPythonPackage
 , fetchFromGitHub
 , orjson
-, unittestCheckHook
 , pythonOlder
 , redis
+, setuptools
+, unittestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "karton-core";
-  version = "5.3.2";
-  format = "setuptools";
+  version = "5.3.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -19,9 +20,13 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = "karton";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/MPD83sBo9n/dI1uXbHbjvz6upJSJrssMGmGwfQ+KE8=";
+    hash = "sha256-RVHhMKoQAqsddziK/vWGynSL9mxMuccNEGzoJTx8KAA=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     boto3
     orjson
diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix
index 7758d9c330a5..0a765a43dfc4 100644
--- a/pkgs/development/python-modules/litellm/default.nix
+++ b/pkgs/development/python-modules/litellm/default.nix
@@ -33,7 +33,7 @@
 
 buildPythonPackage rec {
   pname = "litellm";
-  version = "1.27.4";
+  version = "1.28.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     owner = "BerriAI";
     repo = "litellm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mgBbU5vbSKjJysPQHu2FH7VzB7aCW4XJThNkpMnu1+c=";
+    hash = "sha256-rmgKitWY2YFa+L9vpjXCsx5rCS2UrrobyKoleP5taG0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/llama-index-agent-openai/default.nix b/pkgs/development/python-modules/llama-index-agent-openai/default.nix
new file mode 100644
index 000000000000..5663e9f11828
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-agent-openai/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-index-llms-openai
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-agent-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/agent/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    llama-index-llms-openai
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.agent.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-cli/default.nix b/pkgs/development/python-modules/llama-index-cli/default.nix
new file mode 100644
index 000000000000..de4aacdd5adc
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-cli/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-index-embeddings-openai
+, llama-index-llms-openai
+, llama-index-vector-stores-chroma
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-cli";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    llama-index-embeddings-openai
+    llama-index-llms-openai
+    llama-index-vector-stores-chroma
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.cli"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-core/default.nix b/pkgs/development/python-modules/llama-index-core/default.nix
new file mode 100644
index 000000000000..708230eed628
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-core/default.nix
@@ -0,0 +1,115 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, dataclasses-json
+, deprecated
+, dirtyjson
+, fetchFromGitHub
+, fsspec
+, llamaindex-py-client
+, nest-asyncio
+, networkx
+, nltk
+, numpy
+, openai
+, pandas
+, pillow
+, poetry-core
+, pytest-asyncio
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, requests
+, tree-sitter
+, sqlalchemy
+, tenacity
+, tiktoken
+, typing-inspect
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-core";
+  version = "0.10.14";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "run-llama";
+    repo = "llama_index";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-9EbhiW2VPaX6Ffrm5a3pJxw2M73x1JOna+OurSJErSM=";
+  };
+
+  sourceRoot = "${src.name}/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    dataclasses-json
+    deprecated
+    dirtyjson
+    fsspec
+    llamaindex-py-client
+    nest-asyncio
+    networkx
+    nltk
+    numpy
+    openai
+    pandas
+    pillow
+    pyyaml
+    requests
+    sqlalchemy
+    tenacity
+    tiktoken
+    typing-inspect
+  ];
+
+  nativeCheckInputs = [
+    tree-sitter
+    pytest-asyncio
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "llama_index"
+  ];
+
+  disabledTestPaths = [
+    # Tests require network access
+    "tests/agent/"
+    "tests/callbacks/"
+    "tests/chat_engine/"
+    "tests/evaluation/"
+    "tests/indices/"
+    "tests/ingestion/"
+    "tests/memory/"
+    "tests/node_parser/"
+    "tests/objects/"
+    "tests/playground/"
+    "tests/postprocessor/"
+    "tests/query_engine/"
+    "tests/question_gen/"
+    "tests/response_synthesizers/"
+    "tests/retrievers/"
+    "tests/selectors/"
+    "tests/test_utils.py"
+    "tests/text_splitter/"
+    "tests/token_predictor/"
+    "tests/tools/"
+  ];
+
+  meta = with lib; {
+    description = "Data framework for your LLM applications";
+    homepage = "https://github.com/run-llama/llama_index/";
+    changelog = "https://github.com/run-llama/llama_index/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix b/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix
new file mode 100644
index 000000000000..6b371c816983
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, google-generativeai
+, llama-index-core
+, poetry-core
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-embeddings-gemini";
+  version = "0.1.3";
+
+  inherit (llama-index-core) src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/embeddings/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    google-generativeai
+    llama-index-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.embeddings.gemini"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-embeddings-google/default.nix b/pkgs/development/python-modules/llama-index-embeddings-google/default.nix
new file mode 100644
index 000000000000..6cf2d1772163
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-embeddings-google/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, google-generativeai
+, llama-index-core
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-embeddings-google";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/embeddings/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    google-generativeai
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.embeddings.google"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix b/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix
new file mode 100644
index 000000000000..41e3843220f5
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-embeddings-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/embeddings/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.embeddings.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix b/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix
new file mode 100644
index 000000000000..c778fb0e0512
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, llama-index-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-indices-managed-llama-cloud";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/indices/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.indices.managed.llama_cloud"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-legacy/default.nix b/pkgs/development/python-modules/llama-index-legacy/default.nix
new file mode 100644
index 000000000000..e490c3db7e88
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-legacy/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, llama-index-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-legacy";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-llms-openai/default.nix b/pkgs/development/python-modules/llama-index-llms-openai/default.nix
new file mode 100644
index 000000000000..c0b10abd0251
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-llms-openai/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, llama-index-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-llms-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/llms/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.llms.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-multi-modal-llms-openai/default.nix b/pkgs/development/python-modules/llama-index-multi-modal-llms-openai/default.nix
new file mode 100644
index 000000000000..825b001f5c61
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-multi-modal-llms-openai/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-index-llms-openai
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-multi-modal-llms-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/multi_modal_llms/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    llama-index-llms-openai
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.multi_modal_llms.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-program-openai/default.nix b/pkgs/development/python-modules/llama-index-program-openai/default.nix
new file mode 100644
index 000000000000..d30bb7fb709c
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-program-openai/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-agent-openai
+, llama-index-core
+, llama-index-llms-openai
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-program-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/program/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-agent-openai
+    llama-index-core
+    llama-index-llms-openai
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.program.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-question-gen-openai/default.nix b/pkgs/development/python-modules/llama-index-question-gen-openai/default.nix
new file mode 100644
index 000000000000..a1dadcd941f8
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-question-gen-openai/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-index-llms-openai
+, llama-index-program-openai
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-question-gen-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/question_gen/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    llama-index-llms-openai
+    llama-index-program-openai
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.question_gen.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-readers-file/default.nix b/pkgs/development/python-modules/llama-index-readers-file/default.nix
new file mode 100644
index 000000000000..05bbdec8f258
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-readers-file/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, beautifulsoup4
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, poetry-core
+, pymupdf
+, pypdf
+, pythonRelaxDepsHook
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-readers-file";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
+
+  pythonRelaxDeps = [
+    "beautifulsoup4"
+    "pymupdf"
+    "pypdf"
+  ];
+
+  pythonRemoveDeps = [
+    "bs4"
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    llama-index-core
+    pymupdf
+    pypdf
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.readers.file"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-readers-json/default.nix b/pkgs/development/python-modules/llama-index-readers-json/default.nix
new file mode 100644
index 000000000000..c29dcd78c433
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-readers-json/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, poetry-core
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-readers-json";
+  version = "0.1.2";
+
+  inherit (llama-index-core) src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.readers.json"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-readers-llama-parse/default.nix b/pkgs/development/python-modules/llama-index-readers-llama-parse/default.nix
new file mode 100644
index 000000000000..b9dfde0273e2
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-readers-llama-parse/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-parse
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-readers-llama-parse";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-parse
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.readers.llama_parse"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-readers-weather/default.nix b/pkgs/development/python-modules/llama-index-readers-weather/default.nix
new file mode 100644
index 000000000000..773c737f342d
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-readers-weather/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, poetry-core
+, pyowm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-readers-weather";
+  version = "0.1.4";
+
+  inherit (llama-index-core) src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    pyowm
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.readers.weather"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-vector-stores-chroma/default.nix b/pkgs/development/python-modules/llama-index-vector-stores-chroma/default.nix
new file mode 100644
index 000000000000..62e89093066d
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-vector-stores-chroma/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, chromadb
+, fetchFromGitHub
+, llama-index-core
+, onnxruntime
+, poetry-core
+, pythonRelaxDepsHook
+, tokenizers
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-vector-stores-chroma";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/vector_stores/${pname}";
+
+  pythonRelaxDeps = [
+    "onnxruntime"
+    "tokenizers"
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    chromadb
+    llama-index-core
+    onnxruntime
+    tokenizers
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.vector_stores.chroma"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index/default.nix b/pkgs/development/python-modules/llama-index/default.nix
new file mode 100644
index 000000000000..4e269039722f
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, llama-index-agent-openai
+, llama-index-cli
+, llama-index-core
+, llama-index-embeddings-openai
+, llama-index-indices-managed-llama-cloud
+, llama-index-legacy
+, llama-index-llms-openai
+, llama-index-multi-modal-llms-openai
+, llama-index-program-openai
+, llama-index-question-gen-openai
+, llama-index-readers-file
+, llama-index-readers-llama-parse
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-agent-openai
+    llama-index-cli
+    llama-index-core
+    llama-index-embeddings-openai
+    llama-index-indices-managed-llama-cloud
+    llama-index-legacy
+    llama-index-llms-openai
+    llama-index-multi-modal-llms-openai
+    llama-index-program-openai
+    llama-index-question-gen-openai
+    llama-index-readers-file
+    llama-index-readers-llama-parse
+  ];
+
+  pythonImportsCheck = [
+    "llama_index"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-parse/default.nix b/pkgs/development/python-modules/llama-parse/default.nix
new file mode 100644
index 000000000000..a38852ff6bfc
--- /dev/null
+++ b/pkgs/development/python-modules/llama-parse/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, llama-index-core
+, poetry-core
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "llama-parse";
+  version = "0.3.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    pname = "llama_parse";
+    inherit version;
+    hash = "sha256-WjBWnDkKuQidrWbPKoyWf4wh13ZB3uwKkiZy304Wz6M=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_parse"
+  ];
+
+  meta = with lib; {
+    description = "Parse files into RAG-Optimized formats";
+    homepage = "https://pypi.org/project/llama-parse/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/llamaindex-py-client/default.nix b/pkgs/development/python-modules/llamaindex-py-client/default.nix
new file mode 100644
index 000000000000..d46e070c9517
--- /dev/null
+++ b/pkgs/development/python-modules/llamaindex-py-client/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, httpx
+, poetry-core
+, pydantic
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "llamaindex-py-client";
+  version = "0.1.13";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    pname = "llamaindex_py_client";
+    inherit version;
+    hash = "sha256-O9m0Ne4KeBceukEt6lZ02BPrW/NuV308fH6Q7cVJANk=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    httpx
+    pydantic
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "llama_index_client"
+  ];
+
+  meta = with lib; {
+    description = "Client for LlamaIndex";
+    homepage = "https://pypi.org/project/llamaindex-py-client/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/mscerts/default.nix b/pkgs/development/python-modules/mscerts/default.nix
index 400e0c2774e8..9dc16828c869 100644
--- a/pkgs/development/python-modules/mscerts/default.nix
+++ b/pkgs/development/python-modules/mscerts/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "mscerts";
-  version = "2023.11.29";
+  version = "2024.2.28";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ralphje";
     repo = "mscerts";
     rev = "refs/tags/${version}";
-    hash = "sha256-TNwpWxknCUcvXFy3UInrEx4iFZi/hLS7exvJBv3DlWo=";
+    hash = "sha256-ReUDpax4tvw4ZCH8zOipelIPtHi7BdgLHI/r3FNpo1c=";
   };
 
   # extras_require contains signify -> circular dependency
diff --git a/pkgs/development/python-modules/msrest/default.nix b/pkgs/development/python-modules/msrest/default.nix
index 3463931a1cb6..5f4f9869e304 100644
--- a/pkgs/development/python-modules/msrest/default.nix
+++ b/pkgs/development/python-modules/msrest/default.nix
@@ -9,16 +9,18 @@
 , isodate
 , pytest-aiohttp
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , requests
 , requests-oauthlib
+, setuptools
 , trio
 }:
 
 buildPythonPackage rec {
   pname = "msrest";
   version = "0.7.1";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -30,6 +32,10 @@ buildPythonPackage rec {
     hash = "sha256-1EXXXflhDeU+erdI+NsWxSX76ooDTl3+MyQwRzm2xV0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     azure-core
     aiodns
@@ -56,6 +62,12 @@ buildPythonPackage rec {
     "test_conf_async_requests"
     "test_conf_async_requests"
     "test_conf_async_trio_requests"
+  ] ++ lib.optionals (pythonAtLeast "3.12") [
+    # AttributeError: 'TestAuthentication' object has no attribute...
+    "test_apikey_auth"
+    "test_cs_auth"
+    "test_eventgrid_auth"
+    "test_eventgrid_domain_auth"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/msrestazure/default.nix b/pkgs/development/python-modules/msrestazure/default.nix
index e564a0fd5959..b997cd9b5065 100644
--- a/pkgs/development/python-modules/msrestazure/default.nix
+++ b/pkgs/development/python-modules/msrestazure/default.nix
@@ -1,41 +1,52 @@
-{ pkgs
-, lib
+{ lib
+, adal
 , buildPythonPackage
 , fetchFromGitHub
-, isPy3k
-, adal
-, msrest
-, mock
 , httpretty
-, pytest
+, mock
+, msrest
 , pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
-  version = "0.6.4";
-  format = "setuptools";
   pname = "msrestazure";
+  version = "0.6.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
-  # Pypi tarball doesnt include tests
-  # see https://github.com/Azure/msrestazure-for-python/pull/133
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "msrestazure-for-python";
-    rev = "v${version}";
-    sha256 = "0ik81f0n6r27f02gblgm0vl5zl3wc6ijsscihgvc1fgm9f5mk5b5";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ZZVZi0v1ucD2g5FpLaNhfNBf6Ab10fUEcEdkY4ELaEY=";
   };
 
-  propagatedBuildInputs = [ adal msrest ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    adal
+    msrest
+  ];
 
-  nativeCheckInputs = [ httpretty mock pytest ]
-                ++ lib.optionals isPy3k [ pytest-asyncio ];
+  nativeCheckInputs = [
+    httpretty
+    mock
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest tests/
-  '';
+  pythonImportsCheck = [
+    "msrest"
+  ];
 
-  meta = with pkgs.lib; {
-    description = "The runtime library 'msrestazure' for AutoRest generated Python clients.";
+  meta = with lib; {
+    description = "The runtime library 'msrestazure' for AutoRest generated Python clients";
     homepage = "https://azure.microsoft.com/en-us/develop/python/";
     license = licenses.mit;
     maintainers = with maintainers; [ bendlas jonringer ];
diff --git a/pkgs/development/python-modules/neo4j/default.nix b/pkgs/development/python-modules/neo4j/default.nix
index 4db2398c25b5..ba7a84d02ec5 100644
--- a/pkgs/development/python-modules/neo4j/default.nix
+++ b/pkgs/development/python-modules/neo4j/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "neo4j";
-  version = "5.17.0";
+  version = "5.18.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "neo4j";
     repo = "neo4j-python-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-BZo4TzFrH1ATl09zRXy+1AFJSBopmByDHe7oITZy7pA=";
+    hash = "sha256-rp0N2k23WZ86hqqz4ByW5gdyU2eYLVppyEJEdY/Yk8w=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/nest-asyncio/default.nix b/pkgs/development/python-modules/nest-asyncio/default.nix
index fcd74efe9237..3daac2f31d16 100644
--- a/pkgs/development/python-modules/nest-asyncio/default.nix
+++ b/pkgs/development/python-modules/nest-asyncio/default.nix
@@ -1,27 +1,43 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pythonAtLeast
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
-  version = "1.5.6";
-  pname = "nest_asyncio";
-  disabled = !(pythonAtLeast "3.5");
+  pname = "nest-asyncio";
+  version = "1.6.0";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-0mfMH/eUQD999pKWTR0qP6lBj/6io/aFmkOf9IL+8pA=";
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "erdewit";
+    repo = "nest_asyncio";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-5I5WItOl1QpyI4OXZgZf8GiQ7Jlo+SJbDicIbernaU4=";
   };
 
-  # tests not packaged with source dist as of 1.3.2/1.3.2, and
-  # can't check tests out of GitHub easily without specific commit IDs (no tagged releases)
-  doCheck = false;
-  pythonImportsCheck = [ "nest_asyncio" ];
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "nest_asyncio"
+  ];
 
   meta = with lib; {
     description = "Patch asyncio to allow nested event loops";
     homepage = "https://github.com/erdewit/nest_asyncio";
+    changelog = "https://github.com/erdewit/nest_asyncio/releases/tag/v${version}";
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/nibabel/default.nix b/pkgs/development/python-modules/nibabel/default.nix
index 3bccab344741..7d8e021fd0cf 100644
--- a/pkgs/development/python-modules/nibabel/default.nix
+++ b/pkgs/development/python-modules/nibabel/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "nibabel";
-  version = "5.2.0";
+  version = "5.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Pfjxq5gdG9kvQzHVZVKNEmq5cX/b1M/mj0P80cK/P1I=";
+    hash = "sha256-tsgLLnKOS8K2XxFC2bjSKHqRAqi/hHfhFe8NgzRVmXU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix
new file mode 100644
index 000000000000..41de5bb8b60f
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fastapi
+, hatchling
+, httpx
+, opentelemetry-api
+, opentelemetry-instrumentation
+, opentelemetry-instrumentation-asgi
+, opentelemetry-semantic-conventions
+, opentelemetry-test-utils
+, opentelemetry-util-http
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage {
+  inherit (opentelemetry-instrumentation) version src;
+  pname = "opentelemetry-instrumentation-fastapi";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-fastapi";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    fastapi
+    opentelemetry-api
+    opentelemetry-instrumentation
+    opentelemetry-instrumentation-asgi
+    opentelemetry-semantic-conventions
+    opentelemetry-util-http
+  ];
+
+  nativeCheckInputs = [
+    httpx
+    opentelemetry-test-utils
+    pytestCheckHook
+    requests
+  ];
+
+  pythonImportsCheck = [
+    "opentelemetry.instrumentation.fastapi"
+  ];
+
+  meta = opentelemetry-instrumentation.meta // {
+    description = "OpenTelemetry Instrumentation for fastapi";
+    homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-fastapi";
+  };
+}
diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix
index 650565f9c11b..306f0431bfae 100644
--- a/pkgs/development/python-modules/opower/default.nix
+++ b/pkgs/development/python-modules/opower/default.nix
@@ -5,13 +5,14 @@
 , fetchFromGitHub
 , pyotp
 , pytestCheckHook
+, python-dotenv
 , pythonOlder
 , setuptools
 }:
 
 buildPythonPackage rec {
   pname = "opower";
-  version = "0.3.1";
+  version = "0.4.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +21,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "opower";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aSzy1QLNGfEqHE2IQDdh9YfK+pC6j8X+5KviasSvYI8=";
+    hash = "sha256-O+yIxEFqD6hel1H9aUnSz/wJoEhVrg6DDZptNcJVkSw=";
   };
 
   nativeBuildInputs = [
@@ -31,6 +32,7 @@ buildPythonPackage rec {
     aiohttp
     arrow
     pyotp
+    python-dotenv
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/oslo-concurrency/default.nix b/pkgs/development/python-modules/oslo-concurrency/default.nix
index ef388c34a18f..a42e9950066c 100644
--- a/pkgs/development/python-modules/oslo-concurrency/default.nix
+++ b/pkgs/development/python-modules/oslo-concurrency/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "oslo-concurrency";
-  version = "5.3.0";
+  version = "6.0.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "oslo.concurrency";
     inherit version;
-    hash = "sha256-yqaSBw0hVZ73H/WQeAb3USoXgsRby1ChlP4+DNeNfe0=";
+    hash = "sha256-tS8CtORvXydLkfuOG/xcv5pBjfzUqDvggDRUlePSboo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pulsar-client/default.nix b/pkgs/development/python-modules/pulsar-client/default.nix
new file mode 100644
index 000000000000..65ce904eed4b
--- /dev/null
+++ b/pkgs/development/python-modules/pulsar-client/default.nix
@@ -0,0 +1,119 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, python
+}:
+let
+  version = "3.4.0";
+
+  inherit (python) pythonVersion;
+
+  Srcs =
+    let
+      getSrcFromPypi = { platform, dist, hash }: fetchPypi {
+        inherit version platform dist hash;
+        pname = "pulsar_client";
+        format = "wheel";
+        python = dist;
+        abi = dist;
+      };
+    in
+    {
+      "3.9-x86_64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
+        dist = "cp39";
+        hash = "sha256-1P5ArMoLZiUkHUoQ/mJccbNj5/7el/op+Qo6cGQ33xE=";
+      };
+      "3.9-aarch64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_aarch64.manylinux2014_aarch64";
+        dist = "cp39";
+        hash = "sha256-11JQZRwMLtt7sK/JlCBqqRyfTVIAVJFN2sL+nAkQgvU=";
+      };
+      "3.9-aarch64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp39";
+        hash = "sha256-dwTGZKosgBr0wtOljp2P+u7xLOig9xcS6Rh/mpbahW8=";
+      };
+      "3.9-x86_64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp39";
+        hash = "sha256-dwTGZKosgBr0wtOljp2P+u7xLOig9xcS6Rh/mpbahW8=";
+      };
+      "3.10-x86_64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
+        dist = "cp310";
+        hash = "sha256-swp1kuQsdgNOmo1k1C3VurNhQl+GneVi6cytaY4ZzYg=";
+      };
+      "3.10-aarch64-linux" = getSrcFromPypi {
+        platform = "musllinux_1_1_aarch64";
+        dist = "cp310";
+        hash = "sha256-1ZYwkKeKVkS6JfQdo6bUnqPwDJcrCVuv82WRbcJGQmo=";
+      };
+      "3.10-aarch64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp310";
+        hash = "sha256-6/mdtSRP9pR5KDslYhsHBJKsxLtkPRYthrkDh8tv2yo=";
+      };
+      "3.10-x86_64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp310";
+        hash = "sha256-6/mdtSRP9pR5KDslYhsHBJKsxLtkPRYthrkDh8tv2yo=";
+      };
+      "3.11-x86_64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
+        dist = "cp311";
+        hash = "sha256-M1cd6ZzYmDSfF5eLpi4rg56gJ1+3Bn8xv19uv+rgmH0=";
+      };
+      "3.11-aarch64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_aarch64.manylinux2014_aarch64";
+        dist = "cp311";
+        hash = "sha256-+HQ8MgqpZ5jSDK+pjql6aMQpX8SHLCOs1eAS/TbLBro=";
+      };
+      "3.11-aarch64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp311";
+        hash = "sha256-EZUvsCLuct6/U7Fp9EgvncXIkL4BSa6Yd5hks6IfG9M=";
+      };
+      "3.11-x86_64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp311";
+        hash = "sha256-EZUvsCLuct6/U7Fp9EgvncXIkL4BSa6Yd5hks6IfG9M=";
+      };
+      "3.12-x86_64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
+        dist = "cp312";
+        hash = "sha256-xgbATzVzQQQvpsdUd959IgT3rlCqKcL3SyTlTIX0f5Y=";
+      };
+      "3.12-aarch64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_aarch64.manylinux2014_aarch64";
+        dist = "cp312";
+        hash = "sha256-8gK4Th9oPWRnLdGXERRgCuLlw3NVhyhv+b+0MThfCOg=";
+      };
+      "3.12-aarch64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp312";
+        hash = "sha256-9/jw/wr1oUD9pOadVAaMRL081iVMUXwVgnUMcG1UNvE=";
+      };
+      "3.12-x86_64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp312";
+        hash = "sha256-9/jw/wr1oUD9pOadVAaMRL081iVMUXwVgnUMcG1UNvE=";
+      };
+    };
+
+in buildPythonPackage {
+  pname = "pulsar-client";
+  inherit version;
+
+  format = "wheel";
+
+  src = Srcs."${pythonVersion}-${stdenv.hostPlatform.system}";
+
+  meta = with lib; {
+    description = "Client for pulsar";
+    homepage = "https://pypi.org/project/pulsar-client/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix
index 9a322790f865..f64913c32d33 100644
--- a/pkgs/development/python-modules/pydeconz/default.nix
+++ b/pkgs/development/python-modules/pydeconz/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "114";
+  version = "115";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = "deconz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XN6di3pxB7lhZ5TQnyHr7nKA0STBi0CVzGnhvRDsbFY=";
+    hash = "sha256-NjzONVSJ4GEaIeC5ytnTi8JpZY1yIq3LN8vbMy3n0vs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pydub/default.nix b/pkgs/development/python-modules/pydub/default.nix
index e1631f74f94e..7ec3da3531cf 100644
--- a/pkgs/development/python-modules/pydub/default.nix
+++ b/pkgs/development/python-modules/pydub/default.nix
@@ -1,43 +1,59 @@
 { lib
-, stdenv
 , buildPythonPackage
 , fetchFromGitHub
-
-# tests
+, fetchpatch
 , ffmpeg-full
-, python
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pydub";
   version = "0.25.1";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
-  # pypi version doesn't include required data files for tests
   src = fetchFromGitHub {
     owner = "jiaaro";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0xskllq66wqndjfmvp58k26cv3w480sqsil6ifwp4gghir7hqc8m";
+    repo = "pydub";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-FTEMT47wPXK5i4ZGjTVAhI/NjJio3F2dbBZzYzClU3c=";
   };
 
+  patches = [
+    # Fix test assertions, https://github.com/jiaaro/pydub/pull/769
+    (fetchpatch {
+      name = "fix-assertions.patch";
+      url = "https://github.com/jiaaro/pydub/commit/66c1bf7813ae8621a71484fdcdf609734c0d8efd.patch";
+      hash = "sha256-3OIzvTgGK3r4/s5y7izHvouB4uJEmjO6cgKvegtTf7A=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    ffmpeg-full
+    pytestCheckHook
+  ];
+
   pythonImportsCheck = [
     "pydub"
     "pydub.audio_segment"
     "pydub.playback"
   ];
 
-  nativeCheckInputs = [
-    ffmpeg-full
+  pytestFlagsArray = [
+    "test/test.py"
   ];
 
-  checkPhase = ''
-    ${python.interpreter} test/test.py
-  '';
-
   meta = with lib; {
     description = "Manipulate audio with a simple and easy high level interface";
     homepage = "http://pydub.com";
+    changelog = "https://github.com/jiaaro/pydub/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/pymc/default.nix b/pkgs/development/python-modules/pymc/default.nix
index 185250bddda5..5afa718726c8 100644
--- a/pkgs/development/python-modules/pymc/default.nix
+++ b/pkgs/development/python-modules/pymc/default.nix
@@ -23,9 +23,14 @@ buildPythonPackage rec {
     owner = "pymc-devs";
     repo = "pymc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bOrWgZaSOXXalw251cm5JUDkAARGaxmUk+z3SY6Git8=";
+    hash = "sha256-tiOXbryY2TmeBVrG5cIMeDJ4alolBQ5LosdfH3tpVOA=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace-fail ', "pytest-cov"' ""
+  '';
+
   propagatedBuildInputs = [
     arviz
     cachetools
@@ -37,11 +42,6 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace ', "pytest-cov"' ""
-  '';
-
   # The test suite is computationally intensive and test failures are not
   # indicative for package usability hence tests are disabled by default.
   doCheck = false;
diff --git a/pkgs/development/python-modules/pymicrobot/default.nix b/pkgs/development/python-modules/pymicrobot/default.nix
index bab6e61c0a13..22581f493b73 100644
--- a/pkgs/development/python-modules/pymicrobot/default.nix
+++ b/pkgs/development/python-modules/pymicrobot/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pymicrobot";
-  version = "0.0.18";
+  version = "0.0.22";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyMicroBot";
     inherit version;
-    hash = "sha256-+CF1m/Z5txSOQSUp4TOCTS0fRNcL/zuWCpbox8yIOIk=";
+    hash = "sha256-8Nkkgznt4JzImJSAbdaX6znhvmgqwOIBjAXVhaMorLk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pysignalclirestapi/default.nix b/pkgs/development/python-modules/pysignalclirestapi/default.nix
index b3dd6f696006..a2eff3fc4ad8 100644
--- a/pkgs/development/python-modules/pysignalclirestapi/default.nix
+++ b/pkgs/development/python-modules/pysignalclirestapi/default.nix
@@ -3,20 +3,20 @@
 , fetchFromGitHub
 , setuptools
 , requests
-, future
+, six
 }:
 
 buildPythonPackage rec {
   pname = "pysignalclirestapi";
-  version = "0.3.22";
+  version = "0.3.23";
 
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bbernhard";
     repo = "pysignalclirestapi";
-    rev = version;
-    hash = "sha256-m8Sihf5vTDntd5Tbaa5o55G/k/rqtmjWreoTab58CHU=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-DI6dPh8TJElDSk2ExMk4w32ROYgc33cwWNmc3pIBADM=";
   };
 
   nativeBuildInputs = [
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     requests
-    future
+    six
   ];
 
   # upstream has no tests
@@ -34,6 +34,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "pysignalclirestapi" ];
 
   meta = with lib; {
+    changelog = "https://github.com/bbernhard/pysignalclirestapi/releases/tag/${version}";
     description = "Small python library for the Signal Cli REST API";
     homepage = "https://github.com/bbernhard/pysignalclirestapi";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/pytest-testmon/default.nix b/pkgs/development/python-modules/pytest-testmon/default.nix
index 3c0b0ec629b4..9bceb430820e 100644
--- a/pkgs/development/python-modules/pytest-testmon/default.nix
+++ b/pkgs/development/python-modules/pytest-testmon/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-testmon";
-  version = "2.1.0";
+  version = "2.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tarpas";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-M4636yqzChRI37UdGPOZTjj8POLdrOoJtzmECtZZi4k=";
+    hash = "sha256-zbMX9r9lftdm9hzXMZRZZ/GEDViGk9QiYYUhO9ZcEAc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-idzip/default.nix b/pkgs/development/python-modules/python-idzip/default.nix
new file mode 100644
index 000000000000..6c64bb6c257e
--- /dev/null
+++ b/pkgs/development/python-modules/python-idzip/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+
+, pythonOlder
+
+, setuptools
+
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-idzip";
+  version = "0.3.9";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "bauman";
+    repo = "python-idzip";
+    rev = "refs/tags/${version}";
+    hash = "sha256-ChzwC/Afn0qeo5anq4anIu2eI9i6XDnSvB7jAwY7rSw=";
+  };
+
+  patches = [
+    # fix collision
+    # https://github.com/bauman/python-idzip/pull/23
+    (fetchpatch {
+      name = "fix-bin-folder-collisions.patch";
+      url = "https://patch-diff.githubusercontent.com/raw/bauman/python-idzip/pull/23.patch";
+      hash = "sha256-4fPhLdY9MaH1aX6tqMT+NNNNDsyv87G0xBh4MC+5yQE=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # need third-party files
+    # https://github.com/bauman/python-idzip/blob/master/.github/workflows/test.yaml#L2https://github.com/bauman/python-idzip/blob/master/.github/workflows/test.yaml#L288
+    "test/test_compressor.py"
+    "test/test_decompressor.py"
+    "test/test_lucky_cache.py"
+    "test/test_readline.py"
+    "test/test_seek_read_behavior.py"
+    "test/test_zero_cache.py"
+  ];
+
+  disabledTests = [
+    # Terminated
+    # pop_var_context: head of shell_variables not a function context
+    "test_bufferedio_compat"
+  ];
+
+  meta = with lib; {
+    description = "Seekable, gzip compatible, compression format";
+    homepage = "https://github.com/bauman/python-idzip";
+    changelog = "https://github.com/bauman/python-idzip/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/rdkit/default.nix b/pkgs/development/python-modules/rdkit/default.nix
index 8a29bc837cfa..2d5af44a068d 100644
--- a/pkgs/development/python-modules/rdkit/default.nix
+++ b/pkgs/development/python-modules/rdkit/default.nix
@@ -42,7 +42,7 @@ let
 in
 buildPythonPackage rec {
   pname = "rdkit";
-  version = "2023.09.4";
+  version = "2023.09.5";
   pyproject = false;
 
   src =
@@ -53,7 +53,7 @@ buildPythonPackage rec {
       owner = pname;
       repo = pname;
       rev = "Release_${versionTag}";
-      hash = "sha256-yPpt7F3w17tZEe+HECODZ7p27QidNt1sd5f/T2V87NE=";
+      hash = "sha256-ZYNAHNBHQPx8rBJSvEWFEpdSpYyXcoqJ+nBA7tpHwQs=";
     };
 
   unpackPhase = ''
diff --git a/pkgs/development/python-modules/reptor/default.nix b/pkgs/development/python-modules/reptor/default.nix
index 1f35854766f0..800966352d08 100644
--- a/pkgs/development/python-modules/reptor/default.nix
+++ b/pkgs/development/python-modules/reptor/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "reptor";
-  version = "0.9";
+  version = "0.11";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "Syslifters";
     repo = "reptor";
     rev = "refs/tags/${version}";
-    hash = "sha256-CjTedIl7ZkSFfKKhHmCadTd7zdz3gP7Q4uCscv5An38=";
+    hash = "sha256-OJcg/e+ZC5Hf4dkP1dhsR9A+5lWvuFeuNLXyW8Hw6ko=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/development/python-modules/ripser/default.nix b/pkgs/development/python-modules/ripser/default.nix
index 0b65e8c1c487..6e847e483636 100644
--- a/pkgs/development/python-modules/ripser/default.nix
+++ b/pkgs/development/python-modules/ripser/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "ripser";
-  version = "0.6.4";
+  version = "0.6.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eps+lCCGnFDfhemkRskSuK+BYh5iyhr4+UksYzW35ZQ=";
+    hash = "sha256-UuxI1bA6H8s2D9xWVwCecXEHkCV0rhkxuoooaer/a8A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/rope/default.nix b/pkgs/development/python-modules/rope/default.nix
index c014314685b9..ad5cad2dd8cb 100644
--- a/pkgs/development/python-modules/rope/default.nix
+++ b/pkgs/development/python-modules/rope/default.nix
@@ -10,16 +10,16 @@
 
 buildPythonPackage rec {
   pname = "rope";
-  version = "1.9.0";
-  format = "pyproject";
+  version = "1.12.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "python-rope";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-j65C3x3anhH23D4kic5j++r/Ft0RqgZ/jFrNrNHVcXA=";
+    hash = "sha256-j/9q2S2B3DzmEqMOBLG9iHwnLqZipcPxLaKppysJffA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/s3transfer/default.nix b/pkgs/development/python-modules/s3transfer/default.nix
index 91758650bba8..124b44f097cc 100644
--- a/pkgs/development/python-modules/s3transfer/default.nix
+++ b/pkgs/development/python-modules/s3transfer/default.nix
@@ -1,29 +1,38 @@
 { lib
+, stdenv
 , botocore
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
-, stdenv
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "s3transfer";
   version = "0.10.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "boto";
-    repo = pname;
+    repo = "s3transfer";
     rev = "refs/tags/${version}";
     hash = "sha256-21xycx1+84uY4gFr7N+ra98dpsEwxy9zeSl4QA66nUc=";
   };
 
-  propagatedBuildInputs = [ botocore ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    botocore
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   disabledTestPaths = [
     # Requires network access
@@ -32,12 +41,18 @@ buildPythonPackage rec {
   # There was a change in python 3.8 that defaults multiprocessing to spawn instead of fork on macOS
   # See https://bugs.python.org/issue33725 and https://github.com/python/cpython/pull/13603.
   # I suspect the underlying issue here is that upstream tests aren't compatible with spawn multiprocessing, and pass on linux where the default is still fork
-  lib.optionals stdenv.isDarwin [ "tests/unit/test_compat.py" ];
+  lib.optionals stdenv.isDarwin [
+    "tests/unit/test_compat.py"
+  ];
 
-  pythonImportsCheck = [ "s3transfer" ];
+  pythonImportsCheck = [
+    "s3transfer"
+  ];
 
   passthru.optional-dependencies = {
-    crt = [ botocore.optional-dependencies.crt ];
+    crt = [
+      botocore.optional-dependencies.crt
+    ];
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/shazamio/default.nix b/pkgs/development/python-modules/shazamio/default.nix
index 05c9784b367f..7190c1e2c0ae 100644
--- a/pkgs/development/python-modules/shazamio/default.nix
+++ b/pkgs/development/python-modules/shazamio/default.nix
@@ -72,6 +72,7 @@ buildPythonPackage rec {
     changelog = "https://github.com/dotX12/ShazamIO/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    # https://github.com/shazamio/ShazamIO/issues/80
     broken = versionAtLeast pydantic.version "2";
   };
 }
diff --git a/pkgs/development/python-modules/simpful/default.nix b/pkgs/development/python-modules/simpful/default.nix
index 2060210a3bd8..37f2ae860c0e 100644
--- a/pkgs/development/python-modules/simpful/default.nix
+++ b/pkgs/development/python-modules/simpful/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "simpful";
-  version = "2.11.1";
+  version = "2.12.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "aresio";
     repo = "simpful";
     rev = "refs/tags/${version}";
-    hash = "sha256-54WkKnPB3xA2CaOpmasqxgDoga3uAqoC1nOivytXmGY=";
+    hash = "sha256-NtTw7sF1WfVebUk1wHrM8FHAe3/FXDcMApPkDbw0WXo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index af3dca512c62..2782b5eea5db 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.27.0";
+  version = "3.27.1";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MA3pn6NQxzXYu/BBpOgfZWnS51dl7oXrAi43jenHhxI=";
+    hash = "sha256-fBHu4e6pSt8yzXbLWr5cwjRFDfvdH2jzpSNzdMBg4N0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/snapcast/default.nix b/pkgs/development/python-modules/snapcast/default.nix
index 9917e4d3f759..300aec741473 100644
--- a/pkgs/development/python-modules/snapcast/default.nix
+++ b/pkgs/development/python-modules/snapcast/default.nix
@@ -5,12 +5,13 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "snapcast";
-  version = "2.3.3";
-  format = "setuptools";
+  version = "2.3.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -18,9 +19,13 @@ buildPythonPackage rec {
     owner = "happyleavesaoc";
     repo = "python-snapcast";
     rev = "refs/tags/${version}";
-    hash = "sha256-IFgSO0PjlFb4XJarx50Xnx6dF4tBKk3sLcoLWVdpnk8=";
+    hash = "sha256-qADcLrE5QwoYBDEmh7hrDJZIND2k3F0OTCEHdHDu3Y0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     construct
     packaging
diff --git a/pkgs/development/python-modules/tensordict/default.nix b/pkgs/development/python-modules/tensordict/default.nix
index 1c5bad17e8a0..6c64ca00c5ee 100644
--- a/pkgs/development/python-modules/tensordict/default.nix
+++ b/pkgs/development/python-modules/tensordict/default.nix
@@ -10,11 +10,12 @@
 , numpy
 , h5py
 , pytestCheckHook
+, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "tensordict";
-  version = "0.3.0";
+  version = "0.3.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +24,7 @@ buildPythonPackage rec {
     owner = "pytorch";
     repo = "tensordict";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XTFUzPs/fqX3DPtu/qSE1hY+7r/HToPVPaTyVRzDT/E=";
+    hash = "sha256-eCx1r7goqOdGX/0mSGCiLhdGQTh4Swa5aFiLSsL56p0=";
   };
 
   nativeBuildInputs = [
@@ -53,6 +54,18 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  # RuntimeError: internal error
+  disabledTests = lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [
+    "test_add_scale_sequence"
+    "test_modules"
+    "test_setattr"
+  ];
+
+  # ModuleNotFoundError: No module named 'torch._C._distributed_c10d'; 'torch._C' is not a package
+  disabledTestPaths = lib.optionals stdenv.isDarwin [
+    "test/test_distributed.py"
+  ];
+
   meta = with lib; {
     description = "A pytorch dedicated tensor container";
     changelog = "https://github.com/pytorch/tensordict/releases/tag/v${version}";
diff --git a/pkgs/development/python-modules/thriftpy2/default.nix b/pkgs/development/python-modules/thriftpy2/default.nix
index 6d8c9c9f83d2..092a3d03b602 100644
--- a/pkgs/development/python-modules/thriftpy2/default.nix
+++ b/pkgs/development/python-modules/thriftpy2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "thriftpy2";
-  version = "0.4.16";
+  version = "0.4.19";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Thriftpy";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-o+h38NREnh14M23gyF2X2UdW7/spmHFo0rqvkKnmSRQ=";
+    hash = "sha256-u5k9dP6llfTjM745fRHvKC2vM7jd9D8lvPUsDcYx0EI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix
index 388f66f40a49..d6c51904bd9d 100644
--- a/pkgs/development/python-modules/torch/default.nix
+++ b/pkgs/development/python-modules/torch/default.nix
@@ -8,7 +8,7 @@
   magma-hip,
   magma-cuda-static,
   # Use the system NCCL as long as we're targeting CUDA on a supported platform.
-  useSystemNccl ? (cudaSupport && !cudaPackages.nccl.meta.unsupported),
+  useSystemNccl ? (cudaSupport && !cudaPackages.nccl.meta.unsupported || rocmSupport),
   MPISupport ? false, mpi,
   buildDocs ? false,
 
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 2deb71addc84..b730c0951194 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "8.13.0";
+  version = "9.0.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-HlHT7fJbDz8+7pTWHortK2xKDzoIQElJPbUTxmIdGCs=";
+    hash = "sha256-5PhINmG1y+oAEpfxaB8ZFHfWlo0jRZnUKO5oUPcnFuM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-aiobotocore/default.nix b/pkgs/development/python-modules/types-aiobotocore/default.nix
index e69d9ab8e5df..ce64a0833e04 100644
--- a/pkgs/development/python-modules/types-aiobotocore/default.nix
+++ b/pkgs/development/python-modules/types-aiobotocore/default.nix
@@ -364,12 +364,12 @@
 
 buildPythonPackage rec {
   pname = "types-aiobotocore";
-  version = "2.11.2";
+  version = "2.12.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bnYg/u2BvG3/iBJ5xKQwiMG/n8vREpnOGHYaSlwlnRs=";
+    hash = "sha256-ma/pyfhqWpWFZ+V4O+mNr4SfoOC4/vn9+Hy+rYGAaG8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-beautifulsoup4/default.nix b/pkgs/development/python-modules/types-beautifulsoup4/default.nix
index 923d2e581f97..687dadc3eb65 100644
--- a/pkgs/development/python-modules/types-beautifulsoup4/default.nix
+++ b/pkgs/development/python-modules/types-beautifulsoup4/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-beautifulsoup4";
-  version = "4.12.0.20240106";
+  version = "4.12.0.20240229";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mNYomFtxsUC9O8IqjLCrYDwvLQjyDTeSWWXrSiFzm+g=";
+    hash = "sha256-435M+hGwOwF3VzLlbSwBDLJO4Qd4Yne65rwPo+MFtoY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-html5lib/default.nix b/pkgs/development/python-modules/types-html5lib/default.nix
index 7e5fbfe90251..996f8b4e5c3d 100644
--- a/pkgs/development/python-modules/types-html5lib/default.nix
+++ b/pkgs/development/python-modules/types-html5lib/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-html5lib";
-  version = "1.1.11.20240222";
+  version = "1.1.11.20240228";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2VF+xrovofYxE+KTClm2ByKpdsyYO5TX/XcvFIZeEVI=";
+    hash = "sha256-InNrcpnmBexLpTnUhpHpBf0MYcPqYQrMWZIiMtyEzt4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-lxml/default.nix b/pkgs/development/python-modules/types-lxml/default.nix
new file mode 100644
index 000000000000..21a8dc882161
--- /dev/null
+++ b/pkgs/development/python-modules/types-lxml/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, lxml
+, pyright
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, setuptools-scm
+, typeguard
+, types-beautifulsoup4
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "types-lxml";
+  version = "2024.02.09";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "abelcheung";
+    repo = "types-lxml";
+    rev = "refs/tags/${version}";
+    hash = "sha256-vmRbzfwlGGxd64KX8j4B3O9c7kg7hXSsCEYq3WAFdmk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    types-beautifulsoup4
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    lxml
+    pyright
+    pytestCheckHook
+    typeguard
+  ];
+
+  pythonImportsCheck = [
+    "lxml-stubs"
+  ];
+
+  disabledTests = [
+    # AttributeError: 'bytes' object has no attribute 'find_class'
+    # https://github.com/abelcheung/types-lxml/issues/34
+    "test_bad_methodfunc"
+    "test_find_class"
+    "test_find_rel_links"
+    "test_iterlinks"
+    "test_make_links_absolute"
+    "test_resolve_base_href"
+    "test_rewrite_links"
+  ];
+
+  meta = with lib; {
+    description = "Complete lxml external type annotation";
+    homepage = "https://github.com/abelcheung/types-lxml";
+    changelog = "https://github.com/abelcheung/types-lxml/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/universal-silabs-flasher/default.nix b/pkgs/development/python-modules/universal-silabs-flasher/default.nix
index 938856691b7a..e9b8e0294d80 100644
--- a/pkgs/development/python-modules/universal-silabs-flasher/default.nix
+++ b/pkgs/development/python-modules/universal-silabs-flasher/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "universal-silabs-flasher";
-  version = "0.0.18";
+  version = "0.0.19";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "NabuCasa";
     repo = "universal-silabs-flasher";
-    rev = "v${version}";
-    hash = "sha256-XUMpWzDqouhbsP+s0b13f6N0YGdXJK6qhbWQLqMzNHM=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-VoO9B27CNY2Cnt/Q2HsU6DVYkukQMgbIHc6xqfN0P7w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/unstructured/default.nix b/pkgs/development/python-modules/unstructured/default.nix
index ac1f937a44b4..388cd89371ed 100644
--- a/pkgs/development/python-modules/unstructured/default.nix
+++ b/pkgs/development/python-modules/unstructured/default.nix
@@ -56,7 +56,7 @@
 , grpcio
 }:
 let
-  version = "0.12.4";
+  version = "0.12.5";
   optional-dependencies = {
     huggingflace = [
       langdetect
@@ -90,7 +90,7 @@ buildPythonPackage {
     owner = "Unstructured-IO";
     repo = "unstructured";
     rev = "refs/tags/${version}";
-    hash = "sha256-lfsCmEhF6CTrEIa4y98NgDw6EgfLk39BVsTmYZD6MkU=";
+    hash = "sha256-69GukU2R38tM43vAk+l9vjypgjTS/Bcmcdcj1HXnzv4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/userpath/default.nix b/pkgs/development/python-modules/userpath/default.nix
index 5f4a31d39b19..014de3cfeb1e 100644
--- a/pkgs/development/python-modules/userpath/default.nix
+++ b/pkgs/development/python-modules/userpath/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "userpath";
-  version = "1.9.1";
-  format = "pyproject";
+  version = "1.9.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zoF2co2YyRS2QBeBvzsj/M2WjRZHU5yHiMcBA3XgJ5Y=";
+    hash = "sha256-bFIojasGklfMgxhG0V1IEzUiRV1Gd+5pqXgfEdvv2BU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/vllm/default.nix b/pkgs/development/python-modules/vllm/default.nix
index e8127c4caf8b..4977a829d4c7 100644
--- a/pkgs/development/python-modules/vllm/default.nix
+++ b/pkgs/development/python-modules/vllm/default.nix
@@ -36,14 +36,14 @@
 
 buildPythonPackage rec {
   pname = "vllm";
-  version = "0.3.1";
+  version = "0.3.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "vllm-project";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-hfd4ScU0mkZ7z4+w08BUA1K9bPXSiFThfiO+Ll2MTtg=";
+    hash = "sha256-ZFwlR8Xnen7FFblwzPJm0k+3iEo2p27QhfRaDfzwbOM=";
   };
 
   # Otherwise it tries to enumerate host supported ROCM gfx archs, and that is not possible due to sandboxing.
@@ -62,11 +62,11 @@ buildPythonPackage rec {
     substituteInPlace requirements.txt \
       --replace "cupy-cuda12x == 12.1.0" "cupy == 12.3.0"
     substituteInPlace requirements-build.txt \
-      --replace "torch==2.1.2" "torch == 2.2.0"
+      --replace "torch==2.1.2" "torch == 2.2.1"
     substituteInPlace pyproject.toml \
-      --replace "torch == 2.1.2" "torch == 2.2.0"
+      --replace "torch == 2.1.2" "torch == 2.2.1"
     substituteInPlace requirements.txt \
-      --replace "torch == 2.1.2" "torch == 2.2.0"
+      --replace "torch == 2.1.2" "torch == 2.2.1"
   '' + lib.optionalString rocmSupport ''
     substituteInPlace setup.py \
       --replace "'hipcc', '--version'" "'${writeShellScript "hipcc-version-stub" "echo HIP version: 0.0"}'"
diff --git a/pkgs/development/python-modules/yolink-api/default.nix b/pkgs/development/python-modules/yolink-api/default.nix
index 6dacbe3f1f18..e1e43b34a7ae 100644
--- a/pkgs/development/python-modules/yolink-api/default.nix
+++ b/pkgs/development/python-modules/yolink-api/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "yolink-api";
-  version = "0.3.8";
-  format = "pyproject";
+  version = "0.3.9";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "YoSmart-Inc";
-    repo = pname;
+    repo = "yolink-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QkN6gF2Gq/gWkQxm8ahXBEsG/ClydHaaKnT3t+r5sNo=";
+    hash = "sha256-RXO++8Dh0hLkjXev/WDhPixLHKXlqRabbrPW6Hs/xoM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index e7005357f2bb..fb3e6ffb9d00 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -452,6 +452,7 @@ let
     topicmodels = [ pkgs.gsl ];
     udunits2 = with pkgs; [ udunits expat ];
     units = [ pkgs.udunits ];
+    vdiffr = [ pkgs.libpng.dev ];
     V8 = [ pkgs.v8 ];
     XBRL = with pkgs; [ zlib libxml2.dev ];
     XLConnect = [ pkgs.jdk ];
@@ -500,9 +501,10 @@ let
     RDieHarder = [ pkgs.gsl ];
     QF = [ pkgs.gsl ];
     PICS = [ pkgs.gsl ];
-    RcppCWB = [ pkgs.pkg-config ];
+    RcppCWB = [ pkgs.pkg-config pkgs.pcre2 ];
     redux = [ pkgs.pkg-config ];
     rrd = [ pkgs.pkg-config ];
+    Rbwa = [ pkgs.zlib.dev ];
     trackViewer = [ pkgs.zlib.dev ];
     themetagenomics = [ pkgs.zlib.dev ];
     NanoMethViz = [ pkgs.zlib.dev ];
@@ -593,6 +595,7 @@ let
     Signac = [ pkgs.zlib.dev ];
     TransView = [ pkgs.zlib.dev ];
     bigsnpr = [ pkgs.zlib.dev ];
+    zlib = [ pkgs.zlib.dev ];
     divest = [ pkgs.zlib.dev ];
     hipread = [ pkgs.zlib.dev ];
     jackalope = with pkgs; [ zlib.dev xz.dev ];
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index a60ef454284d..b2c5f8477e81 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.2.8";
+  version = "3.2.24";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-Hd1YOzIH6v8N/oP2cJRUv6OkgOv9aSe7nkvzpsCN3rc=";
+    hash = "sha256-1v6Mft+FVEGXNQDiulpOvRy3KAD1JPkstjrURlL5r4o=";
   };
 
   patches = [
@@ -20,6 +20,8 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   pythonRelaxDeps = [
+    "boto3"
+    "botocore"
     "bc-detect-secrets"
     "bc-python-hcl2"
     "dpath"
diff --git a/pkgs/development/tools/bearer/default.nix b/pkgs/development/tools/bearer/default.nix
index 36d87efb1299..5cd2cfff0d76 100644
--- a/pkgs/development/tools/bearer/default.nix
+++ b/pkgs/development/tools/bearer/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "bearer";
-  version = "1.39.0";
+  version = "1.40.1";
 
   src = fetchFromGitHub {
     owner = "bearer";
     repo = "bearer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GgdEOTrzaTsSTRW2NUzdxzUxGI1UCIk/6mAoyRysRVc=";
+    hash = "sha256-yfgbkF7ANJyyy3qYNLOg85+MJ8SdHCZkXsOhH0vzy8o=";
   };
 
-  vendorHash = "sha256-fCSgRjsioXyt9mxQoZxyA+F63FAwlmwJAjquR+zAgQg=";
+  vendorHash = "sha256-TKdZVNt98jrIzXekfxRXfxEfEhb2doWTTGojOLOcKzU=";
 
   subPackages = [
     "cmd/bearer"
diff --git a/pkgs/development/tools/biome/default.nix b/pkgs/development/tools/biome/default.nix
index c7f3632a0846..2f1a5da293c5 100644
--- a/pkgs/development/tools/biome/default.nix
+++ b/pkgs/development/tools/biome/default.nix
@@ -2,7 +2,7 @@
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
-, libgit2_1_6
+, libgit2
 , rust-jemalloc-sys
 , zlib
 , stdenv
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = [
-    libgit2_1_6
+    libgit2
     rust-jemalloc-sys
     zlib
   ] ++ lib.optionals stdenv.isDarwin [
@@ -47,6 +47,7 @@ rustPlatform.buildRustPackage rec {
 
   env = {
     BIOME_VERSION = version;
+    LIBGIT2_NO_VENDOR = 1;
   };
 
   preCheck = ''
diff --git a/pkgs/development/tools/build-managers/xmake/default.nix b/pkgs/development/tools/build-managers/xmake/default.nix
index 80c610eaa32b..b6d2f8ab6909 100644
--- a/pkgs/development/tools/build-managers/xmake/default.nix
+++ b/pkgs/development/tools/build-managers/xmake/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xmake";
-  version = "2.8.6";
+  version = "2.8.7";
 
   src = fetchurl {
     url = "https://github.com/xmake-io/xmake/releases/download/v${version}/xmake-v${version}.tar.gz";
-    hash = "sha256-DmKE6v1RoyNgmCE8CVI39WrK+umoilBAa4gszl6iaz0=";
+    hash = "sha256-jHqMb3ex/BcF54ViTpoelEcWhEqDeP7Oc0HeJ7mfC4k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index b1098bd32129..51ed01e27d58 100644
--- a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "cirrus-cli";
-  version = "0.112.0";
+  version = "0.112.1";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3ad/2h9rw1BeMcr1lLEZp4fzJHfwl7y3/tTjmKKAvho=";
+    sha256 = "sha256-v0VYjG1GJwfXXabk9aBs99xGk6F0bFPFBBe//T7P4yQ=";
   };
 
   vendorHash = "sha256-tHEbHExdbWeZm3+rwRYpRILyPYEYdeVJ91Qr/yNIKV8=";
diff --git a/pkgs/development/tools/language-servers/gopls/default.nix b/pkgs/development/tools/language-servers/gopls/default.nix
index b1a2fa72d445..84470fcfe110 100644
--- a/pkgs/development/tools/language-servers/gopls/default.nix
+++ b/pkgs/development/tools/language-servers/gopls/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gopls";
-  version = "0.15.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
     rev = "gopls/v${version}";
-    hash = "sha256-Ii3c7zqMC/CeSv6X7wSgUdCkVbP+bxDuUcqPKIeE3Is=";
+    hash = "sha256-GJ2zc5OgZXwEq12f0PyvgOOUd7cctUbFvdp095VQb9E=";
   };
 
   modRoot = "gopls";
-  vendorHash = "sha256-i6Pa2cMxf97LKVy6ZVyPvjAVbQHaF84RAO0dM/dgk/Y=";
+  vendorHash = "sha256-Xxik0t1BHQPqzrE3Oh3VhODn+IqIVa+TCNqQSnmbBM0=";
 
   doCheck = false;
 
@@ -22,6 +22,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Official language server for the Go language";
     homepage = "https://github.com/golang/tools/tree/master/gopls";
+    changelog = "https://github.com/golang/tools/releases/tag/${src.rev}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ mic92 rski SuperSandro2000 zimbatm ];
     mainProgram = "gopls";
diff --git a/pkgs/development/tools/rbspy/default.nix b/pkgs/development/tools/rbspy/default.nix
index d30c75ea244e..309f8dbd9065 100644
--- a/pkgs/development/tools/rbspy/default.nix
+++ b/pkgs/development/tools/rbspy/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rbspy";
-  version = "0.19.0";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "rbspy";
     repo = "rbspy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OO0EX+r7W8HxPjbER+84m+nagPBM6GlCdB30VQV58mQ=";
+    hash = "sha256-2+miC7cp6YbeI7uucFlSdlDpPboJOhhBq7/eqXxZVqs=";
   };
 
-  cargoHash = "sha256-yywh/O4odm+VmM0k/Ft0DEihq6r+xehrpjbYryvVStw=";
+  cargoHash = "sha256-I+nh6cKniPIG5VYMMsABZNSP/c3DLWswsjenaQBh/X8=";
 
   # error: linker `aarch64-linux-gnu-gcc` not found
   postPatch = ''
diff --git a/pkgs/development/tools/rust/cargo-audit/default.nix b/pkgs/development/tools/rust/cargo-audit/default.nix
index a1268e9fb318..c48b34e0d668 100644
--- a/pkgs/development/tools/rust/cargo-audit/default.nix
+++ b/pkgs/development/tools/rust/cargo-audit/default.nix
@@ -2,7 +2,6 @@
 , rustPlatform
 , fetchCrate
 , pkg-config
-, libgit2
 , openssl
 , zlib
 , stdenv
@@ -26,7 +25,6 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = [
-    libgit2
     openssl
     zlib
   ] ++ lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/tools/rust/cargo-codspeed/default.nix b/pkgs/development/tools/rust/cargo-codspeed/default.nix
index 849aa5a8ca59..1ae11e276056 100644
--- a/pkgs/development/tools/rust/cargo-codspeed/default.nix
+++ b/pkgs/development/tools/rust/cargo-codspeed/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , curl
 , pkg-config
-, libgit2_1_5
+, libgit2
 , openssl
 , zlib
 , stdenv
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = [
     curl
-    libgit2_1_5
+    libgit2
     openssl
     zlib
   ] ++ lib.optionals stdenv.isDarwin [
@@ -40,6 +40,10 @@ rustPlatform.buildRustPackage rec {
   cargoBuildFlags = [ "-p=cargo-codspeed" ];
   cargoTestFlags = cargoBuildFlags;
 
+  env = {
+    LIBGIT2_NO_VENDOR = 1;
+  };
+
   meta = with lib; {
     description = "Cargo extension to build & run your codspeed benchmarks";
     homepage = "https://github.com/CodSpeedHQ/codspeed-rust";
diff --git a/pkgs/development/tools/rust/cargo-dephell/default.nix b/pkgs/development/tools/rust/cargo-dephell/default.nix
index 63a8cabccefa..b01a722e5ea1 100644
--- a/pkgs/development/tools/rust/cargo-dephell/default.nix
+++ b/pkgs/development/tools/rust/cargo-dephell/default.nix
@@ -6,7 +6,7 @@
 , curl
 , openssl
 , darwin
-, libgit2_1_3_0
+, libgit2
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
   ] ++ lib.optionals stdenv.isDarwin [
     curl
     darwin.apple_sdk.frameworks.Security
-    libgit2_1_3_0
+    libgit2
   ];
 
   # update Cargo.lock to work with openssl 3
@@ -43,6 +43,10 @@ rustPlatform.buildRustPackage rec {
     ln -sf ${./Cargo.lock} Cargo.lock
   '';
 
+  env = {
+    LIBGIT2_NO_VENDOR = 1;
+  };
+
   meta = with lib; {
     description = "A tool to analyze the third-party dependencies imported by a rust crate or rust workspace";
     homepage = "https://github.com/mimoo/cargo-dephell";
diff --git a/pkgs/development/tools/rust/cargo-generate/default.nix b/pkgs/development/tools/rust/cargo-generate/default.nix
index f29943a6eada..299bcd7ffad7 100644
--- a/pkgs/development/tools/rust/cargo-generate/default.nix
+++ b/pkgs/development/tools/rust/cargo-generate/default.nix
@@ -2,7 +2,7 @@
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
-, libgit2_1_6
+, libgit2
 , openssl
 , stdenv
 , darwin
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ libgit2_1_6 openssl ] ++ lib.optionals stdenv.isDarwin [
+  buildInputs = [ libgit2 openssl ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
   ];
 
@@ -48,6 +48,10 @@ rustPlatform.buildRustPackage rec {
     "--skip=git::utils::should_canonicalize"
   ];
 
+  env = {
+    LIBGIT2_NO_VENDOR = 1;
+  };
+
   meta = with lib; {
     description = "A tool to generate a new Rust project by leveraging a pre-existing git repository as a template";
     homepage = "https://github.com/cargo-generate/cargo-generate";
diff --git a/pkgs/development/tools/rust/cargo-ui/default.nix b/pkgs/development/tools/rust/cargo-ui/default.nix
index 7af23346f0fb..870b411afc9e 100644
--- a/pkgs/development/tools/rust/cargo-ui/default.nix
+++ b/pkgs/development/tools/rust/cargo-ui/default.nix
@@ -2,7 +2,7 @@
 , rustPlatform
 , fetchCrate
 , pkg-config
-, libgit2_1_5
+, libgit2
 , openssl
 , stdenv
 , expat
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = [
-    libgit2_1_5
+    libgit2
     openssl
   ] ++ lib.optionals stdenv.isLinux [
     expat
@@ -48,6 +48,10 @@ rustPlatform.buildRustPackage rec {
       --add-rpath ${lib.makeLibraryPath [ fontconfig libGL ]}
   '';
 
+  env = {
+    LIBGIT2_NO_VENDOR = 1;
+  };
+
   meta = with lib; {
     description = "A GUI for Cargo";
     homepage = "https://github.com/slint-ui/cargo-ui";
diff --git a/pkgs/development/tools/rust/cargo-unused-features/default.nix b/pkgs/development/tools/rust/cargo-unused-features/default.nix
index f6e3057ecffe..70518087e086 100644
--- a/pkgs/development/tools/rust/cargo-unused-features/default.nix
+++ b/pkgs/development/tools/rust/cargo-unused-features/default.nix
@@ -3,7 +3,7 @@
 , fetchCrate
 , curl
 , pkg-config
-, libgit2_1_5
+, libgit2
 , openssl
 , stdenv
 , darwin
@@ -27,13 +27,17 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = [
     curl
-    libgit2_1_5
+    libgit2
     openssl
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreFoundation
     darwin.apple_sdk.frameworks.Security
   ];
 
+  env = {
+    LIBGIT2_NO_VENDOR = 1;
+  };
+
   meta = with lib; {
     description = "A tool to find potential unused enabled feature flags and prune them";
     homepage = "https://github.com/timonpost/cargo-unused-features";
diff --git a/pkgs/development/tools/rust/cargo-update/default.nix b/pkgs/development/tools/rust/cargo-update/default.nix
index 3b3418f38dc0..986f705455c6 100644
--- a/pkgs/development/tools/rust/cargo-update/default.nix
+++ b/pkgs/development/tools/rust/cargo-update/default.nix
@@ -7,7 +7,7 @@
 , ronn
 , stdenv
 , curl
-, libgit2_1_5
+, libgit2
 , libssh2
 , openssl
 , zlib
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = [
-    libgit2_1_5
+    libgit2
     libssh2
     openssl
     zlib
@@ -55,6 +55,10 @@ rustPlatform.buildRustPackage rec {
     installManPage man/*.1
   '';
 
+  env = {
+    LIBGIT2_NO_VENDOR = 1;
+  };
+
   meta = with lib; {
     description = "A cargo subcommand for checking and applying updates to installed executables";
     homepage = "https://github.com/nabijaczleweli/cargo-update";
diff --git a/pkgs/development/tools/rust/cargo-workspaces/default.nix b/pkgs/development/tools/rust/cargo-workspaces/default.nix
index 5cb3c4de96b1..b087ef552ca9 100644
--- a/pkgs/development/tools/rust/cargo-workspaces/default.nix
+++ b/pkgs/development/tools/rust/cargo-workspaces/default.nix
@@ -2,7 +2,6 @@
 , rustPlatform
 , fetchCrate
 , pkg-config
-, libgit2_1_6
 , libssh2
 , openssl
 , zlib
@@ -26,7 +25,6 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = [
-    libgit2_1_6
     libssh2
     openssl
     zlib
diff --git a/pkgs/development/tools/rust/typeshare/default.nix b/pkgs/development/tools/rust/typeshare/default.nix
index 4f5eb0a5a6ec..9d9c554daaee 100644
--- a/pkgs/development/tools/rust/typeshare/default.nix
+++ b/pkgs/development/tools/rust/typeshare/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typeshare";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "1password";
     repo = "typeshare";
     rev = "v${version}";
-    hash = "sha256-Ftr0YMrY6tPpfg25swYntBXLWGKT00PEz79aOiSgLsU=";
+    hash = "sha256-ykrtvXPXxNYrUQNScit+REb7/6mE0FOzBQxPdbWodgk=";
   };
 
-  cargoHash = "sha256-VIPIFdbyPcflqHHLkzpDugmw9+9CJRIv+Oy7PoaUZ5g=";
+  cargoHash = "sha256-/oIezLqd3hkWrfO2pml31de+pgpEXhXHxIxt10rPJZo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/rye/Cargo.lock b/pkgs/development/tools/rye/Cargo.lock
index 85583e506891..0b4ed0aab033 100644
--- a/pkgs/development/tools/rye/Cargo.lock
+++ b/pkgs/development/tools/rye/Cargo.lock
@@ -403,25 +403,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "crossbeam-deque"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
-dependencies = [
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
 name = "crossbeam-utils"
 version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -811,6 +792,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "fslock"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04412b8935272e3a9bae6f48c7bfff74c2911f60525404edfdd28e49884c3bfb"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
 name = "generic-array"
 version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1059,6 +1050,32 @@ dependencies = [
 ]
 
 [[package]]
+name = "insta"
+version = "1.35.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c985c1bef99cf13c58fade470483d81a2bfe846ebde60ed28cc2dddec2df9e2"
+dependencies = [
+ "console",
+ "lazy_static",
+ "linked-hash-map",
+ "regex",
+ "serde",
+ "similar",
+ "yaml-rust",
+]
+
+[[package]]
+name = "insta-cmd"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1980f17994b79f75670aa90cfc8d35edc4aa248f16aa48b5e27835b080e452a2"
+dependencies = [
+ "insta",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
 name = "instant"
 version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1153,6 +1170,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "linked-hash-map"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+[[package]]
 name = "linux-raw-sys"
 version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1615,26 +1638,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "rayon"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
-dependencies = [
- "crossbeam-deque",
- "crossbeam-utils",
-]
-
-[[package]]
 name = "redox_syscall"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1792,7 +1795,7 @@ dependencies = [
 
 [[package]]
 name = "rye"
-version = "0.24.0"
+version = "0.27.0"
 dependencies = [
  "age",
  "anyhow",
@@ -1806,11 +1809,14 @@ dependencies = [
  "decompress",
  "dialoguer",
  "flate2",
+ "fslock",
  "git-testament",
  "globset",
  "hex",
  "home",
  "indicatif",
+ "insta",
+ "insta-cmd",
  "junction",
  "license",
  "memchr",
@@ -1837,7 +1843,6 @@ dependencies = [
  "toml_edit",
  "url",
  "walkdir",
- "whattheshell",
  "which",
  "winapi",
  "winreg",
@@ -2006,6 +2011,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[package]]
+name = "similar"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21"
+
+[[package]]
 name = "slug"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2101,7 +2112,6 @@ dependencies = [
  "libc",
  "ntapi",
  "once_cell",
- "rayon",
  "winapi",
 ]
 
@@ -2515,16 +2525,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
 
 [[package]]
-name = "whattheshell"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c94d2698698cb1322e20292460fd158373af5fb2802afb6bea9ee17628efddb"
-dependencies = [
- "sysinfo",
- "thiserror",
-]
-
-[[package]]
 name = "which"
 version = "6.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2742,6 +2742,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "yaml-rust"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
+dependencies = [
+ "linked-hash-map",
+]
+
+[[package]]
 name = "zerocopy"
 version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/pkgs/development/tools/rye/default.nix b/pkgs/development/tools/rye/default.nix
index 3c625b1edb3e..fb7db7343a0b 100644
--- a/pkgs/development/tools/rye/default.nix
+++ b/pkgs/development/tools/rye/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rye";
-  version = "0.24.0";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "mitsuhiko";
     repo = "rye";
     rev = "refs/tags/${version}";
-    hash = "sha256-OiChd0qwgs3Wi4Xky27/99vBwaKNsq+4E+gpu5zwFqs=";
+    hash = "sha256-tqwjhA81UYCtZjz6X5tIZ91pDVPe4UU+sTKUIzmOHlM=";
   };
 
   cargoLock = {
@@ -53,6 +53,23 @@ rustPlatform.buildRustPackage rec {
 
   checkFlags = [
     "--skip=utils::test_is_inside_git_work_tree"
+
+    # The following require internet access to fetch a python binary
+    "--skip=test_add_and_sync_no_auto_sync"
+    "--skip=test_add_autosync"
+    "--skip=test_add_flask"
+    "--skip=test_add_from_find_links"
+    "--skip=test_basic_tool_behavior"
+    "--skip=test_config_empty"
+    "--skip=test_config_get_set_multiple"
+    "--skip=test_config_incompatible_format_and_show_path"
+    "--skip=test_config_show_path"
+    "--skip=test_empty_sync"
+    "--skip=test_fetch"
+    "--skip=test_init_default"
+    "--skip=test_init_lib"
+    "--skip=test_init_script"
+    "--skip=test_lint_and_format"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/vultr-cli/default.nix b/pkgs/development/tools/vultr-cli/default.nix
index 3bbd51726185..fc557907e4df 100644
--- a/pkgs/development/tools/vultr-cli/default.nix
+++ b/pkgs/development/tools/vultr-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vultr-cli";
-  version = "3.0.0";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "vultr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-k8YaoH75U1BvC3I71e1wY2TMaCVyZyBrQxYcEv3+bu8=";
+    hash = "sha256-9akEDsBj2EpZtUBh0+Dck5otsmFzdvJshXxOtYVdi1o=";
   };
 
-  vendorHash = "sha256-QbzKXPgUWIMVo29xGRcL+KFva8cs+2goqh9b6h29aeY=";
+  vendorHash = "sha256-jkl36S7h1l6FeeHEhc+PKOQO9Uq/4L5wTb8+PhG2exY=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/games/openmw/tes3mp.nix b/pkgs/games/openmw/tes3mp.nix
index 915c006f9137..318c28aff922 100644
--- a/pkgs/games/openmw/tes3mp.nix
+++ b/pkgs/games/openmw/tes3mp.nix
@@ -7,14 +7,13 @@
 , luajit
 , makeWrapper
 , symlinkJoin
-, disable-warnings-if-gcc13
 }:
 
 # revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy
 
 let
   # raknet could also be split into dev and lib outputs
-  raknet = disable-warnings-if-gcc13 (stdenv.mkDerivation {
+  raknet = stdenv.mkDerivation {
     pname = "raknet";
     version = "unstable-2020-01-19";
 
@@ -46,7 +45,7 @@ let
     installPhase = ''
       install -Dm555 lib/libRakNetLibStatic.a $out/lib/libRakNetLibStatic.a
     '';
-  });
+  };
 
   coreScripts = stdenv.mkDerivation {
     pname = "corescripts";
diff --git a/pkgs/games/unnethack/default.nix b/pkgs/games/unnethack/default.nix
index af402a7de935..f328b8c01eed 100644
--- a/pkgs/games/unnethack/default.nix
+++ b/pkgs/games/unnethack/default.nix
@@ -33,6 +33,11 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  # Fails at startup due to off-by-one:
+  #   https://github.com/NixOS/nixpkgs/issues/292113#issuecomment-1969989058
+  # TODO: drop it once 6.x branch releases.
+  hardeningDisable = [ "fortify3" ];
+
   # Fails the build occasionally due to missing buid depends:
   #   ./../sys/unix/unixmain.c:9:10: fatal error: date.h: No such file or directory
   # TODO: remove once upstream issue is fixed:
diff --git a/pkgs/kde/lib/mk-kde-derivation.nix b/pkgs/kde/lib/mk-kde-derivation.nix
index 714a81ce4420..ddada8fb77f0 100644
--- a/pkgs/kde/lib/mk-kde-derivation.nix
+++ b/pkgs/kde/lib/mk-kde-derivation.nix
@@ -108,6 +108,9 @@ in
           homepage = "https://invent.kde.org/${projectInfo.${pname}.repo_path}";
           license = lib.filter (l: l != null) (map (l: licensesBySpdxId.${l}) licenseInfo.${pname});
           maintainers = lib.teams.qt-kde.members;
+          # Platforms are currently limited to what upstream tests in CI, but can be extended if
+          # there's interest.
+          platforms = lib.platforms.linux ++ lib.platforms.freebsd;
         }
         // meta;
     };
diff --git a/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix
index dc54611d335a..767597548991 100644
--- a/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix
+++ b/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, mfcj470dwlpr, makeWrapper}:
+{ lib, stdenv, fetchurl, mfcj470dwlpr, makeWrapper, bash }:
 
 stdenv.mkDerivation rec {
   pname = "mfcj470dw-cupswrapper";
@@ -10,27 +10,27 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ mfcj470dwlpr ];
+  buildInputs = [
+    bash # shebang
+  ];
 
-  patchPhase = ''
+  makeFlags = [ "-C" "brcupsconfpt1" "all" ];
+
+  postPatch = ''
     WRAPPER=cupswrapper/cupswrappermfcj470dw
 
     substituteInPlace $WRAPPER \
-    --replace /opt "${mfcj470dwlpr}/opt" \
-    --replace /usr "${mfcj470dwlpr}/usr" \
-    --replace /etc "$out/etc"
+      --replace-fail /opt "${mfcj470dwlpr}/opt" \
+      --replace-fail /usr "${mfcj470dwlpr}/usr" \
+      --replace-fail /etc "$out/etc"
 
     substituteInPlace $WRAPPER \
-    --replace "cp " "cp -p "
-    '';
-
-  buildPhase = ''
-    cd brcupsconfpt1
-    make all
-    cd ..
-    '';
+      --replace-fail "cp " "cp -p "
+  '';
 
   installPhase = ''
+    runHook preInstall
+
     TARGETFOLDER=$out/opt/brother/Printers/mfcj470dw/cupswrapper/
     PPDFOLDER=$out/share/cups/model/
     FILTERFOLDER=$out/lib/cups/filter/
@@ -44,12 +44,9 @@ stdenv.mkDerivation rec {
     cp PPD/brother_mfcj470dw_printer_en.ppd $PPDFOLDER
 
     ln -s ${mfcj470dwlpr}/lib/cups/filter/brother_lpdwrapper_mfcj470dw $FILTERFOLDER/
-    '';
 
-  cleanPhase = ''
-    cd brcupsconfpt1
-    make clean
-    '';
+    runHook postInstall
+  '';
 
   meta = {
     homepage = "http://www.brother.com/";
diff --git a/pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix
index 1653ced85c5a..4e6f37112087 100644
--- a/pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix
+++ b/pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, mfcj6510dwlpr, makeWrapper}:
+{ lib, stdenv, fetchurl, mfcj6510dwlpr, makeWrapper, bash }:
 
 stdenv.mkDerivation rec {
   pname = "mfcj6510dw-cupswrapper";
@@ -10,15 +10,15 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ mfcj6510dwlpr ];
+  buildInputs = [
+    bash # shebang
+  ];
 
-  buildPhase = ''
-    cd brcupsconfig
-    make all
-    cd ..
-    '';
+  makeFlags = [ "-C" "brcupsconfig" "all" ];
 
   installPhase = ''
+    runHook preInstall
+
     TARGETFOLDER=$out/opt/brother/Printers/mfcj6510dw/cupswrapper
     mkdir -p $TARGETFOLDER
     cp PPD/brother_mfcj6510dw_printer_en.ppd $TARGETFOLDER
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     cp scripts/cupswrappermfcj6510dw $TARGETFOLDER
     sed -i -e '26,304d' $TARGETFOLDER/cupswrappermfcj6510dw
     substituteInPlace $TARGETFOLDER/cupswrappermfcj6510dw \
-      --replace "\$ppd_file_name" "$TARGETFOLDER/brother_mfcj6510dw_printer_en.ppd"
+      --replace-fail "\$ppd_file_name" "$TARGETFOLDER/brother_mfcj6510dw_printer_en.ppd"
 
     CPUSFILTERFOLDER=$out/lib/cups/filter
     mkdir -p $TARGETFOLDER $CPUSFILTERFOLDER
@@ -37,22 +37,19 @@ stdenv.mkDerivation rec {
     #sed -i -e '33,40d' $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw
     #sed -i -e '34,35d' $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw
     #substituteInPlace $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw \
-    #  --replace "/opt/brother/$``{device_model``}/$``{printer_model``}/lpd/filter$``{printer_model``}" \
+    #  --replace-fail "/opt/brother/$``{device_model``}/$``{printer_model``}/lpd/filter$``{printer_model``}" \
     #    "${mfcj6510dwlpr}/opt/brother/Printers/mfcj6510dw/lpd/filtermfcj6510dw" \
-    #  --replace "/opt/brother/Printers/$``{printer_model``}/inf/br$``{printer_model``}rc" \
+    #  --replace-fail "/opt/brother/Printers/$``{printer_model``}/inf/br$``{printer_model``}rc" \
     #    "${mfcj6510dwlpr}/opt/brother/Printers/mfcj6510dw/inf/brmfcj6510dwrc" \
-    #  --replace "/opt/brother/$``{device_model``}/$``{printer_model``}/cupswrapper/brcupsconfpt1" \
+    #  --replace-fail "/opt/brother/$``{device_model``}/$``{printer_model``}/cupswrapper/brcupsconfpt1" \
     #    "$out/opt/brother/Printers/mfcj6510dw/cupswrapper/brcupsconfpt1" \
-    #  --replace "/usr/share/cups/model/Brother/brother_" "$out/opt/brother/Printers/mfcj6510dw/cupswrapper/brother_"
+    #  --replace-fail "/usr/share/cups/model/Brother/brother_" "$out/opt/brother/Printers/mfcj6510dw/cupswrapper/brother_"
     #substituteInPlace $CPUSFILTERFOLDER/brother_lpdwrapper_mfcj6510dw \
-    #  --replace "$``{printer_model``}" "mfcj6510dw" \
-    #  --replace "$``{printer_name``}" "MFCJ6510DW"
-    '';
+    #  --replace-fail "$``{printer_model``}" "mfcj6510dw" \
+    #  --replace-fail "$``{printer_name``}" "MFCJ6510DW"
 
-  cleanPhase = ''
-    cd brcupsconfpt1
-    make clean
-    '';
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "http://www.brother.com/";
diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix
index 35516fdf0e69..fadb9df98086 100644
--- a/pkgs/os-specific/linux/reptyr/default.nix
+++ b/pkgs/os-specific/linux/reptyr/default.nix
@@ -17,7 +17,9 @@ in stdenv.mkDerivation rec {
 
   nativeCheckInputs = [ python ];
 
-  doCheck = true;
+  # reptyr needs to do ptrace of a non-child process
+  # It can be neither used nor tested if the kernel is not told to allow this
+  doCheck = false;
 
   checkFlags = [
     "PYTHON_CMD=${python.interpreter}"
diff --git a/pkgs/pkgs-lib/formats.nix b/pkgs/pkgs-lib/formats.nix
index c78bd82e01ef..1b72270b43ca 100644
--- a/pkgs/pkgs-lib/formats.nix
+++ b/pkgs/pkgs-lib/formats.nix
@@ -95,29 +95,13 @@ rec {
 
   };
 
-  ini = {
-    # Represents lists as duplicate keys
-    listsAsDuplicateKeys ? false,
-    # Alternative to listsAsDuplicateKeys, converts list to non-list
-    # listToValue :: [IniAtom] -> IniAtom
-    listToValue ? null,
-    ...
-    }@args:
-    assert !listsAsDuplicateKeys || listToValue == null;
-    {
-
-    type = with lib.types; let
-
-      singleIniAtom = nullOr (oneOf [
-        bool
-        int
-        float
-        str
-      ]) // {
+  # the ini formats share a lot of code
+  inherit (
+    let
+      singleIniAtom = with lib.types; nullOr (oneOf [ bool int float str ]) // {
         description = "INI atom (null, bool, int, float or string)";
       };
-
-      iniAtom =
+      iniAtom = with lib.types; { listsAsDuplicateKeys, listToValue }:
         if listsAsDuplicateKeys then
           coercedTo singleIniAtom lib.singleton (listOf singleIniAtom) // {
             description = singleIniAtom.description + " or a list of them for duplicate keys";
@@ -128,21 +112,79 @@ rec {
           }
         else
           singleIniAtom;
+      iniSection = with lib.types; { listsAsDuplicateKeys, listToValue }@args:
+        attrsOf (iniAtom args) // {
+          description = "section of an INI file (attrs of " + (iniAtom args).description + ")";
+        };
 
-    in attrsOf (attrsOf iniAtom);
+      maybeToList = listToValue: if listToValue != null then lib.mapAttrs (key: val: if lib.isList val then listToValue val else val) else lib.id;
+    in {
+      ini = {
+        # Represents lists as duplicate keys
+        listsAsDuplicateKeys ? false,
+        # Alternative to listsAsDuplicateKeys, converts list to non-list
+        # listToValue :: [IniAtom] -> IniAtom
+        listToValue ? null,
+        ...
+        }@args:
+        assert listsAsDuplicateKeys -> listToValue == null;
+        {
 
-    generate = name: value:
-      let
-        transformedValue =
-          if listToValue != null
-          then
-            lib.mapAttrs (section: lib.mapAttrs (key: val:
-              if lib.isList val then listToValue val else val
-            )) value
-          else value;
-      in pkgs.writeText name (lib.generators.toINI (removeAttrs args ["listToValue"]) transformedValue);
+        type = lib.types.attrsOf (iniSection { listsAsDuplicateKeys = listsAsDuplicateKeys; listToValue = listToValue; });
 
-  };
+        generate = name: value:
+          lib.pipe value
+          [
+            (lib.mapAttrs (_: maybeToList listToValue))
+            (lib.generators.toINI (removeAttrs args ["listToValue"]))
+            (pkgs.writeText name)
+          ];
+      };
+
+      iniWithGlobalSection = {
+        # Represents lists as duplicate keys
+        listsAsDuplicateKeys ? false,
+        # Alternative to listsAsDuplicateKeys, converts list to non-list
+        # listToValue :: [IniAtom] -> IniAtom
+        listToValue ? null,
+        ...
+        }@args:
+        assert listsAsDuplicateKeys -> listToValue == null;
+        {
+          type = lib.types.submodule {
+            options = {
+              sections = lib.mkOption rec {
+                type = lib.types.attrsOf (iniSection { listsAsDuplicateKeys = listsAsDuplicateKeys; listToValue = listToValue; });
+                default = {};
+                description = type.description;
+              };
+              globalSection = lib.mkOption rec {
+                type = iniSection { listsAsDuplicateKeys = listsAsDuplicateKeys; listToValue = listToValue; };
+                default = {};
+                description = "global " + type.description;
+              };
+            };
+          };
+          generate = name: { sections ? {}, globalSection ? {}, ... }:
+            pkgs.writeText name (lib.generators.toINIWithGlobalSection (removeAttrs args ["listToValue"])
+            {
+              globalSection = maybeToList listToValue globalSection;
+              sections = lib.mapAttrs (_: maybeToList listToValue) sections;
+            });
+        };
+
+      gitIni = { listsAsDuplicateKeys ? false, ... }@args: {
+        type = let
+          atom = iniAtom {
+            listsAsDuplicateKeys = listsAsDuplicateKeys;
+            listToValue = null;
+          };
+        in with lib.types; attrsOf (attrsOf (either atom (attrsOf atom)));
+
+        generate = name: value: pkgs.writeText name (lib.generators.toGitINI value);
+      };
+
+    }) ini iniWithGlobalSection gitIni;
 
   # As defined by systemd.syntax(7)
   #
@@ -166,7 +208,7 @@ rec {
     listToValue ? null,
     ...
     }@args:
-    assert !listsAsDuplicateKeys || listToValue == null;
+    assert listsAsDuplicateKeys -> listToValue == null;
     {
 
     type = with lib.types; let
@@ -207,17 +249,6 @@ rec {
 
   };
 
-  gitIni = { listsAsDuplicateKeys ? false, ... }@args: {
-
-    type = with lib.types; let
-
-      iniAtom = (ini args).type/*attrsOf*/.functor.wrapped/*attrsOf*/.functor.wrapped;
-
-    in attrsOf (attrsOf (either iniAtom (attrsOf iniAtom)));
-
-    generate = name: value: pkgs.writeText name (lib.generators.toGitINI value);
-  };
-
   toml = {}: json {} // {
     type = with lib.types; let
       valueType = oneOf [
diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix
index b7e100dd73bc..3243f4058e68 100644
--- a/pkgs/pkgs-lib/tests/formats.nix
+++ b/pkgs/pkgs-lib/tests/formats.nix
@@ -1,24 +1,21 @@
 { pkgs }:
 let
   inherit (pkgs) lib formats;
-in
-with lib;
-let
 
-  evalFormat = format: args: def:
-    let
-      formatSet = format args;
-      config = formatSet.type.merge [] (imap1 (n: def: {
-        # We check the input values, so that
-        #  - we don't write nonsensical tests that will impede progress
-        #  - the test author has a slightly more realistic view of the
-        #    final format during development.
-        value = lib.throwIfNot (formatSet.type.check def) (builtins.trace def "definition does not pass the type's check function") def;
-        file = "def${toString n}";
-      }) [ def ]);
-    in formatSet.generate "test-format-file" config;
-
-  runBuildTest = name: { drv, expected }: pkgs.runCommand name {
+  # merging allows us to add metadata to the input
+  # this makes error messages more readable during development
+  mergeInput = name: format: input:
+    format.type.merge [] [
+      {
+        # explicitly throw here to trigger the code path that prints the error message for users
+        value = lib.throwIfNot (format.type.check input) (builtins.trace input "definition does not pass the type's check function") input;
+        # inject the name
+        file = "format-test-${name}";
+      }
+    ];
+
+  # run a diff between expected and real output
+  runDiff = name: drv: expected: pkgs.runCommand name {
     passAsFile = ["expected"];
     inherit expected drv;
   } ''
@@ -31,12 +28,66 @@ let
     fi
   '';
 
-  runBuildTests = tests: pkgs.linkFarm "nixpkgs-pkgs-lib-format-tests" (mapAttrsToList (name: value: { inherit name; path = runBuildTest name value; }) (filterAttrs (name: value: value != null) tests));
+  # use this to check for proper serialization
+  # in practice you do not have to supply the name parameter as this one will be added by runBuildTests
+  shouldPass = { format, input, expected }: name: {
+    name = "pass-${name}";
+    path = runDiff "test-format-${name}" (format.generate "test-format-${name}" (mergeInput name format input)) expected;
+  };
+
+  # use this function to assert that a type check must fail
+  # in practice you do not have to supply the name parameter as this one will be added by runBuildTests
+  # note that as per 352e7d330a26 and 352e7d330a26 the type checking of attrsets and lists are not strict
+  # this means that the code below needs to properly merge the module type definition and also evaluate the (lazy) return value
+  shouldFail = { format, input }: name:
+    let
+      # trigger a deep type check using the module system
+      typeCheck = lib.modules.mergeDefinitions
+        [ "tests" name ]
+        format.type
+        [
+          {
+            file = "format-test-${name}";
+            value = input;
+          }
+        ];
+      # actually use the return value to trigger the evaluation
+      eval = builtins.tryEval (typeCheck.mergedValue == input);
+      # the check failing is what we want, so don't do anything here
+      typeFails = pkgs.runCommand "test-format-${name}" {} "touch $out";
+      # bail with some verbose information in case the type check passes
+      typeSucceeds = pkgs.runCommand "test-format-${name}" {
+          passAsFile = [ "inputText" ];
+          testName = name;
+          # this will fail if the input contains functions as values
+          # however that should get caught by the type check already
+          inputText = builtins.toJSON input;
+        }
+        ''
+          echo "Type check $testName passed when it shouldn't."
+          echo "The following data was used as input:"
+          echo
+          cat "$inputTextPath"
+          exit 1
+        '';
+    in {
+      name = "fail-${name}";
+      path = if eval.success then typeSucceeds else typeFails;
+    };
+
+  # this function creates a linkFarm for all the tests below such that the results are easily visible in the filesystem after a build
+  # the parameters are an attrset of name: test pairs where the name is automatically passed to the test
+  # the test therefore is an invocation of ShouldPass or shouldFail with the attrset parameters but *not* the name (which this adds for convenience)
+  runBuildTests = (lib.flip lib.pipe) [
+    (lib.mapAttrsToList (name: value: value name))
+    (pkgs.linkFarm "nixpkgs-pkgs-lib-format-tests")
+  ];
 
 in runBuildTests {
 
-  testJsonAtoms = {
-    drv = evalFormat formats.json {} {
+  jsonAtoms = shouldPass {
+    format = formats.json {};
+    input = {
       null = null;
       false = false;
       true = true;
@@ -67,8 +118,9 @@ in runBuildTests {
     '';
   };
 
-  testYamlAtoms = {
-    drv = evalFormat formats.yaml {} {
+  yamlAtoms = shouldPass {
+    format = formats.yaml {};
+    input = {
       null = null;
       false = false;
       true = true;
@@ -93,8 +145,9 @@ in runBuildTests {
     '';
   };
 
-  testIniAtoms = {
-    drv = evalFormat formats.ini {} {
+  iniAtoms = shouldPass {
+    format = formats.ini {};
+    input = {
       foo = {
         bool = true;
         int = 10;
@@ -111,8 +164,29 @@ in runBuildTests {
     '';
   };
 
-  testIniDuplicateKeys = {
-    drv = evalFormat formats.ini { listsAsDuplicateKeys = true; } {
+  iniInvalidAtom = shouldFail {
+    format = formats.ini {};
+    input = {
+      foo = {
+        function = _: 1;
+      };
+    };
+  };
+
+  iniDuplicateKeysWithoutList = shouldFail {
+    format = formats.ini {};
+    input = {
+      foo = {
+        bar = [ null true "test" 1.2 10 ];
+        baz = false;
+        qux = "qux";
+      };
+    };
+  };
+
+  iniDuplicateKeys = shouldPass {
+    format = formats.ini { listsAsDuplicateKeys = true; };
+    input = {
       foo = {
         bar = [ null true "test" 1.2 10 ];
         baz = false;
@@ -131,8 +205,9 @@ in runBuildTests {
     '';
   };
 
-  testIniListToValue = {
-    drv = evalFormat formats.ini { listToValue = concatMapStringsSep ", " (generators.mkValueStringDefault {}); } {
+  iniListToValue = shouldPass {
+    format = formats.ini { listToValue = lib.concatMapStringsSep ", " (lib.generators.mkValueStringDefault {}); };
+    input = {
       foo = {
         bar = [ null true "test" 1.2 10 ];
         baz = false;
@@ -147,8 +222,104 @@ in runBuildTests {
     '';
   };
 
-  testKeyValueAtoms = {
-    drv = evalFormat formats.keyValue {} {
+  iniWithGlobalNoSections = shouldPass {
+    format = formats.iniWithGlobalSection {};
+    input = {};
+    expected = "";
+  };
+
+  iniWithGlobalOnlySections = shouldPass {
+    format = formats.iniWithGlobalSection {};
+    input = {
+      sections = {
+        foo = {
+          bar = "baz";
+        };
+      };
+    };
+    expected = ''
+      [foo]
+      bar=baz
+    '';
+  };
+
+  iniWithGlobalOnlyGlobal = shouldPass {
+    format = formats.iniWithGlobalSection {};
+    input = {
+      globalSection = {
+        bar = "baz";
+      };
+    };
+    expected = ''
+      bar=baz
+
+    '';
+  };
+
+  iniWithGlobalWrongSections = shouldFail {
+    format = formats.iniWithGlobalSection {};
+    input = {
+      foo = {};
+    };
+  };
+
+  iniWithGlobalEverything = shouldPass {
+    format = formats.iniWithGlobalSection {};
+    input = {
+      globalSection = {
+        bar = true;
+      };
+      sections = {
+        foo = {
+          bool = true;
+          int = 10;
+          float = 3.141;
+          str = "string";
+        };
+      };
+    };
+    expected = ''
+      bar=true
+
+      [foo]
+      bool=true
+      float=3.141000
+      int=10
+      str=string
+    '';
+  };
+
+  iniWithGlobalListToValue = shouldPass {
+    format = formats.iniWithGlobalSection { listToValue = lib.concatMapStringsSep ", " (lib.generators.mkValueStringDefault {}); };
+    input = {
+      globalSection = {
+        bar = [ null true "test" 1.2 10 ];
+        baz = false;
+        qux = "qux";
+      };
+      sections = {
+        foo = {
+          bar = [ null true "test" 1.2 10 ];
+          baz = false;
+          qux = "qux";
+        };
+      };
+    };
+    expected = ''
+      bar=null, true, test, 1.200000, 10
+      baz=false
+      qux=qux
+
+      [foo]
+      bar=null, true, test, 1.200000, 10
+      baz=false
+      qux=qux
+    '';
+  };
+
+  keyValueAtoms = shouldPass {
+    format = formats.keyValue {};
+    input = {
       bool = true;
       int = 10;
       float = 3.141;
@@ -162,8 +333,9 @@ in runBuildTests {
     '';
   };
 
-  testKeyValueDuplicateKeys = {
-    drv = evalFormat formats.keyValue { listsAsDuplicateKeys = true; } {
+  keyValueDuplicateKeys = shouldPass {
+    format = formats.keyValue { listsAsDuplicateKeys = true; };
+    input = {
       bar = [ null true "test" 1.2 10 ];
       baz = false;
       qux = "qux";
@@ -179,8 +351,9 @@ in runBuildTests {
     '';
   };
 
-  testKeyValueListToValue = {
-    drv = evalFormat formats.keyValue { listToValue = concatMapStringsSep ", " (generators.mkValueStringDefault {}); } {
+  keyValueListToValue = shouldPass {
+    format = formats.keyValue { listToValue = lib.concatMapStringsSep ", " (lib.generators.mkValueStringDefault {}); };
+    input = {
       bar = [ null true "test" 1.2 10 ];
       baz = false;
       qux = "qux";
@@ -192,8 +365,9 @@ in runBuildTests {
     '';
   };
 
-  testTomlAtoms = {
-    drv = evalFormat formats.toml {} {
+  tomlAtoms = shouldPass {
+    format = formats.toml {};
+    input = {
       false = false;
       true = true;
       int = 10;
@@ -222,8 +396,9 @@ in runBuildTests {
   #   1. testing type coercions
   #   2. providing a more readable example test
   # Whereas java-properties/default.nix tests the low level escaping, etc.
-  testJavaProperties = {
-    drv = evalFormat formats.javaProperties {} {
+  javaProperties = shouldPass {
+    format = formats.javaProperties {};
+    input = {
       floaty = 3.1415;
       tautologies = true;
       contradictions = false;
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 4cd063df9df2..2675ab7cbdd1 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -27,13 +27,13 @@ assert withHyperscan -> stdenv.isx86_64;
 
 stdenv.mkDerivation rec {
   pname = "rspamd";
-  version = "3.8.3";
+  version = "3.8.4";
 
   src = fetchFromGitHub {
     owner = "rspamd";
     repo = "rspamd";
     rev = version;
-    hash = "sha256-LX37HE4xr3tJqAXBDbi2O8N9tt8DazslIfmqG9hNiKw=";
+    hash = "sha256-3skF+aQv8Y3ATujV+WH4DxwyQ2hXR6CDZz77CkaRso0=";
   };
 
   hardeningEnable = [ "pie" ];
diff --git a/pkgs/servers/mobilizon/common.nix b/pkgs/servers/mobilizon/common.nix
index 4a97ae7bfa1d..0b3e3faa7306 100644
--- a/pkgs/servers/mobilizon/common.nix
+++ b/pkgs/servers/mobilizon/common.nix
@@ -1,13 +1,13 @@
 { fetchFromGitLab }: rec {
 
   pname = "mobilizon";
-  version = "4.0.2";
+  version = "4.1.0";
 
   src = fetchFromGitLab {
     domain = "framagit.org";
     owner = "framasoft";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ri1qCiQaKlSTSSGWHzFqYBCoTEMtOtwe0Kli466dv4M=";
+    sha256 = "sha256-aS57126Nhz/QvouSyZ9wUu78/eoCYbRwyncUUmO1Dv8=";
   };
 }
diff --git a/pkgs/servers/mobilizon/default.nix b/pkgs/servers/mobilizon/default.nix
index 191952f64681..e4a75a4c91ce 100644
--- a/pkgs/servers/mobilizon/default.nix
+++ b/pkgs/servers/mobilizon/default.nix
@@ -57,8 +57,8 @@ mixRelease rec {
           src = fetchFromGitHub {
             owner = "danhper";
             repo = "elixir-web-push-encryption";
-            rev = "70f00d06cbd88c9ac382e0ad2539e54448e9d8da";
-            sha256 = "sha256-b4ZMrt/8n2sPUFtCDRTwXS1qWm5VlYdbx8qC0R0boOA=";
+            rev = "6e143dcde0a2854c4f0d72816b7ecab696432779";
+            sha256 = "sha256-Da+/28SPZuUQBi8fQj31zmMvhMrYUaQIW4U4E+mRtMg=";
           };
           beamDeps = with final; [ httpoison jose ];
         };
diff --git a/pkgs/servers/mobilizon/frontend.nix b/pkgs/servers/mobilizon/frontend.nix
index 5ea6242c5bdc..397fb138bd44 100644
--- a/pkgs/servers/mobilizon/frontend.nix
+++ b/pkgs/servers/mobilizon/frontend.nix
@@ -6,7 +6,7 @@ in
 buildNpmPackage {
   inherit (common) pname version src;
 
-  npmDepsHash = "sha256-z/xWumL1wri63cGGMHMBq6WVDe81bp8tILsZa53a7FM=";
+  npmDepsHash = "sha256-pF07ul71zg9iLM/ja4Fz/6IXpqdMKb7KwOH02Q9lyCg=";
 
   nativeBuildInputs = [ imagemagick ];
 
diff --git a/pkgs/servers/mobilizon/mix.nix b/pkgs/servers/mobilizon/mix.nix
index 60d212d7fa07..ca33f819723a 100644
--- a/pkgs/servers/mobilizon/mix.nix
+++ b/pkgs/servers/mobilizon/mix.nix
@@ -73,14 +73,27 @@ let
       beamDeps = [ xml_builder ];
     };
 
+    bandit = buildMix rec {
+      name = "bandit";
+      version = "1.2.3";
+
+      src = fetchHex {
+        pkg = "bandit";
+        version = "${version}";
+        sha256 = "3e29150245a9b5f56944434e5240966e75c917dad248f689ab589b32187a81af";
+      };
+
+      beamDeps = [ hpax plug telemetry thousand_island websock ];
+    };
+
     bunt = buildMix rec {
       name = "bunt";
-      version = "0.2.1";
+      version = "1.0.0";
 
       src = fetchHex {
         pkg = "bunt";
         version = "${version}";
-        sha256 = "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5";
+        sha256 = "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5";
       };
 
       beamDeps = [];
@@ -101,12 +114,12 @@ let
 
     castore = buildMix rec {
       name = "castore";
-      version = "1.0.4";
+      version = "1.0.5";
 
       src = fetchHex {
         pkg = "castore";
         version = "${version}";
-        sha256 = "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8";
+        sha256 = "8d7c597c3e4a64c395980882d4bca3cebb8d74197c590dc272cfd3b6a6310578";
       };
 
       beamDeps = [];
@@ -177,19 +190,6 @@ let
       beamDeps = [];
     };
 
-    connection = buildMix rec {
-      name = "connection";
-      version = "1.1.0";
-
-      src = fetchHex {
-        pkg = "connection";
-        version = "${version}";
-        sha256 = "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c";
-      };
-
-      beamDeps = [];
-    };
-
     cors_plug = buildMix rec {
       name = "cors_plug";
       version = "3.0.3";
@@ -203,53 +203,14 @@ let
       beamDeps = [ plug ];
     };
 
-    cowboy = buildErlangMk rec {
-      name = "cowboy";
-      version = "2.10.0";
-
-      src = fetchHex {
-        pkg = "cowboy";
-        version = "${version}";
-        sha256 = "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b";
-      };
-
-      beamDeps = [ cowlib ranch ];
-    };
-
-    cowboy_telemetry = buildRebar3 rec {
-      name = "cowboy_telemetry";
-      version = "0.4.0";
-
-      src = fetchHex {
-        pkg = "cowboy_telemetry";
-        version = "${version}";
-        sha256 = "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de";
-      };
-
-      beamDeps = [ cowboy telemetry ];
-    };
-
-    cowlib = buildRebar3 rec {
-      name = "cowlib";
-      version = "2.12.1";
-
-      src = fetchHex {
-        pkg = "cowlib";
-        version = "${version}";
-        sha256 = "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0";
-      };
-
-      beamDeps = [];
-    };
-
     credo = buildMix rec {
       name = "credo";
-      version = "1.7.1";
+      version = "1.7.5";
 
       src = fetchHex {
         pkg = "credo";
         version = "${version}";
-        sha256 = "e9871c6095a4c0381c89b6aa98bc6260a8ba6addccf7f6a53da8849c748a58a2";
+        sha256 = "f799e9b5cd1891577d8c773d245668aa74a2fcd15eb277f51a0131690ebfb3fd";
       };
 
       beamDeps = [ bunt file_system jason ];
@@ -309,12 +270,12 @@ let
 
     dialyxir = buildMix rec {
       name = "dialyxir";
-      version = "1.4.2";
+      version = "1.4.3";
 
       src = fetchHex {
         pkg = "dialyxir";
         version = "${version}";
-        sha256 = "516603d8067b2fd585319e4b13d3674ad4f314a5902ba8130cd97dc902ce6bbd";
+        sha256 = "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986";
       };
 
       beamDeps = [ erlex ];
@@ -348,12 +309,12 @@ let
 
     earmark_parser = buildMix rec {
       name = "earmark_parser";
-      version = "1.4.38";
+      version = "1.4.39";
 
       src = fetchHex {
         pkg = "earmark_parser";
         version = "${version}";
-        sha256 = "2cd0907795aaef0c7e8442e376633c5b3bd6edc8dbbdc539b22f095501c1cdb6";
+        sha256 = "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944";
       };
 
       beamDeps = [];
@@ -374,12 +335,12 @@ let
 
     ecto = buildMix rec {
       name = "ecto";
-      version = "3.11.0";
+      version = "3.11.1";
 
       src = fetchHex {
         pkg = "ecto";
         version = "${version}";
-        sha256 = "7769dad267ef967310d6e988e92d772659b11b09a0c015f101ce0fff81ce1f81";
+        sha256 = "ebd3d3772cd0dfcd8d772659e41ed527c28b2a8bde4b00fe03e0463da0f1983b";
       };
 
       beamDeps = [ decimal jason telemetry ];
@@ -400,12 +361,12 @@ let
 
     ecto_dev_logger = buildMix rec {
       name = "ecto_dev_logger";
-      version = "0.9.0";
+      version = "0.10.0";
 
       src = fetchHex {
         pkg = "ecto_dev_logger";
         version = "${version}";
-        sha256 = "2e8bc98b4ae4fcc7108896eef7da5a109afad829f4fb2eb46d677fdc9101c2d5";
+        sha256 = "a55e58bad5d5c9b8ef2a3c3347dbdf7efa880a5371cf1457e44b41f489a43927";
       };
 
       beamDeps = [ ecto jason ];
@@ -439,12 +400,12 @@ let
 
     ecto_sql = buildMix rec {
       name = "ecto_sql";
-      version = "3.11.0";
+      version = "3.11.1";
 
       src = fetchHex {
         pkg = "ecto_sql";
         version = "${version}";
-        sha256 = "77aa3677169f55c2714dda7352d563002d180eb33c0dc29cd36d39c0a1a971f5";
+        sha256 = "ce14063ab3514424276e7e360108ad6c2308f6d88164a076aac8a387e1fea634";
       };
 
       beamDeps = [ db_connection ecto postgrex telemetry ];
@@ -465,15 +426,15 @@ let
 
     elixir_make = buildMix rec {
       name = "elixir_make";
-      version = "0.7.7";
+      version = "0.7.8";
 
       src = fetchHex {
         pkg = "elixir_make";
         version = "${version}";
-        sha256 = "5bc19fff950fad52bbe5f211b12db9ec82c6b34a9647da0c2224b8b8464c7e6c";
+        sha256 = "7a71945b913d37ea89b06966e1342c85cfe549b15e6d6d081e8081c493062c07";
       };
 
-      beamDeps = [ castore ];
+      beamDeps = [ castore certifi ];
     };
 
     erlex = buildMix rec {
@@ -530,12 +491,12 @@ let
 
     ex_cldr_calendars = buildMix rec {
       name = "ex_cldr_calendars";
-      version = "1.22.1";
+      version = "1.23.0";
 
       src = fetchHex {
         pkg = "ex_cldr_calendars";
         version = "${version}";
-        sha256 = "e7408cd9e8318b2ef93b76728e84484ddc3ea6d7c894fbc811c54122a7140169";
+        sha256 = "06d2407e699032d5cdc515593b7ce7869f10ce28e98a4ed68d9b21e5001036d4";
       };
 
       beamDeps = [ ex_cldr_numbers ex_doc jason ];
@@ -582,12 +543,12 @@ let
 
     ex_cldr_numbers = buildMix rec {
       name = "ex_cldr_numbers";
-      version = "2.32.3";
+      version = "2.32.4";
 
       src = fetchHex {
         pkg = "ex_cldr_numbers";
         version = "${version}";
-        sha256 = "7b626ff1e59a0ec9c3c5db5ce9ca91a6995e2ab56426b71f3cbf67181ea225f5";
+        sha256 = "6fd5a82f0785418fa8b698c0be2b1845dff92b77f1b3172c763d37868fb503d2";
       };
 
       beamDeps = [ decimal digital_token ex_cldr ex_cldr_currencies jason ];
@@ -608,12 +569,12 @@ let
 
     ex_doc = buildMix rec {
       name = "ex_doc";
-      version = "0.30.9";
+      version = "0.31.1";
 
       src = fetchHex {
         pkg = "ex_doc";
         version = "${version}";
-        sha256 = "d7aaaf21e95dc5cddabf89063327e96867d00013963eadf2c6ad135506a8bc10";
+        sha256 = "3178c3a407c557d8343479e1ff117a96fd31bafe52a039079593fb0524ef61b0";
       };
 
       beamDeps = [ earmark_parser makeup_elixir makeup_erlang ];
@@ -699,12 +660,12 @@ let
 
     expo = buildMix rec {
       name = "expo";
-      version = "0.4.1";
+      version = "0.5.2";
 
       src = fetchHex {
         pkg = "expo";
         version = "${version}";
-        sha256 = "2ff7ba7a798c8c543c12550fa0e2cbc81b95d4974c65855d8d15ba7b37a1ce47";
+        sha256 = "8c9bfa06ca017c9cb4020fabe980bc7fdb1aaec059fd004c2ab3bff03b1c599c";
       };
 
       beamDeps = [];
@@ -725,12 +686,12 @@ let
 
     fast_html = buildMix rec {
       name = "fast_html";
-      version = "2.2.0";
+      version = "2.3.0";
 
       src = fetchHex {
         pkg = "fast_html";
         version = "${version}";
-        sha256 = "064c4f23b4a6168f9187dac8984b056f2c531bb0787f559fd6a8b34b38aefbae";
+        sha256 = "f18e3c7668f82d3ae0b15f48d48feeb257e28aa5ab1b0dbf781c7312e5da029d";
       };
 
       beamDeps = [ elixir_make nimble_pool ];
@@ -777,12 +738,12 @@ let
 
     floki = buildMix rec {
       name = "floki";
-      version = "0.35.2";
+      version = "0.35.4";
 
       src = fetchHex {
         pkg = "floki";
         version = "${version}";
-        sha256 = "6b05289a8e9eac475f644f09c2e4ba7e19201fd002b89c28c1293e7bd16773d9";
+        sha256 = "27fa185d3469bd8fc5947ef0f8d5c4e47f0af02eb6b070b63c868f69e3af0204";
       };
 
       beamDeps = [];
@@ -868,12 +829,12 @@ let
 
     gettext = buildMix rec {
       name = "gettext";
-      version = "0.23.1";
+      version = "0.24.0";
 
       src = fetchHex {
         pkg = "gettext";
         version = "${version}";
-        sha256 = "19d744a36b809d810d610b57c27b934425859d158ebd56561bc41f7eeb8795db";
+        sha256 = "bdf75cdfcbe9e4622dd18e034b227d77dd17f0f133853a1c73b97b3d6c770e8b";
       };
 
       beamDeps = [ expo ];
@@ -933,12 +894,12 @@ let
 
     hammer = buildMix rec {
       name = "hammer";
-      version = "6.1.0";
+      version = "6.2.1";
 
       src = fetchHex {
         pkg = "hammer";
         version = "${version}";
-        sha256 = "b47e415a562a6d072392deabcd58090d8a41182cf9044cdd6b0d0faaaf68ba57";
+        sha256 = "b9476d0c13883d2dc0cc72e786bac6ac28911fba7cc2e04b70ce6a6d9c4b2bdc";
       };
 
       beamDeps = [ poolboy ];
@@ -957,6 +918,19 @@ let
       beamDeps = [];
     };
 
+    hpax = buildMix rec {
+      name = "hpax";
+      version = "0.1.2";
+
+      src = fetchHex {
+        pkg = "hpax";
+        version = "${version}";
+        sha256 = "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13";
+      };
+
+      beamDeps = [];
+    };
+
     html_entities = buildMix rec {
       name = "html_entities";
       version = "0.5.2";
@@ -972,12 +946,12 @@ let
 
     http_signatures = buildMix rec {
       name = "http_signatures";
-      version = "0.1.1";
+      version = "0.1.2";
 
       src = fetchHex {
         pkg = "http_signatures";
         version = "${version}";
-        sha256 = "cc3b8a007322cc7b624c0c15eec49ee58ac977254ff529a3c482f681465942a3";
+        sha256 = "f08aa9ac121829dae109d608d83c84b940ef2f183ae50f2dd1e9a8bc619d8be7";
       };
 
       beamDeps = [];
@@ -1011,12 +985,12 @@ let
 
     inet_cidr = buildMix rec {
       name = "inet_cidr";
-      version = "1.0.4";
+      version = "1.0.8";
 
       src = fetchHex {
         pkg = "inet_cidr";
         version = "${version}";
-        sha256 = "64a2d30189704ae41ca7dbdd587f5291db5d1dda1414e0774c29ffc81088c1bc";
+        sha256 = "d5b26da66603bb56c933c65214c72152f0de9a6ea53618b56d63302a68f6a90e";
       };
 
       beamDeps = [];
@@ -1128,12 +1102,12 @@ let
 
     makeup_erlang = buildMix rec {
       name = "makeup_erlang";
-      version = "0.1.2";
+      version = "0.1.5";
 
       src = fetchHex {
         pkg = "makeup_erlang";
         version = "${version}";
-        sha256 = "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108";
+        sha256 = "94d2e986428585a21516d7d7149781480013c56e30c6a233534bedf38867a59a";
       };
 
       beamDeps = [ makeup ];
@@ -1206,12 +1180,12 @@ let
 
     mix_test_watch = buildMix rec {
       name = "mix_test_watch";
-      version = "1.1.1";
+      version = "1.1.2";
 
       src = fetchHex {
         pkg = "mix_test_watch";
         version = "${version}";
-        sha256 = "f82262b54dee533467021723892e15c3267349849f1f737526523ecba4e6baae";
+        sha256 = "8ce79fc69a304eec81ab6c1a05de2eb026a8959f65fb47f933ce8eb56018ba35";
       };
 
       beamDeps = [ file_system ];
@@ -1336,12 +1310,12 @@ let
 
     oban = buildMix rec {
       name = "oban";
-      version = "2.16.3";
+      version = "2.17.5";
 
       src = fetchHex {
         pkg = "oban";
         version = "${version}";
-        sha256 = "4d8a7fb62f63cf2f2080c78954425f5fd8916ef57196b7f79b5bc657abb2ac5f";
+        sha256 = "fd3ccbbfdbb2bc77107c8790946f9821a831ed0720688485ee6adcd7863886cf";
       };
 
       beamDeps = [ ecto_sql jason postgrex telemetry ];
@@ -1375,15 +1349,15 @@ let
 
     phoenix = buildMix rec {
       name = "phoenix";
-      version = "1.7.10";
+      version = "1.7.11";
 
       src = fetchHex {
         pkg = "phoenix";
         version = "${version}";
-        sha256 = "cf784932e010fd736d656d7fead6a584a4498efefe5b8227e9f383bf15bb79d0";
+        sha256 = "b1ec57f2e40316b306708fe59b92a16b9f6f4bf50ccfa41aa8c7feb79e0ec02a";
       };
 
-      beamDeps = [ castore jason phoenix_pubsub phoenix_template phoenix_view plug plug_cowboy plug_crypto telemetry websock_adapter ];
+      beamDeps = [ castore jason phoenix_pubsub phoenix_template phoenix_view plug plug_crypto telemetry websock_adapter ];
     };
 
     phoenix_ecto = buildMix rec {
@@ -1427,12 +1401,12 @@ let
 
     phoenix_live_view = buildMix rec {
       name = "phoenix_live_view";
-      version = "0.20.1";
+      version = "0.20.10";
 
       src = fetchHex {
         pkg = "phoenix_live_view";
         version = "${version}";
-        sha256 = "be494fd1215052729298b0e97d5c2ce8e719c00854b82cd8cf15c1cd7fcf6294";
+        sha256 = "daa17b3fbdfd6347aaade4db01a5dd24d23af0f4344e2e24934e8adfb4a11607";
       };
 
       beamDeps = [ jason phoenix phoenix_html phoenix_template phoenix_view plug telemetry ];
@@ -1453,12 +1427,12 @@ let
 
     phoenix_swoosh = buildMix rec {
       name = "phoenix_swoosh";
-      version = "1.2.0";
+      version = "1.2.1";
 
       src = fetchHex {
         pkg = "phoenix_swoosh";
         version = "${version}";
-        sha256 = "e88d117251e89a16b92222415a6d87b99a96747ddf674fc5c7631de734811dba";
+        sha256 = "4000eeba3f9d7d1a6bf56d2bd56733d5cadf41a7f0d8ffe5bb67e7d667e204a2";
       };
 
       beamDeps = [ hackney phoenix phoenix_html phoenix_view swoosh ];
@@ -1466,12 +1440,12 @@ let
 
     phoenix_template = buildMix rec {
       name = "phoenix_template";
-      version = "1.0.3";
+      version = "1.0.4";
 
       src = fetchHex {
         pkg = "phoenix_template";
         version = "${version}";
-        sha256 = "16f4b6588a4152f3cc057b9d0c0ba7e82ee23afa65543da535313ad8d25d8e2c";
+        sha256 = "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206";
       };
 
       beamDeps = [ phoenix_html ];
@@ -1492,30 +1466,17 @@ let
 
     plug = buildMix rec {
       name = "plug";
-      version = "1.15.2";
+      version = "1.15.3";
 
       src = fetchHex {
         pkg = "plug";
         version = "${version}";
-        sha256 = "02731fa0c2dcb03d8d21a1d941bdbbe99c2946c0db098eee31008e04c6283615";
+        sha256 = "cc4365a3c010a56af402e0809208873d113e9c38c401cabd88027ef4f5c01fd2";
       };
 
       beamDeps = [ mime plug_crypto telemetry ];
     };
 
-    plug_cowboy = buildMix rec {
-      name = "plug_cowboy";
-      version = "2.6.1";
-
-      src = fetchHex {
-        pkg = "plug_cowboy";
-        version = "${version}";
-        sha256 = "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613";
-      };
-
-      beamDeps = [ cowboy cowboy_telemetry plug ];
-    };
-
     plug_crypto = buildMix rec {
       name = "plug_crypto";
       version = "2.0.0";
@@ -1544,12 +1505,12 @@ let
 
     postgrex = buildMix rec {
       name = "postgrex";
-      version = "0.17.3";
+      version = "0.17.4";
 
       src = fetchHex {
         pkg = "postgrex";
         version = "${version}";
-        sha256 = "946cf46935a4fdca7a81448be76ba3503cff082df42c6ec1ff16a4bdfbfb098d";
+        sha256 = "6458f7d5b70652bc81c3ea759f91736c16a31be000f306d3c64bcdfe9a18b3cc";
       };
 
       beamDeps = [ db_connection decimal jason ];
@@ -1570,12 +1531,12 @@ let
 
     ranch = buildRebar3 rec {
       name = "ranch";
-      version = "1.8.0";
+      version = "2.1.0";
 
       src = fetchHex {
         pkg = "ranch";
         version = "${version}";
-        sha256 = "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5";
+        sha256 = "244ee3fa2a6175270d8e1fc59024fd9dbc76294a321057de8f803b1479e76916";
       };
 
       beamDeps = [];
@@ -1617,7 +1578,7 @@ let
         sha256 = "f9fc7641ef61e885510f5e5963c2948b9de1de597c63f781e9d3d6c9c8681ab4";
       };
 
-      beamDeps = [ hackney jason plug plug_cowboy ];
+      beamDeps = [ hackney jason plug ];
     };
 
     shortuuid = buildMix rec {
@@ -1635,12 +1596,12 @@ let
 
     sitemapper = buildMix rec {
       name = "sitemapper";
-      version = "0.7.0";
+      version = "0.8.0";
 
       src = fetchHex {
         pkg = "sitemapper";
         version = "${version}";
-        sha256 = "60f7a684e5e9fe7f10ac5b69f48b0be2bcbba995afafcb3c143fc0c8ef1f223f";
+        sha256 = "7cd42b454035da457151c9b6a314b688b5bbe5383add95badc65d013c25989c5";
       };
 
       beamDeps = [ xml_builder ];
@@ -1739,15 +1700,15 @@ let
 
     swoosh = buildMix rec {
       name = "swoosh";
-      version = "1.14.1";
+      version = "1.15.3";
 
       src = fetchHex {
         pkg = "swoosh";
         version = "${version}";
-        sha256 = "87da72260b4351678f96aec61db5c2acc8a88cda2cf2c4f534eb4c9c461350c7";
+        sha256 = "97a667b96ca8cc48a4679f6cd1f40a36d8701cf052587298473614caa70f164a";
       };
 
-      beamDeps = [ cowboy gen_smtp hackney jason mime plug plug_cowboy telemetry ];
+      beamDeps = [ bandit gen_smtp hackney jason mime plug telemetry ];
     };
 
     telemetry = buildRebar3 rec {
@@ -1776,6 +1737,19 @@ let
       beamDeps = [ castore hackney jason mime telemetry ];
     };
 
+    thousand_island = buildMix rec {
+      name = "thousand_island";
+      version = "1.3.5";
+
+      src = fetchHex {
+        pkg = "thousand_island";
+        version = "${version}";
+        sha256 = "2be6954916fdfe4756af3239fb6b6d75d0b8063b5df03ba76fd8a4c87849e180";
+      };
+
+      beamDeps = [ telemetry ];
+    };
+
     timex = buildMix rec {
       name = "timex";
       version = "3.7.11";
@@ -1791,12 +1765,12 @@ let
 
     tls_certificate_check = buildRebar3 rec {
       name = "tls_certificate_check";
-      version = "1.20.0";
+      version = "1.21.0";
 
       src = fetchHex {
         pkg = "tls_certificate_check";
         version = "${version}";
-        sha256 = "ab57b74b1a63dc5775650699a3ec032ec0065005eff1f020818742b7312a8426";
+        sha256 = "6cee6cffc35a390840d48d463541d50746a7b0e421acaadb833cfc7961e490e7";
       };
 
       beamDeps = [ ssl_verify_fun ];
@@ -1804,12 +1778,12 @@ let
 
     tz_world = buildMix rec {
       name = "tz_world";
-      version = "1.3.1";
+      version = "1.3.2";
 
       src = fetchHex {
         pkg = "tz_world";
         version = "${version}";
-        sha256 = "901ed2b4a4430ecab3765244da4a19e6f19141867c2ab3753924919b87ed2224";
+        sha256 = "d1a345e07b3378c4c902ad54fbd5d54c8c3dd55dba883b7407fe57bcec45ff2a";
       };
 
       beamDeps = [ castore certifi geo jason ];
@@ -1830,12 +1804,12 @@ let
 
     ueberauth = buildMix rec {
       name = "ueberauth";
-      version = "0.10.5";
+      version = "0.10.8";
 
       src = fetchHex {
         pkg = "ueberauth";
         version = "${version}";
-        sha256 = "3efd1f31d490a125c7ed453b926f7c31d78b97b8a854c755f5c40064bf3ac9e1";
+        sha256 = "f2d3172e52821375bccb8460e5fa5cb91cfd60b19b636b6e57e9759b6f8c10c1";
       };
 
       beamDeps = [ plug ];
@@ -2020,7 +1994,7 @@ let
         sha256 = "4b977ba4a01918acbf77045ff88de7f6972c2a009213c515a445c48f224ffce9";
       };
 
-      beamDeps = [ plug plug_cowboy websock ];
+      beamDeps = [ bandit plug websock ];
     };
 
     xml_builder = buildMix rec {
diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
index a5ccc82ccda5..783384eb9610 100644
--- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "check_ssl_cert";
-  version = "2.79.0";
+  version = "2.80.0";
 
   src = fetchFromGitHub {
     owner = "matteocorti";
     repo = "check_ssl_cert";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2NraUEUGyvmEdWCQdzZ5kf+sx/CnSZ54N3zRcCSYhBA=";
+    hash = "sha256-1KYolUA5AZ9fQLfNb4UE1WlMTj6GiAnNszPTLlERBvc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix
index 3d15b33b48eb..ba1c35ee294d 100644
--- a/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -7,17 +7,17 @@
 
 buildGoModule rec {
   pname = "alertmanager";
-  version = "0.26.0";
+  version = "0.27.0";
   rev = "v${version}";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "prometheus";
     repo = "alertmanager";
-    hash = "sha256-DCVxXSgoa4PrW4qBBWa1SOPN1GwcJFERz7+itsCdtGI=";
+    hash = "sha256-soE2D/PLesV1+Kif9myB54a9zIFIa94i0BrmywJPTbI=";
   };
 
-  vendorHash = "sha256-GCcoT7Db0bQf+IGUP54GdxRmHCp1k2261B3T2htmbjk=";
+  vendorHash = "sha256-zkHIdEdAy44iV2F929NB3ISuUbxdecaeZcsNQQGd06E=";
 
   subPackages = [ "cmd/alertmanager" "cmd/amtool" ];
 
diff --git a/pkgs/servers/monitoring/prometheus/exportarr/default.nix b/pkgs/servers/monitoring/prometheus/exportarr/default.nix
index 1d56a749f33a..821baf91417c 100644
--- a/pkgs/servers/monitoring/prometheus/exportarr/default.nix
+++ b/pkgs/servers/monitoring/prometheus/exportarr/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "exportarr";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "onedr0p";
     repo = "exportarr";
     rev = "v${version}";
-    hash = "sha256-i5ia9GX/0wvLnIwSxZ50y3fTFHwkUzj00+NoEceXp84=";
+    hash = "sha256-Eacu8NeAAQqztzVpBhW1UeKQU+FBEJcx5+mcaByQid8=";
   };
 
-  vendorHash = "sha256-2gzHX7XHzgvZXWm7mfakxnsRfpEysQwnZ0mJocLyyoA=";
+  vendorHash = "sha256-lizPm/3hxKt7ZxKkhbwsj1nL8bWmE90QqRGxTqMSMAw=";
 
   subPackages = [ "cmd/exportarr" ];
 
diff --git a/pkgs/shells/zsh/pure-prompt/default.nix b/pkgs/shells/zsh/pure-prompt/default.nix
index 6fbda66d4cc2..2a1ba113ce19 100644
--- a/pkgs/shells/zsh/pure-prompt/default.nix
+++ b/pkgs/shells/zsh/pure-prompt/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "pure-prompt";
-  version = "1.22.0";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "sindresorhus";
     repo = "pure";
     rev = "v${version}";
-    sha256 = "sha256-TR4CyBZ+KoZRs9XDmWE5lJuUXXU1J8E2Z63nt+FS+5w=";
+    sha256 = "sha256-BmQO4xqd/3QnpLUitD2obVxL0UulpboT8jGNEh4ri8k=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/filesystems/fuse-ext2/default.nix b/pkgs/tools/filesystems/fuse-ext2/default.nix
index aaff185a4a1b..e608bc5a41db 100644
--- a/pkgs/tools/filesystems/fuse-ext2/default.nix
+++ b/pkgs/tools/filesystems/fuse-ext2/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fuse-ext2";
-  version = "unstable-2020-07-12";
+  version = "0.0.11";
 
   src = fetchFromGitHub {
     owner = "alperakcan";
     repo = "fuse-ext2";
-    rev = "899f17c982dadcea13aa447c3a83c53b9431435a";
-    sha256 = "AE7Z+HePAy/h2TCNI9tsz6GVLdnE2AIOM3GnQzerKn8=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-VQMftlnd6q1PdwhSIQwjffjnkhupY8MUc8E+p1tgvUM=";
   };
 
   patches = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
index 202886e4e8e1..5311d20ffa32 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
@@ -1,19 +1,19 @@
 { lib
-, mkDerivation
+, stdenv
 , fetchFromGitHub
 , cmake
 , extra-cmake-modules
 , fcitx5
-, qtx11extras
-, libxcb
-, libXdmcp
 , qtbase
-, qt6
+, qtwayland
+, wrapQtAppsHook
 , wayland
 }:
-
-mkDerivation rec {
-  pname = "fcitx5-qt";
+let
+  majorVersion = lib.versions.major qtbase.version;
+in
+stdenv.mkDerivation rec {
+  pname = "fcitx5-qt${majorVersion}";
   version = "5.1.4";
 
   src = fetchFromGitHub {
@@ -23,30 +23,28 @@ mkDerivation rec {
     sha256 = "sha256-bVH2US/uEZGERslnAh/fyUbzR9fK1UfG4J+mOmrIE8Y=";
   };
 
-  preConfigure = ''
-    substituteInPlace qt5/platforminputcontext/CMakeLists.txt \
-      --replace \$"{CMAKE_INSTALL_QT5PLUGINDIR}" $out/${qtbase.qtPluginPrefix}
-    substituteInPlace qt6/platforminputcontext/CMakeLists.txt \
-      --replace \$"{CMAKE_INSTALL_QT6PLUGINDIR}" $out/${qt6.qtbase.qtPluginPrefix}
+  postPatch = ''
+    substituteInPlace qt${majorVersion}/platforminputcontext/CMakeLists.txt \
+      --replace \$"{CMAKE_INSTALL_QT${majorVersion}PLUGINDIR}" $out/${qtbase.qtPluginPrefix}
   '';
 
   cmakeFlags = [
-    # adding qt6 to buildInputs would result in error: detected mismatched Qt dependencies
-    "-DCMAKE_PREFIX_PATH=${qt6.qtbase};${qt6.qtwayland}"
-    "-DENABLE_QT4=0"
-    "-DENABLE_QT6=1"
+    "-DENABLE_QT4=OFF"
+    "-DENABLE_QT5=OFF"
+    "-DENABLE_QT6=OFF"
+    "-DENABLE_QT${majorVersion}=ON"
   ];
 
   nativeBuildInputs = [
     cmake
     extra-cmake-modules
+    wrapQtAppsHook
   ];
 
   buildInputs = [
+    qtbase
+    qtwayland
     fcitx5
-    qtx11extras
-    libxcb
-    libXdmcp
     wayland
   ];
 
diff --git a/pkgs/tools/inputmethods/fcitx5/with-addons.nix b/pkgs/tools/inputmethods/fcitx5/with-addons.nix
index 75fac87b6285..614074595f51 100644
--- a/pkgs/tools/inputmethods/fcitx5/with-addons.nix
+++ b/pkgs/tools/inputmethods/fcitx5/with-addons.nix
@@ -4,7 +4,8 @@
 , fcitx5
 , withConfigtool ? true
 , fcitx5-configtool
-, fcitx5-qt
+, libsForQt5
+, qt6Packages
 , fcitx5-gtk
 , addons ? [ ]
 }:
@@ -14,7 +15,8 @@ symlinkJoin {
 
   paths = [
     fcitx5
-    fcitx5-qt
+    libsForQt5.fcitx5-qt
+    qt6Packages.fcitx5-qt
     fcitx5-gtk
   ] ++ lib.optionals withConfigtool [
     fcitx5-configtool
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
index ab71af957481..0107e8755880 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-anthy";
-  version = "1.5.15";
+  version = "1.5.16";
 
   src = fetchurl {
     url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-WMTm1YNqSsnjOqnoTljE3rZ62pjztUSyRAxXgyN+2Ys=";
+    sha256 = "sha256-FVIiFLWK2ISsydmx2hPxXbfc12w7GKiFCQRuXsYT0a4=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/inputmethods/ibus/build-without-dbus-launch.patch b/pkgs/tools/inputmethods/ibus/build-without-dbus-launch.patch
index cb587ccf47d8..cff6787667fa 100644
--- a/pkgs/tools/inputmethods/ibus/build-without-dbus-launch.patch
+++ b/pkgs/tools/inputmethods/ibus/build-without-dbus-launch.patch
@@ -1,19 +1,24 @@
 diff --git a/data/dconf/make-dconf-override-db.sh b/data/dconf/make-dconf-override-db.sh
-index 601c1c3f..fcb7305d 100755
+index 32cb1530..375baa41 100755
 --- a/data/dconf/make-dconf-override-db.sh
 +++ b/data/dconf/make-dconf-override-db.sh
-@@ -12,10 +12,6 @@ export XDG_CACHE_HOME="$TMPDIR/cache"
+@@ -12,15 +12,6 @@ export XDG_CACHE_HOME="$TMPDIR/cache"
  export GSETTINGS_SCHEMA_DIR="$TMPDIR/schemas"
  mkdir -p $XDG_CONFIG_HOME $XDG_CACHE_HOME $GSETTINGS_SCHEMA_DIR
  
 -eval `dbus-launch --sh-syntax`
 -
--trap 'rm -rf $TMPDIR; kill $DBUS_SESSION_BUS_PID' ERR
+-trap cleanup EXIT
+-
+-cleanup() {
+-  test $? -eq 0 && exit
+-  rm -rf $TMPDIR; kill $DBUS_SESSION_BUS_PID
+-}
 -
  # in case that schema is not installed on the system
  glib-compile-schemas --targetdir "$GSETTINGS_SCHEMA_DIR" "$PWD"
  
-@@ -52,5 +48,3 @@ if [ -d $TMPDIR/cache/gvfs ] ; then
+@@ -57,5 +48,3 @@ if [ -d $TMPDIR/cache/gvfs ] ; then
      umount $TMPDIR/cache/gvfs
  fi
  rm -rf $TMPDIR
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 417b1be605d5..5de2fc67d020 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -1,7 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , substituteAll
 , fetchFromGitHub
-, fetchpatch
 , autoreconfHook
 , gettext
 , makeWrapper
@@ -17,6 +17,7 @@
 , gtk3
 , gtk4
 , gtk-doc
+, libdbusmenu-gtk3
 , runCommand
 , isocodes
 , cldr-annotations
@@ -26,7 +27,7 @@
 , json-glib
 , libnotify ? null
 , enableUI ? true
-, withWayland ? false
+, withWayland ? true
 , libxkbcommon
 , wayland
 , buildPackages
@@ -46,23 +47,24 @@ let
   };
   # make-dconf-override-db.sh needs to execute dbus-launch in the sandbox,
   # it will fail to read /etc/dbus-1/session.conf unless we add this flag
-  dbus-launch = runCommand "sandbox-dbus-launch" {
-    nativeBuildInputs = [ makeWrapper ];
-  } ''
-      makeWrapper ${dbus}/bin/dbus-launch $out/bin/dbus-launch \
-        --add-flags --config-file=${dbus}/share/dbus-1/session.conf
+  dbus-launch = runCommand "sandbox-dbus-launch"
+    {
+      nativeBuildInputs = [ makeWrapper ];
+    } ''
+    makeWrapper ${dbus}/bin/dbus-launch $out/bin/dbus-launch \
+      --add-flags --config-file=${dbus}/share/dbus-1/session.conf
   '';
 in
 
 stdenv.mkDerivation rec {
   pname = "ibus";
-  version = "1.5.28";
+  version = "1.5.29";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus";
     rev = version;
-    sha256 = "sha256-zjV+QkhVkrHFs9Vt1FpbvmS4nRHxwKaKU3mQkSgyLaQ=";
+    sha256 = "sha256-d4EUIg0v8rfHdvzG5USc6GLY6QHtQpIJp1PrPaaBxxE=";
   };
 
   patches = [
@@ -72,27 +74,17 @@ stdenv.mkDerivation rec {
       pythonSitePackages = python3.sitePackages;
     })
     ./build-without-dbus-launch.patch
-    # unicode and emoji input are broken before 1.5.29
-    # https://github.com/NixOS/nixpkgs/issues/226526
-    (fetchpatch {
-      url = "https://github.com/ibus/ibus/commit/7c8abbe89403c2fcb08e3fda42049a97187e53ab.patch";
-      hash = "sha256-59HzAdLq8ahrF7K+tFGLjTodwIiTkJGEkFe8quqIkhU=";
-    })
-    # fix SIGABRT in X11 https://github.com/ibus/ibus/issues/2484
-    (fetchpatch {
-      url = "https://github.com/ibus/ibus/commit/8f706d160631f1ffdbfa16543a38b9d5f91c16ad.patch";
-      hash = "sha256-YzS9TmUWW0OmheDeCeU00kFK2U2QEmKYMSRJAbu14ec=";
-    })
-    # fix missing key releases in Wine https://github.com/ibus/ibus/issues/2480
-    (fetchpatch {
-      url = "https://github.com/ibus/ibus/commit/497f0c74230a65309e22ce5569060ce48310406b.patch";
-      hash = "sha256-PAZcUxmzjChs1/K8hXgOcytyS4LYoNL1dtU6X5Tx8ic=";
-    })
   ];
 
   outputs = [ "out" "dev" "installedTests" ];
 
   postPatch = ''
+    # Maintainer does not want to create separate tarballs for final release candidate and release versions,
+    # so we need to set `ibus_released` to `1` in `configure.ac`. Otherwise, anyone running `ibus version` gets
+    # a version with an inaccurate `-rcX` suffix.
+    # https://github.com/ibus/ibus/issues/2584
+    substituteInPlace configure.ac --replace "m4_define([ibus_released], [0])" "m4_define([ibus_released], [1])"
+
     patchShebangs --build data/dconf/make-dconf-override-db.sh
     cp ${buildPackages.gtk-doc}/share/gtk-doc/data/gtk-doc.make .
     substituteInPlace bus/services/org.freedesktop.IBus.session.GNOME.service.in --replace "ExecStart=sh" "ExecStart=${runtimeShell}"
@@ -102,6 +94,11 @@ stdenv.mkDerivation rec {
   preAutoreconf = "touch ChangeLog";
 
   configureFlags = [
+    # The `AX_PROG_{CC,CXX}_FOR_BUILD` autoconf macros can pick up unwrapped GCC binaries,
+    # so we set `{CC,CXX}_FOR_BUILD` to override that behavior.
+    # https://github.com/NixOS/nixpkgs/issues/21751
+    "CC_FOR_BUILD=${stdenv.cc}/bin/cc"
+    "CXX_FOR_BUILD=${stdenv.cc}/bin/c++"
     "--disable-memconf"
     (lib.enableFeature (dconf != null) "dconf")
     (lib.enableFeature (libnotify != null) "libnotify")
@@ -115,12 +112,6 @@ stdenv.mkDerivation rec {
     "--with-ucd-dir=${unicode-character-database}/share/unicode"
   ];
 
-  # missing make dependency
-  # https://github.com/NixOS/nixpkgs/pull/218120#issuecomment-1514027173
-  preBuild = ''
-    make -C src ibusenumtypes.h
-  '';
-
   makeFlags = [
     "test_execsdir=${placeholder "installedTests"}/libexec/installed-tests/ibus"
     "test_sourcesdir=${placeholder "installedTests"}/share/installed-tests/ibus"
@@ -154,6 +145,7 @@ stdenv.mkDerivation rec {
     isocodes
     json-glib
     libnotify
+    libdbusmenu-gtk3
   ] ++ lib.optionals withWayland [
     libxkbcommon
     wayland
diff --git a/pkgs/tools/misc/faketty/default.nix b/pkgs/tools/misc/faketty/default.nix
index d05360ccffe3..228cdf7f2f2f 100644
--- a/pkgs/tools/misc/faketty/default.nix
+++ b/pkgs/tools/misc/faketty/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "faketty";
-  version = "1.0.15";
+  version = "1.0.16";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-f32Y9Aj4Z9y6Da9rbRgwi9BGPl4FsI790BH52cIIoPA=";
+    hash = "sha256-BlQnVjYPFUfEurFUE2MHOL2ad56Nu/atzRuFu4OoCSI=";
   };
 
-  cargoHash = "sha256-+M1oq2CHUK6CIDFiUNLjO1UmHI19D5zdHVl8dvmQ1G8=";
+  cargoHash = "sha256-q9jx03XYA977481B9xuUfaaMBDbSVx4xREj4Q1Ti/Yw=";
 
   postPatch = ''
     patchShebangs tests/test.sh
diff --git a/pkgs/tools/nix/nix-init/default.nix b/pkgs/tools/nix/nix-init/default.nix
index a50a7fc1a0d1..1e1ef3c0d0f6 100644
--- a/pkgs/tools/nix/nix-init/default.nix
+++ b/pkgs/tools/nix/nix-init/default.nix
@@ -6,7 +6,7 @@
 , installShellFiles
 , pkg-config
 , bzip2
-, libgit2_1_6
+, libgit2
 , openssl
 , zlib
 , zstd
@@ -45,7 +45,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [
     bzip2
     curl
-    libgit2_1_6
+    libgit2
     openssl
     zlib
     zstd
@@ -80,6 +80,7 @@ rustPlatform.buildRustPackage rec {
 
   env = {
     GEN_ARTIFACTS = "artifacts";
+    LIBGIT2_NO_VENDOR = 1;
     NIX = lib.getExe nix;
     NURL = lib.getExe nurl;
     ZSTD_SYS_USE_PKG_CONFIG = true;
diff --git a/pkgs/tools/security/dontgo403/default.nix b/pkgs/tools/security/dontgo403/default.nix
index 79002c1cfc89..84e7667377b7 100644
--- a/pkgs/tools/security/dontgo403/default.nix
+++ b/pkgs/tools/security/dontgo403/default.nix
@@ -5,17 +5,22 @@
 
 buildGoModule rec {
   pname = "dontgo403";
-  version = "0.9.4";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "devploit";
-    repo = pname;
+    repo = "dontgo403";
     rev = "refs/tags/${version}";
-    hash = "sha256-PKI/DqMihhMaIa9OzDKtLIs34TRUtewAbBkx89IXLU4=";
+    hash = "sha256-znmPXue+pzv7vAKnIYsjJQQGMeBETH+ekyVKGz9wRik=";
   };
 
   vendorHash = "sha256-IGnTbuaQH8A6aKyahHMd2RyFRh4WxZ3Vx/A9V3uelRg=";
 
+  ldflags = [
+    "-w"
+    "-s"
+  ];
+
   meta = with lib; {
     description = "Tool to bypass 40X response codes";
     homepage = "https://github.com/devploit/dontgo403";
diff --git a/pkgs/tools/security/fulcio/default.nix b/pkgs/tools/security/fulcio/default.nix
index 9c40c051bebc..17bd273c0a30 100644
--- a/pkgs/tools/security/fulcio/default.nix
+++ b/pkgs/tools/security/fulcio/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fulcio";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LT8J9s008XQtDtNdH1ungQREqQUrlTsoxnlRLKimqLY=";
+    sha256 = "sha256-zL+53GIGDQagWtsSHQT1Gn1hZUCpYF3uYKXmJWFGy7k=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -20,7 +20,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorHash = "sha256-ImZJXdOfMepMFU1z47XyNU39NGGdiCzQji2/tKVfibQ=";
+  vendorHash = "sha256-B4/SIY9G5uEP+P+oSdhaMM7HRaHm5nq2jqXdIWxdP+8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/security/ggshield/default.nix b/pkgs/tools/security/ggshield/default.nix
index 6b93977558c8..3bf136683333 100644
--- a/pkgs/tools/security/ggshield/default.nix
+++ b/pkgs/tools/security/ggshield/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "ggshield";
-  version = "1.24.0";
+  version = "1.25.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "GitGuardian";
     repo = "ggshield";
     rev = "refs/tags/v${version}";
-    hash = "sha256-N0yokLsp6jRELIPu8w6gvD7V97xiKJl+kLQQB9h2mMY=";
+    hash = "sha256-D6+0ZYuOiCy5LonP1Ob7PlWmBXvLwU3PODOT6F+70HY=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix
index 00c7ceeb70bd..ed44f89dc40f 100644
--- a/pkgs/tools/security/trufflehog/default.nix
+++ b/pkgs/tools/security/trufflehog/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "trufflehog";
-  version = "3.68.2";
+  version = "3.68.3";
 
   src = fetchFromGitHub {
     owner = "trufflesecurity";
     repo = "trufflehog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6gQoyVlLE+cXYwh8lTkL2giDhd3ETgETjT3XuEOwOU8=";
+    hash = "sha256-gX0NEXRFN9UFqtdKf/2MuqtFYfWQs0H0Foq+IPiMprU=";
   };
 
-  vendorHash = "sha256-D58WqqDwQo7fRubkGNRhD6g9ooKS9peb2qJJDRXgLtk=";
+  vendorHash = "sha256-2QHIdVi0hDWxACbzIp+OYSxCC/ZyM3CdhP0abVansBI=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/text/goawk/default.nix b/pkgs/tools/text/goawk/default.nix
index fc1a2bab79f4..2ed24f93d4d7 100644
--- a/pkgs/tools/text/goawk/default.nix
+++ b/pkgs/tools/text/goawk/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "goawk";
-  version = "1.25.0";
+  version = "1.26.0";
 
   src = fetchFromGitHub {
     owner = "benhoyt";
     repo = "goawk";
     rev = "v${version}";
-    hash = "sha256-vxDBtYrfSmYE2mCqhepeLr4u+zLfHxCrYSXGq05CEYQ=";
+    hash = "sha256-EJf5Qv5ICJJdGNcRQ7v/ANyxx2j9d9NsZJnzIBrwam4=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/text/zim-tools/default.nix b/pkgs/tools/text/zim-tools/default.nix
index e51755dd7e44..100c9e706ff7 100644
--- a/pkgs/tools/text/zim-tools/default.nix
+++ b/pkgs/tools/text/zim-tools/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zim-tools";
-  version = "3.3.0";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "openzim";
     repo = "zim-tools";
     rev = version;
-    sha256 = "sha256-kPUw13GVYZ1GLb4b4ch64GkJZtf6PW1gae8F/cgyG90=";
+    sha256 = "sha256-A1A0Ri2OwPyqpx0f5CPJL3zAwo2I/AiRKpmk3r4DeTc=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/tools/video/yaydl/default.nix b/pkgs/tools/video/yaydl/default.nix
index 7dea97bf649e..39e085931dda 100644
--- a/pkgs/tools/video/yaydl/default.nix
+++ b/pkgs/tools/video/yaydl/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "yaydl";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "dertuxmalwieder";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "sha256-JwyWWqbUNZyH6gymeScb9tMZoPvn/Igz9iW2pp0XvEI=";
+    sha256 = "sha256-r0Z/dihDaiW/lBLMftLtzLELpKT2twqru1xxI9LnjU8=";
   };
 
-  cargoSha256 = "sha256-jmqO0UvU6s+E5r6VFFjOvSe8oiLiTG5rPNHzoHVftWo=";
+  cargoHash = "sha256-FkOiMeNwYj++gZ1Kl4RZHmsRDVMZQBEYtRpogK6XSFE=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index d991c3cbe8d2..cce25da849d9 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -714,6 +714,7 @@ mapAliases ({
   mod_pkcs12 = apacheHttpdPackages.mod_pkcs12; # Added 2019-12-24
   mod_timestamp = apacheHttpdPackages.mod_timestamp; # Added 2019-12-24
   monero = monero-cli; # Added 2021-11-28
+  moneyplex = throw "'moneyplex' has been removed, as it was broken and unmaintained"; # Added 2024-02-28
   mongodb-4_0 = throw "mongodb-4_0 has been removed, it's end of life since April 2022"; # Added 2023-01-05
   mongodb-4_2 = throw "mongodb-4_2 has been removed, it's end of life since April 2023"; # Added 2023-06-06
   moonlander = throw "'moonlander' has been removed due to it being broken and unmaintained"; # Added 2023-11-26
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a737bf37e211..a57f66fbe4ba 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -491,8 +491,6 @@ with pkgs;
 
   banana-vera = callPackage ../development/tools/analysis/banana-vera { };
 
-  chrysalis = callPackage ../applications/misc/chrysalis { };
-
   ciel = callPackage ../tools/package-management/ciel { };
 
   circt = callPackage ../development/compilers/circt { };
@@ -4777,6 +4775,10 @@ with pkgs;
 
   slurp = callPackage ../tools/wayland/slurp { };
 
+  sway-unwrapped = callPackage ../by-name/sw/sway-unwrapped/package.nix {
+    wlroots = wlroots_0_17;
+  };
+
   swaykbdd = callPackage ../tools/wayland/swaykbdd { };
 
   swayr = callPackage ../tools/wayland/swayr { };
@@ -5628,8 +5630,6 @@ with pkgs;
 
   hocr-tools = with python3Packages; toPythonApplication hocr-tools;
 
-  home-manager = callPackage ../tools/package-management/home-manager { };
-
   homepage-dashboard = callPackage ../servers/homepage-dashboard {
     inherit (darwin) cctools;
     inherit (darwin.apple_sdk.frameworks) IOKit;
@@ -8044,7 +8044,7 @@ with pkgs;
 
   fcitx5 = libsForQt5.callPackage ../tools/inputmethods/fcitx5 { };
 
-  fcitx5-with-addons = libsForQt5.callPackage ../tools/inputmethods/fcitx5/with-addons.nix { };
+  fcitx5-with-addons = callPackage ../tools/inputmethods/fcitx5/with-addons.nix { };
 
   fcitx5-bamboo = callPackage ../tools/inputmethods/fcitx5/fcitx5-bamboo.nix { };
 
@@ -10893,8 +10893,6 @@ with pkgs;
 
   molotov = callPackage ../applications/video/molotov { };
 
-  moneyplex = callPackage ../applications/office/moneyplex { };
-
   monit = callPackage ../tools/system/monit { };
 
   monocraft = callPackage ../data/fonts/monocraft { };
@@ -12413,8 +12411,6 @@ with pkgs;
 
   ouch = callPackage ../tools/compression/ouch { };
 
-  outils = callPackage ../tools/misc/outils { };
-
   mpi = openmpi; # this attribute should used to build MPI applications
   mpiCheckPhaseHook = callPackage ../build-support/setup-hooks/mpi-check-hook { };
 
@@ -20125,7 +20121,22 @@ with pkgs;
   ttyd = callPackage ../servers/ttyd { };
 
   turbogit = callPackage ../development/tools/turbogit {
-    libgit2 = libgit2_1_3_0;
+    libgit2 = libgit2.overrideAttrs rec {
+      version = "1.3.0";
+      src = pkgs.fetchFromGitHub {
+        owner = "libgit2";
+        repo = "libgit2";
+        rev = "v${version}";
+        hash = "sha256-7atNkOBzX+nU1gtFQEaE+EF1L+eex+Ajhq2ocoJY920=";
+      };
+      patches = [];
+      # tests fail on old version
+      doCheck = false;
+      meta = libgit2.meta // {
+        maintainers = [];
+        knownVulnerabilities = [ "CVE-2024-24575" "CVE-2024-24577" "CVE-2022-29187" "CVE 2022-24765" ];
+      };
+    };
   };
 
   tweak = callPackage ../applications/editors/tweak { };
@@ -21348,39 +21359,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  libgit2_1_3_0 = libgit2.overrideAttrs rec {
-    version = "1.3.0";
-    src = pkgs.fetchFromGitHub {
-      owner = "libgit2";
-      repo = "libgit2";
-      rev = "v${version}";
-      hash = "sha256-7atNkOBzX+nU1gtFQEaE+EF1L+eex+Ajhq2ocoJY920=";
-    };
-    patches = [];
-  };
-
-  libgit2_1_5 = libgit2.overrideAttrs rec {
-    version = "1.5.1";
-    src = pkgs.fetchFromGitHub {
-      owner = "libgit2";
-      repo = "libgit2";
-      rev = "v${version}";
-      hash = "sha256-KzBMwpqn6wUFhgB3KDclBS0BvZSVcasM5AG/y+L91xM=";
-    };
-    patches = [];
-  };
-
-  libgit2_1_6 = libgit2.overrideAttrs rec {
-    version = "1.6.5";
-    src = fetchFromGitHub {
-      owner = "libgit2";
-      repo = "libgit2";
-      rev = "v${version}";
-      hash = "sha256-2tgXnrB85dEfxu7giETqMuFxfm0RH5MicHZqO3ezGu0=";
-    };
-    patches = [ ];
-  };
-
   libgit2-glib = callPackage ../development/libraries/libgit2-glib { };
 
   libhsts = callPackage ../development/libraries/libhsts { };
@@ -31003,8 +30981,6 @@ with pkgs;
   inherit (recurseIntoAttrs (callPackage ../applications/editors/ed { }))
     ed edUnstable;
 
-  edbrowse = callPackage ../applications/editors/edbrowse { };
-
   edlin = callPackage ../applications/editors/edlin { };
 
   orbiton = callPackage ../applications/editors/orbiton {
@@ -35975,8 +35951,6 @@ with pkgs;
 
   vkeybd = callPackage ../applications/audio/vkeybd { };
 
-  vlc = libsForQt5.callPackage ../applications/video/vlc { };
-
   libvlc = vlc.override {
     withQt5 = false;
     onlyLibVLC = true;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 6a610e36779a..d2fceb9e64e6 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2061,6 +2061,10 @@ self: super: with self; {
 
   chispa = callPackage ../development/python-modules/chispa { };
 
+  chroma-hnswlib = callPackage ../development/python-modules/chroma-hnswlib { };
+
+  chromadb = callPackage ../development/python-modules/chromadb { };
+
   chromaprint = callPackage ../development/python-modules/chromaprint { };
 
   ci-info = callPackage ../development/python-modules/ci-info { };
@@ -2922,6 +2926,8 @@ self: super: with self; {
 
   dirty-equals = callPackage ../development/python-modules/dirty-equals { };
 
+  dirtyjson = callPackage ../development/python-modules/dirtyjson { };
+
   discid = callPackage ../development/python-modules/discid { };
 
   discogs-client = callPackage ../development/python-modules/discogs-client { };
@@ -6670,6 +6676,46 @@ self: super: with self; {
 
   lizard = callPackage ../development/python-modules/lizard { };
 
+  llama-index = callPackage ../development/python-modules/llama-index { };
+
+  llama-index-agent-openai = callPackage ../development/python-modules/llama-index-agent-openai { };
+
+  llama-index-cli = callPackage ../development/python-modules/llama-index-cli { };
+
+  llama-index-core = callPackage ../development/python-modules/llama-index-core { };
+
+  llama-index-embeddings-gemini = callPackage ../development/python-modules/llama-index-embeddings-gemini { };
+
+  llama-index-embeddings-google = callPackage ../development/python-modules/llama-index-embeddings-google { };
+
+  llama-index-embeddings-openai = callPackage ../development/python-modules/llama-index-embeddings-openai { };
+
+  llama-index-indices-managed-llama-cloud = callPackage ../development/python-modules/llama-index-indices-managed-llama-cloud { };
+
+  llama-index-legacy = callPackage ../development/python-modules/llama-index-legacy { };
+
+  llama-index-llms-openai = callPackage ../development/python-modules/llama-index-llms-openai { };
+
+  llama-index-multi-modal-llms-openai = callPackage ../development/python-modules/llama-index-multi-modal-llms-openai { };
+
+  llama-index-program-openai = callPackage ../development/python-modules/llama-index-program-openai { };
+
+  llama-index-question-gen-openai = callPackage ../development/python-modules/llama-index-question-gen-openai { };
+
+  llama-index-readers-file = callPackage ../development/python-modules/llama-index-readers-file { };
+
+  llama-index-readers-json = callPackage ../development/python-modules/llama-index-readers-json { };
+
+  llama-index-readers-llama-parse = callPackage ../development/python-modules/llama-index-readers-llama-parse { };
+
+  llama-index-readers-weather = callPackage ../development/python-modules/llama-index-readers-weather { };
+
+  llama-index-vector-stores-chroma = callPackage ../development/python-modules/llama-index-vector-stores-chroma { };
+
+  llama-parse = callPackage ../development/python-modules/llama-parse { };
+
+  llamaindex-py-client = callPackage ../development/python-modules/llamaindex-py-client { };
+
   llfuse = callPackage ../development/python-modules/llfuse {
     inherit (pkgs) fuse;
   };
@@ -8887,6 +8933,8 @@ self: super: with self; {
 
   opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { };
 
+  opentelemetry-instrumentation-fastapi = callPackage ../development/python-modules/opentelemetry-instrumentation-fastapi { };
+
   opentelemetry-instrumentation-flask = callPackage ../development/python-modules/opentelemetry-instrumentation-flask { };
 
   opentelemetry-instrumentation-grpc = callPackage ../development/python-modules/opentelemetry-instrumentation-grpc { };
@@ -9748,6 +9796,8 @@ self: super: with self; {
 
   python-tado = callPackage ../development/python-modules/python-tado { };
 
+  python-idzip = callPackage ../development/python-modules/python-idzip { };
+
   pythonfinder = callPackage ../development/python-modules/pythonfinder { };
 
   pytomorrowio = callPackage ../development/python-modules/pytomorrowio { };
@@ -10089,6 +10139,8 @@ self: super: with self; {
 
   pulp = callPackage ../development/python-modules/pulp { };
 
+  pulsar-client = callPackage ../development/python-modules/pulsar-client { };
+
   pulsectl-asyncio = callPackage ../development/python-modules/pulsectl-asyncio { };
 
   pulsectl = callPackage ../development/python-modules/pulsectl { };
@@ -15748,6 +15800,8 @@ self: super: with self; {
 
   types-ipaddress = callPackage ../development/python-modules/types-ipaddress { };
 
+  types-lxml = callPackage ../development/python-modules/types-lxml { };
+
   types-markdown = callPackage ../development/python-modules/types-markdown { };
 
   types-mock = callPackage ../development/python-modules/types-mock { };
diff --git a/pkgs/top-level/qt6-packages.nix b/pkgs/top-level/qt6-packages.nix
index f346dec9f603..68f73dad7634 100644
--- a/pkgs/top-level/qt6-packages.nix
+++ b/pkgs/top-level/qt6-packages.nix
@@ -32,6 +32,8 @@ makeScopeWithSplicing' {
   accounts-qt = callPackage ../development/libraries/accounts-qt { };
   appstream-qt = callPackage ../development/libraries/appstream/qt.nix { };
 
+  fcitx5-qt = callPackage ../tools/inputmethods/fcitx5/fcitx5-qt.nix { };
+
   kdsoap = callPackage ../development/libraries/kdsoap { };
 
   kcolorpicker = callPackage ../development/libraries/kcolorpicker { };