summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/dotnet.section.md6
-rw-r--r--doc/languages-frameworks/php.section.md2
-rw-r--r--maintainers/maintainer-list.nix16
-rw-r--r--nixos/doc/manual/release-notes/rl-2311.section.md2
-rw-r--r--nixos/modules/config/malloc.nix2
-rw-r--r--nixos/modules/config/sysctl.nix3
-rw-r--r--nixos/modules/hardware/video/nvidia.nix2
-rw-r--r--nixos/modules/services/hardware/supergfxd.nix2
-rw-r--r--nixos/modules/services/security/vault.nix1
-rw-r--r--nixos/modules/services/web-apps/dokuwiki.nix2
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix2
-rw-r--r--nixos/modules/services/web-servers/keter/default.nix79
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh24
-rw-r--r--nixos/modules/virtualisation/lxd.nix2
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/keter.nix65
-rw-r--r--nixos/tests/non-default-filesystems.nix25
-rw-r--r--nixos/tests/os-prober.nix4
-rw-r--r--nixos/tests/sway.nix73
-rw-r--r--pkgs/applications/audio/easyabc/default.nix65
-rw-r--r--pkgs/applications/audio/easyabc/hardcoded-paths.patch43
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix4
-rw-r--r--pkgs/applications/audio/sound-juicer/default.nix14
-rw-r--r--pkgs/applications/audio/tauon/default.nix4
-rw-r--r--pkgs/applications/audio/tone/default.nix6
-rw-r--r--pkgs/applications/audio/tone/nuget-deps.nix1
-rw-r--r--pkgs/applications/audio/uhhyou.lv2/default.nix67
-rw-r--r--pkgs/applications/blockchains/lndmanage/default.nix4
-rw-r--r--pkgs/applications/editors/featherpad/default.nix4
-rw-r--r--pkgs/applications/emulators/dolphin-emu/default.nix24
-rw-r--r--pkgs/applications/emulators/ryujinx/default.nix6
-rw-r--r--pkgs/applications/emulators/xemu/default.nix4
-rw-r--r--pkgs/applications/finance/denaro/default.nix5
-rw-r--r--pkgs/applications/misc/deadd-notification-center/default.nix4
-rw-r--r--pkgs/applications/misc/otpclient/default.nix4
-rw-r--r--pkgs/applications/misc/porsmo/default.nix47
-rw-r--r--pkgs/applications/misc/xdgmenumaker/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix810
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix810
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix9
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix4
-rw-r--r--pkgs/applications/networking/circumflex/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/acorn/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubefirst/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json40
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix4
-rw-r--r--pkgs/applications/networking/freefilesync/default.nix4
-rw-r--r--pkgs/applications/networking/gdrive3/Cargo.lock1769
-rw-r--r--pkgs/applications/networking/gdrive3/default.nix37
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--pkgs/applications/networking/irc/ircdog/default.nix6
-rw-r--r--pkgs/applications/networking/shellhub-agent/default.nix10
-rw-r--r--pkgs/applications/science/math/eigenmath/default.nix6
-rw-r--r--pkgs/applications/science/molecular-dynamics/lammps/default.nix28
-rw-r--r--pkgs/applications/terminal-emulators/rio/default.nix4
-rw-r--r--pkgs/applications/version-management/git-credential-manager/default.nix50
-rw-r--r--pkgs/applications/version-management/git-credential-manager/deps.nix86
-rwxr-xr-xpkgs/applications/version-management/git-credential-manager/update.sh24
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix33
-rw-r--r--pkgs/applications/video/webcamoid/default.nix4
-rw-r--r--pkgs/applications/window-managers/sway/swayest-workstyle/default.nix6
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix12
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh9
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh6
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh21
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh13
-rw-r--r--pkgs/build-support/rust/test/import-cargo-lock/default.nix4
-rw-r--r--pkgs/build-support/rust/test/import-cargo-lock/maturin/Cargo.lock682
-rw-r--r--pkgs/build-support/rust/test/import-cargo-lock/maturin/default.nix43
-rw-r--r--pkgs/build-support/vm/default.nix8
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/evince/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/buildGnomeExtension.nix2
-rw-r--r--pkgs/development/compilers/abcl/default.nix4
-rw-r--r--pkgs/development/compilers/crystal/default.nix4
-rw-r--r--pkgs/development/compilers/djgpp/default.nix5
-rw-r--r--pkgs/development/compilers/dotnet/build-dotnet.nix2
-rw-r--r--pkgs/development/compilers/dotnet/default.nix4
-rwxr-xr-xpkgs/development/compilers/dotnet/update.sh8
-rw-r--r--pkgs/development/compilers/dotnet/versions/6.0.nix8
-rw-r--r--pkgs/development/compilers/dotnet/versions/7.0.nix8
-rw-r--r--pkgs/development/compilers/dotnet/versions/8.0.nix8
-rw-r--r--pkgs/development/compilers/erg/default.nix6
-rw-r--r--pkgs/development/compilers/opensmalltalk-vm/default.nix2
-rw-r--r--pkgs/development/interpreters/php/8.0.nix53
-rw-r--r--pkgs/development/interpreters/php/generic.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix3
-rw-r--r--pkgs/development/interpreters/rlci/default.nix26
-rw-r--r--pkgs/development/libraries/fb303/default.nix4
-rw-r--r--pkgs/development/libraries/gnome-video-effects/default.nix10
-rw-r--r--pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch11
-rw-r--r--pkgs/development/libraries/goocanvas/2.x.nix4
-rw-r--r--pkgs/development/libraries/libmongo-client/default.nix29
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/libxdg-basedir/default.nix27
-rw-r--r--pkgs/development/libraries/qrcodegen/default.nix11
-rw-r--r--pkgs/development/libraries/qt-6/default.nix2
-rw-r--r--pkgs/development/libraries/qt-6/modules/qtwebengine.nix5
-rw-r--r--pkgs/development/libraries/science/math/magma/generic.nix3
-rw-r--r--pkgs/development/libraries/symengine/default.nix19
-rw-r--r--pkgs/development/libraries/xapian/default.nix2
-rw-r--r--pkgs/development/libraries/xapian/tools/omega/default.nix2
-rw-r--r--pkgs/development/node-packages/overrides.nix5
-rw-r--r--pkgs/development/python-modules/amply/default.nix4
-rw-r--r--pkgs/development/python-modules/aranet4/default.nix9
-rw-r--r--pkgs/development/python-modules/arcam-fmj/default.nix4
-rw-r--r--pkgs/development/python-modules/async-tkinter-loop/default.nix46
-rw-r--r--pkgs/development/python-modules/bimmer-connected/default.nix4
-rw-r--r--pkgs/development/python-modules/black/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-datastore/default.nix4
-rw-r--r--pkgs/development/python-modules/graphtage/default.nix4
-rw-r--r--pkgs/development/python-modules/ijson/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-classifier/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-core/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-dashboard/default.nix14
-rw-r--r--pkgs/development/python-modules/langchain/default.nix4
-rw-r--r--pkgs/development/python-modules/langchainplus-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/libvirt/default.nix4
-rw-r--r--pkgs/development/python-modules/malduck/default.nix7
-rw-r--r--pkgs/development/python-modules/pint-pandas/default.nix12
-rw-r--r--pkgs/development/python-modules/pydata-google-auth/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopnsense/default.nix12
-rw-r--r--pkgs/development/python-modules/python-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/scmrepo/default.nix4
-rw-r--r--pkgs/development/python-modules/textual/default.nix4
-rw-r--r--pkgs/development/python-modules/tkinter/default.nix26
-rw-r--r--pkgs/development/python-modules/xapian/default.nix2
-rw-r--r--pkgs/development/python-modules/xmlschema/default.nix4
-rw-r--r--pkgs/development/python-modules/yamllint/default.nix19
-rw-r--r--pkgs/development/python-modules/yq/default.nix20
-rw-r--r--pkgs/development/tools/cambalache/default.nix15
-rw-r--r--pkgs/development/tools/ctlptl/default.nix4
-rw-r--r--pkgs/development/tools/ginkgo/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/ansible-language-server/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/typst-lsp/Cargo.lock3
-rw-r--r--pkgs/development/tools/language-servers/typst-lsp/default.nix4
-rw-r--r--pkgs/development/tools/memray/default.nix4
-rw-r--r--pkgs/development/tools/misc/acr/default.nix4
-rw-r--r--pkgs/development/tools/misc/n98-magerun/default.nix5
-rw-r--r--pkgs/development/tools/misc/src-cli/default.nix15
-rw-r--r--pkgs/development/tools/ruff/Cargo.lock18
-rw-r--r--pkgs/development/tools/ruff/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-mutants/default.nix35
-rw-r--r--pkgs/development/tools/rust/cargo-ndk/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/typos/default.nix6
-rw-r--r--pkgs/games/extremetuxracer/default.nix4
-rw-r--r--pkgs/games/lgames/lpairs2/default.nix4
-rw-r--r--pkgs/misc/drivers/utsushi/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-sdk-11.0/default.nix1
-rw-r--r--pkgs/os-specific/linux/blktrace/default.nix11
-rw-r--r--pkgs/os-specific/linux/jool/cli.nix5
-rw-r--r--pkgs/os-specific/linux/jool/default.nix7
-rw-r--r--pkgs/os-specific/linux/jool/source.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix30
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-6.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-6.3.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix3
-rw-r--r--pkgs/servers/bird/default.nix4
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix6
-rw-r--r--pkgs/servers/frr/default.nix4
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/irc/inspircd/default.nix4
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/klipper/default.nix8
-rw-r--r--pkgs/servers/miniflux/default.nix10
-rw-r--r--pkgs/servers/monitoring/grafana-agent/default.nix13
-rw-r--r--pkgs/servers/monitoring/mackerel-agent/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix8
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix6
-rw-r--r--pkgs/servers/nosql/eventstore/default.nix11
-rw-r--r--pkgs/servers/snappymail/default.nix4
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix9
-rw-r--r--pkgs/servers/tailscale/default.nix11
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix2
-rw-r--r--pkgs/tools/X11/opentabletdriver/default.nix5
-rw-r--r--pkgs/tools/X11/opentabletdriver/deps.nix8
-rw-r--r--pkgs/tools/admin/awscli2/default.nix4
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/fioctl/default.nix4
-rw-r--r--pkgs/tools/admin/lxd/default.nix4
-rw-r--r--pkgs/tools/misc/esphome/dashboard.nix4
-rw-r--r--pkgs/tools/misc/esphome/default.nix4
-rw-r--r--pkgs/tools/misc/fedifetcher/default.nix39
-rw-r--r--pkgs/tools/misc/plocate/default.nix14
-rw-r--r--pkgs/tools/misc/tio/default.nix4
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix4
-rw-r--r--pkgs/tools/networking/amass/default.nix4
-rw-r--r--pkgs/tools/networking/bgpq4/default.nix4
-rw-r--r--pkgs/tools/networking/boundary/default.nix10
-rw-r--r--pkgs/tools/networking/containerlab/default.nix6
-rw-r--r--pkgs/tools/networking/dhcpdump/default.nix32
-rw-r--r--pkgs/tools/networking/iperf/3.nix4
-rw-r--r--pkgs/tools/networking/netbird/default.nix6
-rw-r--r--pkgs/tools/networking/tcpreplay/default.nix4
-rw-r--r--pkgs/tools/nix/nixpkgs-lint/default.nix26
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/grype/default.nix6
-rw-r--r--pkgs/tools/security/katana/default.nix6
-rw-r--r--pkgs/tools/security/nmap/default.nix19
-rw-r--r--pkgs/tools/security/nmap/zenmap.patch15
-rw-r--r--pkgs/tools/security/tlsx/default.nix6
-rw-r--r--pkgs/tools/system/rsyslog/default.nix3
-rw-r--r--pkgs/tools/text/crowdin-cli/default.nix4
-rw-r--r--pkgs/tools/text/riffdiff/default.nix23
-rw-r--r--pkgs/top-level/aliases.nix6
-rw-r--r--pkgs/top-level/all-packages.nix43
-rw-r--r--pkgs/top-level/perl-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix8
219 files changed, 4097 insertions, 2338 deletions
diff --git a/doc/languages-frameworks/dotnet.section.md b/doc/languages-frameworks/dotnet.section.md
index 9eb7dec1be0..5b94c3d7dc2 100644
--- a/doc/languages-frameworks/dotnet.section.md
+++ b/doc/languages-frameworks/dotnet.section.md
@@ -92,7 +92,7 @@ The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given
 
 To package Dotnet applications, you can use `buildDotnetModule`. This has similar arguments to `stdenv.mkDerivation`, with the following additions:
 
-* `projectFile` is used for specifying the dotnet project file, relative to the source root. These usually have `.sln` or `.csproj` file extensions. This can be a list of multiple projects as well. Most of the time dotnet can figure this location out by itself, so this should only be set if necessary.
+* `projectFile` is used for specifying the dotnet project file, relative to the source root. These have `.sln` (entire solution) or `.csproj` (single project) file extensions. This can be a list of multiple projects as well. When omitted, will attempt to find and build the solution (`.sln`). If running into problems, make sure to set it to a file (or a list of files) with the `.csproj` extension - building applications as entire solutions is not fully supported by the .NET CLI.
 * `nugetDeps` takes either a path to a `deps.nix` file, or a derivation. The `deps.nix` file can be generated using the script attached to `passthru.fetch-deps`. This file can also be generated manually using `nuget-to-nix` tool, which is available in nixpkgs. If the argument is a derivation, it will be used directly and assume it has the same output as `mkNugetDeps`.
 * `packNupkg` is used to pack project as a `nupkg`, and installs it to `$out/share`. If set to `true`, the derivation can be used as a dependency for another dotnet project by adding it to `projectReferences`.
 * `projectReferences` can be used to resolve `ProjectReference` project items. Referenced projects can be packed with `buildDotnetModule` by setting the `packNupkg = true` attribute and passing a list of derivations to `projectReferences`. Since we are sharing referenced projects as NuGets they must be added to csproj/fsproj files as `PackageReference` as well.
@@ -108,13 +108,13 @@ To package Dotnet applications, you can use `buildDotnetModule`. This has simila
 * `executables` is used to specify which executables get wrapped to `$out/bin`, relative to `$out/lib/$pname`. If this is unset, all executables generated will get installed. If you do not want to install any, set this to `[]`. This gets done in the `preFixup` phase.
 * `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies.
 * `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`.
-* `selfContainedBuild` allows to enable the [self-contained](https://docs.microsoft.com/en-us/dotnet/core/deploying/#publish-self-contained) build flag. By default, it is set to false and generated applications have a dependency on the selected dotnet runtime. If enabled, the dotnet runtime is bundled into the executable and the built app has no dependency on Dotnet.
+* `selfContainedBuild` allows to enable the [self-contained](https://docs.microsoft.com/en-us/dotnet/core/deploying/#publish-self-contained) build flag. By default, it is set to false and generated applications have a dependency on the selected dotnet runtime. If enabled, the dotnet runtime is bundled into the executable and the built app has no dependency on .NET.
 * `useAppHost` will enable creation of a binary executable that runs the .NET application using the specified root. More info in [Microsoft docs](https://learn.microsoft.com/en-us/dotnet/core/deploying/#publish-framework-dependent). Enabled by default.
 * `useDotnetFromEnv` will change the binary wrapper so that it uses the .NET from the environment. The runtime specified by `dotnet-runtime` is given as a fallback in case no .NET is installed in the user's environment. This is most useful for .NET global tools and LSP servers, which often extend the .NET CLI and their runtime should match the users' .NET runtime.
 * `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used. You can also set this to the result of `dotnetSdkPackages.combinePackages`, if the project uses multiple SDKs to build.
 * `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used. This can be either a regular dotnet runtime, or an aspnetcore.
 * `dotnet-test-sdk` is useful in cases where unit tests expect a different dotnet SDK. By default, this is set to the `dotnet-sdk` attribute.
-* `testProjectFile` is useful in cases where the regular project file does not contain the unit tests. It gets restored and build, but not installed. You may need to regenerate your nuget lockfile after setting this.
+* `testProjectFile` is useful in cases where the regular project file does not contain the unit tests. It gets restored and build, but not installed. You may need to regenerate your nuget lockfile after setting this. Note that if set, only tests from this project are executed.
 * `disabledTests` is used to disable running specific unit tests. This gets passed as: `dotnet test --filter "FullyQualifiedName!={}"`, to ensure compatibility with all unit test frameworks.
 * `dotnetRestoreFlags` can be used to pass flags to `dotnet restore`.
 * `dotnetBuildFlags` can be used to pass flags to `dotnet build`.
diff --git a/doc/languages-frameworks/php.section.md b/doc/languages-frameworks/php.section.md
index 8600e49d457..6c4315f5c48 100644
--- a/doc/languages-frameworks/php.section.md
+++ b/doc/languages-frameworks/php.section.md
@@ -22,7 +22,7 @@ NixOS - not necessarily the latest major release from upstream.
 
 All available PHP attributes are wrappers around their respective
 binary PHP package and provide commonly used extensions this way. The
-real PHP 7.4 package, i.e. the unwrapped one, is available as
+real PHP 8.1 package, i.e. the unwrapped one, is available as
 `php81.unwrapped`; see the next section for more details.
 
 Interactive tools built on PHP are put in `php.packages`; composer is
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index dabfc149cc3..c57e18a2a9b 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -195,6 +195,16 @@
     githubId = 15312184;
     name = "Rebecca Turner";
   };
+  _999eagle = {
+    email = "github@999eagle.moe";
+    matrix = "@sophie:catgirl.cloud";
+    github = "999eagle";
+    githubId = 1221984;
+    name = "Sophie Tauchert";
+    keys = [{
+      fingerprint = "7B59 F09E 0FE5 BC34 F032  1FB4 5270 1DE5 F5F5 1125";
+    }];
+  };
   a1russell = {
     email = "adamlr6+pub@gmail.com";
     github = "a1russell";
@@ -7834,6 +7844,12 @@
     githubId = 2576152;
     name = "John M. Harris, Jr.";
   };
+  johnpyp = {
+    name = "John Paul Penaloza";
+    email = "johnpyp.dev@gmail.com";
+    github = "johnpyp";
+    githubId = 20625636;
+  };
   johnramsden = {
     email = "johnramsden@riseup.net";
     github = "johnramsden";
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md
index fd710aa1bf8..a6a4d2e6b8e 100644
--- a/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -34,6 +34,8 @@
 
 - The [services.caddy.acmeCA](#opt-services.caddy.acmeCA) option now defaults to `null` instead of `"https://acme-v02.api.letsencrypt.org/directory"`, to use all of Caddy's default ACME CAs and enable Caddy's automatic issuer fallback feature by default, as recommended by upstream.
 
+- `php80` is no longer supported due to upstream not supporting this version anymore.
+
 - `util-linux` is now supported on Darwin and is no longer an alias to `unixtools`. Use the `unixtools.util-linux` package for access to the Apple variants of the utilities.
 
 - The `vlock` program from the `kbd` package has been moved into its own package output and should now be referenced explicitly as `kbd.vlock` or replaced with an alternative such as the standalone `vlock` package or `physlock`.
diff --git a/nixos/modules/config/malloc.nix b/nixos/modules/config/malloc.nix
index ae0661f472f..3d70e091983 100644
--- a/nixos/modules/config/malloc.nix
+++ b/nixos/modules/config/malloc.nix
@@ -97,7 +97,7 @@ in
   };
 
   config = mkIf (cfg.provider != "libc") {
-    boot.kernel.sysctl."vm.max_map_count" = mkIf (cfg.provider == "graphene-hardened") (mkDefault 1048576);
+    boot.kernel.sysctl."vm.max_map_count" = mkIf (cfg.provider == "graphene-hardened") (mkDefault 1048576); # TODO: Default vm.max_map_count has been increased system-wide
     environment.etc."ld-nix.so.preload".text = ''
       ${providerLibPath}
     '';
diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix
index 4346c88f768..0bc7ab9667f 100644
--- a/nixos/modules/config/sysctl.nix
+++ b/nixos/modules/config/sysctl.nix
@@ -72,5 +72,8 @@ in
     # Disable YAMA by default to allow easy debugging.
     boot.kernel.sysctl."kernel.yama.ptrace_scope" = mkDefault 0;
 
+    # Improve compatibility with applications that allocate
+    # a lot of memory, like modern games
+    boot.kernel.sysctl."vm.max_map_count" = mkDefault 1048576;
   };
 }
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 592d11d6476..e72194653f3 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -265,7 +265,7 @@ in
       {
         assertion = primeEnabled -> pCfg.nvidiaBusId != "" && (pCfg.intelBusId != "" || pCfg.amdgpuBusId != "");
         message = ''
-          When NVIDIA PRIME is enabled, the GPU bus IDs must configured.
+          When NVIDIA PRIME is enabled, the GPU bus IDs must be configured.
         '';
       }
 
diff --git a/nixos/modules/services/hardware/supergfxd.nix b/nixos/modules/services/hardware/supergfxd.nix
index 5ea05ac2771..bd82775e824 100644
--- a/nixos/modules/services/hardware/supergfxd.nix
+++ b/nixos/modules/services/hardware/supergfxd.nix
@@ -32,7 +32,7 @@ in
 
     systemd.packages = [ pkgs.supergfxctl ];
     systemd.services.supergfxd.wantedBy = [ "multi-user.target" ];
-    systemd.services.supergfxd.path = [ pkgs.kmod ];
+    systemd.services.supergfxd.path = [ pkgs.kmod pkgs.pciutils ];
 
     services.dbus.packages = [ pkgs.supergfxctl ];
     services.udev.packages = [ pkgs.supergfxctl ];
diff --git a/nixos/modules/services/security/vault.nix b/nixos/modules/services/security/vault.nix
index 7b9e31a8d99..18d981cdb0d 100644
--- a/nixos/modules/services/security/vault.nix
+++ b/nixos/modules/services/security/vault.nix
@@ -221,6 +221,7 @@ in
         ProtectHome = "read-only";
         AmbientCapabilities = "cap_ipc_lock";
         NoNewPrivileges = true;
+        LimitCORE = 0;
         KillSignal = "SIGINT";
         TimeoutStopSec = "30s";
         Restart = "on-failure";
diff --git a/nixos/modules/services/web-apps/dokuwiki.nix b/nixos/modules/services/web-apps/dokuwiki.nix
index 9e685c127da..9e9bfb1bfd8 100644
--- a/nixos/modules/services/web-apps/dokuwiki.nix
+++ b/nixos/modules/services/web-apps/dokuwiki.nix
@@ -337,7 +337,7 @@ let
 
         phpPackage = mkOption {
           type = types.package;
-          relatedPackages = [ "php80" "php81" ];
+          relatedPackages = [ "php81" "php82" ];
           default = pkgs.php81;
           defaultText = "pkgs.php81";
           description = lib.mdDoc ''
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index a4ec579fddb..06af9d933e0 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -211,7 +211,7 @@ in {
     };
     phpPackage = mkOption {
       type = types.package;
-      relatedPackages = [ "php80" "php81" ];
+      relatedPackages = [ "php81" "php82" ];
       defaultText = "pkgs.php";
       description = lib.mdDoc ''
         PHP package to use for Nextcloud.
diff --git a/nixos/modules/services/web-servers/keter/default.nix b/nixos/modules/services/web-servers/keter/default.nix
index 9adbe65de69..3916c486475 100644
--- a/nixos/modules/services/web-servers/keter/default.nix
+++ b/nixos/modules/services/web-servers/keter/default.nix
@@ -1,53 +1,82 @@
 { config, pkgs, lib, ... }:
 let
   cfg = config.services.keter;
+  yaml = pkgs.formats.yaml { };
 in
 {
   meta = {
     maintainers = with lib.maintainers; [ jappie ];
   };
 
+  imports = [
+    (lib.mkRenamedOptionModule [ "services" "keter" "keterRoot" ] [ "services" "keter" "root" ])
+    (lib.mkRenamedOptionModule [ "services" "keter" "keterPackage" ] [ "services" "keter" "package" ])
+  ];
+
   options.services.keter = {
     enable = lib.mkEnableOption (lib.mdDoc ''keter, a web app deployment manager.
 Note that this module only support loading of webapps:
 Keep an old app running and swap the ports when the new one is booted.
 '');
 
-    keterRoot = lib.mkOption {
+    root = lib.mkOption {
       type = lib.types.str;
       default = "/var/lib/keter";
       description = lib.mdDoc "Mutable state folder for keter";
     };
 
-    keterPackage = lib.mkOption {
+    package = lib.mkOption {
       type = lib.types.package;
       default = pkgs.haskellPackages.keter;
       defaultText = lib.literalExpression "pkgs.haskellPackages.keter";
       description = lib.mdDoc "The keter package to be used";
     };
 
+
     globalKeterConfig = lib.mkOption {
-      type = lib.types.attrs;
-      default = {
-        ip-from-header = true;
-        listeners = [{
-          host = "*4";
-          port = 6981;
-        }];
+      type = lib.types.submodule {
+        freeformType = yaml.type;
+        options = {
+          ip-from-header = lib.mkOption {
+            default = true;
+            type = lib.types.bool;
+            description = lib.mdDoc "You want that ip-from-header in the nginx setup case. It allows nginx setting the original ip address rather then it being localhost (due to reverse proxying)";
+          };
+          listeners = lib.mkOption {
+            default = [{ host = "*"; port = 6981; }];
+            type = lib.types.listOf (lib.types.submodule {
+              options = {
+                host = lib.mkOption {
+                  type = lib.types.str;
+                  description = lib.mdDoc "host";
+                };
+                port = lib.mkOption {
+                  type = lib.types.port;
+                  description = lib.mdDoc "port";
+                };
+              };
+            });
+            description = lib.mdDoc ''
+              You want that ip-from-header in
+              the nginx setup case.
+              It allows nginx setting the original ip address rather
+              then it being localhost (due to reverse proxying).
+              However if you configure keter to accept connections
+              directly you may want to set this to false.'';
+          };
+          rotate-logs = lib.mkOption {
+            default = false;
+            type = lib.types.bool;
+            description = lib.mdDoc ''
+              emits keter logs and it's applications to stderr.
+              which allows journald to capture them.
+              Set to true to let keter put the logs in files
+              (useful on non systemd systems, this is the old approach
+              where keter handled log management)'';
+          };
+        };
       };
-      # You want that ip-from-header in the nginx setup case
-      # so it's not set to 127.0.0.1.
-      # using a port above 1024 allows you to avoid needing CAP_NET_BIND_SERVICE
-      defaultText = lib.literalExpression ''
-        {
-          ip-from-header = true;
-          listeners = [{
-            host = "*4";
-            port = 6981;
-          }];
-        }
-      '';
-      description = lib.mdDoc "Global config for keter";
+      description = lib.mdDoc "Global config for keter, see <https://github.com/snoyberg/keter/blob/master/etc/keter-config.yaml> for reference";
     };
 
     bundle = {
@@ -90,12 +119,12 @@ Keep an old app running and swap the ports when the new one is booted.
 
   config = lib.mkIf cfg.enable (
     let
-      incoming = "${cfg.keterRoot}/incoming";
+      incoming = "${cfg.root}/incoming";
 
 
       globalKeterConfigFile = pkgs.writeTextFile {
         name = "keter-config.yml";
-        text = (lib.generators.toYAML { } (cfg.globalKeterConfig // { root = cfg.keterRoot; }));
+        text = (lib.generators.toYAML { } (cfg.globalKeterConfig // { root = cfg.root; }));
       };
 
       # If things are expected to change often, put it in the bundle!
@@ -122,7 +151,7 @@ Keep an old app running and swap the ports when the new one is booted.
         script = ''
           set -xe
           mkdir -p ${incoming}
-          { tail -F ${cfg.keterRoot}/log/keter/current.log -n 0 & ${cfg.keterPackage}/bin/keter ${globalKeterConfigFile}; }
+          ${lib.getExe cfg.package} ${globalKeterConfigFile};
         '';
         wantedBy = [ "multi-user.target" "nginx.service" ];
 
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index bad045ec101..bc2fc7f7b10 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -114,6 +114,28 @@ waitDevice() {
     done
 }
 
+# Create the mount point if required.
+makeMountPoint() {
+    local device="$1"
+    local mountPoint="$2"
+    local options="$3"
+
+    local IFS=,
+
+    # If we're bind mounting a file, the mount point should also be a file.
+    if ! [ -d "$device" ]; then
+        for opt in $options; do
+            if [ "$opt" = bind ] || [ "$opt" = rbind ]; then
+                mkdir -p "$(dirname "/mnt-root$mountPoint")"
+                touch "/mnt-root$mountPoint"
+                return
+            fi
+        done
+    fi
+
+    mkdir -m 0755 -p "/mnt-root$mountPoint"
+}
+
 # Mount special file systems.
 specialMount() {
   local device="$1"
@@ -384,7 +406,7 @@ mountFS() {
 
     info "mounting $device on $mountPoint..."
 
-    mkdir -p "/mnt-root$mountPoint"
+    makeMountPoint "$device" "$mountPoint" "$optionsPrefixed"
 
     # For ZFS and CIFS mounts, retry a few times before giving up.
     # We do this for ZFS as a workaround for issue NixOS/nixpkgs#25383.
diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix
index c06716e5eb6..738382ef41a 100644
--- a/nixos/modules/virtualisation/lxd.nix
+++ b/nixos/modules/virtualisation/lxd.nix
@@ -177,7 +177,7 @@ in {
       "fs.inotify.max_queued_events" = 1048576;
       "fs.inotify.max_user_instances" = 1048576;
       "fs.inotify.max_user_watches" = 1048576;
-      "vm.max_map_count" = 262144;
+      "vm.max_map_count" = 262144; # TODO: Default vm.max_map_count has been increased system-wide
       "kernel.dmesg_restrict" = 1;
       "net.ipv4.neigh.default.gc_thresh3" = 8192;
       "net.ipv6.neigh.default.gc_thresh3" = 8192;
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index f97bb0f1bf4..318b1bc1f31 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -593,7 +593,6 @@ in {
   phosh = handleTest ./phosh.nix {};
   photoprism = handleTest ./photoprism.nix {};
   php = handleTest ./php {};
-  php80 = handleTest ./php { php = pkgs.php80; };
   php81 = handleTest ./php { php = pkgs.php81; };
   php82 = handleTest ./php { php = pkgs.php82; };
   phylactery = handleTest ./web-apps/phylactery.nix {};
diff --git a/nixos/tests/keter.nix b/nixos/tests/keter.nix
index 0bfb96e1c32..1cc2ffbde0a 100644
--- a/nixos/tests/keter.nix
+++ b/nixos/tests/keter.nix
@@ -1,42 +1,43 @@
 import ./make-test-python.nix ({ pkgs, ... }:
-let
-  port = 81;
-in
-{
-  name = "keter";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ jappie ];
-  };
+  let
+    port = 81;
+  in
+  {
+    name = "keter";
+    meta = with pkgs.lib.maintainers; {
+      maintainers = [ jappie ];
+    };
 
 
-  nodes.machine = { config, pkgs, ... }: {
-    services.keter = {
-      enable = true;
+    nodes.machine = { config, pkgs, ... }: {
+      services.keter = {
+        enable = true;
 
-      globalKeterConfig = {
-        listeners = [{
-          host = "*4";
-          inherit port;
-        }];
-      };
-      bundle = {
-        appName = "test-bundle";
-        domain = "localhost";
-        executable = pkgs.writeShellScript "run" ''
-          ${pkgs.python3}/bin/python -m http.server $PORT
-        '';
+        globalKeterConfig = {
+          cli-port = 123; # just adding this to test the freeform
+          listeners = [{
+            host = "*4";
+            inherit port;
+          }];
+        };
+        bundle = {
+          appName = "test-bundle";
+          domain = "localhost";
+          executable = pkgs.writeShellScript "run" ''
+            ${pkgs.python3}/bin/python -m http.server $PORT
+          '';
+        };
       };
     };
-  };
 
-  testScript =
-    ''
-      machine.wait_for_unit("keter.service")
+    testScript =
+      ''
+        machine.wait_for_unit("keter.service")
 
-      machine.wait_for_open_port(${toString port})
-      machine.wait_for_console_text("Activating app test-bundle with hosts: localhost")
+        machine.wait_for_open_port(${toString port})
+        machine.wait_for_console_text("Activating app test-bundle with hosts: localhost")
 
 
-      machine.succeed("curl --fail http://localhost:${toString port}/")
-    '';
-})
+        machine.succeed("curl --fail http://localhost:${toString port}/")
+      '';
+  })
diff --git a/nixos/tests/non-default-filesystems.nix b/nixos/tests/non-default-filesystems.nix
index 03cc5bf709a..6233e8d265d 100644
--- a/nixos/tests/non-default-filesystems.nix
+++ b/nixos/tests/non-default-filesystems.nix
@@ -6,6 +6,31 @@
 with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 {
+  bind = makeTest {
+    name = "non-default-filesystem-bind";
+
+    nodes.machine = { ... }: {
+      virtualisation.writableStore = false;
+
+      virtualisation.fileSystems."/test-bind-dir/bind" = {
+        device = "/";
+        neededForBoot = true;
+        options = [ "bind" ];
+      };
+
+      virtualisation.fileSystems."/test-bind-file/bind" = {
+        depends = [ "/nix/store" ];
+        device = builtins.toFile "empty" "";
+        neededForBoot = true;
+        options = [ "bind" ];
+      };
+    };
+
+    testScript = ''
+      machine.wait_for_unit("multi-user.target")
+    '';
+  };
+
   btrfs = makeTest
     {
       name = "non-default-filesystems-btrfs";
diff --git a/nixos/tests/os-prober.nix b/nixos/tests/os-prober.nix
index 8f3e2494047..22e720824c8 100644
--- a/nixos/tests/os-prober.nix
+++ b/nixos/tests/os-prober.nix
@@ -8,7 +8,7 @@ let
       ${parted}/bin/parted --script /dev/vda mklabel msdos
       ${parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s
       mkdir /mnt
-      ${e2fsprogs}/bin/mkfs.ext4 /dev/vda1
+      ${e2fsprogs}/bin/mkfs.ext4 -O '^metadata_csum_seed' /dev/vda1
       ${util-linux}/bin/mount -t ext4 /dev/vda1 /mnt
 
       if test -e /mnt/.debug; then
@@ -83,6 +83,8 @@ in {
           docbook5
           docbook_xsl_ns
           grub2
+          kbd
+          kbd.dev
           kmod.dev
           libarchive
           libarchive.dev
diff --git a/nixos/tests/sway.nix b/nixos/tests/sway.nix
index 52e2c7c99ec..d95334c10e4 100644
--- a/nixos/tests/sway.nix
+++ b/nixos/tests/sway.nix
@@ -45,6 +45,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
           regular2 = foreground;
         };
       };
+
+      etc."gpg-agent.conf".text = ''
+        pinentry-timeout 86400
+      '';
     };
 
     fonts.fonts = [ pkgs.inconsolata ];
@@ -71,16 +75,53 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ];
   };
 
-  enableOCR = true;
-
   testScript = { nodes, ... }: ''
     import shlex
+    import json
+
+    q = shlex.quote
+    NODE_GROUPS = ["nodes", "floating_nodes"]
+
+
+    def swaymsg(command: str = "", succeed=True, type="command"):
+        assert command != "" or type != "command", "Must specify command or type"
+        shell = q(f"swaymsg -t {q(type)} -- {q(command)}")
+        with machine.nested(
+            f"sending swaymsg {shell!r}" + " (allowed to fail)" * (not succeed)
+        ):
+            ret = (machine.succeed if succeed else machine.execute)(
+                f"su - alice -c {shell}"
+            )
+
+        # execute also returns a status code, but disregard.
+        if not succeed:
+            _, ret = ret
+
+        if not succeed and not ret:
+            return None
+
+        parsed = json.loads(ret)
+        return parsed
 
-    def swaymsg(command: str, succeed=True):
-        with machine.nested(f"sending swaymsg {command!r}" + " (allowed to fail)" * (not succeed)):
-          (machine.succeed if succeed else machine.execute)(
-            f"su - alice -c {shlex.quote('swaymsg -- ' + command)}"
-          )
+
+    def walk(tree):
+        yield tree
+        for group in NODE_GROUPS:
+            for node in tree.get(group, []):
+                yield from walk(node)
+
+
+    def wait_for_window(pattern):
+        def func(last_chance):
+            nodes = (node["name"] for node in walk(swaymsg(type="get_tree")))
+
+            if last_chance:
+                nodes = list(nodes)
+                machine.log(f"Last call! Current list of windows: {nodes}")
+
+            return any(pattern in name for name in nodes)
+
+        retry(func)
 
     start_all()
     machine.wait_for_unit("multi-user.target")
@@ -94,7 +135,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
 
     # Test XWayland (foot does not support X):
     swaymsg("exec WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY=invalid alacritty")
-    machine.wait_for_text("alice@machine")
+    wait_for_window("alice@machine")
     machine.send_chars("test-x11\n")
     machine.wait_for_file("/tmp/test-x11-exit-ok")
     print(machine.succeed("cat /tmp/test-x11.out"))
@@ -106,7 +147,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     machine.send_key("alt-3")
     machine.sleep(3)
     machine.send_key("alt-ret")
-    machine.wait_for_text("alice@machine")
+    wait_for_window("alice@machine")
     machine.send_chars("test-wayland\n")
     machine.wait_for_file("/tmp/test-wayland-exit-ok")
     print(machine.succeed("cat /tmp/test-wayland.out"))
@@ -117,16 +158,24 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
 
     # Test gpg-agent starting pinentry-gnome3 via D-Bus (tests if
     # $WAYLAND_DISPLAY is correctly imported into the D-Bus user env):
-    swaymsg("exec gpg --no-tty --yes --quick-generate-key test")
+    swaymsg("exec mkdir -p ~/.gnupg")
+    swaymsg("exec cp /etc/gpg-agent.conf ~/.gnupg")
+
+    swaymsg("exec DISPLAY=INVALID gpg --no-tty --yes --quick-generate-key test", succeed=False)
     machine.wait_until_succeeds("pgrep --exact gpg")
-    machine.wait_for_text("Passphrase")
+    wait_for_window("gpg")
+    machine.succeed("pgrep --exact gpg")
     machine.screenshot("gpg_pinentry")
     machine.send_key("alt-shift-q")
     machine.wait_until_fails("pgrep --exact gpg")
 
     # Test swaynag:
+    def get_height():
+        return [node['rect']['height'] for node in walk(swaymsg(type="get_tree")) if node['focused']][0]
+
+    before = get_height()
     machine.send_key("alt-shift-e")
-    machine.wait_for_text("You pressed the exit shortcut.")
+    retry(lambda _: get_height() < before)
     machine.screenshot("sway_exit")
 
     swaymsg("exec swaylock")
diff --git a/pkgs/applications/audio/easyabc/default.nix b/pkgs/applications/audio/easyabc/default.nix
new file mode 100644
index 00000000000..9f45d045241
--- /dev/null
+++ b/pkgs/applications/audio/easyabc/default.nix
@@ -0,0 +1,65 @@
+{ lib, fetchFromGitHub, substituteAll, makeWrapper, python39, fluidsynth, soundfont-fluid, wrapGAppsHook, abcmidi, abcm2ps, ghostscript }:
+
+# requires python39 due to https://stackoverflow.com/a/71902541 https://github.com/jwdj/EasyABC/issues/52
+python39.pkgs.buildPythonApplication {
+  pname = "easyabc";
+  version = "1.3.8.6";
+
+  src = fetchFromGitHub {
+    owner = "jwdj";
+    repo = "easyabc";
+    rev = "6461b2c14280cb64224fc5299c31cfeef9b7d43c";
+    hash = "sha256-leC3A4HQMeJNeZXArb3YAYr2mddGPcws618NrRh2Q1Y=";
+  };
+
+  nativeBuildInputs = [ wrapGAppsHook ];
+
+  propagatedBuildInputs = with python39.pkgs; [
+    cx_Freeze
+    wxPython_4_2
+    pygame
+  ];
+
+  # apparently setup.py only supports Windows and Darwin
+  # everything is very non-standard in this project
+  dontBuild = true;
+  format = "other";
+
+  # https://discourse.nixos.org/t/packaging-mcomix3-python-gtk-missing-gsettings-schemas-issue/10190/2
+  strictDeps = false;
+
+  patches = [
+    (substituteAll {
+      src = ./hardcoded-paths.patch;
+      fluidsynth = "${fluidsynth}/lib/libfluidsynth.so";
+      soundfont = "${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2";
+      ghostscript = "${ghostscript}/bin/gs";
+    })
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/easyabc
+    mv * $out/share/easyabc
+
+    ln -s ${abcmidi}/bin/abc2midi $out/share/easyabc/bin/abc2midi
+    ln -s ${abcmidi}/bin/midi2abc $out/share/easyabc/bin/midi2abc
+    ln -s ${abcmidi}/bin/abc2abc $out/share/easyabc/bin/abc2abc
+    ln -s ${abcm2ps}/bin/abcm2ps $out/share/easyabc/bin/abcm2ps
+
+    makeWrapper ${python39.interpreter} $out/bin/easyabc \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/easyabc" \
+      --add-flags "-O $out/share/easyabc/easy_abc.py"
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "ABC music notation editor";
+    homepage = "https://easyabc.sourceforge.net/";
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ mausch ];
+  };
+}
diff --git a/pkgs/applications/audio/easyabc/hardcoded-paths.patch b/pkgs/applications/audio/easyabc/hardcoded-paths.patch
new file mode 100644
index 00000000000..e3ac1e58d7a
--- /dev/null
+++ b/pkgs/applications/audio/easyabc/hardcoded-paths.patch
@@ -0,0 +1,43 @@
+---
+ easy_abc.py   | 4 ++++
+ fluidsynth.py | 2 ++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/easy_abc.py b/easy_abc.py
+index 5be3e6a..40c999a 100644
+--- a/easy_abc.py
++++ b/easy_abc.py
+@@ -3960,6 +3960,8 @@ class MainFrame(wx.Frame):
+         else:
+             default_soundfont_path = '/usr/share/sounds/sf2/FluidR3_GM.sf2'
+
++        default_soundfont_path = '@soundfont@'
++
+         soundfont_path = settings.get('soundfont_path', default_soundfont_path)
+         self.uses_fluidsynth = False
+         if fluidsynth_available and soundfont_path and os.path.exists(soundfont_path):
+@@ -8367,6 +8369,8 @@ class MainFrame(wx.Frame):
+                 gs_path = '/usr/bin/pstopdf'
+                 settings['gs_path'] = gs_path
+
++            settings['gs_path'] = '@ghostscript@'
++
+         # 1.3.6.1 [SS] 2015-01-12 2015-01-22
+         gs_path = settings['gs_path'] #eliminate trailing \n
+         if gs_path and (os.path.exists(gs_path) == False):
+diff --git a/fluidsynth.py b/fluidsynth.py
+index 529ebbf..b5d9377 100644
+--- a/fluidsynth.py
++++ b/fluidsynth.py
+@@ -44,6 +44,8 @@ if platform.system() == 'Windows':
+ else:
+     lib_locations = ['./libfluidsynth.so.3', 'libfluidsynth.so.3', './libfluidsynth.so.2', 'libfluidsynth.so.2']
+
++lib_locations = ['@fluidsynth@']
++
+ i = 0
+ while i < len(lib_locations):
+     try:
+--
+2.38.5
+
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index 6eb290ef7a5..292287456ee 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pt2-clone";
-  version = "1.59";
+  version = "1.60";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${version}";
-    sha256 = "sha256-Hv2ZM01aDyBcmdbK+7C20zncvCeZSQ61BJ7zTSM/OA8=";
+    sha256 = "sha256-hV73omi5Eedk0RgYvIMruTa9lfuduvcXoIpdS5Cg0xk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix
index f162dcd045d..999b2825eff 100644
--- a/pkgs/applications/audio/sound-juicer/default.nix
+++ b/pkgs/applications/audio/sound-juicer/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -22,22 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sound-juicer";
-  version = "3.38.0";
+  version = "3.40.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "08d5d81rz9sj3m5paw8fwbgxmhlbr7bcjdzpmzj832qvg8smydxf";
+    sha256 = "LuiCdEORvrTG1koPaCX7dlUQtwbsK3BL+0LkKvquHeY=";
   };
 
-  patches = [
-    # Fix build with meson 0.61
-    # data/meson.build:2:5: ERROR: Function does not take positional arguments.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/sound-juicer/-/commit/9f97ca1faca396099f52264a9729aa355f8d122e.patch";
-      sha256 = "8JllVSQgI7KiBI5WP6QtXRiggYuD89NSJJp1hP4Dbao=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/applications/audio/tauon/default.nix b/pkgs/applications/audio/tauon/default.nix
index 62272aef4df..43724953eea 100644
--- a/pkgs/applications/audio/tauon/default.nix
+++ b/pkgs/applications/audio/tauon/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tauon";
-  version = "7.6.5";
+  version = "7.6.6";
 
   src = fetchFromGitHub {
     owner = "Taiko2k";
     repo = "TauonMusicBox";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-+K+sX6JbVB7qCRlwlIHMHFR76GwZZrHFh6Jjn8xlMmg=";
+    hash = "sha256-yt5sMvYau43WwVerQlaOrvzJ4HnBOEVQqbql9UH8jnM=";
   };
 
   postUnpack = ''
diff --git a/pkgs/applications/audio/tone/default.nix b/pkgs/applications/audio/tone/default.nix
index 230d78ddbfe..06529a4b02e 100644
--- a/pkgs/applications/audio/tone/default.nix
+++ b/pkgs/applications/audio/tone/default.nix
@@ -14,11 +14,9 @@ buildDotnetModule rec {
   projectFile = "tone/tone.csproj";
   executables = [ "tone" ];
   nugetDeps = ./nuget-deps.nix;
-  dotnetBuildFlags = [ "--no-self-contained" ];
+
   dotnetInstallFlags = [
     "-p:PublishSingleFile=false"
-    "-p:PublishTrimmed=false"
-    "-p:PublishReadyToRun=false"
   ];
 
   dotnet-sdk = dotnetCorePackages.sdk_6_0;
@@ -29,6 +27,6 @@ buildDotnetModule rec {
     description = "A cross platform utility to dump and modify audio metadata for a wide variety of formats";
     license = licenses.asl20;
     maintainers = [ maintainers.jvanbruegge ];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/tone/nuget-deps.nix b/pkgs/applications/audio/tone/nuget-deps.nix
index d5cbfdad364..1af0d0ab91a 100644
--- a/pkgs/applications/audio/tone/nuget-deps.nix
+++ b/pkgs/applications/audio/tone/nuget-deps.nix
@@ -28,7 +28,6 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "7.0.0"; sha256 = "1liyprh0zha2vgmqh92n8kkjz61zwhr7g16f0gmr297z2rg1j5pj"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "7.0.0"; sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "6.0.18"; sha256 = "12661jkck5wqwc6cr8vq71lqn7k0jm0q86qxw51a0vph24m77irj"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.2"; sha256 = "1p9splg1min274dpz7xdfgzrwkyfd3xlkygwpr1xgjvvyjvs6b0i"; })
   (fetchNuGet { pname = "Sandreas.AudioMetadata"; version = "0.1.1"; sha256 = "11ibv23h7qj5qshibmlsqmjca51dqbhib9p1gz66c5kqhk7ci38j"; })
   (fetchNuGet { pname = "Sandreas.Files"; version = "1.1.2"; sha256 = "08qk229q2y1dpdxdnp8xi9mgk8fgpjxrxm4z6ak8n09npp67nhn0"; })
diff --git a/pkgs/applications/audio/uhhyou.lv2/default.nix b/pkgs/applications/audio/uhhyou.lv2/default.nix
deleted file mode 100644
index eb590c22bbf..00000000000
--- a/pkgs/applications/audio/uhhyou.lv2/default.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, pkg-config
-, python3
-, fftw
-, libGL
-, libX11
-, libjack2
-, liblo
-, lv2
-}:
-
-stdenv.mkDerivation rec {
-  # this is what upstream calls the package, see:
-  # https://github.com/ryukau/LV2Plugins#uhhyou-plugins-lv2
-  pname = "uhhyou.lv2";
-  version = "unstable-2021-02-08";
-
-  src = fetchFromGitHub {
-    owner = "ryukau";
-    repo =  "LV2Plugins";
-    rev = "df67460fc344f94db4306d4ee21e4207e657bbee";
-    fetchSubmodules = true;
-    sha256 = "1a23av35cw26zgq93yzmmw35084hsj29cb7sb04j2silv5qisila";
-  };
-
-  nativeBuildInputs = [ pkg-config python3 ];
-
-  buildInputs = [ fftw libGL libX11 libjack2 liblo lv2 ];
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  prePatch = ''
-    patchShebangs generate-ttl.sh patch.sh patch/apply.sh
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "Audio plugins for Linux";
-    longDescription = ''
-      Plugin List:
-      - CollidingCombSynth
-      - CubicPadSynth
-      - EnvelopedSine
-      - EsPhaser
-      - FDNCymbal
-      - FoldShaper
-      - IterativeSinCluster
-      - L3Reverb
-      - L4Reverb
-      - LatticeReverb
-      - LightPadSynth
-      - ModuloShaper
-      - OddPowShaper
-      - SevenDelay
-      - SoftClipper
-      - SyncSawSynth
-      - TrapezoidSynth
-      - WaveCymbal
-    '';
-    homepage = "https://github.com/ryukau/LV2Plugins/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.magnetophon ];
-  };
-}
diff --git a/pkgs/applications/blockchains/lndmanage/default.nix b/pkgs/applications/blockchains/lndmanage/default.nix
index 41b83e02b40..97333fde00d 100644
--- a/pkgs/applications/blockchains/lndmanage/default.nix
+++ b/pkgs/applications/blockchains/lndmanage/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "lndmanage";
-  version = "0.14.2";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "bitromortac";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-G6KpF/c8FsXrqI0hB0fZlModQThnAOHrCv482UjRng0=";
+    hash = "sha256-zEz1k98LIOWzqzZ+WNHBHY2hPwWE75bjP+quSdfI/8s=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/editors/featherpad/default.nix b/pkgs/applications/editors/featherpad/default.nix
index 5edf029e003..4334a7ba119 100644
--- a/pkgs/applications/editors/featherpad/default.nix
+++ b/pkgs/applications/editors/featherpad/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "featherpad";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "FeatherPad";
     rev = "V${version}";
-    sha256 = "sha256-6hu8r38hrQEt0vaO9XA+KaWPuWYcBdydpjEf2V+m5xY=";
+    sha256 = "sha256-8IT/PxLz6BsLHzY5pM0bTlAO0xvfC7/aI7+Gbw2LyME=";
   };
 
   nativeBuildInputs = [ cmake pkg-config qttools ];
diff --git a/pkgs/applications/emulators/dolphin-emu/default.nix b/pkgs/applications/emulators/dolphin-emu/default.nix
index c341d2a5872..ba7fc2cfb8f 100644
--- a/pkgs/applications/emulators/dolphin-emu/default.nix
+++ b/pkgs/applications/emulators/dolphin-emu/default.nix
@@ -66,12 +66,21 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
+    stdenv.cc
     cmake
     pkg-config
     wrapQtAppsHook
   ];
 
-  buildInputs = [
+  buildInputs = lib.optionals stdenv.isDarwin [
+    CoreBluetooth
+    ForceFeedback
+    IOBluetooth
+    IOKit
+    moltenvk
+    OpenGL
+    VideoToolbox
+  ] ++ [
     bzip2
     cubeb
     curl
@@ -79,7 +88,6 @@ stdenv.mkDerivation rec {
     ffmpeg
     fmt_8
     hidapi
-    libGL
     libiconv
     libpulseaudio
     libspng
@@ -99,20 +107,13 @@ stdenv.mkDerivation rec {
     alsa-lib
     bluez
     libevdev
+    libGL
     libXext
     libXrandr
     # FIXME: Remove comment on next mgba version
     #mgba # Derivation doesn't support Darwin
     udev
     vulkan-loader
-  ] ++ lib.optionals stdenv.isDarwin [
-    CoreBluetooth
-    ForceFeedback
-    IOBluetooth
-    IOKit
-    moltenvk
-    OpenGL
-    VideoToolbox
   ];
 
   cmakeFlags = [
@@ -124,6 +125,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isDarwin [
     "-DOSX_USE_DEFAULT_SEARCH_PATH=True"
     "-DUSE_BUNDLED_MOLTENVK=OFF"
+    "-DMACOS_CODE_SIGNING=OFF"
     # Bundles the application folder into a standalone executable, so we cannot devendor libraries
     "-DSKIP_POSTPROCESS_BUNDLE=ON"
     # Needs xcode so compilation fails with it enabled. We would want the version to be fixed anyways.
@@ -184,7 +186,5 @@ stdenv.mkDerivation rec {
       xfix
       ivar
     ];
-    # Requires both LLVM and SDK bump
-    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/pkgs/applications/emulators/ryujinx/default.nix b/pkgs/applications/emulators/ryujinx/default.nix
index b6f678c121c..8265da3213d 100644
--- a/pkgs/applications/emulators/ryujinx/default.nix
+++ b/pkgs/applications/emulators/ryujinx/default.nix
@@ -28,13 +28,13 @@
 
 buildDotnetModule rec {
   pname = "ryujinx";
-  version = "1.1.897"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
+  version = "1.1.898"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
 
   src = fetchFromGitHub {
     owner = "Ryujinx";
     repo = "Ryujinx";
-    rev = "f9a538bb0f02b4665f8cccbde0730e08da208024";
-    sha256 = "07y4235bjd2a3fssm6y2hdkzsriwlb7sdblmj6qjl55qh4q6xrqw";
+    rev = "649d372f7da8559f8b6d74ca44af64ba7d7853c4";
+    sha256 = "0vi87qd99dzshg4raiw158b3d5l62y359kandfabjqbjn7614bpp";
   };
 
   dotnet-sdk = dotnetCorePackages.sdk_7_0;
diff --git a/pkgs/applications/emulators/xemu/default.nix b/pkgs/applications/emulators/xemu/default.nix
index 5d127ce83fb..7850ae6909f 100644
--- a/pkgs/applications/emulators/xemu/default.nix
+++ b/pkgs/applications/emulators/xemu/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xemu";
-  version = "0.7.95";
+  version = "0.7.96";
 
   src = fetchFromGitHub {
     owner = "xemu-project";
     repo = "xemu";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-JZEDVmW1Q+nAFv8oVaYl7w41Mvm+L/t8PamkkE1FaIk=";
+    hash = "sha256-6lEQotqVrfK+A67nTEKeqY70LrQRdH9dUGlzOt5CWZ0=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/finance/denaro/default.nix b/pkgs/applications/finance/denaro/default.nix
index b378ed97285..38769b6932b 100644
--- a/pkgs/applications/finance/denaro/default.nix
+++ b/pkgs/applications/finance/denaro/default.nix
@@ -1,5 +1,4 @@
 { lib
-, stdenvNoCC
 , buildDotnetModule
 , fetchFromGitHub
 , dotnetCorePackages
@@ -31,10 +30,6 @@ buildDotnetModule rec {
   nugetDeps = ./deps.nix;
   executables = "NickvisionMoney.GNOME";
 
-  # Prevent installing native libraries for all platforms
-  dotnetBuildFlags = [ "--runtime" (dotnetCorePackages.systemToDotnetRid stdenvNoCC.hostPlatform.system) ];
-  dotnetInstallFlags = [ "--runtime" (dotnetCorePackages.systemToDotnetRid stdenvNoCC.hostPlatform.system) ];
-
   nativeBuildInputs = [
     pkg-config
     wrapGAppsHook4
diff --git a/pkgs/applications/misc/deadd-notification-center/default.nix b/pkgs/applications/misc/deadd-notification-center/default.nix
index 2d2221ff6a8..8dd52e390dd 100644
--- a/pkgs/applications/misc/deadd-notification-center/default.nix
+++ b/pkgs/applications/misc/deadd-notification-center/default.nix
@@ -17,13 +17,13 @@ let
   '';
 in mkDerivation rec {
   pname = "deadd-notification-center";
-  version = "2.0.3";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "phuhl";
     repo = "linux_notification_center";
     rev = "${version}";
-    hash = "sha256-OM4zzKdo0HMvzAl7BG9IuSHmTauSC5rLWoJJOAshDYg=";
+    hash = "sha256-ascg31HsHeXKhvMNntiRLuZ4+T2+fokfDhZ3c8N/Gzg=";
   };
 
   isLibrary = false;
diff --git a/pkgs/applications/misc/otpclient/default.nix b/pkgs/applications/misc/otpclient/default.nix
index 4821efa9223..cfda9e4e88e 100644
--- a/pkgs/applications/misc/otpclient/default.nix
+++ b/pkgs/applications/misc/otpclient/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "otpclient";
-  version = "3.1.7";
+  version = "3.1.8";
 
   src = fetchFromGitHub {
     owner = "paolostivanin";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-TklVOUkdhWDG9GqHl0Sz9fah+Xp/M8xgSuDB1q4mljM=";
+    hash = "sha256-wwK8JI/IP89aRmetUXE+RlrqU8bpfIkzMZ9nF7qFe1Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/porsmo/default.nix b/pkgs/applications/misc/porsmo/default.nix
new file mode 100644
index 00000000000..7a172526821
--- /dev/null
+++ b/pkgs/applications/misc/porsmo/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, alsa-lib
+, stdenv
+, darwin
+, testers
+, porsmo
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "porsmo";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "ColorCookie-dev";
+    repo = "porsmo";
+    rev = version;
+    hash = "sha256-NOMEfS6RvB9513ZkcQi6cxBuhmALqqcI3onhua2MD+0=";
+  };
+
+  cargoHash = "sha256-6RV1RUkWLaxHqvs2RqSe/2tDw+aPDoRBYUW1GxN18Go=";
+
+  nativeBuildInputs = [
+    pkg-config
+    rustPlatform.bindgenHook
+  ];
+
+  buildInputs = [
+    alsa-lib
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreAudio
+    darwin.apple_sdk.frameworks.CoreFoundation
+  ];
+
+  passthru.tests.version = testers.testVersion {
+    package = porsmo;
+  };
+
+  meta = with lib; {
+    description = "Pomodoro cli app in rust with timer and countdown";
+    homepage = "https://github.com/ColorCookie-dev/porsmo";
+    license = licenses.mit;
+    maintainers = with maintainers; [ MoritzBoehme ];
+  };
+}
diff --git a/pkgs/applications/misc/xdgmenumaker/default.nix b/pkgs/applications/misc/xdgmenumaker/default.nix
index e15b3c9ba63..a9ccb2399da 100644
--- a/pkgs/applications/misc/xdgmenumaker/default.nix
+++ b/pkgs/applications/misc/xdgmenumaker/default.nix
@@ -12,13 +12,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "xdgmenumaker";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "gapan";
     repo = pname;
     rev = version;
-    sha256 = "CLFFsc/F6I8UOY/XbViWCAlnnu32E5gtEXg9+KSJqI0=";
+    sha256 = "K+IecWWRjnY/5TBJydTuEPqNRSg1OIE1t0u6HkLS9uI=";
   };
 
   format = "other";
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 53a1f4d5fb2..3b38f645319 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,1015 +1,1015 @@
 {
-  version = "114.0b7";
+  version = "115.0b8";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ach/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ach/firefox-115.0b8.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "022ba21a2c6148610379bfd25dea3d4b0d85c1ba0f2393ab131b86d90b9cd973";
+      sha256 = "5218f39a816bc70d5cda9e47730fd9624dbb5b6c70fe81d3600de2729b9c7e5b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/af/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/af/firefox-115.0b8.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "73da99ba75b57fd72ff7bba6ef81592397b140bd0533d731d1c75ae27d0d082c";
+      sha256 = "1e7bcd7b5fe2ea6814c2fc8d478d8c20909cbacb5f4cc7218653847a7b56e7c7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/an/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/an/firefox-115.0b8.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "083a00003947808a017947d75bc0d035ca55914229793521f1b02a19344c3ddc";
+      sha256 = "ac9f32cfbd76fe13edb8ad55a34deb4262f5b4e25df4f0ececd7af03d0870507";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ar/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ar/firefox-115.0b8.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "b1410d2425a9883357a8297d982b0f1039804bd4a8d5ace0bec8aa0af7f015f3";
+      sha256 = "10834e2a62cae38f20a554d06cf9782cd5f6f847ac83efaeb64438f2a7b9b559";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ast/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ast/firefox-115.0b8.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "705f91aeae48abf9caf20684c8904a3598dbb672156d2f25177a54a0a3bcc6c5";
+      sha256 = "079a6b68944dd93113da56bf16c65bc9e4ff00bfd747e4b33e27ea00e279bcbf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/az/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/az/firefox-115.0b8.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "5352b23b7bf39463552e9108caef638f89886f718bd0e406a09fa8b3c3b83389";
+      sha256 = "db39e7ddfb8119579b1af3abcbb67ca6b0364d095ecda1e7b15936abe87dff5e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/be/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/be/firefox-115.0b8.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "2b0e182ec360921dbc7d356bdaaa96041ebf1ffae21a4e4c4d029adee3b438c4";
+      sha256 = "dadb2b044a3d8f11ccda4dbe09f55c3c7f90bdd34b85115daa6686688b2a6e10";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/bg/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/bg/firefox-115.0b8.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "d4d586f2e280a295579154c1b1f43b79010112b3725c71e1b52edaf94624cf3f";
+      sha256 = "a1ca8185e2dec8096160d9db81973ec6919588f476eb1aa1d07f16434b0c0ca7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/bn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/bn/firefox-115.0b8.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "1678b3d3510e3c9a4622c1f8df6efdf253b6d708e8dd3f19718d2ce83771f532";
+      sha256 = "ac03fde65f7e8e8d55308c6fe7312d3f551a41276cd2cfd613f1674542ae6802";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/br/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/br/firefox-115.0b8.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "db6acb61d8f318e6b344c40282f60862e4c9f7060ecbc739a036b430ea90bc3d";
+      sha256 = "7f7a55aa0c4d44bbe61c3c57e6fa644a5d4d7ec2d676ed177749c79497994858";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/bs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/bs/firefox-115.0b8.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "43fa4731aeb619e873b71ed38ddcdc4ba7e5b8f8d6d198ec9e4f6d8e153fe64f";
+      sha256 = "7dc82fa9e8a9c6701ea0e1d0f7b181b5828e27722bc6b57790eb1b99bb410327";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ca-valencia/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ca-valencia/firefox-115.0b8.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "229474552ec990d492c703156663092628030c6e5eb7ff27b76ab5b002c22cff";
+      sha256 = "10d4fe9426020123f2b3a14522b1da29a9981baadc4962d38b0b324ecaf652f1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ca/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ca/firefox-115.0b8.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "a052b2d7622598f7ec68c71cf1d5ea4a391bc8774649e2f7b4f86393a6abf393";
+      sha256 = "c9a9a7526f7e54024dc8c5db48f5d16936bdf407925404035e6427963f925276";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/cak/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/cak/firefox-115.0b8.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "b71e262b9a736233458475705e359808a6f9cf4d67d625eba06130b6271212c5";
+      sha256 = "97fad3f91397eb41512872bbc35a6b17da85d9f57ffdde5c98eed745b1d1e5ad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/cs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/cs/firefox-115.0b8.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "6eb24bcd39701586b1596e0b8409238e257a850b05eac671aa7ea0fa5cf62ac5";
+      sha256 = "d8f689a0915ca1312c7c1d85d111a9407fa71cf0d0fb369453b222040b32035e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/cy/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/cy/firefox-115.0b8.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "0b415fa61d7ae78b95ee3c06b3643ac78f681700863a9f0ba07f8dbf70ed4a57";
+      sha256 = "3f18face4365b093a37d7ab1e907ff0c762daf66f874d91f7409ce78e2b333da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/da/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/da/firefox-115.0b8.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "663e008a817b9601bf3bbac3b7e71e27b15cf598ab36d9dae890ca43efa5015e";
+      sha256 = "f77603241459bce33255b3fe8115d749f9aed30c75e68b9862a761100db5ba2f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/de/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/de/firefox-115.0b8.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "3cf2227557239d8b2614f28ac95ccdf08e553199b02475d0c29195f48c35387b";
+      sha256 = "c7983001bf77c81797a47a4847aa444c58e8db69bf9ca9c32936032fdf805862";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/dsb/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/dsb/firefox-115.0b8.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "edc527325743e849e88a123cf26f25edc36c4ea6cd9a3a19c1a853df8d4c33df";
+      sha256 = "abb1aa32cbda4130e4eabb0290ade7ef67a7289d3992527d1a88632137b140ca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/el/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/el/firefox-115.0b8.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "1e62c5ffccc5a07b3d9b2c8c04b5b96d170bd9439c5761ba3bc33e3c7f7b7c34";
+      sha256 = "19e3ef5e68733e63f7789808028551b1a51bfb2173d41544201b37bfb1ed2706";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/en-CA/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/en-CA/firefox-115.0b8.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "f6a9affebd0a7b456e2aa3e117eee15ef9eb70a13dc6ff4799a8cdc23c190f4e";
+      sha256 = "cca7517fb25863dc02e49b8110f8b2e111eebd23ccc4c7b37704680e032be235";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/en-GB/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/en-GB/firefox-115.0b8.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "1146b81e6e93343932091d5a0157cad0a543379e6132e5c14c3a97fb7b8ea614";
+      sha256 = "02252d16f0ab03ea622be23beae4740685de4d39e96b9ae3c9cf58bdb32ef0b3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/en-US/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/en-US/firefox-115.0b8.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "164b3d66acd9eab5c56b2efb5efe80232626d76bf1483b1fe47c0d4f1b873126";
+      sha256 = "bc2be8356e5de57d35a1845e1958471d7447a9a9dd7cf2e696bc6cd6ad892676";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/eo/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/eo/firefox-115.0b8.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "27c5cc0775189651e59e37df2da9fb69edb666a577ac4f746b002ecedad5c9c6";
+      sha256 = "ae47850759edf0dcbde8813fa002cfa8d464a01a2159b995908797f17eebc05f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/es-AR/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/es-AR/firefox-115.0b8.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "5a6e783317fc71c7f2c842fa66764e5948d590410fcad455bda6874cdeda8a79";
+      sha256 = "6e77411fcd5b422c6699860b0dd2b613862ffd6ac0e30f0694c3c276769002cd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/es-CL/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/es-CL/firefox-115.0b8.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "3c9f4771b9e9311427321ebce6903437273015e2646f8c4b65d5636e5e9597e1";
+      sha256 = "1784a6a54262b352982b3e87cde7a3f5455551ac684fc0d6d9503c51eeb54520";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/es-ES/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/es-ES/firefox-115.0b8.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "f56a246151fb9eeea938cc95814c04d40b30e72d3dd7a381916bd36d708d14d9";
+      sha256 = "ad395b7aa1bcfe0025cf81ebf9967bb76438cb4e7dba1431c063217fc8120497";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/es-MX/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/es-MX/firefox-115.0b8.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "883dad4d682112e38bf271ba421b1ef99970232b9e164de6e9ef048a82470649";
+      sha256 = "6083493916a86df43d9bbfd3ea3244331301800566934e28e522f5de0f1a9a3a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/et/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/et/firefox-115.0b8.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "574c8a5a6402b35474adbba9d27e71e2c87cd97bf7eb7bd73b972d0971babe7f";
+      sha256 = "958059a7ef3d958d9485d058b01d4de1c418e860bcf4aeb239162b4a08f11cae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/eu/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/eu/firefox-115.0b8.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "600ea6e92410e1713892fbdd675a51fff24fc2076e0f6f826802568650ffc7a1";
+      sha256 = "9bd3effdfc3e13baa86542ebd30b9a5448d71b8029199a1a35fc5a0de55a28b3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/fa/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/fa/firefox-115.0b8.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "1eca56170d4abdb7c6c92a8e5a06717b7ce46b4e21a748a4d6db56fe5ab1d1de";
+      sha256 = "4e94192b6fa29cc7f80fedbb4868ef49f21cdcdfbd69ed0e6762afb3d7a69c9a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ff/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ff/firefox-115.0b8.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "f9b0472e47678a29e10439b1dfa5bb8d53faf12a95aeb6d540894643b9e957d9";
+      sha256 = "84714949d622b0c8701949cb77b4b7fe98849cb7cac7b957c9c6a08fcda4ba46";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/fi/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/fi/firefox-115.0b8.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "06a1d9b9a1c9c84b58ca2d438f1cae72ab1f12664ad9793476449641dbc7da65";
+      sha256 = "ba2c4edb825fc640ea066994ce9b85fd6eb170a105085602b2a54a4bd15491e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/fr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/fr/firefox-115.0b8.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "44d8375552a192d314df84a9abf73ddf8fa0375147e6a3f791c177cddb6d3a27";
+      sha256 = "89e65a5b890f45551e4667f853c891da68b5253a6ff4c54b8dea89cbc58042a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/fur/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/fur/firefox-115.0b8.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "af28d62a1ab726f1fd16851634899700d2ba979269fd25e20f94dfff2f5505cf";
+      sha256 = "d709cbb2ea2e84b4e9dd4016e6faffa98c1de6db539339b5ae346eff6d591414";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/fy-NL/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/fy-NL/firefox-115.0b8.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "f7a40a35693b876e1cc44fec936da7c333f5618b1f5daf729ef40a20e9ef8695";
+      sha256 = "8c4c2ef29dc15d68f5d750c70cb7a7757bab3ef0338b16f5dd774a2f9de3eabb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ga-IE/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ga-IE/firefox-115.0b8.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "1d680320c41b6815d8132bdfebb5df6840c833f8644ed81cbe3424419167a8a8";
+      sha256 = "a6b2a3b3c0bd808148a5563a97a8b62478db6c519513f3b7330c84baf3932a7f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/gd/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/gd/firefox-115.0b8.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "71f527847a2ea896db6865f7d3f9f185942ccff9696211af197ce95764e1eb4d";
+      sha256 = "d9569775b5f682c1492adc090dec29a8c2d804c49bbfef2e3428515985c996a4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/gl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/gl/firefox-115.0b8.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "204623b23ee81e37f94b4019e45a5c722bf3bbddbc4a24e0ce46911597ce87c6";
+      sha256 = "98696213c9e984c941501d2b1d4adead0bd4bb1666ecfc124967e352d3804b1e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/gn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/gn/firefox-115.0b8.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "ee06a5871103af34a67fbe34b06b57fba6f03b3cc74ecc81094500237dc6b162";
+      sha256 = "9da425698912493587d1d9b5d094014b9620b6b33f6582df9da24acc9315e793";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/gu-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/gu-IN/firefox-115.0b8.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "3285dd800da9980b06d799fee833d319cda84e118943688d8f1238bf7780cbae";
+      sha256 = "56863b608e2fbe69399adf32e8d1cc8ed6c3a2b44b69475794b53726c0cf69c8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/he/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/he/firefox-115.0b8.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "f2ae4c11b66b6de8c63616e1c44cda8b538ab84d1890f58249f0ff0c1e3e6319";
+      sha256 = "273d5d6a6c5faec6686bdc044d2af8390c24c23d224d4c37b0e1847e41342439";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/hi-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/hi-IN/firefox-115.0b8.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "19199b9d110b552ae988456ebe099723e0161590a3ddfe8d9aa899d7cc1537d5";
+      sha256 = "04e82b782645f3712bfe4d350d415f5d1a2e2fa3af9b5cf5f1f69308fdc9b47c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/hr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/hr/firefox-115.0b8.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "c0e4cc692074dd9938c4badc8e287d7076f9f6c001b791d6aff903d00e45014e";
+      sha256 = "db9f7c31edc42a95a459fcab6ad4a278be75626884f0cd4e47c5a5c64bd218c4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/hsb/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/hsb/firefox-115.0b8.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "8800270c6e3930dd66a472fdc8bc3f6a77832ee77c2c7514603456a8d0780057";
+      sha256 = "461d383a4cffffbaa66fa50e7d64dfe28472d018098a02e2dcc502cc15212d17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/hu/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/hu/firefox-115.0b8.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "4c67055805c0636d2a1c05bd1dbae59310f55679089e2a0eb09ee696e9e02753";
+      sha256 = "35ad61fb256932b35f72de6274ca5c44cac25e4c6b8bc69630656b546c4b5d41";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/hy-AM/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/hy-AM/firefox-115.0b8.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "e53e96b97b9cb7e341240e4e090b65fcb2540168f35fd2ba693f4506a6ae9d2a";
+      sha256 = "31472f1d72b5f7d494a69fdfd272650479204f99e5b1fc8f0f863dfed1236e48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ia/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ia/firefox-115.0b8.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "6bee4a9bb85743cbcb2523062a261a072d1249838e070ae7d342c60e372dfea4";
+      sha256 = "9404f25a53da6c57ad1298a8e7af636ee609185c552ce9066c65fbf4bc8be5a2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/id/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/id/firefox-115.0b8.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "a1b3acd4c09980c6d6fb141e7aef7c6bfc5580aa1c2f6af163a5013513d6ada6";
+      sha256 = "2fb644ba66192b2d211ab11b3ec4486802789d06edbbc33789139ed8a83101a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/is/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/is/firefox-115.0b8.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "ace93d2402079086ab8f3dc78225b9d28ae1d542752e6cd1290b479ffbc96c47";
+      sha256 = "88f1ccbf9d93dce8d85db406b5c7c3891693f974a4495cb8e4da6dd53b792f99";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/it/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/it/firefox-115.0b8.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "f709093b0071877c7eb3500625605dd73d8d7075fbd54c72687a5519e8b497fa";
+      sha256 = "4954e95d0cd70e87e85c09b8ecbb4606becf8809ebe7cd475065414980ae55d1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ja/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ja/firefox-115.0b8.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "aa2b5e5ebd5c3f61b2c0e76aed8c630a6fcc7d92013ec69a64b0574bac87234d";
+      sha256 = "9a39e5d68c6a6548a8005a71c5d39439a4380c2fa1838c12955d57012823221c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ka/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ka/firefox-115.0b8.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "1c2050270d386cdb068b4ecf6a76c3070762ccc572773d22d3e6c4080af10356";
+      sha256 = "cd3c7bd68c776f1476f505967e7a8d0491f2af173154949c718945753248bc5e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/kab/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/kab/firefox-115.0b8.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "2ab453815cebc319c61369c41dbd50dc0e185225ab6f5374c07861d6ff6ef0af";
+      sha256 = "ccb975001b51a62560b7bac5ed38fb446b1190e8223fc4170c1770d4e31556d3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/kk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/kk/firefox-115.0b8.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "6d986d4e1ace18b96040f5429b0d73d0c909361f736d0cd2612e325f26ff0503";
+      sha256 = "a018f928d3f83e535b072b5067845a3ac138fc379247f5967cc7db72b3692bff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/km/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/km/firefox-115.0b8.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "71678d2713dc0ec28599b52d21fbcf1ffcbb18040a81728315d2ea2dfbca168e";
+      sha256 = "d63f343cc789d2d9c0589c74ceb23773b279bcf90438f670e4ad5c2f9e0f83e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/kn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/kn/firefox-115.0b8.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "7a109b7e6a021d95bc9afad04997b93d596a8eed979067a2880fdcc11b00c0cc";
+      sha256 = "53c55003e6a49332f453fd867d27649307706b2db882a01db0dfbf577596a8fb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ko/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ko/firefox-115.0b8.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "469c0c908542cdaf8a4b85daa585bbccea554a3eeb7a1fd35d2d126f1403c8a8";
+      sha256 = "2f477d7056ea4efc469ccae2196d21cbcae750d41e468cae025f8f9b31729733";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/lij/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/lij/firefox-115.0b8.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "44ba5f5dafeaf8f62c7a33ca8f2469f5f2650c156d94dabd2e44541dad6dbcd7";
+      sha256 = "bd72d8f4d923c87adca352a7926bf4d18b597a306707ad3f895d04846e878573";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/lt/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/lt/firefox-115.0b8.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "2faa5b80f7fd1378ce5c1a4387678f235ffbf021ea33165beb0f0353d775d13c";
+      sha256 = "0268452510dae461d69c5351a3909c468bc8d52ac73df2c962901f80f410ca79";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/lv/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/lv/firefox-115.0b8.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "bf5306692a0e92f118c258ddc590b9513b990ca0460ae3b470d0cf42f847efcf";
+      sha256 = "65f3eca8ffaf799ca10dc0abcf8ff3fd007e16853eba0a4fc916d0035e60878c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/mk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/mk/firefox-115.0b8.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "d46895c29329facd4fc6f5e54b89979e0e0040b4bd96d0be7449823d20394e04";
+      sha256 = "2da7fa9c7df122803e72c0ff6d96a98681f46582f4d4d0bc6f1591292ed3c321";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/mr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/mr/firefox-115.0b8.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "8bf0460e3b9f972d1d8dfa05ff80b499bc7dc0f633bb7dd5ad231b9b64f08c24";
+      sha256 = "bd949a77b78d77b67499c7afc54d4fb682d5bfae01043633e94a91e15a6b25c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ms/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ms/firefox-115.0b8.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "15f2db10a401a97ab0c526be62a4e29bce077b58e34b10a3491b18ce903abaa8";
+      sha256 = "e491714c0e4f08f190c35ccd4c1bef0d55a1779e29915a898505f2f0718836e0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/my/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/my/firefox-115.0b8.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "f054af83c735e76eeffbe3ac5f02e23af5d4c6729f937ed7b5c5aa5fd2f7eee6";
+      sha256 = "93ae853aedf21e52b27eb9413a62781c7300ca55c9b287d0224e6df056f9ceb6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/nb-NO/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/nb-NO/firefox-115.0b8.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "ccd176b1e6b891fb6880e341c3ea99285b5652409609f13e979e53f9b2b70038";
+      sha256 = "eb21c122ac36c626889f95447556de7b07b4ae0be27a5f5e187a64b48d66b48a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ne-NP/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ne-NP/firefox-115.0b8.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "ca6968881c165b0f60349c480029272f630b2e9d36665cbe47d9fe4a235512ac";
+      sha256 = "d9c3cc59b863c8ba1029e50a2cdf5b11d62f1bcc7864fd22c73ae50cdee5e48f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/nl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/nl/firefox-115.0b8.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "1e835a9e00de6d44e676bff926ba1454ee2c11a60ffcedc7b4b54760b5bc2023";
+      sha256 = "5e191c63eef8293355f30a5f8ed98dd80cb1fb2622b21e28a7cac54dfe86b425";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/nn-NO/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/nn-NO/firefox-115.0b8.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "f1566dcf282a6c27745644f0d22bd27fb0a547e8af5795cf0ac3f736b7dc8bf3";
+      sha256 = "104b574ab47fc8108cc5e0708f0b19ef19a5aa133d3695b388b0762d32c7ea18";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/oc/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/oc/firefox-115.0b8.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "d082790d15c79515efc523bd15c076d23e84692b93bda69dace805f01c676788";
+      sha256 = "3121f137967c6230237ccc0015372a30dc8667577fb4bac15e51641950f91a02";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/pa-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/pa-IN/firefox-115.0b8.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "8521ffecd760fe9bcb57483019826acaab9765e1132051f0277e38297fe8beb0";
+      sha256 = "3ec47470f58c4555244d2415e39d167c165934a3a61e5a1605986117bed05b2e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/pl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/pl/firefox-115.0b8.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "47467058a81952aaf3c6792c767b26064367518c999dddf803958afef0b1cb7a";
+      sha256 = "6263e7303dcb419eb48739c68018065814023c7f69cb2828938afffcb73b5ff1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/pt-BR/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/pt-BR/firefox-115.0b8.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "d2705149df0f9fd65d2c2a04aa19cfae78b84cf068b2f4de721635b164f79608";
+      sha256 = "5d31e7e035f3410c74249e99f182fbd48b516a6f0b0f5e801237ee04c663d5a6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/pt-PT/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/pt-PT/firefox-115.0b8.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "0721c5fb0825948e3a75fdca8ea57fc1da84534ffaa0cb725c42896d385141cd";
+      sha256 = "0553c68b3d9ef8d05ee6240697ba0ee939c08c699d8106a3019ea35e04dccf75";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/rm/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/rm/firefox-115.0b8.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "ec692b87ad3e0e8bf45d773873b1b317ef7ec628edda60f148a762e2f140a043";
+      sha256 = "ca667c5b7ea4cffa78b48c8087cff0da2f3e3ad094ec606a0bcd85fcbe9d52ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ro/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ro/firefox-115.0b8.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "b37cc095a32050ea5b774f5266d18dc96af5fd1495f96718ef55b4c47fc7b8b5";
+      sha256 = "73f0ff9d8cf83992d9819b48d43a7431c10f47f08e750313ebd5d6ac879b3a36";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ru/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ru/firefox-115.0b8.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "eb72d73f68e2a72173bbf95992da25aaf64d200736b295c67b62b29231dee5c6";
+      sha256 = "99c658dadb4e8ff94694b4b5824047f488f29850809af6760a7022a0e67e9758";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/sc/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/sc/firefox-115.0b8.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "e6faa3a748727e571c0b6f73600d17bef0d6008852fe14373df8f0fa71a9af2d";
+      sha256 = "b057fb2562da1493ea13ba6a18e8fe0e1dc7a4466341a36348ef04b277386cd3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/sco/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/sco/firefox-115.0b8.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "ba6012194c9d11df0971c9de38d3cca5507b0bbab5a898884ec1eb31dd9ad1f5";
+      sha256 = "abc3ad99bfc2a40919745f0550ee0d6f1e71286f17e6a4c31aa7fc7aaead1a54";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/si/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/si/firefox-115.0b8.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "d4a4ccf368ed9fd1625babcb215579f9ba41fc3785112f0313ad771bc1727ada";
+      sha256 = "3d14376ca041a1e0528db648dbc83da232c7830e99de5799d43f9ae51bbfde60";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/sk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/sk/firefox-115.0b8.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "a7775c51abf3c56b687157eb388d8180a46d2385e6d6e35218693ed6d746b733";
+      sha256 = "241b2e775d6466da543951641e66990d99737df2b09e4d527725744e87cc80ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/sl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/sl/firefox-115.0b8.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "1f94e43d88b5f42c74872445c82d2588b79bf70024a7e2601812c67a5d14e336";
+      sha256 = "d0aac04718a3f29a8ad2bccfcf49f1b6f898dc86173f4dcf69724d2433c33f49";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/son/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/son/firefox-115.0b8.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "7801709877bdba2f240440031ccad98624713f3fe78d1ee94415143d6aa5c8bc";
+      sha256 = "f968cd2b9b6a271aed7ba8f347aab8478477909dba5eb387b7d7073616f6e731";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/sq/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/sq/firefox-115.0b8.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "1623dc4f72094980327f4fc9fb52ed5827adc9e15aeb6f88b002e4d62ac23514";
+      sha256 = "25c5d36bf4e8bc717b8c5fac2bedd4011b8974b3d8952997330622e591dc8cd9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/sr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/sr/firefox-115.0b8.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "4532b9db2e3536b5ce6e36734e589c1ec3573eda024c6951e7b1501d8af9f799";
+      sha256 = "b307e4ccf0a9f7797b21def9d0279aceae7104d46c07b7e81ddce8f5c89a94ef";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/sv-SE/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/sv-SE/firefox-115.0b8.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "242dbadc54435792efd5f554968012358e5194c54b30360c7387fad81f4961f4";
+      sha256 = "04b52ddcb02a5f5500a0a6c4322db9d210727784b6f2cf3da26a7e5017a36fe7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/szl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/szl/firefox-115.0b8.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "11828341c39781a237f9c8f9921f6e735a5062abd482cb004c8312702457e4a9";
+      sha256 = "74ea01abac6b0550604c91d76d03142fe5611cafe64f24e0979c72c5878d0dbb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ta/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ta/firefox-115.0b8.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "908dedfbc2a95ce5beff8d03bd38c4329e7e0b31b975a027de0f5073d6abf24d";
+      sha256 = "447a8f1f40e7eab3ec014cef64d516b5db5e73a5f69f53e0a001df4dcb30724b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/te/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/te/firefox-115.0b8.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "b67a6f699497d49a3e124f4f1f17efd95b7217cddd850b9e6a7369c6f617a1d6";
+      sha256 = "e218a8a0da72b26b22404a4ba34329e9b4b7a4c338d57ed7db08b37ab12c9d26";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/tg/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/tg/firefox-115.0b8.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "e0d61ca794f839c39d2b47be752b5e3ed794b2083093f31117b0ee4b9de11590";
+      sha256 = "178f6d80f3fc8c763e9400aadd1c142ccd629c4249dbd0926b917ada7195d701";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/th/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/th/firefox-115.0b8.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "e66c2cd3edc29457eb989009d05fb5e1621125f3893c8f6ff37549e1b2c74f13";
+      sha256 = "c7bbd086020bd27032f3b645293a0879b8759bd478c0ba649e9cc60dee056010";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/tl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/tl/firefox-115.0b8.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "91169a55f7282904175de721914b26eb61fb39e0d49a2eb03c3ebfac101b9e22";
+      sha256 = "d9b495b4dd1e2d1bf7d1ac00c07d1c142f4c2a81710178e2e8dc5ff9c4abbb5e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/tr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/tr/firefox-115.0b8.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "85f94c80f3f679163bfe695d53b2fad59c69ad750c937fbf051234132b5ac886";
+      sha256 = "6d338a95e9b7c8706e748c52ac0e097544a44a8ba6e6104fa0e710ff2fbec22d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/trs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/trs/firefox-115.0b8.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "81115e1c586e98ec639add9aaf6338f3fc934cf0fa258a2c5c87e16bd9769667";
+      sha256 = "18ea82d8681567099b990bcb8ce87ece0264ea17df2ed7462af2ac21312a73dc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/uk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/uk/firefox-115.0b8.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "26082191469d358f71d064ea01fe74b3eb0f0245d0b2809697b1ddf460f8947d";
+      sha256 = "bd856ce14b3d24f78dd4be87b46bf487300eb2cf66ec1eaac39b91ab063b33bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/ur/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/ur/firefox-115.0b8.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "b4e705dd98a08137730bc7fc5767e51fed3721a5dc6274adf3b3cbbe53f17958";
+      sha256 = "883c96474995710fc5f3aa165a7348e6f09f2ca0414e205cfca8eff56587144a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/uz/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/uz/firefox-115.0b8.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "1fefa6803cd8261e07a74a949db52a8ca202780b43323bfa81600e7de16e63a1";
+      sha256 = "e5f6e41d526747dc718d4ee2714a3a1857d81bbef36cf64d707fd7da13c61ed0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/vi/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/vi/firefox-115.0b8.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "5ae6c6779e2ef75415f58b4bf736c100b2c066787fb24b001dd96e66e1d2a09b";
+      sha256 = "08a1c5219d7722fa6ee10d89c2c9e3c70c2014b01856de8d8bb4c698ae30ba07";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/xh/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/xh/firefox-115.0b8.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "541adecdcd2673688f4ccdb5cd802e30eb6952c5e316be540b0e01189c7680be";
+      sha256 = "efe8e8499aa6036f79cee845d09fa7e9c5a529aad67ad53f3c1fa318c70074f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/zh-CN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/zh-CN/firefox-115.0b8.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "aaa3385c81a4147c636238283bd38cf0212b7e806269409f5bec3ba8b196e0f0";
+      sha256 = "2b371e83a44269be4006865492a1df27db2da88796d5da4ffe91cc48517309b9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-x86_64/zh-TW/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-x86_64/zh-TW/firefox-115.0b8.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "0f0b865467fa1310834c8f69d9d31afb5df0f9e1de064f0d43fd2da17f651759";
+      sha256 = "8a2251374f62baca6f1cfb210bf76ea096f43559f239bf71a666e5cb9f77a779";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ach/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ach/firefox-115.0b8.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "093813d7da7fd2ee4264ed23ec0df38013e767feee0dc2521b3eb210f4bc725a";
+      sha256 = "912e8210e72ee276ffa7aab17f981fd3c1d2c1c72300060e10bb4548d7c9a54f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/af/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/af/firefox-115.0b8.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "d6cd1daf68754db34585a7def71119061607918ddea2a6bb7242d95df111fe2f";
+      sha256 = "06f2fef6fd2d028f3a72a703065569ce39731007f6600438df34135e87d3a849";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/an/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/an/firefox-115.0b8.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "e605b14e7a02d49baa487d20e5a3ee1384578c58e55ffb0d3389c89ee334c8cc";
+      sha256 = "6c6f34a20cbae54090971ae627ff751dd7a2e3f913bbd95b52302b33116e72e6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ar/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ar/firefox-115.0b8.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "0ffde218988fbb94100d6ee23a50ffc092e886bba661b829960bfb1694130f55";
+      sha256 = "8b17600b7212f79f66cfce4df60e69b7a0dba63160e7f1091f243433a7c0dafc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ast/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ast/firefox-115.0b8.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "1537043285ab742f01d02ed7de5b948f0ce7a357b2dc3780fed3c19194fc3e57";
+      sha256 = "88577b257fdab1855fd32fd4751a437baa0846b03722a724d36d7296c76c5bc1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/az/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/az/firefox-115.0b8.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "c73512130197d1d48d0f7fd97ce64a6b5f6df154cdf22d935245cde2d2cba3c1";
+      sha256 = "e70144994a3eb7578f2fb0e91f06e3a7ed269bc5c3e1067b6ca33076c5f27378";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/be/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/be/firefox-115.0b8.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "9797f259d22d2341c3a4f8b764d77b0be8f41c5e28337702f1cd0ddc39602ec6";
+      sha256 = "7e8cf378d00b02c415a9d8dd87547eaf3311d9d6b6142745e265e123f2218c11";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/bg/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/bg/firefox-115.0b8.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "8fe046788f52eeffeeae19a4750c29816f3697949b91bdbac01fb33eec72238f";
+      sha256 = "45ba90bb16676286eb5c0c37ba229fdd63736d30099824584e424ed3c4c6be35";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/bn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/bn/firefox-115.0b8.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "7b793ddffb66df46e58293d9df9fb1194cbb262eb22b307bddf27a9ed0811d40";
+      sha256 = "8cefd7b582ecd90931e4ed70a5bffd9259efe6228e65f7f879569e4c2d8e6bf9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/br/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/br/firefox-115.0b8.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "23eefe856d83cc7ca08f5c9e961611cfe035ae732c5c3ea6555465609e2ccc34";
+      sha256 = "4a389c8e7f491902f4b814506d2da6f83493c8384ec8fe37ac65e0efd2adefdd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/bs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/bs/firefox-115.0b8.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "0f21a0949bceb21ff760d6b181d2dfb599335d770fac6b0a9648a6d7d696c781";
+      sha256 = "ccba7e7d0908a435faba77cc853ba18f7abdc7a92466d1cf7cd43ba8a746ff8d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ca-valencia/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ca-valencia/firefox-115.0b8.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "0e6c92e1bc9a0babb8950ae91b200a3d0d80365768a9d72c249e9ca40cdd8d72";
+      sha256 = "a6b929b9e26dab0c64c002972df58af1b4eeeff9aceb39789011a1b94038bf24";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ca/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ca/firefox-115.0b8.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "a657178ebe81dc5659ead63ed7aa42787de0996abdefaf4db53d1f540c2dc78c";
+      sha256 = "1ae9aba5e57d00b82bd87fae6e1e2e7e654333e5af4ae79f600bbe4ff207b423";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/cak/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/cak/firefox-115.0b8.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "9da6fc1b6328641f679d54491f7e4406aab8e74bfd470eae3355b01d69d14b51";
+      sha256 = "ae53077dc1de10ccb243ebded6525d1314512a5a41c5e21b8b96fdff97a97a1b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/cs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/cs/firefox-115.0b8.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "4ae6634992f3f315f9de49c109ca8a7cba08487406e434f11ca81a72885e851f";
+      sha256 = "9f481e5f422bf949f7e1688a151f437aa86d52e0f1c6e7f693f014748b93a30c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/cy/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/cy/firefox-115.0b8.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "69a59dcece02bb291ec93d3f915e52f39c85ede1723aec595a42e93b0d93ade8";
+      sha256 = "a8f6b4a8aa68c10065f626649de91744c248abacaa51425ae03758c203f43cff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/da/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/da/firefox-115.0b8.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "4ac093c9835c5c54d0a359671835af276c1f188c00d8daafa7f165f891cd9e36";
+      sha256 = "9bbdd1468566f4236642296adefdf9a7dec70f03b6759e3c4100bd0adcb08bc5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/de/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/de/firefox-115.0b8.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "0e1866e11c1af78c3e91269e39f87ef2410eff746371a8df59c1cd3a492f35b9";
+      sha256 = "ad45da6a79e2439d5377164d46240fbc47e59b0fada69b75a4b530069c8d9e7b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/dsb/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/dsb/firefox-115.0b8.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "47ef2fc250b71b6c829fbcc1b0d114e8a42b3dcfb2cd5089e68d8647fa3c8d69";
+      sha256 = "4c6bb523b5a3d5979450e86c413fbea2e6141f200446126570e22aa762a0433d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/el/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/el/firefox-115.0b8.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "23e6868afd4e891812d2e72bdeb5358c1361731dfb5f6e45b506491889657c84";
+      sha256 = "2920d10832aabae104d11a10c54b8f546f2614f071ea6a37b003ff306fd6bde2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/en-CA/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/en-CA/firefox-115.0b8.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "7238f548e4e266a765b5c18714a3d1ddb87f861c72a40c9ef2510e9212f54ba3";
+      sha256 = "1ac84ef25c7a0487b37a6095cab33ef2ff853932545b351e0935f65c7f7ad787";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/en-GB/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/en-GB/firefox-115.0b8.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "7bf159c3a00b371e51db23d7c4eed8d48c952e067d5bea77445b217eed1a8d11";
+      sha256 = "af3c2759a32df48f52da31f251042770e106e94ba02eb1951e845a99473f6618";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/en-US/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/en-US/firefox-115.0b8.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "63ae980812868c4944cb3e2e5edd8d13e3b47e6fcdd0b69c7a0fabd1d4b7ab8d";
+      sha256 = "ee325ff65b41db10c45213803e481c26e46a3df3018c531ddb26ff9b4d02f049";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/eo/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/eo/firefox-115.0b8.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "2b9eb284d196c35ba3f5630133323f365891ed08c393221af913139f62b587f3";
+      sha256 = "096db377e774cdd27ce257b27ffadc58fa2913db091fc4c12df53a33c5a4fcd9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/es-AR/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/es-AR/firefox-115.0b8.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "3e744f337f6759395806776e71aeb2176a9723b0d3212aa0627ed112abe6739f";
+      sha256 = "bb5060b01de60aab8f9b69b6091fc7e4153a4aac95a6666153a4ee9d622ce1f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/es-CL/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/es-CL/firefox-115.0b8.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "2e7c4a574569fe0232b50cc68a2eecf6e2f6ff888c1a31fd6bab9c17fd3129d1";
+      sha256 = "2741659dc8c9263d039ede68a5e19cab4af5e01cdce900fbd99129bcb8efec68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/es-ES/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/es-ES/firefox-115.0b8.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "0ca8dc399d95dc7f33895aa7707d1d9694e685087c3dd35d6e4cf484cc7c2a7d";
+      sha256 = "6ea62b9d5233c457c4be231e8a2034e63e5c6680553f561472507581e2e20671";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/es-MX/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/es-MX/firefox-115.0b8.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "06d96e7f6e7168f7087fbceee899f0e62c090e59fcac5f47ccf6951643416a34";
+      sha256 = "5637277a79874e03b72ab2f1644c9d1bf0d6474b533acba9094ea10b8e3f84a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/et/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/et/firefox-115.0b8.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "6691bd107be06562c24f9ab3db0fa0b4e15708a44276ef90ae9e863d7921628b";
+      sha256 = "dcdaccd8d8b50dd63f1922819ab9b50bff1a207fc5366ffb4d8362b6c7bca947";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/eu/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/eu/firefox-115.0b8.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "e35ffe04aaf160bac7d341e4dd6b9166ecc0b8fa30e3b4e190334b3048b78279";
+      sha256 = "72fdb437fe2d363619729f0565badd305cae9f7befbec1b4f266d7854f6427de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/fa/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/fa/firefox-115.0b8.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "2341fd92214cb82ed53975886d7b1d111fee0cc8eefd8aa872888db4bd764312";
+      sha256 = "94aae89ad93869e7d4742376aed5996ff9ac508463bd8f061a67e127356166db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ff/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ff/firefox-115.0b8.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "593abb864e88f6f008ace6a1c069131f36a903d9d702510529a3a169302e3ba4";
+      sha256 = "d26404527545523f57b04c742d21c98155bba43df1968b71652645d2c9163e70";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/fi/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/fi/firefox-115.0b8.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "ac6d1b64d942dfac6e0cefdf3b7b37cd39f0601815f5bfdbd19ed463093ac187";
+      sha256 = "3f8c1bbca77425359b900ebb92beadbd7160fd38741828ea39da96d2ee3eb595";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/fr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/fr/firefox-115.0b8.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "2edc2ba8405e5b3e1de568e070a38314de6f29b49cd2c868d6255e0641409403";
+      sha256 = "c69b85e321f1753619a858f10d9ffa4f6557d63d8fb9350a812461c299c4a3ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/fur/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/fur/firefox-115.0b8.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "67ba06665f5b51236db9e5a145eea4c6696e04ee87073611144024ad8d49f721";
+      sha256 = "208ddbccc5aed6797a809dd242d453274ec74b228320c2edb1bf3baf2ea834f8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/fy-NL/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/fy-NL/firefox-115.0b8.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "9a215d370c5f0693e5eccbbf38a1ee27348eac5906fa1c04cf8ed32fdce1e890";
+      sha256 = "41fc48ab953002e9b0d2a44d757986a363c55a71f1f6f92b36843b7bf1c21a15";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ga-IE/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ga-IE/firefox-115.0b8.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "289d83fd3f954562329f244333beca19a85e17701d3195edf267540e28f43720";
+      sha256 = "bccb7dc9f320f8b44cc9c813b814cd7638170bc7bc335800c2660cf00c449c8f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/gd/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/gd/firefox-115.0b8.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "232384f2bad3d431eded154540c1c5f16b8f4a2489fe2632fbf2fdfb77ac29c8";
+      sha256 = "ee784a5861fa982bc6cf31637057538e5bda8bf4abbd52be458b20cf02e75a61";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/gl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/gl/firefox-115.0b8.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "ceb9c8752b8f157ef1edb15ad77f13e31cdad610532a3ca14bb4a182408da9fd";
+      sha256 = "88b5b97857dc4f16d4f23c9dbcd86cc3e17021c7a8449eeed2c9869c1cc9d261";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/gn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/gn/firefox-115.0b8.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "ec1c3a5eb86f892b345e98b1a0e079d2fa4249008872de73a54ea5b3a11739a8";
+      sha256 = "b38bbed9abfb8df4653927d3ad58c692901ef9413282ae59224635650a19516f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/gu-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/gu-IN/firefox-115.0b8.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "e8e031694e5fc145bd13b97055275a8c8863a710ba1119cf4518249be4ad3fe2";
+      sha256 = "1202b258becdabbea0ca57a456122c071effe7c05be2a048e045395978063aae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/he/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/he/firefox-115.0b8.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "e4eb8efb6240258c50e0552a8793fe7da9807c480676c19e49c3cc7f055812e9";
+      sha256 = "1d8efc42103a40ee7d514cb165240995bf113f03e995a2474cb7b56d256d5fe2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/hi-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/hi-IN/firefox-115.0b8.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "7725b272c9892f8db828f437480cea0059c63335a03b63cb8cb7f57481a39c46";
+      sha256 = "fc8890468f1a19ee44df530a1376806bd497b6ce35636e852f1c1d0e9ac88d5a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/hr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/hr/firefox-115.0b8.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "8c8c4b35d0ab7d12f08648dd25b7973066a53f9472b762bbecc34bf91b7066ae";
+      sha256 = "2849e55ef74224c3639edaa87b1f9214f8adc0d6942e5b55caf931abd98b3754";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/hsb/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/hsb/firefox-115.0b8.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "5d8bef5a3c1b189fab180d438748de3ab71056d7745137abc20eae24db87e833";
+      sha256 = "48672621573497fd9a0be4a5086a4e30c6e238f4bea8eab8e360bc60084ab093";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/hu/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/hu/firefox-115.0b8.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "fcb0c89f36ac5dd92d6cbe25fb867e1e5ea855652dd1f75b21aad94fcc802d0c";
+      sha256 = "5efb83adea75696e035fbf3be9d0bf310ef3e8100031e9ff6329c05544142055";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/hy-AM/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/hy-AM/firefox-115.0b8.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "fb163c8251f9057ef9672d6958ffd1adee1489ff2120a9a04baf5047fef59e88";
+      sha256 = "6e61559dd20d8ca976f1c63dbd21fe073cd80fde65e8142e50ace6086255c01a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ia/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ia/firefox-115.0b8.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "9e76ca9ec69e4c88e4c0d03fecc735f86784b17432e0c8ac3227de87b28c7245";
+      sha256 = "fd6516c0edea53b991b68ee158c445764f6489f548f6d33a73fd9a7720c8d2a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/id/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/id/firefox-115.0b8.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "0b1730e69c17280d2f5376238499057c2e32017851fb7bb49626d6d47b795178";
+      sha256 = "3befedce1e6cd41b24c79e9e0398572f0969860da3791f9dd9a94a04e2601e32";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/is/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/is/firefox-115.0b8.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "f12e45c3a7858f05ef41e491251e9b52d2608a3695c4dcfa2ae7c3108af7a6d8";
+      sha256 = "42574c5df80341a5d3abc508353fd0e8db83a83894bece6b5b586f522453c1a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/it/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/it/firefox-115.0b8.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "69d07248ec7ff59ac0c7e0e5e89212b457755b1e51a52905e0da1066c81b55f3";
+      sha256 = "7eac77bce8b30a4e625da76f97dfadb2e8b7b71709623c9c2306df77bfc43617";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ja/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ja/firefox-115.0b8.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "99b985085dcae3eb73a92708f2aa7e1aa0937e0151eea79252e53dc4ee51c7c2";
+      sha256 = "4cb695164988059c15e7a03166c1a05dfda72a43cdd706d7195c941b7dc17348";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ka/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ka/firefox-115.0b8.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "d2149b861f945b58aafc55ffa87dcdcba814ad9e1b61d3757a08f623cf4d634f";
+      sha256 = "b10a638aecf2d5e17ebe215816d6d72d769dd0f9efde8ccb99433dd9f77744bd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/kab/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/kab/firefox-115.0b8.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "cf7a540f79bfd7fcb99447b10cfcbbcec61c4f8b7e75cf1aa884b6dcf7870775";
+      sha256 = "3f73682d43aae67da6d2d6694fa7fe8b8d2874f47c6087a54ef664beec0ea584";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/kk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/kk/firefox-115.0b8.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "918cb8cb2f9ce5bcb63a785529c56c86d0ea94eb706fd3d9a572ad7adc058621";
+      sha256 = "b6d8959ad67b1d84623965f79b869467c49407eeb2abe7a39daddc5c3b3b5616";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/km/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/km/firefox-115.0b8.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "4510ceadf9ac1c846d9b51c6a3d156bba17213e21ad2df714ab03c38a25bf34a";
+      sha256 = "51a3894aaf80f373ffc51457d4daa46970bfd040c730c75f5df90740717889df";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/kn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/kn/firefox-115.0b8.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "5ca64fb0c292d9a8deb997da622a359d455e36262b62779fa03c6a32c2a70d18";
+      sha256 = "22bb00502cc9b04dbda4376f2bfe53a9f25458781bd31048a14308d91ab4953f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ko/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ko/firefox-115.0b8.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "58f8db02310c8def2ff88e4579ef99a19643e71075dd1c36e19d1ab9e6c1ba85";
+      sha256 = "5e38c4f800c1bb1042574d0456a752a0c4a3dc7fb27fa8f74c019716aa956006";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/lij/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/lij/firefox-115.0b8.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "bd3fc8312e077e73fe78cfe32388eb99b3a8ede2e559fa2faa8996bc38e7b9f0";
+      sha256 = "028a502005d17c346e5ad64466607cb7cbb4bb4933f4f61eea38919b9177181e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/lt/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/lt/firefox-115.0b8.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "e04301a25d2986b5a27af6b943f5c56bda3afe1c271d76259efc0f8c863d2aab";
+      sha256 = "a2521a166aca824527c2c06811d980225c06dd55f831effbe9e6a712428c2863";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/lv/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/lv/firefox-115.0b8.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "74761a5f6c59c48168e1807ea456af6c0ad80684cfcde8659b01d59ce79c78b5";
+      sha256 = "a70f53d574576c3a93da5d3aec338cdaad3ee40d762fb9bd29fbd951b42bccbc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/mk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/mk/firefox-115.0b8.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "0cabf853c6bba9ae52dff66a49d9ba9c3de951cfd2c3fff0e8cd15760f523b9e";
+      sha256 = "b559f4abf411bd0c8024298fd10d6b0a4e31e3801da1de6160fb9bdc96849492";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/mr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/mr/firefox-115.0b8.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "7eccc237746ff75c2cdbd03d99f7abdf5addf77906f2ba60506c76f6ce2b8156";
+      sha256 = "c92283b76a80e2476cae2af6ac5bc93a6d2102cada5cb99bb4bd24400cf8f951";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ms/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ms/firefox-115.0b8.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "6ae241a0446b2afdc2e1c1ddb8523d6ba1a32edd8bb39e32524f52d2f8d317a9";
+      sha256 = "4beef1291807d759307a9b39ed8985ee1b39e4b8b2a3f17f3faa1d790839f92f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/my/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/my/firefox-115.0b8.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "ca56922fbc72b5d9c580f09ff15cf411b165ccac808ee16a2107df743c9bb96c";
+      sha256 = "19b8a0f11498ef60c5115677de97ef2b78e55b136820d6882418f8ac97ae13cf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/nb-NO/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/nb-NO/firefox-115.0b8.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "a181c7dca2145709f29ed57ea66ca77be6ee83e0eea21884e6f831ea4d1b7dd8";
+      sha256 = "38963288c7563a27a4a2729c212c7cbe055226d2b03f8b4b2a7da79ba2dd0555";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ne-NP/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ne-NP/firefox-115.0b8.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "f053a7316c3e298528ade71bf7b34031e94ae621be3ed885e2a1acc13113ae10";
+      sha256 = "9ff9e0d20e43a8d27b9f85e3c710f2beda6465887077c1fb3dc8452262bc123e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/nl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/nl/firefox-115.0b8.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "2b5c435b7cbf9949a256740eff3f3823997461915ec4a3e253cf9073c4771fd6";
+      sha256 = "16f72c5b6db127bba5c0bba8d9314f208be1fc118a5982552f91e8916592419d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/nn-NO/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/nn-NO/firefox-115.0b8.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "e577d02198953baf5e37b6ee785b3349ad1da935191754b8ba7a17da97ec9f03";
+      sha256 = "d70f25b11337e8485e74b378be19406a7d1844d60fc0e5edab3900bcaf69cc3c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/oc/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/oc/firefox-115.0b8.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "d89901999545c1aa84032b0061ccf2bf289d470337220bd821b8ae87e1c3c337";
+      sha256 = "86e6f8c62e90786378e1f002abd2af113515c4b5e45609c57ec239ba349dff88";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/pa-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/pa-IN/firefox-115.0b8.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "6e649b7b5e42087f88739d0a2c770dbf89a4bebeab3bd993d5664546f89a4e57";
+      sha256 = "34d2d818dce3eb74ee42cc50d96ea15c652657c51eedba67740b1bb64370a395";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/pl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/pl/firefox-115.0b8.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "df39446180edcc6181d7461283802cd11f31ea419e6e64fd00b4bdbccbdd9133";
+      sha256 = "295a4f0be56a7b87f47a92d67d0524a33fd60a98d860d46e4aef73ad92ddd0cf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/pt-BR/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/pt-BR/firefox-115.0b8.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "68accba631e59b98f7effd12eae58e99485be052aa3ea7510932062406eb4a76";
+      sha256 = "c6da3529022e479fa30067f80edcb6a127b66689d6282f0c09443acf33265a9e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/pt-PT/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/pt-PT/firefox-115.0b8.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "667e1162a02a2142162c81eea049b1ef9ecc550e4d025098105931261f0e1f5d";
+      sha256 = "0ee3028e7c57e102b8d13d4acfb95b72b070eadb379eedb4bb743699f3ac0ae7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/rm/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/rm/firefox-115.0b8.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "a71448a93d4e556f0ca9f382ea0651ce2a5b6159c125804d2659fb650d9ca086";
+      sha256 = "bbd67d9ef8b657ee680ab48be22746002c92fcd5aaa2a9d637ad4c7757171fff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ro/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ro/firefox-115.0b8.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "06795ada9972e271cfe66e958f86ecbeadd40ac2bc287f89cf3ebb6aeb916dee";
+      sha256 = "6243f69769f7fc5c2d86065e69e87177a75a7d9d07bcaabdb6d9c49bf88d0283";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ru/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ru/firefox-115.0b8.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "a0cd53b4e9e8a5070bdf16501f95854bbc8cd960f7968c0ff3a386c4e688091c";
+      sha256 = "47d540a887741acde1c74bbd271ae45a7d9ed0e4cb46275276b7612c45e1cf34";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/sc/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/sc/firefox-115.0b8.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "b9318a71a9c24def9fc3d5ee603346202fa6ad1f64b8c4fb2c7536d3b4feb319";
+      sha256 = "140b0a5c92c5fb6de6235916b2aa84ab9c66475fb32141d4c1d649b28958904e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/sco/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/sco/firefox-115.0b8.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "3d5c1953786420e9be88da4173b676f92dfabe5f89a1d0fdc3d7070da95bf14c";
+      sha256 = "62377577d794ab8e3f4ac671c7622042afbba3674bcb07850a2f30538e930f9d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/si/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/si/firefox-115.0b8.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "f8be6abbe6401ed2e37278890e7322a0240234c3f669c43021642782b8abdfdc";
+      sha256 = "da46df03a1232b67567d5741e4aedf98697714b3cd6f171519ed1395408f83bf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/sk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/sk/firefox-115.0b8.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "7361cd247d5a4be7dd86b42827ed0c37d1e8c0473d09145e087e51c37e4743fd";
+      sha256 = "72e74ffd861735a16bb7840929504e3f1a2d2ee9ed2edef83cadcdcc0180a099";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/sl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/sl/firefox-115.0b8.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "40e90428f530339f45cc4b319aa314e49976c490dc40f98ca56e4f2ebad82fbe";
+      sha256 = "cd611fbd993acbac46efc0f7710bee6fb566101178d6914d6a998a56b25cd047";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/son/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/son/firefox-115.0b8.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "67ca8e7a7146e82d88d54cc3ee253de9b1c01dbd1b1c2babc5d414faac4d2d62";
+      sha256 = "fd247c0e13dd43dcf9658445c65083941c8aa37fb6097fc0ecee163e535bd7fa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/sq/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/sq/firefox-115.0b8.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "474e97e6e3464213337e2052c20b61c6509c8a36d340cb393ea6ce1f0610a557";
+      sha256 = "10f5c5b2a2fc31c69cec844ec6c7634126520009503472e3710ea5f38542229f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/sr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/sr/firefox-115.0b8.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "1c3f7feb2b9f3ffa6ecae5c54ad68ce6a80d66e1758b5cd02909e53305c516f6";
+      sha256 = "a320b3895216ca73772e4b52da55245f9497b834477e0e1e0810677104397ed2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/sv-SE/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/sv-SE/firefox-115.0b8.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "646c75b64b390efc3c7dab4205ee90aa58b07af52656b1e20635cd7574c57e06";
+      sha256 = "0e92caf09540d9a945590272f8f8c677770792e3213057d8927f44c8f7f117b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/szl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/szl/firefox-115.0b8.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "5aebae6eba1b3ac29d3aaef4fce108383a4a51f57531e0ea29869f302d60f60d";
+      sha256 = "c21717a1c340f07921001689d5db5c520d07541460004a15836c1456e69a0c5a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ta/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ta/firefox-115.0b8.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "3cfac7e8f338477a17205d5e02c14f2a5381033d2d4bf01caea1863f88615ea1";
+      sha256 = "6bbf15db3a8e3b4f844a7b59e215f23f9b6425b5a6e6ed2604075a8a479ade59";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/te/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/te/firefox-115.0b8.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "80645dff19cb0b1803cf0603d007d8e922118a2dc9f4b2dfd15d749708f5d110";
+      sha256 = "1160695b6fde13d5eb60505aaf920290795eac9a4575baa0e3c5006b60d0902c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/tg/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/tg/firefox-115.0b8.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "0998c084f1ddb65a5595eb2b1da4835a66ae2c689d9e132fd456bcc78a7f537e";
+      sha256 = "f5f04dbef2d71b70417960557aeac3d46a71955966e8f7dc650e3c312ac1f7f0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/th/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/th/firefox-115.0b8.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "043820de27566bd6d14565739c3b71926d8c35ad5f8462469b98ac602647ef14";
+      sha256 = "7523ea3d3bbd0bbd9e0857774d768804dfd004a420ba18928b2b12d03861fcee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/tl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/tl/firefox-115.0b8.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "34ce075032a73d2be2723469650168382640505de847ded4456dc00c6d16ddba";
+      sha256 = "8cc3cd85654c21cb62c42f15ca18a3949722dbd45fd7f7d65991279c8597add3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/tr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/tr/firefox-115.0b8.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "5b576dcbeb04366bfe12984632b48ad7227a63affa2e692092752ad764817c69";
+      sha256 = "43c6e7e5ea41de0f30250183bca3adfb9e0207a9fd57d7bfa4c140d351611eea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/trs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/trs/firefox-115.0b8.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "6fac66cc5139358cdc952a1ddba5b2083d926c9189231ca2e247b6fbc0f89a3e";
+      sha256 = "901ebc9489c7912f598d9ae8fa8d1e73b8e96106450df5751493aa45cb2b7971";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/uk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/uk/firefox-115.0b8.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "3000375d51aeb64674044afd0c6296ca6a34032691e83601538e6df43e686c88";
+      sha256 = "5c120c049301b55859a286e2755010245b0ca48069bb0fa0eddd27cc915428ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/ur/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/ur/firefox-115.0b8.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "660253f6060d142483a24300b1fc759899e11fb54c0e6042c77555749cdae7cd";
+      sha256 = "9fd2c59f2f648c31413161bcc0beec67f6ca325a677f751f8e1988ae9c5ff1a7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/uz/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/uz/firefox-115.0b8.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "ddef9bad3afa14d2678a279cf3b1b4ab972e99976a1525dbf09a5dea15ac8b68";
+      sha256 = "661274e960bb50528176bff2fa2b526a39a0fdd6532b40c2427c5c9e38997b8b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/vi/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/vi/firefox-115.0b8.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "ac2a9d35e4945437ebddae456e44bf8fcc28769187992849fde0c6109b0f7b60";
+      sha256 = "b7a6b252f3e34643596f9af2f3bf1c8024a522a6f67af03bc4203406debeca5e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/xh/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/xh/firefox-115.0b8.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "f40eca7f9764c875615c6ea5edd0e354090ed672f0b7458a8063abe300929414";
+      sha256 = "e8e581b06d7641c4be4807ef8290b2e797462418c07e9f16343b358a1a16dd5c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/zh-CN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/zh-CN/firefox-115.0b8.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "78fcb609476bca9a29a8c7277d1523d54713e013ca5d9dae4944939fb90e55d9";
+      sha256 = "8f36fadd4902114d44af1d57f6ed2b7556feac20e0cee029eb0d587e1266d6e6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/114.0b7/linux-i686/zh-TW/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/115.0b8/linux-i686/zh-TW/firefox-115.0b8.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "e458ab956fb42489909480fef6ccaf3e0f1ac899ea8a6b929df41299d25d2547";
+      sha256 = "37f1e59cb09272bda6b167847f20bab394bfc589ca3ea17ae39ade6985b82ed5";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index e2b54a3b408..35407592698 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,1015 +1,1015 @@
 {
-  version = "114.0b7";
+  version = "115.0b7";
   sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ach/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ach/firefox-115.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "9b33281a91fc816f1d886078c5767a1928885f9ca4687d1058956f846551d2a8";
+      sha256 = "122514763d09bf7579ae4ba6acdb81deb24304c8a1dbbac57cb57f65583ebbc7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/af/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/af/firefox-115.0b7.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "e2dff3c0f83e3fdcfdf82344b658622fecfb5e9291d9297037ec7ed1976d4f19";
+      sha256 = "904b6d2fcafd4bf9964ee9f7821d3a0cddb58d54a0ba551c1ebf29e698b3d6a8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/an/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/an/firefox-115.0b7.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "bc350c5f80a59af753a25ce6c5e9958286ae344cc39c22dff564155843b2c0a0";
+      sha256 = "c0bee1f77504cb5146e20ac8f1be69eb1f411137a824bd361dd2f13b01a5872a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ar/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ar/firefox-115.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "da29353f797f0590f81a92a7ac09dc77b9f470265fe07c6eadf4bfb4b7253db3";
+      sha256 = "b89cc1ff73a2bb666d388bf94d57b31631f3668aee0b563d47df314c5de37916";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ast/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ast/firefox-115.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "ebc1e851e3a34bb31adf60f7983205ffcf696011f3285940fddaac7bf943b62b";
+      sha256 = "5dc80a963225af8fecc52f3b54d5d8bd66c47c6d275cc4538e7cc740ab63ae6b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/az/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/az/firefox-115.0b7.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "eff98a45ccc69fd9d229ad0c962a1198bb41a301b20f2020db03436f338da357";
+      sha256 = "c98d4ad6b5ccafd9443d3e83adc914e42958c0055461627eb5bc5d24c3157297";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/be/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/be/firefox-115.0b7.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "d920b215d86d0f013cc74cb564e658049f080e4a850fb9d1be00cb4d4af0bdbe";
+      sha256 = "818a63af8e5c956c11d7d752b39a51d2f44f8f7b80b99a5ac5ab6b1734c00e68";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/bg/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/bg/firefox-115.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "f989ca3a5fdafb8193063343cf19aff34cc20813f4e1942b85096a76529d1906";
+      sha256 = "9cc2ac8238c8be89bcd58bb1e7318990f25b3f67f0145bfce4ec8f871173e9ba";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/bn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/bn/firefox-115.0b7.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "f40f8b64e795ba7a285335894c8fa3b8fd0272b1f04af0dfbb15ed1eaa7c5bec";
+      sha256 = "cbccfe6021ba4a5a9d86078b84a775cda721cf06266f430bff6134c94418534f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/br/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/br/firefox-115.0b7.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "3fcba1c8e7f2cc464bced2bef6546c0b0cb553613ee61be82ae1191898cf1afa";
+      sha256 = "2b1d595fbcb04a0f2ff0315b0d9c32513d308c2d39bc693d5ce052d22e9748c9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/bs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/bs/firefox-115.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "0dec35e2f5965c695c9cfb10bd6bb7fdf572db434d6c58b97f66f9c926f45f52";
+      sha256 = "8e685061063661d8d9f923de7637eeab76a5e4f3fde92c2c87897df66475d2f3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ca-valencia/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ca-valencia/firefox-115.0b7.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "960e585abbaf0e27548dddfc98cd7272e7b230b10c5c068cf3475f0555037a92";
+      sha256 = "41ffc401beaf6b690c4b8407382dbef4150d7959f927185fd1d66ef12342345b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ca/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ca/firefox-115.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "97236d1223430f5df91c03f5dad8f4a055e6147e2a95897862ab6edd79732d9e";
+      sha256 = "469deb711f4f3d3f31c30e63bfa2e4e0792a9c69ab06edb887cf461528de6d00";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/cak/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/cak/firefox-115.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "3c84d9ffa11aa8b87b5789cfa892df4bec060754f32aee9e5f94c56995cee959";
+      sha256 = "190b997583df2b0941abca64cc9ef248829b114aaf7324a7865ab7e87e145870";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/cs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/cs/firefox-115.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "db11e14f26979f27f5e829f09d9c23c7a3190acf1e9f29ef9cb6ccd01550e6ba";
+      sha256 = "b440439cf0ba533332b84306c0a65d9a0b544ed0cdb72254513ebed39a2d89be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/cy/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/cy/firefox-115.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "10769218e926c8589b67514d8209ad32ba1d4c30f0f7a5b35b2e560c5bd93d9b";
+      sha256 = "29921d84845813b5b0b492569f461ddead2154ee53c16fcbf7d8945992186ea0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/da/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/da/firefox-115.0b7.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "80ca6851fd2f355b2021938660e91c954633045336db8401e6d0f13f96729fb5";
+      sha256 = "808d3a0e00160415934c282a61cf31a261d2e00607cec1ff2e30f3f1099ce869";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/de/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/de/firefox-115.0b7.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "6d9a481f763b0638fc68e20aa1c184619f93b4d25fc13b6e21d8ca8642b201b0";
+      sha256 = "17dac31b776bdfa6628df42db716c577a7d0b13f97f6f5df79a88d9985d92fd2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/dsb/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/dsb/firefox-115.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "2eaeb5eac2bb6cd7d3f7c308919ecef61438e0b60d39edc6def3e5340ff26fac";
+      sha256 = "065aae1bf40bf141a7bfb3c0424418874b61f6374f138f3b3fd80039984a33d5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/el/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/el/firefox-115.0b7.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "8ba613daa3b4b60255ba2430f44cdeca485e3231c87db514c3307e9204080ad7";
+      sha256 = "dd0e120d769ae13ed8dc977426376dc9e7e6c61e308d2649de0547357511ed94";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/en-CA/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/en-CA/firefox-115.0b7.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "629cd3807a8db59aee8d780cd70d78b685a2030d85c4fff03ee2e86e8fd8ba6e";
+      sha256 = "8a74bb56574c143e6c98c2e64e9d414963cabe09fdb17af04bf1c4d35cd6606b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/en-GB/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/en-GB/firefox-115.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "f992fdbc0d8b6e9dd3614490e0f14ed2d6f9a5021055b5942df14249e076ceac";
+      sha256 = "69de0e17e5959683eaae357884d467c16203ca0cb84b03a76080feb7f86e0020";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/en-US/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/en-US/firefox-115.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "231ea47bde630c377c58a20c57a4ac3a6745891e0667bff8ce21d5f30ca60876";
+      sha256 = "e402244a4ae93ee272e3d39d15d891ab17d6e77101506201aa664335c110b685";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/eo/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/eo/firefox-115.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "21c725756f3b25d8a113999ff20a4137462647025be33c8924c4849513802042";
+      sha256 = "85b2b3d035084dbb04dea0c9397ad42d1fa8d2c7516ddba2ef9e4ce9f5bf4cc3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/es-AR/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/es-AR/firefox-115.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "5e284b176114ec673b3a718a1bb085df3438293912c2c400549594e36e8a18c5";
+      sha256 = "ece4ab12d660a629dba5149f3b34afca81047178a9ded433f1cf50ddfeb17132";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/es-CL/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/es-CL/firefox-115.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "764687d9509480951e5cb4cadb3271e43a0676002c6a65511bf8a1801648057d";
+      sha256 = "f70665d28a7bfa257830c6e54317cd617ae2088a9610ea5838303e7e433cbc05";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/es-ES/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/es-ES/firefox-115.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "b9491a73589d990d7d2e375b7992eac3517b8354ff5073d44beb2d02563882c6";
+      sha256 = "a268ebe720b8f8a1ac375b035dfb3372dc6f2bb5e040583fcfba77748f61b5c6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/es-MX/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/es-MX/firefox-115.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "0f3a23e7dfc5e029f2bb79608ca272f60e0637ea92aed5b39743ae0fcd705b58";
+      sha256 = "d510da5318fadc8731ac469a00c0991aa21281bd8b024f139f3a19c711b81509";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/et/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/et/firefox-115.0b7.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "45a4ae8166f5cbb1beb07a17d3a2649d7256fb635785ef22962ab918f1827f08";
+      sha256 = "127f2fffd7397cd08f248d1b33ad3255d1c637cb1508bef94383efc1c4b91566";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/eu/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/eu/firefox-115.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "4f411e661e0c624524c3d79558a386bf7a1586102e5f847ab931cd133a6116b4";
+      sha256 = "2ed7466c942a91aa975d9133d2153c13ddd32facaf030b6c5ba5da46c1df1290";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/fa/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/fa/firefox-115.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "fc3de73eec19197755de7c3a19da95fd83c12f7cbd5ed19e9bdf84bf05e304db";
+      sha256 = "b3f69b8bd137f76e0a6e81673791ab6f702f55fc677b145c4bdaa1cbdb76b7b2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ff/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ff/firefox-115.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "9cef3186134e05bde04beb6400d6b0b97a94f7d01179560cde169d0e09100d35";
+      sha256 = "de2aea7b91ff3c6901b988df82a232dc3758b0991762474f19d148a416f3593a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/fi/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/fi/firefox-115.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "e6f50067d6b661eae474af88e42670e2a52d657e5cbc5b3f76365e3cbe1bada7";
+      sha256 = "cf7921ea0984f20dabbf05e06c0b8fc48ddaab8f26f2bc075f10ce01748bcea6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/fr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/fr/firefox-115.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "7ca8737381f4adf43ba8274ea2661efc4fe40f7c79e5483c8fc0e1b59cbccda2";
+      sha256 = "fe4c4b5bcc6966a11f31312f8f7fba69428afd7b176a738c4dba9b8928cd2609";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/fur/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/fur/firefox-115.0b7.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "4cf9582a48fc541a4e0fbc5061738b1626e9e79fe0c3348fbd61b6190042dd1a";
+      sha256 = "527d85a087e83f9d41297c0dfc3416764a3171e6206338b4ef02005ec0832197";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/fy-NL/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/fy-NL/firefox-115.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "973035af6859cc3c42eafe49f52c41d9f1c211ef4f926a88d84f928f10bfa820";
+      sha256 = "f1ae19d25063c41eb657148cefeb03e1747d8402537feb65328b1c23b4ce01e0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ga-IE/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ga-IE/firefox-115.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "22be1de9302453b6487f5c953c50fe4777edad6d1725e964b537e07cedaf4bbf";
+      sha256 = "09799ddd69e9a2bff1b48a0aac9cff07b456980b2dd2cc8a51fedf3a614762c5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/gd/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/gd/firefox-115.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "6a393d01866d2b31ccb84cceaf3f9ce4d105d8c1faaf9469a1e859aa6590c093";
+      sha256 = "d0d6322d0d36c1575da178d24473ab58bdaef487abd93fb632890c5c8f690898";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/gl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/gl/firefox-115.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "70179b824798c65bd89d1760bc1cdae283fb78f735e6935bd32036b43108e570";
+      sha256 = "d2cf62ddb2e9869daaec8fca514a9f3e8a2d612f5ace1a666f185937a9e51ad8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/gn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/gn/firefox-115.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "51a9bca4c05c9237ece4241d8c1cec5ac45521fc38e5664db5d9cc8847d609bc";
+      sha256 = "35015ccaa1b57e4ab115104854fd9e48a2028f0f5cba6d149c6b055d336aba24";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/gu-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/gu-IN/firefox-115.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "5e4cacfb47b7cc1c71efc845153682d4759a94700de088ec7a7129a23c60d371";
+      sha256 = "3f52af5b750787b6481c6aea6dac60d5400d1cdd4f8568d67a7199cda4c08998";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/he/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/he/firefox-115.0b7.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "adc718fdabde347d6e73ac722362cd3f08b1710b8255f6505a12688122685d67";
+      sha256 = "ef047afbacd6813fd90d4f2e2fb6a95a0044b98a68d768194f78f890da773c1c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/hi-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/hi-IN/firefox-115.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "c3726cbd241596763158475b676e77a8bbbf50c2bce3b68d7535110684811c1b";
+      sha256 = "300d14c88bfba6844c465a74f9e01c0f1abbfe0e9d3a4ba3e7d54c4db361e63c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/hr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/hr/firefox-115.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "876ded953d0d94659b47abe5d243c6a43d7616edbc5964b53a3699614f5f2f4a";
+      sha256 = "ded7ce7143b232f8f73152ab2b6a7322ba668045d6ea8765331ddd77c04318ea";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/hsb/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/hsb/firefox-115.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "2f7b625946f1b13f5c46081fffa114c696a57bf057f7ece180c256eac1abfdf1";
+      sha256 = "7ae5b81c5f3b434ec4335d8ad8b7f87aadbc6684fd8ac80cbb23ea940d34afaf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/hu/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/hu/firefox-115.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "bfca7ae0c55fc473f5f5e11b98373fa01f2d5485e0435df55576685efe2f8d76";
+      sha256 = "4e2055f60081dc47f441c5dbde77a05625de8052e583d38f21f431b8d8338570";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/hy-AM/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/hy-AM/firefox-115.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "3fe692ae4c3909964865c0cb5af514e95551b6b8065e158317005d327b1e4c9e";
+      sha256 = "af041f39f9c6e9f01f57f68521d4487c3bc7866834f7087cb68b8b7e77bf5308";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ia/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ia/firefox-115.0b7.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "a50f70b9caafee6a3e19a6394c5b795b2fd5fcc46ae8f58ef397ff3ba1bc58ba";
+      sha256 = "6f106b9e05b13365d2b706c549e1e2c06cdcec6d169ca2af36a677fcd94d3e18";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/id/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/id/firefox-115.0b7.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "5e4e85fe23d3f4780f013e59479d10072caeb0838b7fad6652ad91f0ee5486ab";
+      sha256 = "7351554145c01f6eb58e386afdda62d62143c0beb4c06068fdccd8de561ad188";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/is/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/is/firefox-115.0b7.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "da032757085c7dd5caeea275b1092524e53313257e701f18df8eb246b927cb02";
+      sha256 = "1fdf7e0c5ce813d24f39b477a09d5516d3b04f735258e019fb48a642fc3995a9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/it/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/it/firefox-115.0b7.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "e6fdf936501f98a3cacaff9e891fe77b090062fb232223c6251d5563d9dc2a2c";
+      sha256 = "bbe16791acaa2286975e881a9e216e640939d6aa6e8fd6a5860d5639a800a6f1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ja/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ja/firefox-115.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "0ae2e8ef345d200103a1f4cb16a16a14dd66633781e872f2c2e5153bac3449ef";
+      sha256 = "8d07b5d24b7cf634e171ae373ac1427d94936536d4891cf4913229716f24c8a5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ka/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ka/firefox-115.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "092fe84add9f47b26c342c1d2474e7ae58d1840d1704be137a030836ab1e4827";
+      sha256 = "c4fb2eb926da09fe89231e904b7c70e918a4fccdf46741b22322341a8ad477c5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/kab/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/kab/firefox-115.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "a686a72888b8245b17dad75f267750d56295a3027eec2750677b568aacc64dd5";
+      sha256 = "d1e09821b1505f9883a5f9fc5afb4469a32fa11b20522675308cfdd095737096";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/kk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/kk/firefox-115.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "c01c39ab011aee483efcb4e879af973bf44d22f61ce4d82de9a7624e0ca03cbe";
+      sha256 = "4ad0d7cfc930419421393cfc52198922a6412ff856986c0ceb781bab5bf3e71d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/km/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/km/firefox-115.0b7.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "f9b5eca3693876fc7845d77666f4964b9138806ff0de91c6297d7306cddd4482";
+      sha256 = "575b8d6d63b1cb466bd9a125301412e34a5c1b117c9658594b98d0bca4031fa3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/kn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/kn/firefox-115.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "0cef752b0f6254c68a8e9fa7a593a59a3dd2ed862fb13655efb62f8bf24521cc";
+      sha256 = "8e9129886c22f96285d80ef88a4dd06fac84f7cd729c9129d3df90cd89234cdf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ko/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ko/firefox-115.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "a8161a09e91b1b613192c4c1ea9944f63384813ef5a34dd4ad91b827fb3d6de9";
+      sha256 = "fff40d603d8032410a41182cd18b87319f30293499cc44e8dec72191c4341652";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/lij/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/lij/firefox-115.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "33c6fad6549e35cf3d725fbba9d09bc283907993941b279bc0d95b1184dbdb05";
+      sha256 = "7c991cefdd82ced1175fd5a2b6cde335ca3498124d0d25485c48a75d518b90fe";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/lt/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/lt/firefox-115.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "2093d1a67e245c80ad4b06eef615245fc82e51292770bf996e0794c7771bb08b";
+      sha256 = "f11932255c50c7e8ec2346bcaf6066d7f6622be0470d49245a342fea13e0cafa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/lv/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/lv/firefox-115.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "8120990eae0313e70ebd5f293ae02fcaaf6190ee1f372baf3e507c2aa1a77359";
+      sha256 = "354361e574a71f9a38bf662f476fea8f2e1f0cffffe8f0407a0af841b5d17a33";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/mk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/mk/firefox-115.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "9043a5e8a9995027abf9f0bd3e734eb227c865fe28a924529e47a614d5032b0f";
+      sha256 = "bed4a99caac6a736f8ac7926611390d6ed5f3a41803210d9eb0f821588f1c0c7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/mr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/mr/firefox-115.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "e3360db4c94dc96027d7a0e82f1cf2eb283de8793492eae51ac547c990bd8024";
+      sha256 = "2aebefb7f785db786314b999791b9ce1d51a724dff6a869cfc9d79b1c7bcaa0c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ms/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ms/firefox-115.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "daa37a1b892ac99f3fef658c222012a333c9eb3089fc3b2e14e07d4a436a4230";
+      sha256 = "3198469f7df6cd7e995dc8d4ffc67b67456fbaf18b3cf6e98bec886f185ba908";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/my/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/my/firefox-115.0b7.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "aef0f6e601c2e7bc10068dd193cb0aa0564eabe22e5b779ac6ff99ea5cbb8935";
+      sha256 = "65acb1cb85e1605ef34d4d6c3c8f7ab9f7869a2674457bfcacf414850e8bfac7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/nb-NO/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/nb-NO/firefox-115.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "f99a3dfe2eec7254ff2c54472b033dc450cb71d986974eec41151b5ba544c92f";
+      sha256 = "cf1e6001d8b0a4868fc3a65a6c478aebd3a9fbe93270e5fc63d339163381ebff";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ne-NP/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ne-NP/firefox-115.0b7.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "8ece8d0d6e906b2c97b36e29dbc52b42603db868924e053e29bca709bc2a1af1";
+      sha256 = "d70be6b3d6ed56d4c69cdb0cc13388c99e9b3ba3b1c911dc5faee9e2837b823d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/nl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/nl/firefox-115.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "4824c38ebedf502bb10814ee25b4767a465f22f1e437777b8402e097852c9002";
+      sha256 = "946314bb95a600d0e14565cde387493224a4832d68e5773729194e86ac445899";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/nn-NO/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/nn-NO/firefox-115.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "c1bf14d325f9e75e9ad74ebc5ff974b228ea5bfd7d454e68e2784925bff91fbd";
+      sha256 = "4db45b58ccac4e8677fb0c714d5426f87545738678aa15bc180713b3241da4a4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/oc/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/oc/firefox-115.0b7.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "b18b491d76ffe8b5ba81803f1580a1ffd2c534788a704788506777e912e4552c";
+      sha256 = "e292675fc6de21e9cb9d500c8ed5607708eb712491496ed7fb4e9ebe94829d09";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/pa-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/pa-IN/firefox-115.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "6c25ea1011390478d4e4ab11d812ee3ecfc88ceb19344628845d985a382becc9";
+      sha256 = "a32bd566a2716398721061f39e0bf091c1ffee6d0c21e0078d341cecd104ce9e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/pl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/pl/firefox-115.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "4ec3609769b398b4badddfd4fcdba491af4bb099890f95580db1b05a51fd270e";
+      sha256 = "94b292f2ae66fac9edd774ea61200fa6cf40e5052b1a8e32f74503b82d2fbe94";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/pt-BR/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/pt-BR/firefox-115.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "fccbcc5bcff9299836b8006c20437bd72a85361950c7a8003b53210143fc3443";
+      sha256 = "644ae31a6d0e45b250d08a4754d5a51646d3419c9815e520b32260368ffa01d0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/pt-PT/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/pt-PT/firefox-115.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "f39e3d1d4be3ec52f5a4f0c6735e23e38f3337586168f7599f37aa9c84be3136";
+      sha256 = "2ea948ac5e9c0ac096f1493f19d199de475010dd18153adec5eb0504de6fb36f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/rm/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/rm/firefox-115.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "e1c7589ae117230ef46b1ea0e1270cd2d0036bda2e53dd4618e481d34d9a0702";
+      sha256 = "c6e7478d5df741621f864f1faa981d15862a6dd0678cfefe166226da271b6105";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ro/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ro/firefox-115.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "f1e6eaf4584bbb746e9c806134df37b3031d810db908a8316bd15db7cabf3829";
+      sha256 = "0f83dd8852fd1c66f482854ac3c44744ec2ad601179e001e9709bff43037d532";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ru/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ru/firefox-115.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "abd3abc05651e2792983ff3c8ae6c34998b9043a310ce263ff17060ea9691dc6";
+      sha256 = "5d8b83c9f05251dfd9c190b8acedc44ff9f6d5980984ade0bc5fc11bf7544d32";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/sc/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/sc/firefox-115.0b7.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "5df4f3d33daa9c53b9db924d479d8b5023d293c9807d8be3e6074e1586ae0e71";
+      sha256 = "966a9dfb0e95fdb587cdfdce973084f8b010bb02ca680ccf51f5a37afeaa0980";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/sco/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/sco/firefox-115.0b7.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "87ddd7c8f966a907191b7f72dc23a0f882dc4313a921810efe969eb6d2fa22bc";
+      sha256 = "e7d1875db9080579d23eff236ea27df5376beee8102ab73bc083e02bed6074d1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/si/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/si/firefox-115.0b7.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "2030fa748ee56bd716c33416b5f3e6e35504c8cd5daafd21878590b2af4ee7e2";
+      sha256 = "ef542ddb73a903aa602ad49560c4db55967ecee82c4523c2a53c9d79ec0d7df1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/sk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/sk/firefox-115.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "7fa111b0675fb3483a99de43450b2551f0c97f3440ec03d59fa0e35c5f97d1fd";
+      sha256 = "c2535ff13c6fadeb58eb8311fc4d508e68c1da15f6269a08b0a1d7c8872f43d5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/sl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/sl/firefox-115.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "bbb7d9e7d4ef7db3f18ef4cac094ac382f0d096c39365bb115ddf89fba5ef386";
+      sha256 = "c2aaa30acc6ba35e6b982c352182fde7e9c13e38acdbd403bc098a717c0e12e6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/son/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/son/firefox-115.0b7.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "83cac4d9c0012fb708a9283311c1cfb207fb07b0db3f08d5b6e1d1f5ef915376";
+      sha256 = "a6e5340f68eabcf22013bcb0a13ee23158b70f8b89e18b6c6d023cf3bc3ae266";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/sq/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/sq/firefox-115.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "a4a493f0a981381dfbed72fd6f09e14746d3e3ecf338b4d530beac4bc5cac45a";
+      sha256 = "5b28edd11ae13beb02c233d8801d264f783d83fe0bc92b5a4c39c00054d998ff";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/sr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/sr/firefox-115.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "40b680911e07e319952bcd3a0764fcfd9920e0f5b75317bc14c6a05cc3bed2ce";
+      sha256 = "1337a560e49651b79027d03c660eb3c156d89bda9796513ed559bb875c317a7a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/sv-SE/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/sv-SE/firefox-115.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "6967bb32ef76134a14669c542496076058473bbe71fddb58c33a47e1419b1913";
+      sha256 = "c2eca0314f7281713359c855bf859b627c89bbb9ffb7fb2fdb0766a970b846a7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/szl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/szl/firefox-115.0b7.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "8ee39abf7e84e25061b15b748f7222b527615c5d6f1df1b5baf1473ba7a6bd9f";
+      sha256 = "2328a0fd772949705858256985c75b519a8fa79773a30fc996a8747b62ca7511";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ta/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ta/firefox-115.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "322523104c1f58400cf82c6040f882a27fd05c1078f6ce63cd07757f7f726e62";
+      sha256 = "8d5da66309669987c08b33ca2c2c25aadc0b8ddfa21cb27936ec2839a16868a0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/te/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/te/firefox-115.0b7.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "9fe2af668a2fa6235e021ab187b5a0228a86f63b2478587a1c7148d6ff78665e";
+      sha256 = "3dfe3f18d1f74b7820c08d897f89347b04c6d32d13050a5e8f3c981c430649b7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/tg/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/tg/firefox-115.0b7.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "453258cb630cdd37e67aaa8368df3b27473b6971c714ae822c5666ef5fc57a97";
+      sha256 = "ff6608ba3d74afa9c2ff71cd59e7811e34d7d459f436916f56ef6e83fcb8a0da";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/th/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/th/firefox-115.0b7.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "a3e348bdcada026458410039ca564c818e8106142b7f5c62f3b357663decb9a7";
+      sha256 = "69d87203c7efb4b3ccc89e5c75b245e1e2ce4d3c2487b92dd8bafb5f590d4753";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/tl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/tl/firefox-115.0b7.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "122e71cb477f3f8dcb3546f514914d08ce92805a26b491c17a1d006ae07aaa5d";
+      sha256 = "9c5d9b3e7da4314a19c521ada717e3c79f93767878efabcc7d16a70e35eb0227";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/tr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/tr/firefox-115.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "df5b7fbbdb77455dc4c7fb6ed98e8ab373dd2cdb3a1f99b553672ea44f8db63c";
+      sha256 = "31e16254eaf7f989339d53e1628a4e7fbd3f5aff643dc00d20e81a660ae5dc84";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/trs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/trs/firefox-115.0b7.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "12ab329441603d070ace74e6c25d87a6f6fc999ada15544bfb528361218d4a62";
+      sha256 = "2fc1065103cd904a80e19025cbd2371916649e970731d45007354b8da0790c5f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/uk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/uk/firefox-115.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "590c3c5f0bf1a7e4eeb1703bce36b0f52fcc1240c642ac41ebc22081ece805f2";
+      sha256 = "10e5e8200aebd70002da84b225c7b1addfcbb27d7d2ea873c46abee5521419ed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/ur/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/ur/firefox-115.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "fe84c0a0510cd1a198b0c35cbcb1439adb2fa5ff03733e640b91fc6bd5e5920f";
+      sha256 = "8a6172109767166b030555bca6ed3d33f7529f1b4f13f1df3eb15fd8b872b30c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/uz/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/uz/firefox-115.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "14207b01b2e091fb03b373f2ed6d6503b136812610b82e218e70413b2930ba30";
+      sha256 = "331fe36d19f99fc6dcad54603e33fc22f70b637db503e428dcb8be814a931bbe";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/vi/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/vi/firefox-115.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "d3fb81887aa079bd26dc6f077a7ecb759792a8f1971aee9c2d934ce7b544d4a0";
+      sha256 = "d5f218abefb0fbbf4e20a6dd3343d5e039be48eb142e922779159b6080f8b2cd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/xh/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/xh/firefox-115.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "a6b062da22fef3333f159a4a486cc1d249f6ddaf3578de6ee96942b284b7c52e";
+      sha256 = "b9f2e4441e95995bf10ca64c1c4d525260260f1ad7b3b4242f42cbf23683c176";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/zh-CN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/zh-CN/firefox-115.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "b409f723c3bcfe4d4d797499b1efc1baa95c44d00e9a85a5b03dd2518034c76b";
+      sha256 = "61c974be7866df1e9943584aeef0308f35b01220af52a9075036b8cb6089b831";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-x86_64/zh-TW/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-x86_64/zh-TW/firefox-115.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "f91a51817e74f93d1ed807dafda66b901480a3ae77f4ff4056cc4f62e2a76432";
+      sha256 = "83c29f71d3c4cc70ecc143a1de9c6c6d4a75c2867ee2522025d0db80b8885b46";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ach/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ach/firefox-115.0b7.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "d8bc1eaca9be464328bfba4e1e0c1df8add6e8eafef29f256e33de9d7be171f1";
+      sha256 = "766f80671cbe04fbfc67e624a956ce29f954ceaee5d0ddf4241932848780da79";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/af/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/af/firefox-115.0b7.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "b3b6ad6feb642f3ba16deb6ce9b0ee747602d5b39f44aa86ced3ea184e47044e";
+      sha256 = "75d1bb061978aab04f10949cf8c2137ceead5bb8665666bc7dd32579e8fd9801";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/an/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/an/firefox-115.0b7.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "d438c92fa9505c894ca9e0751c256eb40402c71cc4819593f1023cc94cf05c4a";
+      sha256 = "a3f0cc844a02473ce3ebb664ce7a900b356c3ac90ec3661300d73d55e94bae0e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ar/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ar/firefox-115.0b7.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "81bad47e88b00ab3a6e0ff8df201c6f5bc5c07634fab6cff4e07f719bc3f86a2";
+      sha256 = "bfcca8582181c95e368b56b3f6c6081fea3713ac8bd299040e5f1ecd0d8dff66";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ast/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ast/firefox-115.0b7.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "33e8d05acd6914ebe498a0f90c6bfc98e6acf29131cb3f877883e3e307c0505c";
+      sha256 = "75b5af037d45ddff395b3860b23544a26af6c368859020791682df02adc8b6e4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/az/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/az/firefox-115.0b7.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "f3c8fe5d0e498e4f4b903a708e2d3c35e311798f2f5447bb04e3f1d1404ee1f5";
+      sha256 = "0c4affed92a86027df30734650ed288285ad4069078fb9ac62b53dac2ed4258f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/be/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/be/firefox-115.0b7.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "6d1a029f652f36bfa7067240b0e329eeb8416d3d61f9c059fc5763a5c3753fcd";
+      sha256 = "97153254ad6ca81111f3ae19eb8de9bb4de72bf4537b24aa9e3dd01e94f439f4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/bg/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/bg/firefox-115.0b7.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "a71ecd0c86849a8b1d1ce86562a68ecffeddfda9ff10bfcdaf360061fc93cace";
+      sha256 = "6afa075d73580afac23de00c40eb2a3b0bd24c8f2cd621229f4d59feb975248a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/bn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/bn/firefox-115.0b7.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "59fad81435f07ea8ff2078e4dfad914c16a1d5225acabcaa1ba6713b13a6e701";
+      sha256 = "e266ead9a8510954e0f7c4f9ad46847cdaf1cd5387b3146e86ce1a452fe1517b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/br/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/br/firefox-115.0b7.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "fce568edd724aea9f04ddd04d522f5025d3c88dfa6e6986fcd88d35420ab886e";
+      sha256 = "ea2dfd9c080db569f7b47b3d2dcb30344a075b3bc84160bf494119dff36d22e7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/bs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/bs/firefox-115.0b7.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "8367f07b7b8422e25375d35635f8eff94b4f25def4229ec8ce7013e655fa1d53";
+      sha256 = "d8e107e4c66fc31a525487e127a313fc747bb425ed4e4a241aa20302ac6fcb4d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ca-valencia/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ca-valencia/firefox-115.0b7.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "235f8ebfad6af55bf3007d2e0b237a98702f72e8e5e6aa97d9bfb8f61e691be5";
+      sha256 = "78479255d3b60f9891173e0e4923f925540864bf62b194bf223fd6b9395739b9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ca/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ca/firefox-115.0b7.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "24b7fe321d45a197d7cac78b954fcaf671335b4d16f80dc503c7585136ecd38e";
+      sha256 = "d0471c522d73edc1710de9e9d209bdc61c292cf9f1a0811b07deb586ea585f0d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/cak/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/cak/firefox-115.0b7.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "3ce46f849efd763c195fc688d824de774d77ff7a3356d49e3736a24bab003093";
+      sha256 = "1776b0ada0643e6854ff815079cc73b1a0c6e6b05329f75b7d641ae090d1eb9d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/cs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/cs/firefox-115.0b7.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "55b643ec61e20ce03a57d736acc955a8696ccefe35e7633f1a47a014dc955e8c";
+      sha256 = "2606c6a8da7d0b64e4f531f70a01b29c93c6d04caaa3214f79457635b3d9c45c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/cy/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/cy/firefox-115.0b7.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "ba98d309b57484ca9e59b92b4161b6bb0e15ec7c527689ea80a9a719608b467a";
+      sha256 = "09bc95a8b4059ae1c64d20b3f3588588f8e92f4f8aa09e2ead2c5fa1a42b3a1c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/da/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/da/firefox-115.0b7.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "15c4ba7e2ebe99e5c221ed3aebff5093a3a64567b71cf4f17d129a7f71ba4014";
+      sha256 = "3e4c76dfdf3b345144894efcfd6cada1ca0a0c73375049eaa2665bac22eb2011";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/de/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/de/firefox-115.0b7.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "362c4291cee10321d940be52d77e3e5607adbca3b6aec0ed1b8f2c4eac6fe76f";
+      sha256 = "ca36dd0eb8a9ec4ff4498f6d3bce316ccece46464762a8acc2ccab5cdb546caf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/dsb/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/dsb/firefox-115.0b7.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "e002674afdb8317a129f964dc58373c40a786a37d8d3462b2f9ca0930d816643";
+      sha256 = "698749896235b4c4ec620594cf323e33b8c46f4b79d7c0a475b1212ec670ca9b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/el/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/el/firefox-115.0b7.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "ee5361423e276bc1afbc4367bf7740141a485eaa6caa138712573a5e0eaa50b3";
+      sha256 = "a9be42f9abe53862543febe9749146ba9dc7d6cf9b193ea112c8e2b69d36b1c3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/en-CA/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/en-CA/firefox-115.0b7.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "bf9a443933c8d103e95223c90c64473ad81ae1cb05850e6b7ef88a72f8c2db48";
+      sha256 = "353a82f2ff7d2379c48502bf78325326f7315f8a36d729c4b9ca9b9024784345";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/en-GB/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/en-GB/firefox-115.0b7.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "fb3dd0ee1a469a9182f489ef1ff615f85a64a6666554687e247ee0616d23ac94";
+      sha256 = "00c7893222755ed929e62a6af53a3533fef9061f7e540ebd91408e490b611e07";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/en-US/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/en-US/firefox-115.0b7.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "455df67e25652fd59c80bc81e903be8a2b1343c3336f28ba6d961cfb72869456";
+      sha256 = "66867368b6703d0d98cad37f2d79ff4d8d1e957a5574e692e8fa68f443dd2802";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/eo/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/eo/firefox-115.0b7.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "e6b8609f7518370a721d86895f00b8264294f4ff4fd09c337b92cff983687322";
+      sha256 = "b72c950fe71929acc6f026cd24ad035958912baee7e137dab1b5764330ba59f9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/es-AR/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/es-AR/firefox-115.0b7.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "700fb01bf07d3596a04689ac049ccea78ec2d7ab83b8d85d3be0ea528af21f7a";
+      sha256 = "d7292b6702b9197176e8698bafa483a773d17b795d1cb9f3631d2355f32d8860";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/es-CL/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/es-CL/firefox-115.0b7.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "6c55fa992913ad7a399ae8c7c077127ae1fbfdf651654366b82e8f9ac0f2e242";
+      sha256 = "60d87b67c78bd83d778114fe3c9ab541c62de2941bf45cd73b86dec3c456a7a8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/es-ES/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/es-ES/firefox-115.0b7.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "001e7ead5f92688ddf4799ebe579b4d6a0b4882c1db4ace70b5b312dc17e4818";
+      sha256 = "511193c69fb2505c9e3eab11ffb297fd977374b2363afb48fa532c9672766959";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/es-MX/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/es-MX/firefox-115.0b7.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "d599a4fa7a7abd63bfb58108752f1f861cb9727de2e978ad83d50bf0967c4fd1";
+      sha256 = "4cc7c4dc8ddb20d518caff66a0c7610fb579e02ceee68a671e71a0e8e58ebaa6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/et/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/et/firefox-115.0b7.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "1a28febf5232273ab54b835c2722b0d809707a2745b0c6cf52c2d15a3a30c752";
+      sha256 = "60ad867801e303318e64a8683972800517b589ffe28c50cbeb7b783e55857e0e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/eu/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/eu/firefox-115.0b7.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "30f17d474cdd4abc01ae41fd0f76d43f05052667c91aded1be83ee6d9952e4f0";
+      sha256 = "842e0720f6c8d1007424360e18c1efa0ffcc7f4859f0786b60c9bc0869ceeeb7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/fa/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/fa/firefox-115.0b7.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "7028fb550cf164d0e85825be014f15573be2d9c62d062bf43e99f59f69514d9b";
+      sha256 = "9a08eb4457b763d9b0ee80d457e78db0fbfd72ed2c8cd82fa1257db8bb80eadb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ff/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ff/firefox-115.0b7.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "31ba5610f9a82b49ae283c00f30aa76d4d8c8144b7225cf005f035b6b37b781d";
+      sha256 = "de3b2516f729a8adb44cc48cd7e10f3ccf3dd2732c62b3762003656e68a81e3b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/fi/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/fi/firefox-115.0b7.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "08ec00531c65adb3f6b3d55fdd96bb040409e1ddd4142b7177dad35251bfa6df";
+      sha256 = "85a474f3b862339dde6326c08649c0b725a53cf435bd321895803df256263000";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/fr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/fr/firefox-115.0b7.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "1e5c05f503b5fc2bb5b0aecf883522b2d2f486f293af3099361644620446916d";
+      sha256 = "e65a5b55d56590a33f11965b9216241164e73f4420ef98b8c10b054c13031171";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/fur/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/fur/firefox-115.0b7.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "25cce1819b0ce7eca2eb6401824bcd9619635a7bed8d699226b54fa8a9493883";
+      sha256 = "ad6de2291db9c70b3300aea38d900cbef498a883e2501c18b2059cd6c62b7a4f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/fy-NL/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/fy-NL/firefox-115.0b7.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "c0e2cf9cb5da9730a6c02017f8e4d486f1d263b00d840e87c365003f6b9e55ac";
+      sha256 = "237b65fb160ac3c1bcc1322cef20f61a4805bbd479ce6fc6bcef3223d24de876";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ga-IE/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ga-IE/firefox-115.0b7.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "82858ebbdde27e66179e3383f7b5fc86919a44940a537427eec153de7bc3f5f3";
+      sha256 = "e826759c8a9a3e598e752731040ca13592a50c756fa7901307af2d2872f8af52";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/gd/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/gd/firefox-115.0b7.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "0b0bd0eb73d06d39c0302cdfdbbb3d5f0b96f1be746c0a075cf43f63458a4e0e";
+      sha256 = "7faaaa95ba7327c6d6af322f08f92c87b4e4d53236a26530fa27a58bc5cf10a3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/gl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/gl/firefox-115.0b7.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "8cde4d089ce8d6aca0e4f2f754afc74da5e3a709bb10c0201cef7e7919be6b8a";
+      sha256 = "332a5004f455c7acb473d54a888471725383342f1a655e37a7edb87cb622a32b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/gn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/gn/firefox-115.0b7.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "41bd1642013cee275ef5f2b8c25bb62bf6db2272b1d7d1de39f1442957ff4ebd";
+      sha256 = "c418d37b8c3330aca72cc9e77ed157a734d2b97d575e518d9253a8ae5ccaa5be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/gu-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/gu-IN/firefox-115.0b7.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "74bc63bcb36d2c3ba74e81918d384922138478ef1ef7a7894ec4cf9fe15d1b88";
+      sha256 = "aa39556e59573ead2ff607d59aa4568d727b32bd8a0ba412bde30ca002b6f04e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/he/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/he/firefox-115.0b7.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "c82b49371a3b01df6a884cec9cbcfa5f30c21162cd4942dc4a230c64877e1cc8";
+      sha256 = "b5e0e651b673d0b48959125bd82933bb2b2d459e640691b8a947097f8e85caf6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/hi-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/hi-IN/firefox-115.0b7.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "383c03a4b59694947ec192ef11b766b34455ffe4a5cf29cef459faff504c4e2a";
+      sha256 = "fc50dae40101df14d9e3c5fac8e517e40114c9c2655ec7d382364a0200fec2c0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/hr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/hr/firefox-115.0b7.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "8b0f5c8cda799db3ef574d76da5cee62db9f0d429947cde040cf784d91a0aff3";
+      sha256 = "f5d5d31a2d6a5106f0f1bd1f92bff2fc4f884cffff1a4d01cd56c704a2406fb6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/hsb/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/hsb/firefox-115.0b7.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "0afff99390971da52638d986a4fa5b06387836060e53519f0cb081fedf79eb90";
+      sha256 = "9a4b66696d56b4fb00de5da9d1adb95c63615b5c95844ed775d022d2b3cdf2ad";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/hu/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/hu/firefox-115.0b7.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "9cdc7201e9c79f829fad977c778712cfa945d972d0d6daab5ad1c2e1984d116a";
+      sha256 = "18c1a825605311c284a39dd98be577eabd084edf6a2763675a41eb11005b61c3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/hy-AM/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/hy-AM/firefox-115.0b7.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "cf412b78b4f78043522fcc3ecc72d89a2588ad2b97741de0de0922550f4d604d";
+      sha256 = "ddd868aba059b01235abc51bc7845b2e8e2661501376d1a7f9e057805610c6af";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ia/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ia/firefox-115.0b7.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "8cee564d4c37c79aaa8ca588f3a713233c549155888067d3c945e6530faca1c3";
+      sha256 = "1ece208c87df53b1eea98a86f81d283d4c65f39da7e33100dfa45ef54e4fb17e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/id/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/id/firefox-115.0b7.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "7443c62fda6187a8776b2b6bcd91d5eb96a4514df4a0f6a088c2bcbe45c98561";
+      sha256 = "cbbf691bd10e1c51885e090708896521d1b530454b7fcdda643ea789e800b533";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/is/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/is/firefox-115.0b7.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "876d597b27d2cf06bb6a93d3372622604fbb07a3020241d3dd864a1c5cfee80e";
+      sha256 = "15ce697b391e285b40a2915e866097886ac8878af9940e9f16bb12d9feb33188";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/it/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/it/firefox-115.0b7.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "95ab36a17b732e58a0614e6fa667e8a841e9b29cbfee556ea6873217db1a0f28";
+      sha256 = "a1f4c30734bcc8885e0ad1f6b1207b11a49281990ce8fa0ec417a325247ac701";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ja/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ja/firefox-115.0b7.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "415916e610f791753a0f51dd82bad79747c15519b5245221323197ced944fe6c";
+      sha256 = "dc325041fd7844628201436a6c51cb48e573d19d37cac1a5828b8e13543b6212";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ka/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ka/firefox-115.0b7.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "3f92ecce5f4e0a86053ec46e4a237853449b2f443e6ea80a289babec49835622";
+      sha256 = "501a166313bde6e858f4573a1ce04d694dfdc49b31e871021365de27158a4c30";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/kab/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/kab/firefox-115.0b7.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "9656969a798f060f3bb8e452f1d77b4d894874323880c0c8e9bd471441edc0b8";
+      sha256 = "aa8de7d888f12946f204f9b6c0e564d837ec6c4bf41ce9c75b5b2d7162f641cb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/kk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/kk/firefox-115.0b7.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "98d4c46bda75d101fa5d48d32a9fc11b0882ac3dc41854e4f1208f14daedeb2c";
+      sha256 = "618f63b1f9bd340d2df30f58bf69a2851031034c32f45640f228e701cecabd1c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/km/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/km/firefox-115.0b7.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "fbfa3ebc5b7a4fc2ef6d2b5601f6e0c249445233101c09b97081a70d4ff1dca4";
+      sha256 = "7fc94e906558352871b41f72a700e1ac4b583abc422796b5477f9250c4c44791";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/kn/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/kn/firefox-115.0b7.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "3abbeab39f731a999e1361770bf178d4bbfc4a05a439f1916166144585961536";
+      sha256 = "87a410b6ae3966cf84a8e1002d84567cf761b5fcd667aae2e5664be68d9afd27";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ko/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ko/firefox-115.0b7.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "6c9bcc420a3f53504c5f21f5333af9ac0050de5f9f384aa7ea8d037fef73060f";
+      sha256 = "a299aa07f8ef801a3d9fb9e77b488b967b34cc5e8cdf935a22aaa9716474edef";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/lij/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/lij/firefox-115.0b7.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "7235e014a6cad6806268075632ffbbad337a94871f6a3cb7e5a0163ef03aa577";
+      sha256 = "3915c22d264c36f7e9cbb7d99174ec0bddde12c7174a87c140b0b61f3eb22b79";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/lt/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/lt/firefox-115.0b7.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "693b99db17996aeb031771c567b1ce6aca695b112a81c4dc416fa6d17feb93f8";
+      sha256 = "17ee70412c6ae1cb2866dea9ddedb96b1295e3a82c20a7428bfd53f6227fb10e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/lv/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/lv/firefox-115.0b7.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "8f9bb22016f9fe00e02c58095ff3806f803f7b20227d03b5dca1d7190a024972";
+      sha256 = "fa2c43b4785aa2955d6edb5aceedc74424a5532b5bd1dd72c69a5487afd9ce77";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/mk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/mk/firefox-115.0b7.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "97d857564f9687f81061c430ecff2eb76c130f3b02ac83eaa66a7ff1b73757e2";
+      sha256 = "7d05fbb0e6427b0f6b7ec7891aa1c43b8453eb9e0ca16769e11153216f5d4d24";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/mr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/mr/firefox-115.0b7.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "e472502a2b2a7490ccdbd1320d05355dcb8919facfd96c9c51faeb7882dfd702";
+      sha256 = "be9ec1ef87c1fc0a8846b5c2d13ab9418251b0124602dbace17fe2adb9837054";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ms/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ms/firefox-115.0b7.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "4ea6c014885a911fe282da8727d6869d991ff8dd7bd345a006bfcd9e7235fc8e";
+      sha256 = "91b5cd6538e769d540bdbdeea13228ef1e203327228dca131b03a54748bfc00b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/my/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/my/firefox-115.0b7.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "f0ab10301421c7c08f43e2a811a0fedbd2a77d254fcf29e63f426217c21745cd";
+      sha256 = "2f333838aad3aef86ee3f7c1c7ef3b864eb961599558bfa5c90b042fd704918f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/nb-NO/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/nb-NO/firefox-115.0b7.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "5fb3a1a20cc359652e65e893eb00e1590c406a0f1d0bc2bf2917ee4a10b4dbc9";
+      sha256 = "20ec4989f7dbf8e815c304d69cbc5b589fa2d598e128798b9088c5bd9c47ad00";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ne-NP/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ne-NP/firefox-115.0b7.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "225af0dde54b5c1ef76bb035b183b03702b6d44d4d6a66a9a4a18ab6c35ae032";
+      sha256 = "ab4b6dd5d5c80f2e9396dae33820aa752469abd63f8a49f640a70433028abd5a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/nl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/nl/firefox-115.0b7.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "df2c75c7ca3c41cd3de58727c848c819288b969622fde689871a09c7e2986c24";
+      sha256 = "88a9fc8dbab36defb43100a0b9a4c0251050d0511507911f883afb86f34a3f9c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/nn-NO/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/nn-NO/firefox-115.0b7.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "5eda349aa44fb8004d075d8b35cca349c55f7ae301b92f20914e55897234912a";
+      sha256 = "cae591940e48901b8d04440a040587d290de0f001590dca011b3a37d0b083ae9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/oc/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/oc/firefox-115.0b7.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "7bc2c97f641294ce456e5581855111e8ca77519bb9e49cce8c114b80aca6c2c9";
+      sha256 = "5ca57dd54a4026d13175ab6b0bb670f1141c4444e82594b364f98718cdab15a9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/pa-IN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/pa-IN/firefox-115.0b7.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "de74c6847ab099680c54eb4a3758488650ea9dc42597ad121af23651fb038629";
+      sha256 = "5e8d395fddc21c0539fd8c7a32daf3a2ccf814f46356ba71e75afb3598f3351d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/pl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/pl/firefox-115.0b7.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "3d2f4a7d141c6fe0b0c9cf62737a00af99ea70a2347ee0d214a7bb9cfdf2f03a";
+      sha256 = "da98f688a22e7a8bdb7beb09414ffab345490a2c53cc39efa597ab0e1a83db33";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/pt-BR/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/pt-BR/firefox-115.0b7.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "7e5fcde9c70edeb4c860fcdb9769e114166bec9f18012d98438ceca01868adc0";
+      sha256 = "79e21f7fe4e6482e6601f72ba5497eecb0cd3e0e46bf9065ae7174102d1f8cc8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/pt-PT/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/pt-PT/firefox-115.0b7.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "9f8f62905f2460b3dabcebf9b4bc6cbceb4a5897cabfcb70a251adfe3e3238b8";
+      sha256 = "108f6cedee686bcd812bba13ecaea0ee15e43721c2869b70e65989bf4d95e408";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/rm/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/rm/firefox-115.0b7.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "9a11df8533a5aa5efa82862ab5811c4cbf95004a10e0591b67fb1eb5b7404ef7";
+      sha256 = "104b098afc8b72520c563a9bb8e7498fc567ef7ce78a837f747874d9df13b1b9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ro/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ro/firefox-115.0b7.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "8ad3ad808ee3a45d647c259931507a4204ca4a5dcc60f47514bcd87df3e93507";
+      sha256 = "d30e3778196be42250b4676dfaac46fcff90c15ee0789660a55f6527ed91b953";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ru/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ru/firefox-115.0b7.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "f48f0a80684d34c591df12c1cf2e49051c3043332d3624fb1ae9f2820e6b08f6";
+      sha256 = "58c96bd756e3ad2c26e638915025b08e695015e37cbaff2e9f3155c5b4dec016";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/sc/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/sc/firefox-115.0b7.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "80751a05ab918b9d3cacc73b42112e0b51e9a215d977b22e1e1ca3aa57eb0de4";
+      sha256 = "d55b42a82a2aff14ee2991dfa10d3b9f4807b6886d71d3e9b1c364693a2fa1d0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/sco/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/sco/firefox-115.0b7.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "5216cf73506c74b19a027fee90d171a783ce2e5fded8657eb0fdcd46b0866291";
+      sha256 = "4b7cccd707f614ca67b7a75b58c0a968ac3d449074f58e62d530c0461951cba3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/si/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/si/firefox-115.0b7.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "952fb86ec3cb28f7fb0bf5c1e3deced6cfb77dc5636de17e3fb0b092f973e59d";
+      sha256 = "a8243c2ac65eaae4559e4d1230f67fdccf2620d4db1f47b99a72d6a426768d51";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/sk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/sk/firefox-115.0b7.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "d37fe92f0e6032e39bf450140874531a23bb6a3574ec783fc1ce83f6745d9164";
+      sha256 = "4389010fca2b09bc8776a3d6b8490d1f6aa6fc19ce8fab6a65a5261f8526424b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/sl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/sl/firefox-115.0b7.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "9df7d668e8faecb02a9c3232b676a9b4e51d55df5d5b2d14762981e313835970";
+      sha256 = "10aae36750f15e0695b1b2180a9fd87d21af2ac98ec32e1503bda7e41d8fc5c7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/son/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/son/firefox-115.0b7.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "748b7a802b20ca481f49c3470a0d92ef3d8ded2d066c536439bca7567a8123b5";
+      sha256 = "5ab5c15d581093ff28d2fbb2ec12e2ede5183595b8483a3c45f246c749ba1218";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/sq/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/sq/firefox-115.0b7.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "ddbacff458f1cf73a2a4167a445f54f12de73efa09f975d4354a677a9b0f33a8";
+      sha256 = "6d5fc4466f878d8a27add0c9f8a2f1b19e48333ae677b49009bd5bcff8932d10";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/sr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/sr/firefox-115.0b7.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "2b981c6260c70710cd4908286b7498a15ab6956a97ef97d81e54457e52a391f7";
+      sha256 = "c8c2ccc4d0d30313e0b4f4a884c472fb89fa3a358aeef84fcc96a8d44d6e2bfe";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/sv-SE/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/sv-SE/firefox-115.0b7.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "e501eed76140f53343dd9f96f794e07226c069e483bb873f70b4abf8a27d59c1";
+      sha256 = "3eac437f4cff68387f569ec21ff0dd93b89b37e7c8379ea92260eca5c7b9fafc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/szl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/szl/firefox-115.0b7.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "ccef0033ed07ad13699d1dfe978bce3f56c607404f0a9d962ae45a69c6b147eb";
+      sha256 = "151a34d816d841f562084ae415c61d2ed66eb2ea56a347baef107104fabb08c0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ta/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ta/firefox-115.0b7.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "772fa17f6b4ead368a7cb4ba4a296223b2271b81697818cff1c8f1ab7dc304d4";
+      sha256 = "014a7d5adb807326292a13de4962e6f6aea0933adb04b11b1c6104b07d74d07f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/te/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/te/firefox-115.0b7.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "546adcf58879174ebf7825767d13873ba8d0cd0d44837d6e3353d7dabe54b6c0";
+      sha256 = "53fddd1f56e96c6d4925b16d0dd65ca38f38cb0031a0c61bf240792e08caef86";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/tg/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/tg/firefox-115.0b7.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "8346375636a40a3569189a5e2adcc5779d6b7fb6bc252407ac1d202081860029";
+      sha256 = "2fc96000ab02c184fb22d11bf3c513fab354643bf901acebc3fc2a6095436fe9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/th/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/th/firefox-115.0b7.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "ed9760d9867517146a90210e2be65017f195bbf2583437e4861258acb4fdeab0";
+      sha256 = "cf48e41648b12f180d32341242ebdbd01d8bbb3b515c7ba3d80f3eca53169582";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/tl/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/tl/firefox-115.0b7.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "1b36bb97fad5e1d1683f753d4b74ad82dcdaffc9f10cfada3948ad54a59e99c6";
+      sha256 = "0ab2d2adcdbb1d444ae2c0d07bc129390d71f6dbf7e3b4df32e08b9c435e4d28";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/tr/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/tr/firefox-115.0b7.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "7abeaba0da79b5a8ca9398eda13f85b63af15f4abf4e5f2fa7f4014aeba3933a";
+      sha256 = "68c0538ff7ab0ef6d013a9b17550f5794a50c7e593a1445cb49170df57a4497d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/trs/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/trs/firefox-115.0b7.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "f8ff73280f73bfa21238993f1aab04b20fdbedb3d5b40520b7de31d5a82c818c";
+      sha256 = "8776aa1cafc7979602dc23e6e02c002445ae61ae2dc01cc017e87da3e2784bf1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/uk/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/uk/firefox-115.0b7.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "4a0af8c646f688406e1a7429d45358b9c81f8f4523f72a41fc121c550eb77ce1";
+      sha256 = "64822eb5673bbf4e5ddbac17f0a67b875791a3c3eb1a10451e45a11341e1581e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/ur/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/ur/firefox-115.0b7.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "69091a344b0785a1876b51d626d149459e07d7b6cf8414ca9a9a8cd7fe5a45e0";
+      sha256 = "4dda75e77d1ae72160638bdf56fb4b7cc566192d324d391b3d5584d0df1e3c9d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/uz/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/uz/firefox-115.0b7.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "df76e8a0e62d11e37bbb6b8a5f4d39c5c603ee17cd9d37a5c7ae1c3836d4e68b";
+      sha256 = "670c6308a8a9229cc63b2027e60b328365e8c919bc26ec67951e5fb6ea8224e5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/vi/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/vi/firefox-115.0b7.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "93e856a8b374066052d0526579069e0aab6fc6ecaae16b092485f75b06fa722b";
+      sha256 = "60d005d6f23dd45447b09c71a9c8a28cac4b0e737c9b7e27807f713a9268e569";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/xh/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/xh/firefox-115.0b7.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "d2f347a987005d0b85fd582fd1e3d1db95772d0a7432a5fb44eabbe4a0118223";
+      sha256 = "84928fe9bfd10591698284e99745782cc1ccc91aba38397605655a4012bb26e9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/zh-CN/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/zh-CN/firefox-115.0b7.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "86448a435e1db96efeacbc6316b9686c8856a20dd2116f8642b4458703be485c";
+      sha256 = "4def26d090635e24922c2c2911f4df8d7845d937e1c1e4e54f72e88b5b4ba4a9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/114.0b7/linux-i686/zh-TW/firefox-114.0b7.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/115.0b7/linux-i686/zh-TW/firefox-115.0b7.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "1528cfd1bfe241dfeb28852d2caa113b75cbb4d6540c3ebbdd4c375a7db93fef";
+      sha256 = "3223daa71996d8acb8035b1fabba0e36ba807136c0a6129d6a2cb08e4e702673";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 883c04a5a67..3224f31df36 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -205,7 +205,7 @@ let
 
 in
 
-buildStdenv.mkDerivation ({
+buildStdenv.mkDerivation {
   pname = "${pname}-unwrapped";
   inherit version;
 
@@ -239,14 +239,14 @@ buildStdenv.mkDerivation ({
       hash = "sha256-fLUYaJwhrC/wF24HkuWn2PHqz7LlAaIZ1HYjRDB2w9A=";
     })
   ]
-  ++ lib.optional (lib.versionOlder version "109") [
+  ++ lib.optionals (lib.versionOlder version "109") [
     # cherry-pick bindgen change to fix build with clang 16
     (fetchpatch {
       url = "https://git.alpinelinux.org/aports/plain/community/firefox-esr/bindgen.patch?id=4c4b0c01c808657fffc5b796c56108c57301b28f";
       hash = "sha256-lTvgT358M4M2vedZ+A6xSKsBYhSN+McdmEeR9t75MLU=";
     })
   ]
-  ++ lib.optional (lib.versionOlder version "111") [
+  ++ lib.optionals (lib.versionOlder version "111") [
     # cherry-pick mp4parse change fixing build with Rust 1.70+
     # original change: https://github.com/mozilla/mp4parse-rust/commit/8b5b652d38e007e736bb442ccd5aa5ed699db100
     # vendored to update checksums
@@ -371,6 +371,7 @@ buildStdenv.mkDerivation ({
     export MOZILLA_OFFICIAL=1
   '' + lib.optionalString stdenv.hostPlatform.isMusl ''
     # linking firefox hits the vm.max_map_count kernel limit with the default musl allocator
+    # TODO: Default vm.max_map_count has been increased, retest without this
     export LD_PRELOAD=${mimalloc}/lib/libmimalloc.so
   '';
 
@@ -589,4 +590,4 @@ buildStdenv.mkDerivation ({
   dontUpdateAutotoolsGnuConfigScripts = true;
 
   requiredSystemFeatures = [ "big-parallel" ];
-})
+}
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 0744eaf46fc..9dd813b2837 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -51,11 +51,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "opera";
-  version = "99.0.4788.65";
+  version = "99.0.4788.77";
 
   src = fetchurl {
     url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
-    hash = "sha256-B57yTunq6wQTjYMYvocy1A3//I22w0TTUcK1bohpp2U=";
+    hash = "sha256-VdhUyXKqQaIpvwE4izQXIVdyDHfW7FQLfiiUBop70rI=";
   };
 
   unpackPhase = "dpkg-deb -x $src .";
diff --git a/pkgs/applications/networking/circumflex/default.nix b/pkgs/applications/networking/circumflex/default.nix
index aeda737f043..0955841199b 100644
--- a/pkgs/applications/networking/circumflex/default.nix
+++ b/pkgs/applications/networking/circumflex/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "circumflex";
-  version = "2.9.1";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "bensadeh";
     repo = "circumflex";
     rev = version;
-    hash = "sha256-FgmtRARNyvO+Ivhwr2S12GLX+vlTFnsClXv1Y7sTCmU=";
+    hash = "sha256-GIA49Syk22T0efxqmR3OgQpxpcEZnCicq8sj9CXdIhQ=";
   };
 
-  vendorHash = "sha256-p4lIIu3rkzb1EfJ4GJeXPgQlxGN1dqyTlIC9BOE1o/Y=";
+  vendorHash = "sha256-ms7TvCXQdkrlWp1pGj3ja+ACodt7z6sP3E373xHxA34=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/networking/cluster/acorn/default.nix b/pkgs/applications/networking/cluster/acorn/default.nix
index bebee39bf78..c362bb157c4 100644
--- a/pkgs/applications/networking/cluster/acorn/default.nix
+++ b/pkgs/applications/networking/cluster/acorn/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "acorn";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "acorn-io";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-WrwpfRzGm+DPxJ1A6BEIf6sfuIHWGvSOm3Gm0GhEfZc=";
+    hash = "sha256-ERB9RwvBcZ+G+UqR0Wv+HCkrc8tJQdamIeg7ZfKx8jQ=";
   };
 
-  vendorHash = "sha256-ebUYPvJInR6Vr8unlMVKEbJX4wzb6vcnNiElFY3doaQ=";
+  vendorHash = "sha256-iiyWYGoW0vno/C5qZVvtYypbVpjJwWydMo4+HxXy8IM=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/kubefirst/default.nix b/pkgs/applications/networking/cluster/kubefirst/default.nix
index cba4d646222..13b9e65315b 100644
--- a/pkgs/applications/networking/cluster/kubefirst/default.nix
+++ b/pkgs/applications/networking/cluster/kubefirst/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubefirst";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "kubefirst";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-puqMekP2NkcbW4zD6abwW61CJcqjkALWpCpctaN7+lA=";
+    hash = "sha256-Xj2MY80cCw+6no+qaqkiOoZAXlbkY8VVO+aDP85SLrI=";
   };
 
-  vendorHash = "sha256-BZ/GopEm3hIqtCxiB+eiXiL/Vk2fUhP1Ixx18brM7Ow=";
+  vendorHash = "sha256-zXoRpVUQ16mtwAdStT6BnZLdd6RzZT5hP/Z4Yq2iUx8=";
 
   ldflags = [ "-s" "-w" "-X github.com/kubefirst/runtime/configs.K1Version=v${version}"];
 
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index d0b3d7ad98f..68e0ce87988 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -484,11 +484,11 @@
     "vendorHash": "sha256-CRqUSPXap8lXRa/yIDnG11F/D+IdylY3JzkV6bXmzwY="
   },
   "gridscale": {
-    "hash": "sha256-5e//setNABadYgIBlDyCbAeZBg0hrVPEVKKFCBNNRLg=",
+    "hash": "sha256-OzOI//WXMHzHSbsqLSAfVpt756SbF3Uv0r/7MsVMjzY=",
     "homepage": "https://registry.terraform.io/providers/gridscale/gridscale",
     "owner": "gridscale",
     "repo": "terraform-provider-gridscale",
-    "rev": "v1.19.0",
+    "rev": "v1.20.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -539,13 +539,13 @@
     "vendorHash": "sha256-+D8HxLRUSh7bCN6j+NSkPZTabvqknY7uJ9F5JxefomA="
   },
   "http": {
-    "hash": "sha256-PNgiyawIMSkuZmC0jXiuqHp3qKNfJ0NgMijEQzTg+ow=",
+    "hash": "sha256-zffR6NS3i+aWF89c5NzKvuqWe6q8OPbRONY5gjsrUWE=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/http",
     "owner": "hashicorp",
     "repo": "terraform-provider-http",
-    "rev": "v3.3.0",
+    "rev": "v3.4.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-73Hpp4OLJyFmbiczVmFzCi++W0te6G9LSb8LhNwSDUg="
+    "vendorHash": "sha256-hxT9mpKifb63wlCUeUzgVo4UB2TnYZy9lXF4fmGYpc4="
   },
   "huaweicloud": {
     "hash": "sha256-ullp0qBo2BFokbXMek5Y5s7qN2Ig3L5ekXSlbLhvrWU=",
@@ -773,13 +773,13 @@
     "vendorHash": null
   },
   "newrelic": {
-    "hash": "sha256-gjqU2DCHpM65ASF8dW/X/00m1vYY0MVlz/cW6LXQVig=",
+    "hash": "sha256-/LUuOjwkggHcFpIHyM4Gcdi8+wel3mt7lrgVk89myyc=",
     "homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
     "owner": "newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v3.24.2",
+    "rev": "v3.25.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-WjiTfHs+MEc06aNstblGKvd3cTj49JF1fvm+tuR2WH8="
+    "vendorHash": "sha256-N7KyKI5KuX6foKNLJQ12XANAwSe/FS0tjys7uoXtULM="
   },
   "nomad": {
     "hash": "sha256-1TmcFS+ul7xpSGqQohcCdeQ2zuDD429xGI0X2Add5HQ=",
@@ -819,11 +819,11 @@
     "vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
   },
   "oci": {
-    "hash": "sha256-fUAPXCxE6Xovsnrz0RY2MyJFxozxjpNBCduPMJNkQBQ=",
+    "hash": "sha256-kIZrfTwni3l2x9/W6efESz+4raU8bERD33N9H3f6Zbc=",
     "homepage": "https://registry.terraform.io/providers/oracle/oci",
     "owner": "oracle",
     "repo": "terraform-provider-oci",
-    "rev": "v5.1.0",
+    "rev": "v5.2.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -972,13 +972,13 @@
     "vendorHash": null
   },
   "scaleway": {
-    "hash": "sha256-YP3cf247RKp0LJMtNhZ03JBTOEF/RKU77CuQu0Bty3M=",
+    "hash": "sha256-z2HVkNCczoCzDVT4g5KXCVzif4NuVZvG4u2vQIMmy2k=",
     "homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
     "owner": "scaleway",
     "repo": "terraform-provider-scaleway",
-    "rev": "v2.21.0",
+    "rev": "v2.22.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-rz/toAnr8Bn8OImPnb337NhQbDc1TdAS9aRtyOnHZKw="
+    "vendorHash": "sha256-edS2cE2I0ld9GpD51z6cs7on25DciCLDJXobcb7xMm8="
   },
   "secret": {
     "hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@@ -1053,13 +1053,13 @@
     "vendorHash": "sha256-NO1r/EWLgH1Gogru+qPeZ4sW7FuDENxzNnpLSKstnE8="
   },
   "spotinst": {
-    "hash": "sha256-0FoSfllKpv+k3s9g4z4vd/mBMpsC94YTzbvOvqI8qDc=",
+    "hash": "sha256-tKcZj6YY3J2fPDQtDrPltOoEid+128KK+axG/nUMK8Q=",
     "homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
     "owner": "spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.122.2",
+    "rev": "v1.123.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-hfg3XyBf5V+NJTzCoHbnTU4HkEdQsllqcH2NjeTmlf0="
+    "vendorHash": "sha256-zjQLAT3GQbOn7Riltoy8QHnlGp5GwwmjdwMudOMaJho="
   },
   "stackpath": {
     "hash": "sha256-7KQUddq+M35WYyAIAL8sxBjAaXFcsczBRO1R5HURUZg=",
@@ -1107,11 +1107,11 @@
     "vendorHash": "sha256-GNSKSlaFBj2P+z40U+0uwPSOuQBy+9vOVFfPe8p0A24="
   },
   "tencentcloud": {
-    "hash": "sha256-t2dpD6GXQl9ftNm2SCnQQ8xQdjac90EyrnzegtDQ7Ek=",
+    "hash": "sha256-C8U1SQhoDVFeBHOmXdeF4GAjhKyejECNURJVfloOAZM=",
     "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
     "owner": "tencentcloudstack",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.81.8",
+    "rev": "v1.81.9",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -1189,12 +1189,12 @@
     "vendorHash": "sha256-bNE5HxOcj0K2vdqWPVECeTojnWz0hF9mw0TnRRBhqkQ="
   },
   "vault": {
-    "hash": "sha256-J7jYFqcXWOZaBwfuR9ZyoYPIq8QKYbZ6I+ZpAKDuZhQ=",
+    "hash": "sha256-vnCRyrvRH+bsANl2esTUYUPewDG+ZgXlpQdSPiU3WiI=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/vault",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-vault",
-    "rev": "v3.16.0",
+    "rev": "v3.17.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-Ox8Onq44NdE/KMrmzbOpKetJKww9T2PvEliLbWU/bLU="
   },
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index ab5e4f66c2e..dd5cfe31fe9 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.46.3";
+  version = "0.47.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-2SC1HPmAQYUNrLMvtp87EaZ/K1dYD5LHhH+jB0si+Hs=";
+    hash = "sha256-gt0M1o/zC5eJc4Mc21UwT5eu+mCO4+4F5PjRiCExKjg=";
   };
 
   vendorHash = "sha256-5Umoqi2D6iUk2Ut7YB/nmkOyA6Rx2qFhy/ZbfqoX5qA=";
diff --git a/pkgs/applications/networking/freefilesync/default.nix b/pkgs/applications/networking/freefilesync/default.nix
index 5e40813e7d9..8ce157c6d57 100644
--- a/pkgs/applications/networking/freefilesync/default.nix
+++ b/pkgs/applications/networking/freefilesync/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freefilesync";
-  version = "12.3";
+  version = "12.4";
 
   src = fetchurl {
     url = "https://freefilesync.org/download/FreeFileSync_${version}_Source.zip";
-    hash = "sha256-s6jNWqqriL/ePFCUQvLeNxNjHz+nZevD2x1kkw1gDE8=";
+    hash = "sha256-rH1xp0/ggWWyUPcksY2GhYtUddTGrEDxdL/uODurvDo=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/networking/gdrive3/Cargo.lock b/pkgs/applications/networking/gdrive3/Cargo.lock
new file mode 100644
index 00000000000..c0570d5164b
--- /dev/null
+++ b/pkgs/applications/networking/gdrive3/Cargo.lock
@@ -0,0 +1,1769 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61"
+
+[[package]]
+name = "async-recursion"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b015a331cc64ebd1774ba119538573603427eaace0a1950c423ab971f903796"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bumpalo"
+version = "3.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+
+[[package]]
+name = "bytes"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
+
+[[package]]
+name = "cc"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
+dependencies = [
+ "iana-time-zone",
+ "num-integer",
+ "num-traits",
+ "serde",
+ "winapi",
+]
+
+[[package]]
+name = "clap"
+version = "4.0.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39"
+dependencies = [
+ "bitflags",
+ "clap_derive",
+ "clap_lex",
+ "is-terminal",
+ "once_cell",
+ "strsim",
+ "termcolor",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "cxx"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d1075c37807dcf850c379432f0df05ba52cc30f279c5cfc43cc221ce7f8579"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5044281f61b27bc598f2f6647d480aed48d2bf52d6eb0b627d84c0361b17aa70"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61b50bc93ba22c27b0d31128d2d130a0a6b3d267ae27ef7e4fae2167dfe8781c"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e61fda7e62115119469c7b3591fd913ecca96fb766cfd3f2e2502ab7bc87a5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "darling"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim",
+ "syn",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e"
+dependencies = [
+ "darling_core",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "either"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+
+[[package]]
+name = "errno"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "exponential-backoff"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "851c5c1b202b7317c442c5f9c1f55f4cb6cb7e3dee875dd422d124c081a8da88"
+dependencies = [
+ "rand",
+]
+
+[[package]]
+name = "fastrand"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "windows-sys",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+dependencies = [
+ "percent-encoding 2.2.0",
+]
+
+[[package]]
+name = "futures"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
+
+[[package]]
+name = "futures-task"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
+
+[[package]]
+name = "futures-util"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "gdrive"
+version = "3.9.0"
+dependencies = [
+ "async-recursion",
+ "bytes",
+ "clap",
+ "exponential-backoff",
+ "futures",
+ "google-drive3",
+ "home",
+ "human_bytes",
+ "hyper",
+ "md5",
+ "mime",
+ "mime_guess",
+ "rustc_version_runtime",
+ "serde",
+ "serde_json",
+ "tabwriter",
+ "tar",
+ "tempfile",
+ "tokio",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "google-apis-common"
+version = "5.0.2"
+source = "git+https://github.com/prasmussen/google-apis-rs?branch=resumable-fix#1f75444516a3bbba3441ee6ff65d6aa0f2d2f1af"
+dependencies = [
+ "base64 0.13.1",
+ "chrono",
+ "http",
+ "hyper",
+ "itertools",
+ "mime",
+ "serde",
+ "serde_json",
+ "serde_with",
+ "tokio",
+ "tower-service",
+ "url 1.7.2",
+ "yup-oauth2",
+]
+
+[[package]]
+name = "google-drive3"
+version = "5.0.2-beta-1+20220225"
+source = "git+https://github.com/prasmussen/google-apis-rs?branch=resumable-fix#1f75444516a3bbba3441ee6ff65d6aa0f2d2f1af"
+dependencies = [
+ "anyhow",
+ "google-apis-common",
+ "http",
+ "hyper",
+ "hyper-rustls",
+ "itertools",
+ "mime",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tower-service",
+ "url 1.7.2",
+]
+
+[[package]]
+name = "h2"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "heck"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+
+[[package]]
+name = "hermit-abi"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "home"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "747309b4b440c06d57b0b25f2aee03ee9b5e5397d288c60e21fc709bb98a7408"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "http"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+
+[[package]]
+name = "human_bytes"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39b528196c838e8b3da8b665e08c30958a6f2ede91d79f2ffcd0d4664b9c64eb"
+
+[[package]]
+name = "hyper"
+version = "0.14.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.23.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
+dependencies = [
+ "http",
+ "hyper",
+ "log",
+ "rustls",
+ "rustls-native-certs",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.53"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+dependencies = [
+ "cxx",
+ "cxx-build",
+]
+
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[package]]
+name = "idna"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+ "serde",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189"
+dependencies = [
+ "hermit-abi",
+ "io-lifetimes",
+ "rustix",
+ "windows-sys",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+
+[[package]]
+name = "link-cplusplus"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+
+[[package]]
+name = "md5"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "mime"
+version = "0.3.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+
+[[package]]
+name = "mime_guess"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
+dependencies = [
+ "mime",
+ "unicase",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
+dependencies = [
+ "libc",
+ "log",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "windows-sys",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "num_threads"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-sys",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.49"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom",
+ "libc",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustc_version_runtime"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d31b7153270ebf48bf91c65ae5b0c00e749c4cfad505f66530ac74950249582f"
+dependencies = [
+ "rustc_version",
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.36.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys",
+]
+
+[[package]]
+name = "rustls"
+version = "0.20.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+dependencies = [
+ "base64 0.21.0",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+
+[[package]]
+name = "schannel"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "scratch"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2"
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+[[package]]
+name = "security-framework"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c"
+dependencies = [
+ "bitflags",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+[[package]]
+name = "serde"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_with"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30d904179146de381af4c93d3af6ca4984b3152db687dacb9c3c35e86f39809c"
+dependencies = [
+ "base64 0.13.1",
+ "chrono",
+ "hex",
+ "indexmap",
+ "serde",
+ "serde_json",
+ "serde_with_macros",
+ "time",
+]
+
+[[package]]
+name = "serde_with_macros"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1966009f3c05f095697c537312f5415d1e3ed31ce0a56942bac4c771c5c335e"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "socket2"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "1.0.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tabwriter"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36205cfc997faadcc4b0b87aaef3fbedafe20d38d4959a7ca6ff803564051111"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "tar"
+version = "0.4.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "libc",
+ "redox_syscall",
+ "remove_dir_all",
+ "winapi",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "time"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
+dependencies = [
+ "itoa",
+ "libc",
+ "num_threads",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+
+[[package]]
+name = "time-macros"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+
+[[package]]
+name = "tokio"
+version = "1.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae"
+dependencies = [
+ "autocfg",
+ "bytes",
+ "libc",
+ "memchr",
+ "mio",
+ "num_cpus",
+ "parking_lot",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "windows-sys",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "1.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.23.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
+dependencies = [
+ "rustls",
+ "tokio",
+ "webpki",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+dependencies = [
+ "cfg-if",
+ "pin-project-lite",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+
+[[package]]
+name = "unicase"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "url"
+version = "1.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+dependencies = [
+ "idna 0.1.5",
+ "matches",
+ "percent-encoding 1.0.1",
+]
+
+[[package]]
+name = "url"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+dependencies = [
+ "form_urlencoded",
+ "idna 0.3.0",
+ "percent-encoding 2.2.0",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "want"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+dependencies = [
+ "log",
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[package]]
+name = "web-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+
+[[package]]
+name = "xattr"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "yup-oauth2"
+version = "8.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8cb398cca4dedd0203666d7c3e7a089d14557be759efd57ab75f067949276e7"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "base64 0.13.1",
+ "futures",
+ "http",
+ "hyper",
+ "hyper-rustls",
+ "itertools",
+ "log",
+ "percent-encoding 2.2.0",
+ "rustls",
+ "rustls-pemfile",
+ "seahash",
+ "serde",
+ "serde_json",
+ "time",
+ "tokio",
+ "tower-service",
+ "url 2.3.1",
+]
diff --git a/pkgs/applications/networking/gdrive3/default.nix b/pkgs/applications/networking/gdrive3/default.nix
new file mode 100644
index 00000000000..8d955327090
--- /dev/null
+++ b/pkgs/applications/networking/gdrive3/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gdrive";
+  version = "3.9.0";
+
+  src = fetchFromGitHub {
+    owner = "glotlabs";
+    repo = "gdrive";
+    rev = version;
+    hash = "sha256-vWd1sto89U2ZJWZZebPjrbMyBjZMs9buoPEPKocDVnY=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "google-apis-common-5.0.2" = "sha256-E4ON66waUzp4qqpVWTFBD0+M2V80YlYmsewEYZygTuE=";
+    };
+  };
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  meta = with lib; {
+    description = "Google Drive CLI Client";
+    homepage = "https://github.com/glotlabs/gdrive";
+    changelog = "https://github.com/glotlabs/gdrive/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 635b1272838..fd502d4c60a 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -3,7 +3,7 @@ let
   versions = if stdenv.isLinux then {
     stable = "0.0.27";
     ptb = "0.0.42";
-    canary = "0.0.158";
+    canary = "0.0.160";
     development = "0.0.216";
   } else {
     stable = "0.0.273";
@@ -24,7 +24,7 @@ let
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        sha256 = "sha256-vEkH8erhTP03/hU3TJqAULgaZMfTJl/zPrebEBa5ktA=";
+        sha256 = "sha256-fsltWhCQ/jSxdELngRlpOsdH7gXl1WW5euZsrEQgkm0=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
diff --git a/pkgs/applications/networking/irc/ircdog/default.nix b/pkgs/applications/networking/irc/ircdog/default.nix
index df797ebd3ce..02323314db4 100644
--- a/pkgs/applications/networking/irc/ircdog/default.nix
+++ b/pkgs/applications/networking/irc/ircdog/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "ircdog";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "goshuirc";
     repo = "ircdog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3fOui17ZederpnB7jZh7GsYa12VKvhb3wwOnVFi23wM=";
+    hash = "sha256-nXXSHNQp+yFfgY/VPqaMLM6lv4oYE97rdgHYW+0+L9g=";
   };
 
-  vendorSha256 = null;
+  vendorHash = null;
 
   meta = with lib; {
     description = "ircdog is a simple wrapper over the raw IRC protocol that can respond to pings, and interprets formatting codes";
diff --git a/pkgs/applications/networking/shellhub-agent/default.nix b/pkgs/applications/networking/shellhub-agent/default.nix
index 9f66b6a08ba..8a6ca39ee3b 100644
--- a/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/pkgs/applications/networking/shellhub-agent/default.nix
@@ -1,5 +1,5 @@
 { lib
-, buildGo120Module
+, buildGoModule
 , fetchFromGitHub
 , gitUpdater
 , makeWrapper
@@ -9,20 +9,20 @@
 , shellhub-agent
 }:
 
-buildGo120Module rec {
+buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.12.2";
+  version = "0.12.3";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    sha256 = "9ZOLbws2jRjUK3IK2HnRF6TDk3ZXAtE/oCjAR5BjqlM=";
+    hash = "sha256-WKMy2JttXFRcW1yb5aQ6xe8BoSoN65K8Hlmac62+QPc=";
   };
 
   modRoot = "./agent";
 
-  vendorSha256 = "sha256-7T2MWwcq99AF8d/DM2n8xROroRSqiEKY+58x9UZ3fow=";
+  vendorHash = "sha256-BqzpQcL3U6SIrDW5NfBG0D2zyvv1zNu7uoOBYmKbF4Y=";
 
   ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
 
diff --git a/pkgs/applications/science/math/eigenmath/default.nix b/pkgs/applications/science/math/eigenmath/default.nix
index cb969297315..a408f105c8b 100644
--- a/pkgs/applications/science/math/eigenmath/default.nix
+++ b/pkgs/applications/science/math/eigenmath/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eigenmath";
-  version = "unstable-2023-05-12";
+  version = "unstable-2023-06-16";
 
   src = fetchFromGitHub {
     owner = "georgeweigt";
     repo = pname;
-    rev = "a6de473ad8eb7cd7c2fba6a738881764dc2c5f83";
-    hash = "sha256-1fdGx6pYWnoyJ5ei1qZlXZG2mUEdjrRI7+X352XE/7A=";
+    rev = "800adc5c0bd654eb9ad28497e1b78c4061b3a4cb";
+    hash = "sha256-/ViU44E3myAc7B8amm/TaIh70g2Z7IC4KRRG3++nOKs=";
   };
 
   checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''
diff --git a/pkgs/applications/science/molecular-dynamics/lammps/default.nix b/pkgs/applications/science/molecular-dynamics/lammps/default.nix
index e8ad77f7d4d..a1c0f60ffa0 100644
--- a/pkgs/applications/science/molecular-dynamics/lammps/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/lammps/default.nix
@@ -6,11 +6,12 @@
 , fftw
 , blas
 , lapack
-, withMPI ? false
-, mpi
 , cmake
+, pkg-config
 # Available list of packages can be found near here:
-# https://github.com/lammps/lammps/blob/develop/cmake/CMakeLists.txt#L222
+#
+# - https://github.com/lammps/lammps/blob/develop/cmake/CMakeLists.txt#L222
+# - https://docs.lammps.org/Build_extras.html
 , packages ? {
   ASPHERE = true;
   BODY = true;
@@ -35,6 +36,10 @@
   SRD = true;
   REAXFF = true;
 }
+# Extra cmakeFlags to add as "-D${attr}=${value}"
+, extraCmakeFlags ? {}
+# Extra `buildInputs` - meant for packages that require more inputs
+, extraBuildInputs ? []
 }:
 
 stdenv.mkDerivation rec {
@@ -53,14 +58,22 @@ stdenv.mkDerivation rec {
   '';
   nativeBuildInputs = [
     cmake
+    pkg-config
   ];
 
   passthru = {
-    inherit mpi;
+    # Remove these at some point - perhaps after release 23.11. See discussion at:
+    # https://github.com/NixOS/nixpkgs/pull/238771#discussion_r1235459961
+    mpi = throw "`lammps-mpi.passthru.mpi` was removed in favor of `extraBuildInputs`";
     inherit packages;
+    inherit extraCmakeFlags;
+    inherit extraBuildInputs;
   };
   cmakeFlags = [
-  ] ++ (builtins.map (p: "-DPKG_${p}=ON") (builtins.attrNames (lib.filterAttrs (n: v: v) packages)));
+  ]
+  ++ (builtins.map (p: "-DPKG_${p}=ON") (builtins.attrNames (lib.filterAttrs (n: v: v) packages)))
+  ++ (lib.mapAttrsToList (n: v: "-D${n}=${v}") extraCmakeFlags)
+  ;
 
   buildInputs = [
     fftw
@@ -68,9 +81,8 @@ stdenv.mkDerivation rec {
     blas
     lapack
     gzip
-  ] ++ lib.optionals withMPI [
-    mpi
-  ];
+  ] ++ extraBuildInputs
+  ;
 
   # For backwards compatibility
   postInstall = ''
diff --git a/pkgs/applications/terminal-emulators/rio/default.nix b/pkgs/applications/terminal-emulators/rio/default.nix
index 44ecdd23d3c..d72a43507a3 100644
--- a/pkgs/applications/terminal-emulators/rio/default.nix
+++ b/pkgs/applications/terminal-emulators/rio/default.nix
@@ -27,13 +27,13 @@ let
     fontconfig
     libGL
     vulkan-loader
-  ] ++ lib.optional withX11 [
+  ] ++ lib.optionals withX11 [
     libX11
     libXcursor
     libXi
     libXrandr
     libxcb
-  ] ++ lib.optional withWayland [
+  ] ++ lib.optionals withWayland [
     wayland
   ];
 in
diff --git a/pkgs/applications/version-management/git-credential-manager/default.nix b/pkgs/applications/version-management/git-credential-manager/default.nix
new file mode 100644
index 00000000000..155feb25fa8
--- /dev/null
+++ b/pkgs/applications/version-management/git-credential-manager/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, fetchFromGitHub
+, buildDotnetModule
+, dotnetCorePackages
+, libX11
+, libICE
+, libSM
+, fontconfig
+, libsecret
+, gnupg
+, pass
+, withGuiSupport ? true
+, withLibsecretSupport ? true
+, withGpgSupport ? true
+}:
+
+assert withLibsecretSupport -> withGuiSupport;
+buildDotnetModule rec {
+  pname = "git-credential-manager";
+  version = "2.1.2";
+
+  src = fetchFromGitHub {
+    owner = "git-ecosystem";
+    repo = "git-credential-manager";
+    rev = "v${version}";
+    hash = "sha256-PeQ9atSCgSvduAcqY2CnNJH3ucvoInduA5i8dPUJiHo=";
+  };
+
+  projectFile = "src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj";
+  nugetDeps = ./deps.nix;
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
+  dotnet-runtime = dotnetCorePackages.runtime_6_0;
+  dotnetInstallFlags = [ "--framework" "net6.0" ];
+  executables = [ "git-credential-manager" ];
+
+  runtimeDeps = [ fontconfig ]
+    ++ lib.optionals withGuiSupport [ libX11 libICE libSM ]
+    ++ lib.optional withLibsecretSupport libsecret;
+  makeWrapperArgs = lib.optionals withGpgSupport [ "--prefix" "PATH" ":" (lib.makeBinPath [ gnupg pass ]) ];
+
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
+    description = "Secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.";
+    homepage = "https://github.com/git-ecosystem/git-credential-manager";
+    license = with licenses; [ mit ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ _999eagle ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-credential-manager/deps.nix b/pkgs/applications/version-management/git-credential-manager/deps.nix
new file mode 100644
index 00000000000..87806d1fd62
--- /dev/null
+++ b/pkgs/applications/version-management/git-credential-manager/deps.nix
@@ -0,0 +1,86 @@
+# This file was automatically generated by passthru.fetch-deps.
+# Please dont edit it manually, your changes might get overwritten!
+
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Avalonia"; version = "11.0.0-preview6"; sha256 = "14m7bg6ric8hpa2kmkhff6hpljfa73snbkj8fqida7hfd0nhggyl"; })
+  (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; })
+  (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.0-preview6"; sha256 = "12lps97bqgd65z0y4d73ql2rcxaaaylb2x8fqvkb2jbrd76n30wz"; })
+  (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.0-preview6"; sha256 = "1kk4ids80gzkf8llasmcairmmz6yfsi7mbld21gb3sdwdf0wf92y"; })
+  (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.0-preview6"; sha256 = "18rabqzs5namzi0y6435blm6j54cnwsc8bkq2daj9bim5njy56pm"; })
+  (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.0-preview6"; sha256 = "0l9c7zakk17xyag9cl9nxq4j6wzlr6kgzzwpl7zwj7f3vypxlp6v"; })
+  (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.0-preview6"; sha256 = "0ni3y5qkpsz2s5hflkipwmpmb21b2mfs6h06rrvrq95m4l0bil7i"; })
+  (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.0-preview6"; sha256 = "0m1zbcbypj06xkmyjx56smh5smi02gdvn6xbqi92k185aiiwicj1"; })
+  (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.0-preview6"; sha256 = "0wws5z8vmagzh7x47mlgf780579d5zqv0hyd649sycdxkaadcz5r"; })
+  (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0-preview6"; sha256 = "15572ibkb7ihgdmcxzj3avb1g4lcqrjxdxgf66ifvfyjj49vfi8h"; })
+  (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.0.0-preview6"; sha256 = "1hm8ax9bq7vj458f2lrcppv3ylc6zmmdwp6zkbf2s6fv7nhvpmgf"; })
+  (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.0-preview6"; sha256 = "1b1y2a3bkwz38a5nvwqhw23gp10a63046qiprapyxp589gbkf8cj"; })
+  (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.0-preview6"; sha256 = "0img9zmrppikzgw48j5a3svcrv9skbh13wzrdqnk0648n8fgj9k4"; })
+  (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.0-preview6"; sha256 = "04923qvlpgszr1zlcg0pfxzsgqgdjcrpqgkqlrlp62ac6yv8dr9g"; })
+  (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; sha256 = "115aybicqs9ijjlcv6k6r5v0agkjm1bm1nkd0rj3jglv8s0xvmp2"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; sha256 = "1f18ahwkaginrg0vwsi6s56lvnqvvxv7pzklfs5lnknasxy1a76z"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; sha256 = "052d8frpkj4ijs6fm6xp55xbv95b1s9biqwa0w8zp3rgm88m9236"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; sha256 = "043hv36bg5240znbm8x5la7py17m4jfzy57q3ka32f6zjld83j36"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; sha256 = "08khd2jqm8sw58ljz5srangzfm2sz3gd2q1jzc5fr80lj8rv6r74"; })
+  (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; sha256 = "0w0yx0lpg54iw5jazqk46h48gx43ij32gwac8iywdj6kxfxm03vw"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.4.1"; sha256 = "0z6d1i6xcf0c00z6rs75rgw4ncs9q2m8amasf6mmbf40fm02ry7g"; })
+  (fetchNuGet { pname = "Microsoft.Identity.Client"; version = "4.52.0"; sha256 = "0g7bzzm04lrfar3l1rl1lsb0q1nm0ix5fc24bhm4faxvzdyd3vg7"; })
+  (fetchNuGet { pname = "Microsoft.Identity.Client.Extensions.Msal"; version = "2.28.0"; sha256 = "1z2irqbjqxawyxq2778bcjbj0x8m63dh3lj5m04knq48wl4wh40x"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "6.22.0"; sha256 = "06495i2i9cabys4s0dkaz0rby8k47gy627v9ivp7aa3k6xmypviz"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
+  (fetchNuGet { pname = "SkiaSharp"; version = "2.88.3"; sha256 = "1yq694myq2rhfp2hwwpyzcg1pzpxcp7j72wib8p9pw9dfj7008sv"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.3"; sha256 = "0dajvr60nwvnv7s6kcqgw1w97zxdpz1c5lb7kcq7r0hi0l05ck3q"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.3"; sha256 = "191ajgi6fnfqcvqvkayjsxasiz6l0bv3pps8vv9abbyc4b12qvph"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.3"; sha256 = "1w5njksq3amrrp7fqxw89nv6ar2kgc5yx092i4rxv7hrjbd1aagx"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.3"; sha256 = "03wwfbarsxjnk70qhqyd1dw65098dncqk2m0vksx92j70i7lry6q"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
+  (fetchNuGet { pname = "System.CommandLine"; version = "2.0.0-beta1.21216.1"; sha256 = "10p3i10sh9aarqfzac3bgmv9zabb8m5c2aylf3chwlh71kp9l63l"; })
+  (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "5.0.0"; sha256 = "0ixl68plva0fsj3byv76bai7vkin86s6wyzr8vcav3szl862blvk"; })
+  (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; sha256 = "08211lvckdsdbd67xz4f6cyk76cli565j0dby1grlc4k9bhwby65"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
+  (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.5.0"; sha256 = "11qlc8q6b7xlspayv07718ibzvlj6ddqqxkvcbxv5b24d5kzbrb7"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
+  (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.14.0"; sha256 = "1j7ifcv621z5kjafs0c1qw4xcgv4kd4hwp0qamhcrllvshd2mabq"; })
+  (fetchNuGet { pname = "Tmds.DBus.SourceGenerator"; version = "0.0.4"; sha256 = "16qa3xi0ip2nvgnjjqj64ppjdrf4p4skrfqzfnb39rp0k7v8smfx"; })
+]
diff --git a/pkgs/applications/version-management/git-credential-manager/update.sh b/pkgs/applications/version-management/git-credential-manager/update.sh
new file mode 100755
index 00000000000..e1a03f296f1
--- /dev/null
+++ b/pkgs/applications/version-management/git-credential-manager/update.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq nix-prefetch nix coreutils gnused
+
+cd "$(dirname "$0")"
+
+set -euo pipefail
+
+latestVersion="$(curl -s "https://api.github.com/repos/git-ecosystem/git-credential-manager/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
+currentVersion="$(nix-instantiate --eval -E "with import ../../../.. {}; git-credential-manager.version" | tr -d '"')"
+
+if [[ "$latestVersion" == "$currentVersion" ]]; then
+    echo "up to date"
+    exit 0
+fi
+
+echo "updating $currentVersion -> $latestVersion"
+
+sed -i -e "s/version = \"${currentVersion}\"/version = \"${latestVersion}\"/" default.nix
+hash="$(nix-prefetch ./.)"
+sed -i -Ee "s/hash = \"sha256-[A-Za-z0-9=]{44}\"/hash = \"${hash}\"/" default.nix
+
+
+nugetDeps="$(realpath ./deps.nix)"
+$(nix-build ../../../.. -A git-credential-manager.fetch-deps --no-out-link) "$nugetDeps"
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
index ea23bb2413f..2ca9d0f5cd5 100644
--- a/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -40,6 +40,8 @@
 
   obs-pipewire-audio-capture = callPackage ./obs-pipewire-audio-capture.nix { };
 
+  obs-rgb-levels-filter = callPackage ./obs-rgb-levels-filter.nix { };
+
   obs-scale-to-sound = callPackage ./obs-scale-to-sound.nix { };
 
   obs-shaderfilter = qt6Packages.callPackage ./obs-shaderfilter.nix { };
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix b/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix
new file mode 100644
index 00000000000..7e2bd12581d
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix
@@ -0,0 +1,33 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, obs-studio
+}:
+
+stdenv.mkDerivation rec {
+  pname = "obs-rgb-levels-filter";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "wimpysworld";
+    repo = "obs-rgb-levels-filter";
+    rev = version;
+    sha256 = "sha256-QREwK9nBhjCBFslXUj9bGUGPgfEns8QqlgP5e2O/0oU=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ obs-studio ];
+
+  cmakeFlags = [
+    "-DOBS_SRC_DIR=${obs-studio.src}"
+  ];
+
+  meta = with lib; {
+    description = "A simple OBS Studio filter to adjust RGB levels.";
+    homepage = "https://github.com/wimpysworld/obs-rgb-levels-filter";
+    maintainers = with maintainers; [ flexiondotorg ];
+    license = licenses.gpl2Plus;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/webcamoid/default.nix b/pkgs/applications/video/webcamoid/default.nix
index 62954313213..b8d7e7b6bfe 100644
--- a/pkgs/applications/video/webcamoid/default.nix
+++ b/pkgs/applications/video/webcamoid/default.nix
@@ -4,10 +4,10 @@
 , v4l-utils }:
 mkDerivation rec {
   pname = "webcamoid";
-  version = "9.0.0";
+  version = "9.1.1";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-NV1BmG+fgy+ZcvHl+05VX5J1BAz8PxKiZ3z9BxjhMU0=";
+    sha256 = "sha256-E2hHFrksJtdDLWiX7wL1z9LBbBKT04a853V8u+WiwbA=";
     rev = version;
     repo = "webcamoid";
     owner = "webcamoid";
diff --git a/pkgs/applications/window-managers/sway/swayest-workstyle/default.nix b/pkgs/applications/window-managers/sway/swayest-workstyle/default.nix
index 6c38d346d32..2867db53f37 100644
--- a/pkgs/applications/window-managers/sway/swayest-workstyle/default.nix
+++ b/pkgs/applications/window-managers/sway/swayest-workstyle/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayest-workstyle";
-  version = "1.3.3";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "Lyr-7D1h";
     repo = "swayest_workstyle";
     rev = version;
-    sha256 = "sha256-N6z8xNT4vVULt8brOLlVAkJaqYnACMhoHJLGmyE7pZ0=";
+    sha256 = "sha256-Dk6rAiz7PXUfyy9fWMtSVRjaWWl66n38gTNyWKqeqkU=";
   };
 
-  cargoHash = "sha256-DiNhHuHUgJc9ea+EanaCybXzbrX2PEBdlR0h0zQQLn8=";
+  cargoHash = "sha256-sLQPq3tyWq1TxxeFyg05qBt+KGI/vO0jLU7wJLiqcYA=";
 
   doCheck = false; # No tests
 
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix
index 99d9644f8b7..8d0d27f6734 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/default.nix
@@ -2,6 +2,8 @@
 , stdenv
 , which
 , coreutils
+, zlib
+, openssl
 , callPackage
 , makeSetupHook
 , makeWrapper
@@ -26,6 +28,14 @@ in
       propagatedBuildInputs = [ dotnet-sdk nuget-source ];
       substitutions = {
         nugetSource = nuget-source;
+        dynamicLinker = "${stdenv.cc}/nix-support/dynamic-linker";
+        libPath = lib.makeLibraryPath [
+          stdenv.cc.cc.lib
+          stdenv.cc.libc
+          dotnet-sdk.passthru.icu
+          zlib
+          openssl
+        ];
         inherit runtimeId;
       };
     } ./dotnet-configure-hook.sh) { };
@@ -44,7 +54,7 @@ in
       name = "dotnet-check-hook";
       propagatedBuildInputs = [ dotnet-test-sdk ];
       substitutions = {
-        inherit buildType libraryPath;
+        inherit buildType runtimeId libraryPath;
         disabledTests = lib.optionalString (disabledTests != [])
           (let
             escapedNames = lib.lists.map (n: lib.replaceStrings [","] ["%2C"] n) disabledTests;
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
index 8f7f7733935..e9567b64cf2 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
@@ -15,7 +15,7 @@ dotnetBuildHook() {
     fi
 
     if [ "${selfContainedBuild-}" ]; then
-        dotnetBuildFlags+=(--runtime "@runtimeId@" "-p:SelfContained=true")
+        dotnetBuildFlags+=("-p:SelfContained=true")
     else
         dotnetBuildFlags+=("-p:SelfContained=false")
     fi
@@ -30,6 +30,12 @@ dotnetBuildHook() {
 
     dotnetBuild() {
         local -r project="${1-}"
+
+        runtimeIdFlags=()
+        if [[ "$project" == *.csproj ]] || [ "${selfContainedBuild-}" ]; then
+            runtimeIdFlags+=("--runtime @runtimeId@")
+        fi
+
         env dotnet build ${project-} \
             -maxcpucount:$maxCpuFlag \
             -p:BuildInParallel=$parallelBuildFlag \
@@ -38,6 +44,7 @@ dotnetBuildHook() {
             --configuration "@buildType@" \
             --no-restore \
             ${versionFlag-} \
+            ${runtimeIdFlags[@]} \
             ${dotnetBuildFlags[@]}  \
             ${dotnetFlags[@]}
     }
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh
index fdcf8d54be4..507721ef981 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh
@@ -17,6 +17,11 @@ dotnetCheckHook() {
     fi
 
     for project in ${testProjectFile[@]-${projectFile[@]}}; do
+        runtimeIdFlags=()
+        if [[ "$project" == *.csproj ]]; then
+            runtimeIdFlags=("--runtime @runtimeId@")
+        fi
+
         env "LD_LIBRARY_PATH=@libraryPath@" \
             dotnet test "$project" \
               -maxcpucount:$maxCpuFlag \
@@ -26,6 +31,7 @@ dotnetCheckHook() {
               --no-build \
               --logger "console;verbosity=normal" \
               ${disabledTestsFlag-} \
+              ${runtimeIdFlags[@]} \
               "${dotnetTestFlags[@]}"  \
               "${dotnetFlags[@]}"
     done
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
index 20e353e2b41..c046fc3c306 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
@@ -51,6 +51,27 @@ EOF
         dotnetRestore "$project"
     done
 
+    echo "Fixing up native binaries..."
+    # Find all native binaries and nuget libraries, and fix them up,
+    # by setting the proper interpreter and rpath to some commonly used libraries
+    for binary in $(find "$HOME/.nuget/packages/" -type f -executable); do
+        if patchelf --print-interpreter "$binary" >/dev/null 2>/dev/null; then
+            echo "Found binary: $binary, fixing it up..."
+            patchelf --set-interpreter "$(cat "@dynamicLinker@")" "$binary"
+
+            # This makes sure that if the binary requires some specific runtime dependencies, it can find it.
+            # This fixes dotnet-built binaries like crossgen2
+            patchelf \
+                --add-needed libicui18n.so \
+                --add-needed libicuuc.so \
+                --add-needed libz.so \
+                --add-needed libssl.so \
+                "$binary"
+
+            patchelf --set-rpath "@libPath@" "$binary"
+        fi
+    done
+
     runHook postConfigure
 
     echo "Finished dotnetConfigureHook"
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
index 831059f941c..8035b42d086 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
@@ -7,9 +7,12 @@ dotnetInstallHook() {
     runHook preInstall
 
     if [ "${selfContainedBuild-}" ]; then
-        dotnetInstallFlags+=(--runtime "@runtimeId@" "--self-contained")
+        dotnetInstallFlags+=("--self-contained")
     else
         dotnetInstallFlags+=("--no-self-contained")
+        # https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/trim-self-contained
+        # Trimming is only available for self-contained build, so force disable it here
+        dotnetInstallFlags+=("-p:PublishTrimmed=false")
     fi
 
     if [ "${useAppHost-}" ]; then
@@ -18,12 +21,19 @@ dotnetInstallHook() {
 
     dotnetPublish() {
         local -r project="${1-}"
+
+        runtimeIdFlags=()
+        if [[ "$project" == *.csproj ]] || [ "${selfContainedBuild-}" ]; then
+            runtimeIdFlags+=("--runtime @runtimeId@")
+        fi
+
         env dotnet publish ${project-} \
             -p:ContinuousIntegrationBuild=true \
             -p:Deterministic=true \
             --output "$out/lib/${pname}" \
             --configuration "@buildType@" \
             --no-build \
+            ${runtimeIdFlags[@]} \
             ${dotnetInstallFlags[@]}  \
             ${dotnetFlags[@]}
     }
@@ -36,6 +46,7 @@ dotnetInstallHook() {
              --output "$out/share" \
              --configuration "@buildType@" \
              --no-build \
+            --runtime "@runtimeId@" \
              ${dotnetPackFlags[@]}  \
              ${dotnetFlags[@]}
     }
diff --git a/pkgs/build-support/rust/test/import-cargo-lock/default.nix b/pkgs/build-support/rust/test/import-cargo-lock/default.nix
index 74d6c534a73..26e6487989c 100644
--- a/pkgs/build-support/rust/test/import-cargo-lock/default.nix
+++ b/pkgs/build-support/rust/test/import-cargo-lock/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, writers, python3Packages }:
+{ callPackage, maturin, writers, python3Packages }:
 
 # Build like this from nixpkgs root:
 # $ nix-build -A tests.importCargoLock
@@ -10,7 +10,7 @@
   gitDependencyRevNonWorkspaceNestedCrate = callPackage ./git-dependency-rev-non-workspace-nested-crate { };
   gitDependencyTag = callPackage ./git-dependency-tag { };
   gitDependencyBranch = callPackage ./git-dependency-branch { };
-  maturin = callPackage ./maturin { };
+  maturin = maturin.tests.pyo3;
   v1 = callPackage ./v1 { };
   gitDependencyWorkspaceInheritance = callPackage ./git-dependency-workspace-inheritance {
     replaceWorkspaceValues = writers.writePython3 "replace-workspace-values"
diff --git a/pkgs/build-support/rust/test/import-cargo-lock/maturin/Cargo.lock b/pkgs/build-support/rust/test/import-cargo-lock/maturin/Cargo.lock
deleted file mode 100644
index 5e698d4ff73..00000000000
--- a/pkgs/build-support/rust/test/import-cargo-lock/maturin/Cargo.lock
+++ /dev/null
@@ -1,682 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-[[package]]
-name = "ahash"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e"
-
-[[package]]
-name = "assert_approx_eq"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c07dab4369547dbe5114677b33fbbf724971019f3818172d59a97a61c774ffd"
-
-[[package]]
-name = "autocfg"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-
-[[package]]
-name = "bitflags"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-
-[[package]]
-name = "byteorder"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "const_fn"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6"
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
-dependencies = [
- "cfg-if",
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1aaa739f95311c2c7887a76863f500026092fb1dce0161dab577e559ef3569d"
-dependencies = [
- "cfg-if",
- "const_fn",
- "crossbeam-utils",
- "lazy_static",
- "memoffset",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d"
-dependencies = [
- "autocfg",
- "cfg-if",
- "lazy_static",
-]
-
-[[package]]
-name = "ctor"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8f45d9ad417bcef4817d614a501ab55cdd96a6fdb24f49aab89a54acfd66b19"
-dependencies = [
- "quote",
- "syn",
-]
-
-[[package]]
-name = "either"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "ghost"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a5bcf1bbeab73aa4cf2fde60a846858dc036163c7c33bec309f8d17de785479"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "glob"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
-
-[[package]]
-name = "hashbrown"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
-dependencies = [
- "ahash",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "indoc"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8"
-dependencies = [
- "indoc-impl",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "indoc-impl"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0"
-dependencies = [
- "proc-macro-hack",
- "proc-macro2",
- "quote",
- "syn",
- "unindent",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "inventory"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f0f7efb804ec95e33db9ad49e4252f049e37e8b0a4652e3cd61f7999f2eff7f"
-dependencies = [
- "ctor",
- "ghost",
- "inventory-impl",
-]
-
-[[package]]
-name = "inventory-impl"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75c094e94816723ab936484666968f5b58060492e880f3c8d00489a1e244fa51"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "itoa"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.86"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
-
-[[package]]
-name = "lock_api"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312"
-dependencies = [
- "scopeguard",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num-bigint"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e9a41747ae4633fce5adffb4d2e81ffc5e89593cb19917f8fb2cc5ff76507bf"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-complex"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"
-dependencies = [
- "cfg-if",
- "instant",
- "libc",
- "redox_syscall",
- "smallvec",
- "winapi",
-]
-
-[[package]]
-name = "paste"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
-dependencies = [
- "paste-impl",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "paste-impl"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
-dependencies = [
- "proc-macro-hack",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
-name = "proptest"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12e6c80c1139113c28ee4670dc50cc42915228b51f56a9e407f0ec60f966646f"
-dependencies = [
- "bitflags",
- "byteorder",
- "lazy_static",
- "num-traits",
- "quick-error",
- "rand",
- "rand_chacha",
- "rand_xorshift",
- "regex-syntax",
-]
-
-[[package]]
-name = "pyo3"
-version = "0.13.2"
-dependencies = [
- "assert_approx_eq",
- "cfg-if",
- "ctor",
- "hashbrown",
- "indoc",
- "inventory",
- "libc",
- "num-bigint",
- "num-complex",
- "parking_lot",
- "paste",
- "proptest",
- "pyo3",
- "pyo3-macros",
- "rustversion",
- "serde",
- "serde_json",
- "trybuild",
- "unindent",
-]
-
-[[package]]
-name = "pyo3-macros"
-version = "0.13.2"
-dependencies = [
- "pyo3-macros-backend",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pyo3-macros-backend"
-version = "0.13.2"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "quick-error"
-version = "1.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-
-[[package]]
-name = "quote"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom",
- "libc",
- "rand_chacha",
- "rand_core",
- "rand_hc",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77d416b86801d23dde1aa643023b775c3a462efc0ed96443add11546cdf1dca8"
-dependencies = [
- "rand_core",
-]
-
-[[package]]
-name = "rayon"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"
-dependencies = [
- "autocfg",
- "crossbeam-deque",
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a"
-dependencies = [
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-utils",
- "lazy_static",
- "num_cpus",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581"
-
-[[package]]
-name = "rustapi-module"
-version = "0.1.0"
-dependencies = [
- "pyo3",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd"
-
-[[package]]
-name = "ryu"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "serde"
-version = "1.0.123"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.123"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.62"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea1c6153794552ea7cf7cf63b1231a25de00ec90db326ba6264440fa08e31486"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
-
-[[package]]
-name = "syn"
-version = "1.0.60"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-xid",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "toml"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "trybuild"
-version = "1.0.41"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99471a206425fba51842a9186315f32d91c56eadc21ea4c21f847b59cf778f8b"
-dependencies = [
- "glob",
- "lazy_static",
- "serde",
- "serde_json",
- "termcolor",
- "toml",
-]
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-
-[[package]]
-name = "unindent"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f14ee04d9415b52b3aeab06258a3f07093182b88ba0f9b8d203f211a7a7d41c7"
-
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "word-count"
-version = "0.1.0"
-dependencies = [
- "pyo3",
- "rayon",
-]
diff --git a/pkgs/build-support/rust/test/import-cargo-lock/maturin/default.nix b/pkgs/build-support/rust/test/import-cargo-lock/maturin/default.nix
deleted file mode 100644
index f8deb4f657e..00000000000
--- a/pkgs/build-support/rust/test/import-cargo-lock/maturin/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, fetchFromGitHub
-, python3
-, rustPlatform
-}:
-
-python3.pkgs.buildPythonPackage rec {
-  pname = "word-count";
-  version = "0.13.2";
-
-  format = "pyproject";
-
-  src = fetchFromGitHub {
-    owner = "PyO3";
-    repo = "pyo3";
-    rev = "v${version}";
-    hash = "sha256-NOMrrfo8WjlPhtGxWUOPJS/UDDdbLQRCXR++Zd6JmIA=";
-  };
-
-  cargoDeps = rustPlatform.importCargoLock {
-    lockFile = ./Cargo.lock;
-  };
-
-  postPatch = ''
-    cp ${./Cargo.lock} Cargo.lock
-  '';
-
-  buildAndTestSubdir = "examples/word-count";
-
-  nativeBuildInputs = with rustPlatform; [
-    cargoSetupHook
-    maturinBuildHook
-  ];
-
-  pythonImportsCheck = [ "word_count" ];
-
-  meta = with lib; {
-    description = "PyO3 word count example";
-    homepage = "https://github.com/PyO3/pyo3";
-    license = licenses.asl20;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 403bc9b1d2d..5cc107d2c4a 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1018,7 +1018,7 @@ rec {
         url = "https://snapshot.debian.org/archive/debian/20221126T084953Z/dists/buster/main/binary-i386/Packages.xz";
         hash = "sha256-n9JquhtZgxw3qr9BX0MQoY3ZTIHN0dit+iru3DC31UY=";
       };
-      urlPrefix = "mirror://debian";
+      urlPrefix = "https://snapshot.debian.org/archive/debian/20221126T084953Z";
       packages = commonDebianPackages;
     };
 
@@ -1029,7 +1029,7 @@ rec {
         url = "https://snapshot.debian.org/archive/debian/20221126T084953Z/dists/buster/main/binary-amd64/Packages.xz";
         hash = "sha256-YukIIB3u87jgp9oudwklsxyKVKjSL618wFgDSXiFmjU=";
       };
-      urlPrefix = "mirror://debian";
+      urlPrefix = "https://snapshot.debian.org/archive/debian/20221126T084953Z";
       packages = commonDebianPackages;
     };
 
@@ -1040,7 +1040,7 @@ rec {
         url = "https://snapshot.debian.org/archive/debian/20230131T034648Z/dists/bullseye/main/binary-i386/Packages.xz";
         hash = "sha256-z9eG7RlvelEnZAaeCfIO+XxTZVL3d+zTA7ShU43l/pw=";
       };
-      urlPrefix = "mirror://debian";
+      urlPrefix = "https://snapshot.debian.org/archive/debian/20230131T034648Z";
       packages = commonDebianPackages;
     };
 
@@ -1051,7 +1051,7 @@ rec {
         url = "https://snapshot.debian.org/archive/debian/20230131T034648Z/dists/bullseye/main/binary-amd64/Packages.xz";
         hash = "sha256-mz0eCWdn6uWt40OxsSPheHzEnMeLE52yR/vpb48/VF0=";
       };
-      urlPrefix = "mirror://debian";
+      urlPrefix = "https://snapshot.debian.org/archive/debian/20230131T034648Z";
       packages = commonDebianPackages;
     };
   };
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index de94a1c3bf7..7195bcc571e 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 = "20230614081211";
+    version = "20230621141418";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-hNFp5vBnFD/vBL6+kYYUaquQanr53ZvvuFP2WYj+mDg=";
+      hash = "sha256-2RUnE96CYZD/0BixdO/2APnjhOAw12lW+XpktfN3B+U=";
     };
     vendorHash = "sha256-lPOn296ngMCYdXoGNDG9okkLC5ryjKIL+UP98lyaKcg=";
     meta = with lib; {
diff --git a/pkgs/desktops/gnome/core/evince/default.nix b/pkgs/desktops/gnome/core/evince/default.nix
index 95b1c358b71..fa61dbe4766 100644
--- a/pkgs/desktops/gnome/core/evince/default.nix
+++ b/pkgs/desktops/gnome/core/evince/default.nix
@@ -43,13 +43,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evince";
-  version = "44.1";
+  version = "44.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evince/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Fa/TuxX/s4/sqzTCM1CVCtJwqwOoW5TjM9ndfuanQxQ=";
+    sha256 = "mnXH/49ZkhjQcOCftAgssm+bhjcKm/rpjhqstWTWdd0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix b/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix
index 77b53393685..6e399feb885 100644
--- a/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix
+++ b/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix
@@ -36,7 +36,7 @@ let
         echo "${metadata}" | base64 --decode > $out/metadata.json
       '';
     };
-    nativeBuildInputs = with pkgs; [ glib ];
+    nativeBuildInputs = with pkgs; [ buildPackages.glib ];
     buildPhase = ''
       runHook preBuild
       if [ -d schemas ]; then
diff --git a/pkgs/development/compilers/abcl/default.nix b/pkgs/development/compilers/abcl/default.nix
index 4ec92961c49..7d8e043101f 100644
--- a/pkgs/development/compilers/abcl/default.nix
+++ b/pkgs/development/compilers/abcl/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcl";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchurl {
     url = "https://common-lisp.net/project/armedbear/releases/${version}/${pname}-src-${version}.tar.gz";
-    sha256 = "sha256-pbxnfJRB9KgzwgpUG93Rb/+SZIRmkd6aHa9mmfj/EeI=";
+    sha256 = "sha256-Ti9Lj4Xi2V2V5b282foXrWExoX4vzxK8Gf+5e0i8HTg=";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index ba0f9b2ef4a..7629c0e74ba 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -273,8 +273,8 @@ rec {
   };
 
   crystal_1_8 = generic {
-    version = "1.8.1";
-    sha256 = "sha256-t+1vM1m62UftCvfa90Dg6nqt6Zseh/GP/Gc1VfOa4+c=";
+    version = "1.8.2";
+    sha256 = "sha256-YAORdipzpC9CrFgZUFlFfjzlJQ6ZeA2ekVu8IfPOxR8=";
     binary = binaryCrystal_1_2;
   };
 
diff --git a/pkgs/development/compilers/djgpp/default.nix b/pkgs/development/compilers/djgpp/default.nix
index 51b3eb8964e..25d1e0773cc 100644
--- a/pkgs/development/compilers/djgpp/default.nix
+++ b/pkgs/development/compilers/djgpp/default.nix
@@ -41,12 +41,15 @@ stdenv.mkDerivation rec {
     runHook postPatch
   '';
 
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
   buildInputs = [
     bison
     curl
     file
     flex
-    makeWrapper
     perl
     texinfo
     unzip
diff --git a/pkgs/development/compilers/dotnet/build-dotnet.nix b/pkgs/development/compilers/dotnet/build-dotnet.nix
index 036d72a6535..91eba8f8dd7 100644
--- a/pkgs/development/compilers/dotnet/build-dotnet.nix
+++ b/pkgs/development/compilers/dotnet/build-dotnet.nix
@@ -122,7 +122,7 @@ stdenv.mkDerivation (finalAttrs: rec {
     export DOTNET_CLI_TELEMETRY_OPTOUT=1
   '';
 
-  passthru = rec {
+  passthru = {
     inherit icu;
     packages = packageDeps;
 
diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix
index 40ed81a4ed7..915f3b08652 100644
--- a/pkgs/development/compilers/dotnet/default.nix
+++ b/pkgs/development/compilers/dotnet/default.nix
@@ -5,7 +5,7 @@ dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_6_0 aspnetcore_7
 Hashes and urls are retrieved from:
 https://dotnet.microsoft.com/download/dotnet
 */
-{ callPackage,}:
+{ callPackage }:
 let
   buildDotnet = attrs: callPackage (import ./build-dotnet.nix attrs) {};
   buildAttrs = {
@@ -31,7 +31,7 @@ let
   # Convert a "stdenv.hostPlatform.system" to a dotnet RID
   systemToDotnetRid = system: runtimeIdentifierMap.${system} or (throw "unsupported platform ${system}");
 in
-rec {
+{
   inherit systemToDotnetRid;
 
   combinePackages = attrs: callPackage (import ./combine-packages.nix attrs) {};
diff --git a/pkgs/development/compilers/dotnet/update.sh b/pkgs/development/compilers/dotnet/update.sh
index 617dfa74332..9ffe00437e7 100755
--- a/pkgs/development/compilers/dotnet/update.sh
+++ b/pkgs/development/compilers/dotnet/update.sh
@@ -241,6 +241,14 @@ sdk_packages () {
       "runtime.osx-arm64.Microsoft.NETCore.DotNetHost" \
       "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy" \
       "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver" \
+      "Microsoft.NETCore.App.Crossgen2.linux-musl-arm" \
+      "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64" \
+      "Microsoft.NETCore.App.Crossgen2.linux-musl-x64" \
+      "Microsoft.NETCore.App.Crossgen2.linux-arm" \
+      "Microsoft.NETCore.App.Crossgen2.linux-arm64" \
+      "Microsoft.NETCore.App.Crossgen2.linux-x64" \
+      "Microsoft.NETCore.App.Crossgen2.osx-x64" \
+      "Microsoft.NETCore.App.Crossgen2.osx-arm64"
     )
 
     # Packages that only apply to .NET 7 and up
diff --git a/pkgs/development/compilers/dotnet/versions/6.0.nix b/pkgs/development/compilers/dotnet/versions/6.0.nix
index 3833f6e54a7..20cc9786478 100644
--- a/pkgs/development/compilers/dotnet/versions/6.0.nix
+++ b/pkgs/development/compilers/dotnet/versions/6.0.nix
@@ -166,6 +166,14 @@
       (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.18"; sha256 = "0c95g1kapwsrbz51myhzpd1wviwlhvknhyfl3q5jy03z1kymxscj"; })
       (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.18"; sha256 = "1iy2n5b3wwarsrkhm937f87rir7md45m5hm51qfzr5i3bx5vabcg"; })
       (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.18"; sha256 = "09f5dcdvnfs9ax5i4b6kqpj7frhw66madla71i2m3azayqd0kis1"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "6.0.18"; sha256 = "1wx2kpgprpzm95h314hxjwfx3qglsy1g3ssrk34n4znswxf68czd"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "6.0.18"; sha256 = "07yfp1mn4pk81ispcxz513vkgzjc0295wvlhb2lyfly70j5221vh"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "6.0.18"; sha256 = "0fw1i6zc9jzbsk5gkz3ns9qcsi58mjn6g8wq2y67amacc3m918aw"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "6.0.18"; sha256 = "1yfxlcxrrpmgn5m415wxnca4xd6gy9z0wqrlhk8v6n33gzhyr84y"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "6.0.18"; sha256 = "0yqwq66fnbylgwxvrin3qkmhza1ciq73x4sl54dgq7vj4sz7r0q3"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "6.0.18"; sha256 = "12661jkck5wqwc6cr8vq71lqn7k0jm0q86qxw51a0vph24m77irj"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "6.0.18"; sha256 = "16x0mlckhlaqq9lm8d50mg4fhb7290vc4kp6gdk6bxg9j1nl9pza"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "6.0.18"; sha256 = "0k30ck2gkv09g8jgalnrdiz39i6lpsq9ky1c9y35dvg0mclcixc3"; })
     ];
   };
 }
diff --git a/pkgs/development/compilers/dotnet/versions/7.0.nix b/pkgs/development/compilers/dotnet/versions/7.0.nix
index 2c9e252e5d0..bee6d7421da 100644
--- a/pkgs/development/compilers/dotnet/versions/7.0.nix
+++ b/pkgs/development/compilers/dotnet/versions/7.0.nix
@@ -166,6 +166,14 @@
       (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.7"; sha256 = "1x0bd7b6yjm38k64df1l7jwl6fn1n0wgba8pxrb1dw97ijcq6pds"; })
       (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.7"; sha256 = "0cri9fbrsdah7xr4x9qy73n3pj0zmrwc8xc8a8zj299xmjx41srp"; })
       (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.7"; sha256 = "0dp8j9dc46v46zza9i4i7ywn3cz43fxyhzhiwls6nzc9z0y3xnjb"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "7.0.7"; sha256 = "1difx4s84s5s8yq66qc8j7ldzchlj8han4syalnfw4mx35syh3r9"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "7.0.7"; sha256 = "0dkzcanshijp0x836rdj1bydpzxnvwk13jjils9kl0503yk91ln5"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "7.0.7"; sha256 = "1a4m6dkl7plsxv3m0b64nkmdbh6jif0qxi2861qpdh8wd904nl51"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "7.0.7"; sha256 = "0yb7rycgcvd4rg3rqb56pqfyqrixyz8a0j0iacsb5773k1l2c0lr"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "7.0.7"; sha256 = "0myh03v7czlc1sm3b9gqn4m5qm94vc6qar483678mi3d6fmb0c7x"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "7.0.7"; sha256 = "1fq4zy6af3pidsjqi663kb6354cpayyrd30hd1zhfm14kz00cgg5"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "7.0.7"; sha256 = "1x15r1d66s0qn9s9lj5dad4g6qfx0pmphix7nbw88pb2fp2az0ia"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "7.0.7"; sha256 = "0dd67jl5hd0mq1vl51f4nn4s6pwhssldj7gn4y2adb2vlpwd5zq7"; })
       (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.7"; sha256 = "12ayxmqacv8n38vvp79g23wd443zs2ws8k64p08pr8aymcpx22k6"; })
       (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.7"; sha256 = "1bm9rzs5lr6a8qxavy7drjv5z1vwxyh1fcv9cag2d7g91q9ljhxn"; })
       (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.7"; sha256 = "1hb8dd0hwmng2j6bk1s76lkl9ap1rw687cjccv5g79h30fadcf2s"; })
diff --git a/pkgs/development/compilers/dotnet/versions/8.0.nix b/pkgs/development/compilers/dotnet/versions/8.0.nix
index efe0b705466..6ac6805f420 100644
--- a/pkgs/development/compilers/dotnet/versions/8.0.nix
+++ b/pkgs/development/compilers/dotnet/versions/8.0.nix
@@ -166,6 +166,14 @@
       (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "8.0.0-preview.5.23280.8"; sha256 = "13iavci8n0ahsl5k1xasribk93gmkxd3s67xgagasc1gzpkxm8q2"; })
       (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "8.0.0-preview.5.23280.8"; sha256 = "16aa6sgblm4l1fzsgllmxsxn57qnx430z12n6hm3m08qrlmcpyd9"; })
       (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "8.0.0-preview.5.23280.8"; sha256 = "05k0h0p6yc02np4m7jdhmc8c2105b22wdldbsklx4rl3jqy7m6p3"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "8.0.0-preview.5.23280.8"; sha256 = "1yvaiqblqmsrydbf9gr18rp6d9rqqpzahzxhc62hixfh59l55mi7"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "8.0.0-preview.5.23280.8"; sha256 = "06i72xhd0ji755wj8bczv8x8mynyf2kxhx7ysn70crrkk0b7921h"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "8.0.0-preview.5.23280.8"; sha256 = "02ks9j1mybb3f34mjky09nw22la6nhfmkjj5g5gczspqfcc6a2dw"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "8.0.0-preview.5.23280.8"; sha256 = "15plhhljfyaj0cdpsqyq3n0q747p90nvl5kwj6amccadkcy7ahnk"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "8.0.0-preview.5.23280.8"; sha256 = "09vvjm9a7nh6bd8ldf1f0vz1iafp4v77q5d78382hfqan8r505id"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "8.0.0-preview.5.23280.8"; sha256 = "1p21siacj11nbba5czcg4ppk7wny2p3rc2wxg30vs1jj45qvf82c"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "8.0.0-preview.5.23280.8"; sha256 = "1h6xrjvgn0bl615bwmr5l5gpw4qxhbzsqd7sb57m8597cjqc8m35"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "8.0.0-preview.5.23280.8"; sha256 = "0fymmvixx0wh1qa5hrazfr27n0hr3dj1gppipy3mslm325m1zdf4"; })
       (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.0-preview.5.23280.8"; sha256 = "0z6cny0jzbwd7skgc3lji00j1z061j4yacrjbhysnq5z5g563r75"; })
       (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "8.0.0-preview.5.23280.8"; sha256 = "0f72algnr7kknbvw1b17vlw6wvkghw8v4n9fji7ppwbrd8g8i8b0"; })
       (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "8.0.0-preview.5.23280.8"; sha256 = "1bcps96s8n5iwshxjqwbdvhhr5nkh1f1hn4k79gw1q8ic1c4giq9"; })
diff --git a/pkgs/development/compilers/erg/default.nix b/pkgs/development/compilers/erg/default.nix
index 7b0292153b1..46793ca5c32 100644
--- a/pkgs/development/compilers/erg/default.nix
+++ b/pkgs/development/compilers/erg/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "erg";
-  version = "0.6.13";
+  version = "0.6.14";
 
   src = fetchFromGitHub {
     owner = "erg-lang";
     repo = "erg";
     rev = "v${version}";
-    hash = "sha256-XwQKtorE1HGRRCCtxQBVbl6O6aTs5Z2/W9n2Am40e8Q=";
+    hash = "sha256-EzDqPh7vMEg3657JdS1zX6lid3lavZF+dWFh6uyTS6g=";
   };
 
-  cargoHash = "sha256-I4hQ78RTkCDKpq7HBNJsKqCiFL9004XvWdwtRdTQQkE=";
+  cargoHash = "sha256-axhtQ5h6lGZK2pOY+cBlOVRHBJvof+2FAh3t852iWI4=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/development/compilers/opensmalltalk-vm/default.nix b/pkgs/development/compilers/opensmalltalk-vm/default.nix
index 3ee6953ba4d..a049e3e8abe 100644
--- a/pkgs/development/compilers/opensmalltalk-vm/default.nix
+++ b/pkgs/development/compilers/opensmalltalk-vm/default.nix
@@ -71,7 +71,7 @@ let
 
       configureFlags = [ "--with-scriptname=${scriptName}" ] ++ configureFlags;
 
-      buildFlags = "all";
+      buildFlags = [ "all" ];
 
       enableParallelBuilding = true;
 
diff --git a/pkgs/development/interpreters/php/8.0.nix b/pkgs/development/interpreters/php/8.0.nix
deleted file mode 100644
index 7de152f25c3..00000000000
--- a/pkgs/development/interpreters/php/8.0.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ callPackage, lib, stdenv, ... }@_args:
-
-let
-  base = callPackage ./generic.nix (_args // {
-    version = "8.0.29";
-    hash = "sha256-SAGh8OFxcChnI6tUrNBFrHipZWAh1W8QSmRUPuySLhI=";
-  });
-
-in
-base.withExtensions ({ all, ... }: with all; ([
-  bcmath
-  calendar
-  curl
-  ctype
-  dom
-  exif
-  fileinfo
-  filter
-  ftp
-  gd
-  gettext
-  gmp
-  iconv
-  imap
-  intl
-  ldap
-  mbstring
-  mysqli
-  mysqlnd
-  opcache
-  openssl
-  pcntl
-  pdo
-  pdo_mysql
-  pdo_odbc
-  pdo_pgsql
-  pdo_sqlite
-  pgsql
-  posix
-  readline
-  session
-  simplexml
-  sockets
-  soap
-  sodium
-  sysvsem
-  sqlite3
-  tokenizer
-  xmlreader
-  xmlwriter
-  zip
-  zlib
-]))
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
index 6351eacd658..4a563d4fd70 100644
--- a/pkgs/development/interpreters/php/generic.nix
+++ b/pkgs/development/interpreters/php/generic.nix
@@ -247,8 +247,7 @@ let
             ++ lib.optional (!ipv6Support) "--disable-ipv6"
             ++ lib.optional systemdSupport "--with-fpm-systemd"
             ++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}"
-            ++ lib.optional (ztsSupport && (lib.versionOlder version "8.0")) "--enable-maintainer-zts"
-            ++ lib.optional (ztsSupport && (lib.versionAtLeast version "8.0")) "--enable-zts"
+            ++ lib.optional ztsSupport "--enable-zts"
 
 
             # Sendmail
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 07f8a7d3c1b..d469032e13b 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -377,6 +377,9 @@ in with passthru; stdenv.mkDerivation {
   '' + optionalString stdenv.isDarwin ''
     # Override the auto-detection in setup.py, which assumes a universal build
     export PYTHON_DECIMAL_WITH_MACHINE=${if stdenv.isAarch64 then "uint128" else "x64"}
+  '' + optionalString (stdenv.isDarwin && x11Support && pythonAtLeast "3.11") ''
+    export TCLTK_LIBS="-L${tcl}/lib -L${tk}/lib -l${tcl.libPrefix} -l${tk.libPrefix}"
+    export TCLTK_CFLAGS="-I${tcl}/include -I${tk}/include"
   '' + optionalString (isPy3k && pythonOlder "3.7") ''
     # Determinism: The interpreter is patched to write null timestamps when compiling Python files
     #   so Python doesn't try to update the bytecode when seeing frozen timestamps in Nix's store.
diff --git a/pkgs/development/interpreters/rlci/default.nix b/pkgs/development/interpreters/rlci/default.nix
new file mode 100644
index 00000000000..ce8e0a9ee8f
--- /dev/null
+++ b/pkgs/development/interpreters/rlci/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rlci";
+  version = "1.1.2";
+
+  src = fetchFromGitHub {
+    owner = "orsinium-labs";
+    repo = "rlci";
+    rev = version;
+    hash = "sha256-+Hd1Ymm2LKnHUKoUlfN6D6pwebxgwJQHgqwMHXXtP6Y=";
+  };
+
+  cargoHash = "sha256-7Q6WSEiVLzRsyHNECbPhWN9prrN0A/nSJDtZWi09zzg=";
+
+  meta = with lib; {
+    description = "A lambda calculus interpreter";
+    homepage = "https://github.com/orsinium-labs/rlci";
+    changelog = "https://github.com/orsinium-labs/rlci/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/development/libraries/fb303/default.nix b/pkgs/development/libraries/fb303/default.nix
index d34db81f5f1..aad545ca602 100644
--- a/pkgs/development/libraries/fb303/default.nix
+++ b/pkgs/development/libraries/fb303/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fb303";
-  version = "2023.04.24.00";
+  version = "2023.06.12.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "fb303";
     rev = "v${version}";
-    sha256 = "sha256-dhqHv+A4uak1FxKNqIsYlQl2WiP5+Y9I83pumpFbJDA=";
+    sha256 = "sha256-nUOPYb5/tLyHjaZDvKuq0vdu4L7XOmO8R9nNLGAzeLI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/gnome-video-effects/default.nix b/pkgs/development/libraries/gnome-video-effects/default.nix
index cc6f3b2ecde..0db1aa27e77 100644
--- a/pkgs/development/libraries/gnome-video-effects/default.nix
+++ b/pkgs/development/libraries/gnome-video-effects/default.nix
@@ -9,19 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-video-effects";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1j6h98whgkcxrh30bwvnxvyqxrxchgpdgqhl0j71xz7x72dqxijd";
+    sha256 = "166utGs/WoMvsuDZC0K/jGFgICylKsmt0Xr84ZLjyKg=";
   };
 
-  patches = [
-    # Fix effectsdir in .pc file
-    # https://gitlab.gnome.org/GNOME/gnome-video-effects/commit/955404195ada606819974dd63c48956f25611e14
-    ./fix-pc-file.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch b/pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch
deleted file mode 100644
index 62b29e7d025..00000000000
--- a/pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/meson.build
-+++ b/meson.build
-@@ -17,7 +17,7 @@
- # Can't use pkgconfig helper https://github.com/mesonbuild/meson/issues/2253
- conf = configuration_data()
- conf.set('prefix', prefix)
--conf.set('datarootdir', pkgdatadir)
-+conf.set('datarootdir', datadir)
- conf.set('VERSION', meson.project_version())
- 
- pkg = configure_file(configuration: conf,
diff --git a/pkgs/development/libraries/goocanvas/2.x.nix b/pkgs/development/libraries/goocanvas/2.x.nix
index f59198a5528..9067ef71ca0 100644
--- a/pkgs/development/libraries/goocanvas/2.x.nix
+++ b/pkgs/development/libraries/goocanvas/2.x.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "141fm7mbqib0011zmkv3g8vxcjwa7hypmq71ahdyhnj2sjvy4a67";
   };
 
-  nativeBuildInputs = [ pkg-config gettext gtk-doc python3 ];
-  buildInputs = [ gtk3 cairo glib gobject-introspection ];
+  nativeBuildInputs = [ pkg-config gettext gtk-doc python3 gobject-introspection ];
+  buildInputs = [ gtk3 cairo glib ];
 
   configureFlags = [
     "--disable-python"
diff --git a/pkgs/development/libraries/libmongo-client/default.nix b/pkgs/development/libraries/libmongo-client/default.nix
deleted file mode 100644
index a6a20141cc6..00000000000
--- a/pkgs/development/libraries/libmongo-client/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib }:
-
-stdenv.mkDerivation rec {
-  pname = "libmongo-client";
-  version = "0.1.8";
-
-  src = fetchFromGitHub {
-    owner = "algernon";
-    repo = "libmongo-client";
-    rev = "${pname}-${version}";
-    sha256 = "1cjx06i3gd9zkyvwm2ysjrf0hkhr7bjg3c27s7n0y31j10igfjp0";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ ];
-  propagatedBuildInputs = [ glib ];
-
-  postPatch = ''
-    # Fix when uses glib in public headers
-    sed -i 's/Requires.private/Requires/g' src/libmongo-client.pc.in
-  '';
-
-  meta = with lib; {
-    homepage = "http://algernon.github.io/libmongo-client/";
-    description = "An alternative C driver for MongoDB";
-    license = licenses.asl20;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 5ed917b123a..74e2d858a72 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -114,13 +114,13 @@ stdenv.mkDerivation rec {
   # NOTE: You must also bump:
   # <nixpkgs/pkgs/development/python-modules/libvirt/default.nix>
   # SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
-  version = "9.2.0";
+  version = "9.4.0";
 
   src = fetchFromGitLab {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uASIfQVbY/5I/PELEB6EGzzHfcgY4jIolbyH05TgiLA=";
+    sha256 = "sha256-aYLXiZtbNXwJ8qmTHXv2OnyrYWK7KbwQWulTeuTbe0k=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/libxdg-basedir/default.nix b/pkgs/development/libraries/libxdg-basedir/default.nix
index 77047e9099d..7786ec7908f 100644
--- a/pkgs/development/libraries/libxdg-basedir/default.nix
+++ b/pkgs/development/libraries/libxdg-basedir/default.nix
@@ -1,26 +1,29 @@
-{lib, stdenv, fetchurl, fetchpatch}:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "libxdg-basedir";
-  version = "1.2.0";
+  version = "1.2.3";
 
-  src = fetchurl {
-    url = "https://nevill.ch/libxdg-basedir/downloads/libxdg-basedir-${version}.tar.gz";
-    sha256 = "2757a949618742d80ac59ee2f0d946adc6e71576406cdf798e6ced507708cdf4";
+  src = fetchFromGitHub {
+    owner = "devnev";
+    repo = pname;
+    rev = "refs/tags/libxdg-basedir-${version}";
+    hash = "sha256-ewtUKDdE6k9Q9hglWwhbTU3DTxvIN41t+zf2Gch9Dkk=";
   };
 
-  patches = [
-    # Overflow bug
-    (fetchpatch {
-      url = "https://github.com/devnev/libxdg-basedir/commit/14e000f696ef8b83264b0ca4407669bdb365fb23.patch";
-      sha256 = "0lpy1ijir0x0hhb0fz0w5vxy1wl1cw9kkd6gva0rkp41i6vrp2wq";
-    })
+  nativeBuildInputs = [
+    autoreconfHook
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/devnev/libxdg-basedir";
     description = "Implementation of the XDG Base Directory specification";
+    homepage = "https://github.com/devnev/libxdg-basedir";
     license = licenses.mit;
+    maintainers = with maintainers; [ nickcao ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/qrcodegen/default.nix b/pkgs/development/libraries/qrcodegen/default.nix
index 856f2f88e83..eeb830d3fec 100644
--- a/pkgs/development/libraries/qrcodegen/default.nix
+++ b/pkgs/development/libraries/qrcodegen/default.nix
@@ -14,9 +14,13 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-aci5SFBRNRrSub4XVJ2luHNZ2pAUegjgQ6pD9kpkaTY=";
   };
 
-  preBuild = ''
-    cd c/
-  '';
+  sourceRoot = "source/c";
+
+  nativeBuildInputs = lib.optionals stdenv.cc.isClang [
+    stdenv.cc.cc.libllvm.out
+  ];
+
+  makeFlags = lib.optionals stdenv.cc.isClang [ "AR=llvm-ar" ];
 
   installPhase = ''
     runHook preInstall
@@ -34,7 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ mcbeth AndersonTorres ];
     platforms = platforms.unix;
-    broken = stdenv.isDarwin;
   };
 }
 # TODO: build the other languages
diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix
index 0f164fb3ce0..d9bc6ae15e1 100644
--- a/pkgs/development/libraries/qt-6/default.nix
+++ b/pkgs/development/libraries/qt-6/default.nix
@@ -133,7 +133,7 @@ let
       qtwebchannel = callPackage ./modules/qtwebchannel.nix { };
       qtwebengine = callPackage ./modules/qtwebengine.nix {
         inherit (darwin) bootstrap_cmds cctools xnu;
-        inherit (darwin.apple_sdk_11_0) libpm libunwind;
+        inherit (darwin.apple_sdk_11_0) libpm libunwind llvmPackages_14;
         inherit (darwin.apple_sdk_11_0.libs) sandbox;
         inherit (darwin.apple_sdk_11_0.frameworks)
           AGL AVFoundation Accelerate Cocoa CoreLocation CoreML ForceFeedback
diff --git a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
index fadbc5d2bfa..909616d953d 100644
--- a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
@@ -66,7 +66,7 @@
 , xkeyboard_config
 , enableProprietaryCodecs ? true
   # darwin
-, clang_14
+, llvmPackages_14
 , bootstrap_cmds
 , cctools
 , xcbuild
@@ -113,7 +113,7 @@ qtModule {
     gn
     nodejs
   ] ++ lib.optionals stdenv.isDarwin [
-    clang_14
+    llvmPackages_14.clang
     bootstrap_cmds
     cctools
     xcbuild
@@ -309,7 +309,6 @@ qtModule {
   meta = with lib; {
     description = "A web engine based on the Chromium web browser";
     platforms = platforms.unix;
-    broken = stdenv.isDarwin && stdenv.isx86_64;
     # This build takes a long time; particularly on slow architectures
     # 1 hour on 32x3.6GHz -> maybe 12 hours on 4x2.4GHz
     timeout = 24 * 3600;
diff --git a/pkgs/development/libraries/science/math/magma/generic.nix b/pkgs/development/libraries/science/math/magma/generic.nix
index 49efda96829..d10da6843c3 100644
--- a/pkgs/development/libraries/science/math/magma/generic.nix
+++ b/pkgs/development/libraries/science/math/magma/generic.nix
@@ -28,6 +28,7 @@
 , ninja
 , openmp
 , rocmSupport ? false
+, static ? false
 , stdenv
 , symlinkJoin
 }:
@@ -145,6 +146,8 @@ stdenv.mkDerivation {
 
   cmakeFlags = [
     "-DGPU_TARGET=${gpuTargetString}"
+  ] ++ lists.optionals static [
+    "-DBUILD_SHARED_LIBS=OFF"
   ] ++ lists.optionals cudaSupport [
     "-DCMAKE_CUDA_ARCHITECTURES=${cudaArchitecturesString}"
     "-DMIN_ARCH=${minArch}" # Disarms magma's asserts
diff --git a/pkgs/development/libraries/symengine/default.nix b/pkgs/development/libraries/symengine/default.nix
index 4d27e3a9582..4abaced42ae 100644
--- a/pkgs/development/libraries/symengine/default.nix
+++ b/pkgs/development/libraries/symengine/default.nix
@@ -1,28 +1,25 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , cmake
 , gmp
 , flint
 , mpfr
 , libmpc
-, catch
+, withShared ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "symengine";
-  version = "0.9.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "symengine";
     repo = "symengine";
     rev = "v${version}";
-    sha256 = "sha256-5KpxBusJCuwrfFWHbrRKlH6Ic7YivYqz2m+BCbNfZp0=";
+    hash = "sha256-qTu0vS9K6rrr/0SXKpGC9P1QSN/AN7hyO/4DrGvhxWM=";
   };
 
-  postPatch = ''
-    cp ${catch}/include/catch/catch.hpp symengine/utilities/catch/catch.hpp
-  '';
-
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [ gmp flint mpfr libmpc ];
@@ -36,14 +33,12 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     # error: unrecognized instruction mnemonic, did you mean: bit, cnt, hint, ins, not?
     "-DBUILD_TESTS=OFF"
+  ] ++ lib.optionals withShared [
+    "-DBUILD_SHARED_LIBS=ON"
   ];
 
   doCheck = true;
 
-  checkPhase = ''
-    ctest
-  '';
-
   meta = with lib; {
     description = "A fast symbolic manipulation library";
     homepage = "https://github.com/symengine/symengine";
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index 3c0a555dd97..c70b5e19570 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -54,5 +54,5 @@ in {
   # Don't forget to change the hashes in xapian-omega and
   # python3Packages.xapian. They inherit the version from this package, and
   # should always be built with the equivalent xapian version.
-  xapian_1_4 = generic "1.4.21" "sha256-gPhgNNL7VZAHlUgd+uaBv6oQ776BirrTYizcDFXgb4g=";
+  xapian_1_4 = generic "1.4.22" "sha256-BYhK8AsGcCzkhgV9YqO/vmYGz5Za2g9epXCzKKL6Hqg=";
 }
diff --git a/pkgs/development/libraries/xapian/tools/omega/default.nix b/pkgs/development/libraries/xapian/tools/omega/default.nix
index 65d4c520fba..f5ae2ecfaa5 100644
--- a/pkgs/development/libraries/xapian/tools/omega/default.nix
+++ b/pkgs/development/libraries/xapian/tools/omega/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://oligarchy.co.uk/xapian/${version}/xapian-omega-${version}.tar.xz";
-    hash = "sha256-iKETxVmPyVgz4SEscL5GOrudVgFWTSG4YWNvc3lVqtU=";
+    hash = "sha256-Z0yXn7kPH0mQ64qQntq4jKSgCUF9/Vqwy6GeAsepVSg=";
   };
 
   buildInputs = [ xapian perl pcre2 zlib libmagic ];
diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix
index 11bb7a0da59..de60f890573 100644
--- a/pkgs/development/node-packages/overrides.nix
+++ b/pkgs/development/node-packages/overrides.nix
@@ -597,6 +597,11 @@ final: prev: {
 
   wrangler = prev.wrangler.override (oldAttrs: {
     meta = oldAttrs.meta // { broken = before "16.13"; };
+    buildInputs = [ pkgs.llvmPackages.libcxx pkgs.llvmPackages.libunwind ] ++ lib.optional stdenv.isLinux pkgs.autoPatchelfHook;
+    preFixup = ''
+      # patch elf is trying to patch binary for sunos
+      rm -r $out/lib/node_modules/wrangler/node_modules/@esbuild/sunos-x64
+    '';
   });
 
   yaml-language-server = prev.yaml-language-server.override {
diff --git a/pkgs/development/python-modules/amply/default.nix b/pkgs/development/python-modules/amply/default.nix
index 64aa0ad76b7..235a697d2af 100644
--- a/pkgs/development/python-modules/amply/default.nix
+++ b/pkgs/development/python-modules/amply/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "amply";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rXF7SQtrcFWQn6oZXoKkQytwb4+VhUBQFy9Ckx5HhCY=";
+    hash = "sha256-YUIRA8z44QZnFxFf55F2ENgx1VHGjTGhEIdqW2x4rqQ=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/aranet4/default.nix b/pkgs/development/python-modules/aranet4/default.nix
index 6ea81a8347a..6e3b1f0e571 100644
--- a/pkgs/development/python-modules/aranet4/default.nix
+++ b/pkgs/development/python-modules/aranet4/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aranet4";
-  version = "2.1.3";
+  version = "2.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Anrijs";
     repo = "Aranet4-Python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5q4eOC9iuN8pUmDsiQ7OwEXkxi4KdL+bhGVjlQlTBAg=";
+    hash = "sha256-u2KLs+j8MvJhyX8rpMjd1uwPSD8hkCbhOL7Y/FqbwTM=";
   };
 
   propagatedBuildInputs = [
@@ -34,6 +34,11 @@ buildPythonPackage rec {
     "aranet4"
   ];
 
+  disabledTests = [
+    # Test compares rendered output
+    "test_current_values"
+  ];
+
   meta = with lib; {
     description = "Module to interact with Aranet4 devices";
     homepage = "https://github.com/Anrijs/Aranet4-Python";
diff --git a/pkgs/development/python-modules/arcam-fmj/default.nix b/pkgs/development/python-modules/arcam-fmj/default.nix
index adc187fdc54..df5bcc40836 100644
--- a/pkgs/development/python-modules/arcam-fmj/default.nix
+++ b/pkgs/development/python-modules/arcam-fmj/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "arcam-fmj";
-  version = "1.3.0";
+  version = "1.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "elupus";
     repo = "arcam_fmj";
     rev = "refs/tags/${version}";
-    hash = "sha256-TFZoWni33dzioADpTt50fqwBlZ/rdUergGs3s3d0504=";
+    hash = "sha256-/A3Fs0JyzW05L80CtI07Y/kTTrIC6yqubJfYO0kAEf0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/async-tkinter-loop/default.nix b/pkgs/development/python-modules/async-tkinter-loop/default.nix
new file mode 100644
index 00000000000..bb00fbcde53
--- /dev/null
+++ b/pkgs/development/python-modules/async-tkinter-loop/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python3Packages
+, poetry-core
+, tkinter
+, pythonRelaxDepsHook
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "async-tkinter-loop";
+  version = "0.8.1";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "async_tkinter_loop";
+    hash = "sha256-+9AvnYIZMWCbpCEKdbIadyU8zgyUlW/fRYYyDOxAzeg=";
+  };
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    tkinter
+  ];
+
+  pythonRemoveDeps = [
+    "asyncio"
+  ];
+
+  pythonImportsCheck = [
+    "async_tkinter_loop"
+  ];
+
+  meta = with lib; {
+    description = "Implementation of asynchronous mainloop for tkinter, the use of which allows using async handler functions";
+    homepage = "https://github.com/insolor/async-tkinter-loop";
+    changelog = "https://github.com/insolor/async-tkinter-loop/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ AngryAnt ];
+  };
+}
diff --git a/pkgs/development/python-modules/bimmer-connected/default.nix b/pkgs/development/python-modules/bimmer-connected/default.nix
index b809249fbfe..90278ad928d 100644
--- a/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "bimmer-connected";
-  version = "0.13.6";
+  version = "0.13.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "bimmerconnected";
     repo = "bimmer_connected";
     rev = "refs/tags/${version}";
-    hash = "sha256-MQYS7EEBGgvIBjSQ80a49SQv1GNVgeriBtQn+O7hMtg=";
+    hash = "sha256-JnrM2LuvqGHxec2C8eYjO++ejZ2jXIi8XmxpIw/tSxs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix
index 7ae36bc2c54..e97fce086cf 100644
--- a/pkgs/development/python-modules/black/default.nix
+++ b/pkgs/development/python-modules/black/default.nix
@@ -26,14 +26,14 @@
 
 buildPythonPackage rec {
   pname = "black";
-  version = "23.1.0";
+  version = "23.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sL2XvqiQP1orpyGSV6ROPx+dAAc9bMGt1o8L7saWkqw=";
+    hash = "sha256-HHuNYG5yikHqHMvXJkZ35JTofPYw45kmLO2S1KjayUA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index d063a1c7b9c..2551f67815d 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "3.11.1";
+  version = "3.11.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-z+EVi8WBgna6dllZ2oonr9zaoR+j+p7tCX1WOSl9/nQ=";
+    hash = "sha256-oPDQSS//TJyRHKsnZA5pDdFLRC7agzMZsRGQBCsvdGk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-datastore/default.nix b/pkgs/development/python-modules/google-cloud-datastore/default.nix
index 90d83843449..98b11c1d073 100644
--- a/pkgs/development/python-modules/google-cloud-datastore/default.nix
+++ b/pkgs/development/python-modules/google-cloud-datastore/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datastore";
-  version = "2.15.2";
+  version = "2.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PnPP7FRrxKyuYTcFuSZdwUs+Ff06yPyJ8Omk6Zaufv0=";
+    hash = "sha256-70n9jgOvR5OYWBPKSR50E1ST/60uGzlbsiYXCkJNo18=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/graphtage/default.nix b/pkgs/development/python-modules/graphtage/default.nix
index 53418f486da..9307da85059 100644
--- a/pkgs/development/python-modules/graphtage/default.nix
+++ b/pkgs/development/python-modules/graphtage/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "graphtage";
-  version = "0.2.7";
+  version = "0.2.8";
 
   disabled = pythonOlder "3.6";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "trailofbits";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3PJSjK8citdsfTyTLtDOlLeXWhkOW/4ajLC+j8F0BZw=";
+    hash = "sha256-qp3NMN/aeWhr4z6qqh/s4OHebQccyIjSzWIy7P1RruI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/ijson/default.nix b/pkgs/development/python-modules/ijson/default.nix
index 78a5d59e9a5..a3a37c0accf 100644
--- a/pkgs/development/python-modules/ijson/default.nix
+++ b/pkgs/development/python-modules/ijson/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "ijson";
-  version = "3.2.0.post0";
+  version = "3.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gKW9fpkjyrIAcB9nrSNyEEMouZ3fJJ276INBAshS0xY=";
+    hash = "sha256-uYg8hxYAHXpcgYWQUgjkCnfu+bKnPbzk0YnOsJKqk70=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/karton-classifier/default.nix b/pkgs/development/python-modules/karton-classifier/default.nix
index bb59fde7186..689d67d5091 100644
--- a/pkgs/development/python-modules/karton-classifier/default.nix
+++ b/pkgs/development/python-modules/karton-classifier/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "karton-classifier";
-  version = "1.4.0";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-TRmAin0TAOIwR5EBMwTOJ9QaHO+mOx/eAjgqvyQZDj4=";
+    hash = "sha256-DH8I4Lbbs2TVMvYlvh/P2I/7O4+VechP2JDDVHNsTSg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/karton-core/default.nix b/pkgs/development/python-modules/karton-core/default.nix
index 0c2a44aa3e6..43d65c4f0f7 100644
--- a/pkgs/development/python-modules/karton-core/default.nix
+++ b/pkgs/development/python-modules/karton-core/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "karton-core";
-  version = "5.0.1";
+  version = "5.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = "karton";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TKO0l0AKsC9MMB58ao/EXcJ9k/J3y3S9tc127H7vA6w=";
+    hash = "sha256-IhxMei6KkPsDnUkV4+zxSMI7rgZgOvbHQFqJAC1b5iw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/karton-dashboard/default.nix b/pkgs/development/python-modules/karton-dashboard/default.nix
index a055c423374..60e21e63b11 100644
--- a/pkgs/development/python-modules/karton-dashboard/default.nix
+++ b/pkgs/development/python-modules/karton-dashboard/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , flask
 , karton-core
 , mistune
@@ -13,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "karton-dashboard";
-  version = "1.4.0";
+  version = "1.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,18 +21,9 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-XMyQ0mRF4y61hqlqdxC+He+697P1URfOXQUMnV0pT7o=";
+    hash = "sha256-O7Wrl9+RWkHPO0+9aue1Nlv0263qX8Thnh5FmnoKjxU=";
   };
 
-  patches = [
-    # Allow later mistune, https://github.com/CERT-Polska/karton-dashboard/pull/68
-    (fetchpatch {
-      name = "update-mistune.patch";
-      url = "https://github.com/CERT-Polska/karton-dashboard/commit/d0a2a1ffd21e9066acca77434acaff7b20e460d0.patch";
-      hash = "sha256-LOqeLWoCXmVTthruBiQUYR03yPOPHhgYF/fJMhhT6Wo=";
-    })
-  ];
-
   pythonRelaxDeps = [
     "Flask"
     "mistune"
diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix
index 5b6809023c3..139380b3c77 100644
--- a/pkgs/development/python-modules/langchain/default.nix
+++ b/pkgs/development/python-modules/langchain/default.nix
@@ -77,7 +77,7 @@
 
 buildPythonPackage rec {
   pname = "langchain";
-  version = "0.0.201";
+  version = "0.0.207";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -86,7 +86,7 @@ buildPythonPackage rec {
     owner = "hwchase17";
     repo = "langchain";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+mS6rKypDrlKFg+c0GPAZ0YX7UYN+mlilnbX2hptLt0=";
+    hash = "sha256-/gPkgHcHHyFAhPF4hqEMkOaHV9Z1159ZdB2lwtsJEKE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/langchainplus-sdk/default.nix b/pkgs/development/python-modules/langchainplus-sdk/default.nix
index 5924872d85c..e741990ae51 100644
--- a/pkgs/development/python-modules/langchainplus-sdk/default.nix
+++ b/pkgs/development/python-modules/langchainplus-sdk/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "langchainplus-sdk";
-  version = "0.0.10";
+  version = "0.0.16";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "langchainplus_sdk";
-    hash = "sha256-T4ELON90qZ0B5XI+ZT2gLwXfPukilxzMq8Nl0Awz2/Y=";
+    hash = "sha256-L8Bn3QOO3PGAhtNC2ixpCYTE03+b+mhP/MrqNLQ+2yg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/libvirt/default.nix b/pkgs/development/python-modules/libvirt/default.nix
index 9f34ffcf348..e83778c9a4e 100644
--- a/pkgs/development/python-modules/libvirt/default.nix
+++ b/pkgs/development/python-modules/libvirt/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "libvirt";
-  version = "9.2.0";
+  version = "9.4.0";
 
   src = fetchFromGitLab {
     owner = "libvirt";
     repo = "libvirt-python";
     rev = "v${version}";
-    hash = "sha256-htJPNFiY0WuQlgfFkLh3RUmnx2X4aQ0+iUQgZ1+HDp0=";
+    hash = "sha256-P5IfH93qCEIJScDRkSOAnA5D82PV1T1eUlPCQYbK0d8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/malduck/default.nix b/pkgs/development/python-modules/malduck/default.nix
index b3ca15ee3c6..0ae7abb7214 100644
--- a/pkgs/development/python-modules/malduck/default.nix
+++ b/pkgs/development/python-modules/malduck/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "malduck";
-  version = "4.3.0";
+  version = "4.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-1gwJhlhRLnh01AIJj07Wpba8X7V5AfACuJmZX+cfT6Y=";
+    hash = "sha256-3joIfhQBJzKdoU3FNW/yAHsQa/lMMbw3wGEQTyOBrOQ=";
   };
 
   propagatedBuildInputs = [
@@ -60,8 +60,5 @@ buildPythonPackage rec {
     changelog = "https://github.com/CERT-Polska/malduck/releases/tag/v${version}";
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ fab ];
-    # Compatibility issues with yara-python v4.3.0
-    # https://github.com/CERT-Polska/malduck/issues/88
-    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/pint-pandas/default.nix b/pkgs/development/python-modules/pint-pandas/default.nix
index 18e497f00f4..a4dd78a557e 100644
--- a/pkgs/development/python-modules/pint-pandas/default.nix
+++ b/pkgs/development/python-modules/pint-pandas/default.nix
@@ -2,24 +2,22 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , setuptools
 , pint
 , pandas
 , pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "pint-pandas";
-  # Latest release contains bugs and failing tests.
-  version = "unstable-2022-11-24";
+  version = "0.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "hgrecco";
     repo = "pint-pandas";
-    rev = "c58a7fcf9123eb65f5e78845077b205e20279b9d";
-    hash = "sha256-gMZNJSJxtSZvgU4o71ws5ZA6tgD2M5c5oOrn62DRyMI=";
+    rev = version;
+    hash = "sha256-FuH6wksSCkkL2AyQN46hwTnfeAZFwkWRl6KEEhsxmUY=";
   };
 
   nativeBuildInputs = [
@@ -36,7 +34,7 @@ buildPythonPackage {
   ];
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
+    broken = stdenv.isDarwin;
     description = "Pandas support for pint";
     license = licenses.bsd3;
     homepage = "https://github.com/hgrecco/pint-pandas";
diff --git a/pkgs/development/python-modules/pydata-google-auth/default.nix b/pkgs/development/python-modules/pydata-google-auth/default.nix
index 1baeb8f0d9e..61b39e54279 100644
--- a/pkgs/development/python-modules/pydata-google-auth/default.nix
+++ b/pkgs/development/python-modules/pydata-google-auth/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pydata-google-auth";
-  version = "1.7.0";
+  version = "1.8.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "pydata";
     rev = "refs/tags/${version}";
-    hash = "sha256-VJmu7VExWmXBa0cjgppyOgWDLDRMdhOoaOrZoi4WAxo=";
+    hash = "sha256-PMQj+ySdin02MUBIumyW/PvCGqUhmloDCnBFJggd4I8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyopnsense/default.nix b/pkgs/development/python-modules/pyopnsense/default.nix
index 7debcd3b7a3..c7abf88c3da 100644
--- a/pkgs/development/python-modules/pyopnsense/default.nix
+++ b/pkgs/development/python-modules/pyopnsense/default.nix
@@ -8,22 +8,21 @@
 , pytestCheckHook
 , pythonOlder
 , requests
-, six
 }:
 
 buildPythonPackage rec {
   pname = "pyopnsense";
-  version = "0.3.0";
+  version = "0.4.0";
+
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06rssdb3zhccnm63z96mw5yd38d9i99fgigfcdxn9divalbbhp5a";
+    hash = "sha256-3DKlVrOtMa55gTu557pgojRpdgrO5pEZ3L+9gKoW9yg=";
   };
 
   propagatedBuildInputs = [
     pbr
-    six
     requests
   ];
 
@@ -34,11 +33,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pyopnsense" ];
+  pythonImportsCheck = [
+    "pyopnsense"
+  ];
 
   meta = with lib; {
     description = "Python client for the OPNsense API";
     homepage = "https://github.com/mtreinish/pyopnsense";
+    changelog = "https://github.com/mtreinish/pyopnsense/releases/tag/${version}";
     license = with licenses; [ gpl3Plus ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/python-utils/default.nix b/pkgs/development/python-modules/python-utils/default.nix
index 6b367f9b82e..499a7660664 100644
--- a/pkgs/development/python-modules/python-utils/default.nix
+++ b/pkgs/development/python-modules/python-utils/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "python-utils";
-  version = "3.6.0";
+  version = "3.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "WoLpH";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-D4HmmXIiy1mOEE7lxy9ddeqMxR8l1+k8WgDFPeTVHUE=";
+    hash = "sha256-WSP5LQQZnm9k0v/xbsUHgQiwmhcb2Uw9BQurC1ieMjI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/scmrepo/default.nix b/pkgs/development/python-modules/scmrepo/default.nix
index c37618c8d95..f1bf3816918 100644
--- a/pkgs/development/python-modules/scmrepo/default.nix
+++ b/pkgs/development/python-modules/scmrepo/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "scmrepo";
-  version = "1.0.3";
+  version = "1.0.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Ne0iN1rVbdxyoN8XiM9Xj8uyzlEL6WHPUZbFWt/qH40=";
+    hash = "sha256-vsNuTwxxKyWwFPxMCQkSyQDnMLUYMLJ28AUnVrh3ksE=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/textual/default.nix b/pkgs/development/python-modules/textual/default.nix
index 85a2f8c178d..99b71d27738 100644
--- a/pkgs/development/python-modules/textual/default.nix
+++ b/pkgs/development/python-modules/textual/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "textual";
-  version = "0.28.0";
+  version = "0.28.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "Textualize";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ei9tn1o28lvMKBYIN7vglYpr6rxq/2OiJtbeeZZH5Os=";
+    hash = "sha256-tSCMKM9Wv4crl6SLcIc2r6QY6U3RBTW8yfAjkYLV3eE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tkinter/default.nix b/pkgs/development/python-modules/tkinter/default.nix
index 9f82dee45ef..ccfc7290701 100644
--- a/pkgs/development/python-modules/tkinter/default.nix
+++ b/pkgs/development/python-modules/tkinter/default.nix
@@ -25,6 +25,30 @@ buildPythonPackage {
     patchelf --set-rpath $new_rpath $out/${py.sitePackages}/_tkinter*
   '';
 
-  meta = py.meta;
+  meta = py.meta // {
+    # Based on first sentence from https://docs.python.org/3/library/tkinter.html
+    description = "The standard Python interface to the Tcl/Tk GUI toolkit";
+    longDescription = ''
+      The tkinter package (“Tk interface”) is the standard Python interface to
+      the Tcl/Tk GUI toolkit. Both Tk and tkinter are available on most Unix
+      platforms, including macOS, as well as on Windows systems.
+
+      Running python -m tkinter from the command line should open a window
+      demonstrating a simple Tk interface, letting you know that tkinter is
+      properly installed on your system, and also showing what version of
+      Tcl/Tk is installed, so you can read the Tcl/Tk documentation specific to
+      that version.
+
+      Tkinter supports a range of Tcl/Tk versions, built either with or without
+      thread support. The official Python binary release bundles Tcl/Tk 8.6
+      threaded. See the source code for the _tkinter module for more
+      information about supported versions.
+
+      Tkinter is not a thin wrapper, but adds a fair amount of its own logic to
+      make the experience more pythonic. This documentation will concentrate on
+      these additions and changes, and refer to the official Tcl/Tk
+      documentation for details that are unchanged.
+    '';
+  };
 
 }
diff --git a/pkgs/development/python-modules/xapian/default.nix b/pkgs/development/python-modules/xapian/default.nix
index 75f93179034..cafc66dab9e 100644
--- a/pkgs/development/python-modules/xapian/default.nix
+++ b/pkgs/development/python-modules/xapian/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   src = fetchurl {
     url = "https://oligarchy.co.uk/xapian/${version}/xapian-bindings-${version}.tar.xz";
-    hash = "sha256-578eSYK5H4QSidGSFAIdiDccoqbHME31kEnX2ni4PO0=";
+    hash = "sha256-a1RUgzrFKj4ywLs6cpClorUEiNiRjypFJpVX5N6aMeU=";
   };
 
   configureFlags = [
diff --git a/pkgs/development/python-modules/xmlschema/default.nix b/pkgs/development/python-modules/xmlschema/default.nix
index 389ee439595..42af3b86d4b 100644
--- a/pkgs/development/python-modules/xmlschema/default.nix
+++ b/pkgs/development/python-modules/xmlschema/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "xmlschema";
-  version = "2.3.0";
+  version = "2.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "sissaschool";
     repo = "xmlschema";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ERA6u2bDFxA/vjl2GNZUaBto4RqrScPelHaABkpY0lQ=";
+    hash = "sha256-0xXA3IguVAyFp5dFvuzAQhzJlGMmNthmPXcja9FYV44=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yamllint/default.nix b/pkgs/development/python-modules/yamllint/default.nix
index ba5e9e85ea4..7db56a0d617 100644
--- a/pkgs/development/python-modules/yamllint/default.nix
+++ b/pkgs/development/python-modules/yamllint/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, setuptools
 , pathspec
 , pytestCheckHook
 , pythonOlder
@@ -10,16 +11,22 @@
 
 buildPythonPackage rec {
   pname = "yamllint";
-  version = "1.31.0";
-  format = "setuptools";
+  version = "1.32.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-LYPx0S9zPhYqh+BrF2FJ17ucW65Knl/OHHcdf3A/emU=";
+  src = fetchFromGitHub {
+    owner = "adrienverge";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-DtIQ/gUBFQBm0OOJC2c/ONn2ZKsMAzdwMx7FbUo+uIU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     pyyaml
     pathspec
diff --git a/pkgs/development/python-modules/yq/default.nix b/pkgs/development/python-modules/yq/default.nix
index 787c74d5c2a..5b652910ea1 100644
--- a/pkgs/development/python-modules/yq/default.nix
+++ b/pkgs/development/python-modules/yq/default.nix
@@ -1,23 +1,23 @@
 { lib
+, argcomplete
 , buildPythonPackage
 , fetchPypi
-, substituteAll
-, argcomplete
-, pyyaml
-, toml
-, xmltodict
 , jq
-, setuptools-scm
 , pytestCheckHook
+, pyyaml
+, setuptools-scm
+, substituteAll
+, tomlkit
+, xmltodict
 }:
 
 buildPythonPackage rec {
   pname = "yq";
-  version = "3.1.1";
+  version = "3.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hT80KxVi3e6XkDjsjs7lQFzdm2p8uB7WzbgBjJ6AJjM=";
+    hash = "sha256-jbt6DJN92/w90XXmR49AlgwUDT6LHxoDFd52OE1mZQo=";
   };
 
   patches = [
@@ -32,10 +32,10 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    argcomplete
     pyyaml
+    tomlkit
     xmltodict
-    toml
-    argcomplete
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/tools/cambalache/default.nix b/pkgs/development/tools/cambalache/default.nix
index 43a5778ff95..d8a851cb591 100644
--- a/pkgs/development/tools/cambalache/default.nix
+++ b/pkgs/development/tools/cambalache/default.nix
@@ -12,24 +12,27 @@
 , glib
 , gtk3
 , gtk4
+, gtksourceview4
 , libadwaita
 , libhandy
-, webkitgtk
+, webkitgtk_4_1
+, webkitgtk_6_0
 , nix-update-script
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cambalache";
-  version = "0.10.3";
+  version = "0.12.1";
 
   format = "other";
 
+  # Did not fetch submodule since it is only for tests we don't run.
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "jpu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Xm8h3BBRibdLCeI/OeprF5dCCiNrfJCg7aE24uleCds=";
+    sha256 = "sha256-kGCpccWIhaeWrzLlrDI7Vzd0KuAIKxvLrDuSqWtpSLU=";
   };
 
   nativeBuildInputs = [
@@ -51,7 +54,9 @@ python3.pkgs.buildPythonApplication rec {
     glib
     gtk3
     gtk4
-    webkitgtk
+    gtksourceview4
+    webkitgtk_4_1
+    webkitgtk_6_0
     # For extra widgets support.
     libadwaita
     libhandy
@@ -63,7 +68,7 @@ python3.pkgs.buildPythonApplication rec {
   postPatch = ''
     patchShebangs postinstall.py
     # those programs are used at runtime not build time
-    # https://gitlab.gnome.org/jpu/cambalache/-/blob/main/meson.build#L79-80
+    # https://gitlab.gnome.org/jpu/cambalache/-/blob/0.12.1/meson.build#L79-80
     substituteInPlace ./meson.build \
       --replace "find_program('broadwayd', required: true)" "" \
       --replace "find_program('gtk4-broadwayd', required: true)" ""
diff --git a/pkgs/development/tools/ctlptl/default.nix b/pkgs/development/tools/ctlptl/default.nix
index 2853211e424..64577d92e5f 100644
--- a/pkgs/development/tools/ctlptl/default.nix
+++ b/pkgs/development/tools/ctlptl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ctlptl";
-  version = "0.8.19";
+  version = "0.8.20";
 
   src = fetchFromGitHub {
     owner = "tilt-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/v0/fLS9hWw8PpTTwo2/LwtwI2ST4ApIRNJl5qpHY2w=";
+    hash = "sha256-t7lcUbD3840kClFr4+RYRD4d2yGeYhnr2HO5giYLhNU=";
   };
 
   vendorHash = "sha256-6NHaOF+fXs49JXEog/t2Fmr8llLmMBj7/OISssyzRK4=";
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index 87bab08fd81..3e0080332e1 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "2.9.7";
+  version = "2.11.0";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-+Wkd0+RSNnJb1ganYGhnRdLZGofTwWtDEN82dhc6HPc=";
+    sha256 = "sha256-0BnvIGqAm1N4xbZiqq/iouXkvDWfpZvBA0gKMcB+WYU=";
   };
-  vendorHash = "sha256-x4IghXr80sDPZhe97Q+04Mfcnvku/S/tNPZ9RSUmiVE=";
+  vendorHash = "sha256-jpCib0bwb5MtaHhM+d3dFxIXwyMGvxdo+Vgv6PKVp7w=";
 
   # integration tests expect more file changes
   # types tests are missing CodeLocation
diff --git a/pkgs/development/tools/language-servers/ansible-language-server/default.nix b/pkgs/development/tools/language-servers/ansible-language-server/default.nix
index a4e7590ccd2..40cb2e1df28 100644
--- a/pkgs/development/tools/language-servers/ansible-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/ansible-language-server/default.nix
@@ -6,16 +6,16 @@
 
 buildNpmPackage rec {
   pname = "ansible-language-server";
-  version = "1.0.5";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "ansible";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-OpYxG6rSPCu2jWyOU1+Dt4LM/3pZKaQyJE8emykh2K4=";
+    hash = "sha256-kyyYHA0+n8zo1GOzC5lW+QnAn2EtLq0bB1L11yONJbE=";
   };
 
-  npmDepsHash = "sha256-pK8Kn4w3QFcfjm0F1bEK9La36wTbmuGzkKMeBIc/9eo=";
+  npmDepsHash = "sha256-0mOj0HV6fbImuYDKr3S2SUO8nHN7R0FX9Ihi0GtoSR4=";
   npmBuildScript = "compile";
 
   # We remove/ignore the prepare and prepack scripts because they run the
diff --git a/pkgs/development/tools/language-servers/typst-lsp/Cargo.lock b/pkgs/development/tools/language-servers/typst-lsp/Cargo.lock
index 9ee90b13cbd..aa07359c6cc 100644
--- a/pkgs/development/tools/language-servers/typst-lsp/Cargo.lock
+++ b/pkgs/development/tools/language-servers/typst-lsp/Cargo.lock
@@ -1953,7 +1953,7 @@ dependencies = [
 
 [[package]]
 name = "typst-lsp"
-version = "0.6.2"
+version = "0.7.1"
 dependencies = [
  "anyhow",
  "chrono",
@@ -1962,6 +1962,7 @@ dependencies = [
  "elsa",
  "futures",
  "if_chain",
+ "indexmap",
  "itertools",
  "lazy_static",
  "memmap2 0.7.0",
diff --git a/pkgs/development/tools/language-servers/typst-lsp/default.nix b/pkgs/development/tools/language-servers/typst-lsp/default.nix
index dc96392747c..bca3371dca8 100644
--- a/pkgs/development/tools/language-servers/typst-lsp/default.nix
+++ b/pkgs/development/tools/language-servers/typst-lsp/default.nix
@@ -5,13 +5,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typst-lsp";
-  version = "0.6.2";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "nvarner";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-RYFIJYgyBe0WhNEP1cDI7JvM4Ka+39uyOx5pcpWhq3I=";
+    hash = "sha256-to+M/1TcQTeojwVMuXR2moyZ0L3vhGiokJrWustF/go=";
   };
 
   cargoLock = {
diff --git a/pkgs/development/tools/memray/default.nix b/pkgs/development/tools/memray/default.nix
index 0ce424ac06f..2b9611cce57 100644
--- a/pkgs/development/tools/memray/default.nix
+++ b/pkgs/development/tools/memray/default.nix
@@ -8,14 +8,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "memray";
-  version = "1.8.0";
+  version = "1.8.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bloomberg";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jn14bWluN8kApIVpXX5TeoFA1FDTlkOaz6QfFSz0ojU=";
+    hash = "sha256-ztoIUYuXfD8Mgj5vIsZnpuF8a5F9Za6xXHKW0Hscz20=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/misc/acr/default.nix b/pkgs/development/tools/misc/acr/default.nix
index cfe15ac5215..2ddc23f51c3 100644
--- a/pkgs/development/tools/misc/acr/default.nix
+++ b/pkgs/development/tools/misc/acr/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "acr";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "radareorg";
     repo = "acr";
     rev = finalAttrs.version;
-    hash = "sha256-JReYgIqQISQuLPd4pUbqbKtBOXT0/YJCn9czz2VTVBs=";
+    hash = "sha256-xKB9zBw9sX+z/yBzvfIzQPyOHzlCAGfGLyuLGRoyWbg=";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/tools/misc/n98-magerun/default.nix b/pkgs/development/tools/misc/n98-magerun/default.nix
index 062cb39d62d..9b3fb21602c 100644
--- a/pkgs/development/tools/misc/n98-magerun/default.nix
+++ b/pkgs/development/tools/misc/n98-magerun/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, unzip, lib, php80 }:
+{ stdenv, fetchFromGitHub, makeWrapper, unzip, lib, php81 }:
 
 let
   pname = "n98-magerun";
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
     runHook preInstall
     mkdir -p $out/bin
     install -D $src/n98-magerun $out/libexec/n98-magerun/n98-magerun-${version}.phar
-    makeWrapper ${php80}/bin/php $out/bin/n98-magerun \
+    makeWrapper ${php81}/bin/php $out/bin/n98-magerun \
       --add-flags "$out/libexec/n98-magerun/n98-magerun-${version}.phar" \
       --prefix PATH : ${lib.makeBinPath [ unzip ]}
     runHook postInstall
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     homepage = "https://magerun.net/";
     changelog = "https://magerun.net/category/magerun/";
     maintainers = teams.php.members;
+    broken = true; # Not compatible with PHP 8.1, see https://github.com/netz98/n98-magerun/issues/1275
   };
 }
diff --git a/pkgs/development/tools/misc/src-cli/default.nix b/pkgs/development/tools/misc/src-cli/default.nix
index d3980ff319c..959b02d7258 100644
--- a/pkgs/development/tools/misc/src-cli/default.nix
+++ b/pkgs/development/tools/misc/src-cli/default.nix
@@ -1,27 +1,36 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
+, stdenv
+, xorg
+, darwin
 , testers
 , src-cli
 }:
 
 buildGoModule rec {
   pname = "src-cli";
-  version = "5.0.3";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "sourcegraph";
     repo = "src-cli";
     rev = version;
-    hash = "sha256-KqCH4f9QPfr/Hm4phR9qeCV925RkOawGnbCx8wz/QwE=";
+    hash = "sha256-sN6Ea1kJce8Jqy8YrkWzDrQDrmA8F+UYz7ZuqfdbnJ4=";
   };
 
-  vendorHash = "sha256-NMLrBYGscZexnR43I4Ku9aqzJr38z2QAnZo0RouHFrc=";
+  vendorHash = "sha256-A533f+FfEzU2TlNwHkD8gjeQYRATz85cCCmqLdl9290=";
 
   subPackages = [
     "cmd/src"
   ];
 
+  buildInputs = lib.optionals stdenv.isLinux [
+    xorg.libX11
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Cocoa
+  ];
+
   ldflags = [
     "-s"
     "-w"
diff --git a/pkgs/development/tools/ruff/Cargo.lock b/pkgs/development/tools/ruff/Cargo.lock
index e171d287d28..43e96c3a5a1 100644
--- a/pkgs/development/tools/ruff/Cargo.lock
+++ b/pkgs/development/tools/ruff/Cargo.lock
@@ -733,7 +733,7 @@ dependencies = [
 
 [[package]]
 name = "flake8-to-ruff"
-version = "0.0.274"
+version = "0.0.275"
 dependencies = [
  "anyhow",
  "clap",
@@ -1793,7 +1793,7 @@ dependencies = [
 
 [[package]]
 name = "ruff"
-version = "0.0.274"
+version = "0.0.275"
 dependencies = [
  "annotate-snippets 0.9.1",
  "anyhow",
@@ -1889,7 +1889,7 @@ dependencies = [
 
 [[package]]
 name = "ruff_cli"
-version = "0.0.274"
+version = "0.0.275"
 dependencies = [
  "annotate-snippets 0.9.1",
  "anyhow",
@@ -2105,7 +2105,7 @@ dependencies = [
 [[package]]
 name = "ruff_text_size"
 version = "0.0.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=08ebbe40d7776cac6e3ba66277d435056f2b8dca#08ebbe40d7776cac6e3ba66277d435056f2b8dca"
+source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11"
 dependencies = [
  "schemars",
  "serde",
@@ -2183,7 +2183,7 @@ dependencies = [
 [[package]]
 name = "rustpython-ast"
 version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=08ebbe40d7776cac6e3ba66277d435056f2b8dca#08ebbe40d7776cac6e3ba66277d435056f2b8dca"
+source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11"
 dependencies = [
  "is-macro",
  "num-bigint",
@@ -2194,7 +2194,7 @@ dependencies = [
 [[package]]
 name = "rustpython-format"
 version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=08ebbe40d7776cac6e3ba66277d435056f2b8dca#08ebbe40d7776cac6e3ba66277d435056f2b8dca"
+source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11"
 dependencies = [
  "bitflags 2.3.1",
  "itertools",
@@ -2206,7 +2206,7 @@ dependencies = [
 [[package]]
 name = "rustpython-literal"
 version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=08ebbe40d7776cac6e3ba66277d435056f2b8dca#08ebbe40d7776cac6e3ba66277d435056f2b8dca"
+source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11"
 dependencies = [
  "hexf-parse",
  "is-macro",
@@ -2218,7 +2218,7 @@ dependencies = [
 [[package]]
 name = "rustpython-parser"
 version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=08ebbe40d7776cac6e3ba66277d435056f2b8dca#08ebbe40d7776cac6e3ba66277d435056f2b8dca"
+source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11"
 dependencies = [
  "anyhow",
  "is-macro",
@@ -2241,7 +2241,7 @@ dependencies = [
 [[package]]
 name = "rustpython-parser-core"
 version = "0.2.0"
-source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=08ebbe40d7776cac6e3ba66277d435056f2b8dca#08ebbe40d7776cac6e3ba66277d435056f2b8dca"
+source = "git+https://github.com/astral-sh/RustPython-Parser.git?rev=f60e204b73b95bdb6ce87ccd0de34081b4a17c11#f60e204b73b95bdb6ce87ccd0de34081b4a17c11"
 dependencies = [
  "is-macro",
  "memchr",
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 5222abdb9a4..73e903230bb 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -10,20 +10,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.0.274";
+  version = "0.0.275";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-0JaeLvc6pwvt9a7wAbah6sVgmHf6GParwdkiW3jQPaQ=";
+    hash = "sha256-HsoycugHzgudY3Aixv5INlOLTjLMzP+gKMMKIreiODs=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "libcst-0.1.0" = "sha256-jG9jYJP4reACkFLrQBWOYH6nbKniNyFVItD0cTZ+nW0=";
-      "ruff_text_size-0.0.0" = "sha256-qMJ29bkET3JNPeggcA91sXSw2r4bY7rzXtJfY3uy/ws=";
+      "ruff_text_size-0.0.0" = "sha256-oIMZ+7oCID0Ud9Ss6hZjJDvAv7wepyODU31Pb3EOxiM=";
       "unicode_names2-0.6.0" = "sha256-eWg9+ISm/vztB0KIdjhq5il2ZnwGJQCleCYfznCI3Wg=";
     };
   };
diff --git a/pkgs/development/tools/rust/cargo-mutants/default.nix b/pkgs/development/tools/rust/cargo-mutants/default.nix
new file mode 100644
index 00000000000..49865324d7b
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-mutants/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-mutants";
+  version = "23.6.0";
+
+  src = fetchFromGitHub {
+    owner = "sourcefrog";
+    repo = "cargo-mutants";
+    rev = "cargo-mutants-${version}";
+    hash = "sha256-qgsranCZnorEZuCgUj0LmkL0dcfarWa0q/9Uupsf4jQ=";
+  };
+
+  cargoHash = "sha256-BW9itNgVOiaKMzaRl3d60BIV5V82+5D0+QKSnGcvFnI=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.SystemConfiguration
+  ];
+
+  # too many tests require internet access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A mutation testing tool for Rust";
+    homepage = "https://github.com/sourcefrog/cargo-mutants";
+    changelog = "https://github.com/sourcefrog/cargo-mutants/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-ndk/default.nix b/pkgs/development/tools/rust/cargo-ndk/default.nix
index d9503bccf89..e6f6ad15e94 100644
--- a/pkgs/development/tools/rust/cargo-ndk/default.nix
+++ b/pkgs/development/tools/rust/cargo-ndk/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-ndk";
-  version = "3.1.2";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "bbqsrc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-L7HZzudu26Vyz1qm2soqGlZf8sBJKcx1BoBf8zC0ee4=";
+    sha256 = "sha256-rpEBxoXm77UuK7jiaf90yxVnmJay6ptkRk5KUEBoSvk=";
   };
 
-  cargoHash = "sha256-RMP1Nz2uWVIOxSlsjTR6QsVy6Heu9dXhrBBI5xGMbtY=";
+  cargoHash = "sha256-XRT4U6zkmXzNnPnnHWrGlQWVV3W09UXQ0McksIFKgyE=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreGraphics
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 0172be696b8..0f022fe26f3 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2023-06-05";
-  cargoSha256 = "sha256-2mQ9DoY5grywiRE3dxSuziaw7adIHe8mRgzcFXVnIEg=";
+  version = "2023-06-19";
+  cargoSha256 = "sha256-aQZkiIRD5r5MSENjrtD2qM/h3ByYfYgOxYx62RgLX7o=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-IHfvZ8cbn/rgueO7ZvFUHWPPvXEM/rrK1YATwucHVbM=";
+    sha256 = "sha256-dzTROlAzRR8LIHEud2brANXDV8be1jsBV8aQynxj4UI=";
   };
 
   cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
index 2fd151dc332..5e196e4c307 100644
--- a/pkgs/development/tools/typos/default.nix
+++ b/pkgs/development/tools/typos/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.15.2";
+  version = "1.15.5";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-O7sv8tVBzqpPN7u1Ug/f5CfDAlI9k9wuaEzc+dmCsRM=";
+    hash = "sha256-5QrUB7p78HmwTUagYKNbFxndUKdeGd51gpqIO1O/8H4=";
   };
 
-  cargoHash = "sha256-JFbMmRIG0AwwpHvoVSym+14TUOISyrJZoTaZz7rT66w=";
+  cargoHash = "sha256-ZNWG3eKnT2LFywIQO1iLIhaUKrINdwbCsSbC55wFrF4=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index 71887c8b47d..a2614b2f1a9 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.2";
+  version = "0.8.3";
   pname = "extremetuxracer";
 
   src = fetchurl {
     url = "mirror://sourceforge/extremetuxracer/etr-${version}.tar.xz";
-    sha256 = "sha256-HIdJZeniSVM78VwI2rxh5gwFuz/VeJF4gBF/+KkQzU4=";
+    sha256 = "sha256-LuQvP1/C+NSap1BW6xFvbKuE1lZBIOaWGuWSc2ckURM=";
   };
 
   nativeBuildInputs = [ pkg-config intltool ];
diff --git a/pkgs/games/lgames/lpairs2/default.nix b/pkgs/games/lgames/lpairs2/default.nix
index 977c640d863..c8b04487946 100644
--- a/pkgs/games/lgames/lpairs2/default.nix
+++ b/pkgs/games/lgames/lpairs2/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lpairs2";
-  version = "2.2";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
-    hash = "sha256-swe/cB9RqxHSNSShiryJ8XfwZk2X6qIDxFURbwNOd58=";
+    hash = "sha256-n2/3QxsnRzVgzKzOUF6RLzpHJ2R8z67Mkjwdh2ghn28=";
   };
 
   buildInputs = [
diff --git a/pkgs/misc/drivers/utsushi/default.nix b/pkgs/misc/drivers/utsushi/default.nix
index e33a40f0ad5..e270a21f5d5 100644
--- a/pkgs/misc/drivers/utsushi/default.nix
+++ b/pkgs/misc/drivers/utsushi/default.nix
@@ -37,6 +37,10 @@ in stdenv.mkDerivation rec {
       url = "https://raw.githubusercontent.com/archlinux/svntogit-community/b3046e0e78b95440f135fcadb19a9eb531729a58/trunk/boost-1.74.patch";
       sha256 = "sha256-W8R1l7ZPcsfiIy1QBJvh0M8du0w1cnTg3PyAz65v4rE=";
     })
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/iscan/files/iscan-3.65.0-sane-backends-1.1.patch";
+      sha256 = "sha256-AmMZ+/lrUMR7IU+S8MEn0Ji5pqOiD6izFJBsJ0tCCCw=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix b/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix
index 741c1a82f34..ad52653968d 100644
--- a/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix
@@ -75,6 +75,7 @@ let
       name = "llvmPackages_${v}";
       value = pkgs."llvmPackages_${v}" // {
         stdenv = mkStdenv pkgs."llvmPackages_${v}".stdenv;
+        clang = mkCc pkgs."llvmPackages_${v}".clang;
       };
     })
     [ "12" "13" "14" "15" "16" ]
diff --git a/pkgs/os-specific/linux/blktrace/default.nix b/pkgs/os-specific/linux/blktrace/default.nix
index 8ff4b16a1a5..d1b2376e7bd 100644
--- a/pkgs/os-specific/linux/blktrace/default.nix
+++ b/pkgs/os-specific/linux/blktrace/default.nix
@@ -13,14 +13,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libaio ];
 
-  preConfigure = ''
-    sed s,/usr/local,$out, -i Makefile
-  '';
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+    "CC:=$(CC)"
+  ];
 
   meta = with lib; {
     description = "Block layer IO tracing mechanism";
-    maintainers = with maintainers; [ ];
-    license = licenses.gpl2;
+    maintainers = with maintainers; [ nickcao ];
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/jool/cli.nix b/pkgs/os-specific/linux/jool/cli.nix
index 67e1575ff7e..e6a41ef31ec 100644
--- a/pkgs/os-specific/linux/jool/cli.nix
+++ b/pkgs/os-specific/linux/jool/cli.nix
@@ -10,11 +10,6 @@ stdenv.mkDerivation {
 
   src = sourceAttrs.src;
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/NICMx/Jool/commit/490ddb0933061cab3c2a7952dffc61789deed565.patch";
-    hash = "sha256-1dpMth0ocPHujlk+96St1a63RipcWiL/CdmSz4O87Lg=";
-  }) ];
-
   outputs = [
     "out"
     "man"
diff --git a/pkgs/os-specific/linux/jool/default.nix b/pkgs/os-specific/linux/jool/default.nix
index 2d1a4479081..2ee5f0d6e07 100644
--- a/pkgs/os-specific/linux/jool/default.nix
+++ b/pkgs/os-specific/linux/jool/default.nix
@@ -12,13 +12,6 @@ stdenv.mkDerivation {
   nativeBuildInputs = kernel.moduleBuildDependencies;
   hardeningDisable = [ "pic" ];
 
-  patches = [
-    (fetchpatch {
-      url = "https://git.launchpad.net/ubuntu/+source/jool/plain/debian/patches/0001-Linux-6.2.patch?id=3708a5b6c492b7d8e9f78596e61ae8f74ec9640f";
-      hash = "sha256-GkyDY6tcJp7Xd28mrDorEJHxsEowZBJP7BRAdPpsyF8=";
-    })
-  ];
-
   prePatch = ''
     sed -e 's@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@' -i src/mod/*/Makefile
   '';
diff --git a/pkgs/os-specific/linux/jool/source.nix b/pkgs/os-specific/linux/jool/source.nix
index b221598c0e7..d98747d890e 100644
--- a/pkgs/os-specific/linux/jool/source.nix
+++ b/pkgs/os-specific/linux/jool/source.nix
@@ -1,11 +1,11 @@
 { fetchFromGitHub }:
 
 rec {
-  version = "4.1.9";
+  version = "4.1.10";
   src = fetchFromGitHub {
     owner = "NICMx";
     repo = "Jool";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sKrjn/XQANiXfkjNiFfvAkmONyQjVigFBKgcGkuIPs0=";
+    hash = "sha256-98XbBdSmgcepPZxX6hoPim+18lHLbrjqlbipB92nyAc=";
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 44997740aea..0d0bddb6131 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -92,6 +92,21 @@ let
       X86_AMD_PSTATE                   = whenAtLeast "5.17" yes;
       # Intel DPTF (Dynamic Platform and Thermal Framework) Support
       ACPI_DPTF                        = whenAtLeast "5.10" yes;
+
+      # Required to bring up some Bay Trail devices properly
+      I2C                              = yes;
+      I2C_DESIGNWARE_PLATFORM          = yes;
+      PMIC_OPREGION                    = whenAtLeast "5.10" yes;
+      INTEL_SOC_PMIC                   = whenAtLeast "5.10" yes;
+      BYTCRC_PMIC_OPREGION             = whenAtLeast "5.10" yes;
+      CHTCRC_PMIC_OPREGION             = whenAtLeast "5.10" yes;
+      XPOWER_PMIC_OPREGION             = whenAtLeast "5.10" yes;
+      BXT_WC_PMIC_OPREGION             = whenAtLeast "5.10" yes;
+      INTEL_SOC_PMIC_CHTWC             = whenAtLeast "5.10" yes;
+      CHT_WC_PMIC_OPREGION             = whenAtLeast "5.10" yes;
+      INTEL_SOC_PMIC_CHTDC_TI          = whenAtLeast "5.10" yes;
+      CHT_DC_TI_PMIC_OPREGION          = whenAtLeast "5.10" yes;
+      TPS68470_PMIC_OPREGION           = whenAtLeast "5.10" yes;
     };
 
     external-firmware = {
@@ -110,6 +125,16 @@ let
       CC_OPTIMIZE_FOR_SIZE = no;
     };
 
+    memory = {
+      DAMON = whenAtLeast "5.15" yes;
+      DAMON_VADDR = whenAtLeast "5.15" yes;
+      DAMON_PADDR = whenAtLeast "5.15" yes;
+      DAMON_SYSFS = whenAtLeast "5.15" yes;
+      DAMON_DBGFS = whenAtLeast "5.15" yes;
+      DAMON_RECLAIM = whenAtLeast "5.15" yes;
+      DAMON_LRU_SORT = whenAtLeast "5.15" yes;
+    };
+
     memtest = {
       MEMTEST = yes;
     };
@@ -617,6 +642,11 @@ let
       RING_BUFFER_BENCHMARK = no;
     };
 
+    perf = {
+      # enable AMD Zen branch sampling if available
+      PERF_EVENTS_AMD_BRS       = whenAtLeast "5.19" (option yes);
+    };
+
     virtualisation = {
       PARAVIRT = option yes;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 2c2daa7a678..a41e15e863d 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.318";
+  version = "4.14.319";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1g0i68q7xjcjqigwza60i8rqhxsd1l86czqnjv5312lvg5z34fn6";
+    sha256 = "1y8zp9jkyid4g857nfm7xhsya3d9vx2dni8l7ishn2gl087pb95c";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index fcb6bd671a7..147c8f1396f 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.286";
+  version = "4.19.287";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1788a68fbga03nkgbvai2bi89v826915829727j4zcilyc21b127";
+    sha256 = "0wracrahi4qm6klsd9bnlwwdcaqbclx2mqc5d7vbvxxzfn69nsi8";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index 99724c8a526..a94a85fd02a 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.184";
+  version = "5.10.185";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0219qv9rxg4fi7w2s0s9y7ggral40wm2riis58hmg80z3nybxabp";
+    sha256 = "143hghmj4lxiyavndvdmwg5mig8s2i4ffrmd8zwqqwy8ipn641i8";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index fbf157cd0f9..c25fdecffa3 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.117";
+  version = "5.15.118";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "17r3yyy4yzxyi4n1ri3sb42m9y1vnn4dcc0zli04n00f7hgk7a59";
+    sha256 = "1cxm7s19l2f38chxrlvx7crvqcygmc77rhsc3lfx3m84vgdg8ssf";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 8db48e56cbe..c5d708ff6d9 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.247";
+  version = "5.4.248";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1mzyzxfsqp085qx17wp9xz7z4w79kks0jpdba7mx8k9i097hs09k";
+    sha256 = "0d9yn51rg59k39h0w6wmvjqz9n7najm9x8yb79rparbcwwrd3gis";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-6.1.nix b/pkgs/os-specific/linux/kernel/linux-6.1.nix
index 41b957669e8..b3d7132ca90 100644
--- a/pkgs/os-specific/linux/kernel/linux-6.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-6.1.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.1.34";
+  version = "6.1.35";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
-    sha256 = "00yniq1smlckp18k3bf6bzys8d7wfbrkdwhikz2fycc0pyy7qvxj";
+    sha256 = "1b16pk0b45k1q53nzbwv6wh0aqn160b1kip8scywf3axpi1q2dmy";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-6.3.nix b/pkgs/os-specific/linux/kernel/linux-6.3.nix
index b7b5923d6bb..e6778222b00 100644
--- a/pkgs/os-specific/linux/kernel/linux-6.3.nix
+++ b/pkgs/os-specific/linux/kernel/linux-6.3.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.3.8";
+  version = "6.3.9";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
-    sha256 = "0m89safyzi0rklsqvii5vkg92rdmvnl4lvyk6m648bhf4lhx88s3";
+    sha256 = "0gmi55hhdw1f1qyvd04v17x596yh8wis42vmcd8vhymik49z5v21";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 3202519f86b..0681df9ceb3 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "19331";
-    sha256 = "063xjwhsmjm4zfcj9ivlx10nr3f36adw1aqp8dyasq83jqbwbfhd";
+    rev = "19337";
+    sha256 = "1ps7f7dfxjsl6xj6fiz5nw01an44aqsjmfmjzs8y2h0jpb7il9s5";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index cd8ed2a1757..65a4462bbb3 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.78-rt55"; # updated by ./update-rt.sh
+  version = "5.10.184-rt90"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -17,14 +17,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "03q5lrv8gr9hnm7984pxi9kwsvxrn21qwykj60amisi2wac6r05y";
+    sha256 = "0219qv9rxg4fi7w2s0s9y7ggral40wm2riis58hmg80z3nybxabp";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1wcw682r238qi5jgn5zk9m6j2506p9ypfax13bzhjfyjzz3h98kp";
+      sha256 = "1cyxlc229j23yqgl65h3hgv51x76h1pppcn6ihicvc50vv7h5mjk";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index deb48cea78d..4e1c34d6ae4 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.4-rc6";
+  version = "6.4-rc7";
   extraMeta.branch = lib.versions.majorMinor version;
 
   # modDirVersion needs to be x.y.z, will always add .0
@@ -11,7 +11,7 @@ buildLinux (args // rec {
 
   src = fetchzip {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    hash = "sha256-gJSVjuYoA5k7XuxRirS/ac770ZfXqIUvI7BUPwxvN1g=";
+    hash = "sha256-UDhLrKe8yMvmWbS19Xt1G3SQpAUWyKrfV3v1MJ5Vep8=";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index d7ea4ac2c49..1c244664975 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -407,6 +407,9 @@ stdenv.mkDerivation ({
       maintainers.thoughtpolice
     ];
     platforms = platforms.linux;
+    badPlatforms =
+      lib.optionals (lib.versionOlder version "4.15") [ "riscv32-linux" "riscv64-linux" ] ++
+      lib.optional (lib.versionOlder version "5.19") "loongarch64-linux";
     timeout = 14400; # 4 hours
   } // extraMeta;
 } // optionalAttrs (pos != null) {
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index a918c5c0026..0c1b366178f 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bird";
-  version = "2.13";
+  version = "2.13.1";
 
   src = fetchurl {
     url = "ftp://bird.network.cz/pub/bird/${pname}-${version}.tar.gz";
-    hash = "sha256-jYlePjEYgOnvuIi0OGy+wvfhi/uDNOjUyMp8Q0EJJjg=";
+    hash = "sha256-l7uNV76bxQg+K1ZkFtJ+MUFihWoSynx34gLkZ9INQIA=";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index ed64f6b791f..d893c10d142 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -116,7 +116,7 @@ wrapped-full = runCommand unwrapped.name
     allowSubstitutes = false;
     inherit (unwrapped) meta;
   }
-  ''
+  (''
     mkdir -p "$out"/bin
     makeWrapper '${unwrapped}/bin/kresd' "$out"/bin/kresd \
       --set LUA_PATH  "$LUA_PATH" \
@@ -125,10 +125,10 @@ wrapped-full = runCommand unwrapped.name
     ln -sr '${unwrapped}/share' "$out"/
     ln -sr '${unwrapped}/lib'   "$out"/ # useful in NixOS service
     ln -sr "$out"/{bin,sbin}
-
+  '' + lib.optionalString unwrapped.doInstallCheck ''
     echo "Checking that 'http' module loads, i.e. lua search paths work:"
     echo "modules.load('http')" > test-http.lua
     echo -e 'quit()' | env -i "$out"/bin/kresd -a 127.0.0.1#53535 -c test-http.lua
-  '';
+  '');
 
 in result
diff --git a/pkgs/servers/frr/default.nix b/pkgs/servers/frr/default.nix
index 7ba59058def..f50e3c0b2a8 100644
--- a/pkgs/servers/frr/default.nix
+++ b/pkgs/servers/frr/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "frr";
-  version = "8.5.1";
+  version = "8.5.2";
 
   src = fetchFromGitHub {
     owner = "FRRouting";
     repo = pname;
     rev = "${pname}-${version}";
-    hash = "sha256-dK6eVYj9OIVChnR90FDTB7ow93nLLNRaOG8YEXxh8UQ=";
+    hash = "sha256-xJCaVh/PlV6WRv/JRHO/vzF72E6Ap8/RaqLnkYTnk14=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index fe454d25d12..54b15ae6139 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix args {
-  version = "1.25.0";
-  hash = "sha256-XtRNRZQycqTopbz0Q0I3IQ8t4xuQP8peOBwbvX7uHow=";
+  version = "1.25.1";
+  hash = "sha256-8JBxrEbg6jrcAAjvC6yiKfxrS+RTO675u7+6feKahgI=";
 }
diff --git a/pkgs/servers/irc/inspircd/default.nix b/pkgs/servers/irc/inspircd/default.nix
index 3fcf60686cc..d554b17542e 100644
--- a/pkgs/servers/irc/inspircd/default.nix
+++ b/pkgs/servers/irc/inspircd/default.nix
@@ -145,13 +145,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "inspircd";
-  version = "3.16.0";
+  version = "3.16.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TKjUgy8S76gn9a9hbrWehb6BGI+dSFn1gYc0MCppyJk=";
+    sha256 = "sha256-UpDjxF4zRrtiY4Z1tRML1uWQdklfgCeLsJtxCKfHOdw=";
   };
 
   outputs = [ "bin" "lib" "man" "doc" "out" ];
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index d5271cadd24..9f568dec5d7 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -9,13 +9,13 @@
 
 buildDotnetModule rec {
   pname = "jackett";
-  version = "0.21.258";
+  version = "0.21.275";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha512-Y+vYh6T1NvOGGyZwzFY+h24CWhRtKGQSxTTqWL3xMQC6YB74W1I7hnQPz+X4Gae9/5ozShOzBzpcsMOvUQWl5Q==";
+    hash = "sha512-MQrIzt/V6MWhRvdpBFR1sg8CeJNE3r05+DdxVYssRjFSqDOLTAOoL8Dd0S2upuzFTBcxB2dIYDYfdKrtUT8suA==";
   };
 
   projectFile = "src/Jackett.Server/Jackett.Server.csproj";
diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix
index a906059b197..dbcdad04070 100644
--- a/pkgs/servers/klipper/default.nix
+++ b/pkgs/servers/klipper/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "klipper";
-  version = "unstable-2023-04-24";
+  version = "unstable-2023-06-21";
 
   src = fetchFromGitHub {
     owner = "KevinOConnor";
     repo = "klipper";
-    rev = "b17ae55f5bd3a079ab3626b1e6fd5c60416e6ba0";
-    sha256 = "sha256-e1luOJdTeSB/UNl/W91tBuuQ5f2fKfo1CSMQiE+A1T4=";
+    rev = "d32a83345518f4bb632bef9ca2de669b35f0e555";
+    sha256 = "sha256-XpAUv4NVERVGxV4lk6u15lIIce8ZrYf9uN3fdL5xolI=";
   };
 
   sourceRoot = "source/klippy";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     makeWrapper
   ];
 
-  buildInputs = [ (python3.withPackages (p: with p; [ cffi pyserial greenlet jinja2 markupsafe numpy ])) ];
+  buildInputs = [ (python3.withPackages (p: with p; [ can cffi pyserial greenlet jinja2 markupsafe numpy ])) ];
 
   # we need to run this to prebuild the chelper.
   postBuild = ''
diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix
index e2fc9d22a19..a206f7b77e5 100644
--- a/pkgs/servers/miniflux/default.nix
+++ b/pkgs/servers/miniflux/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "miniflux";
-  version = "2.0.44";
+  version = "2.0.45";
 
 in buildGoModule {
   inherit pname version;
@@ -11,16 +11,14 @@ in buildGoModule {
     owner = pname;
     repo = "v2";
     rev = version;
-    sha256 = "sha256-PBhoKDljLpgi8cJicY7U7yrW3qNPDMzno/6PacOZ76E=";
+    sha256 = "sha256-/d5+Qc2kXZZkKe80+879YdxYt+zy/Y1sf2dwSjGw0EM=";
   };
 
-  vendorHash = "sha256-Ydd1LiVq4cCyj7dvcwxpKNU1HjcvXbSerHYJNoV/YQY=";
+  vendorHash = "sha256-nwKo4Sjg8HjuxeDUgwQYZ2LOHxkRSlyaBlQwSjOuJ7U=";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  checkPhase = ''
-    go test $(go list ./... | grep -v client)
-  ''; # skip client tests as they require network access
+  checkFlags = [ "-skip=TestClient" ]; # skip client tests as they require network access
 
   ldflags = [
     "-s" "-w" "-X miniflux.app/version.Version=${version}"
diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix
index c095c86108d..8a6434ac9a6 100644
--- a/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "grafana-agent";
-  version = "0.34.1";
+  version = "0.34.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "grafana";
     repo = "agent";
-    hash = "sha256-xgmh5oFI6Pd0q31zJluLtbhF0ZfuXy2cEPk06sW9SH8=";
+    hash = "sha256-PGxqIeOqc2U4i6l3ENnpb1BAoWrEAh2p3X+azzbpl3k=";
   };
 
-  vendorHash = "sha256-LKHs6KHdXtCMImYiUmi2pfMbfpt9alpvWS4rlo5kuCI=";
+  vendorHash = "sha256-x9c6xRk1Ska+kqoFhAJ9ei35Lg8wsgDpZpfxJ3UExfg=";
   proxyVendor = true; # darwin/linux hash mismatch
 
   ldflags = let
@@ -67,10 +67,11 @@ buildGoModule rec {
     };
   };
 
-  meta = with lib; {
+  meta = {
     description = "A lightweight subset of Prometheus and more, optimized for Grafana Cloud";
-    license = licenses.asl20;
+    license = lib.licenses.asl20;
     homepage = "https://grafana.com/products/cloud";
-    maintainers = with maintainers; [ flokli emilylange ];
+    changelog = "https://github.com/grafana/agent/blob/${src.rev}/CHANGELOG.md";
+    maintainers = with lib.maintainers; [ flokli emilylange ];
   };
 }
diff --git a/pkgs/servers/monitoring/mackerel-agent/default.nix b/pkgs/servers/monitoring/mackerel-agent/default.nix
index e205c9168ee..f95c4555f63 100644
--- a/pkgs/servers/monitoring/mackerel-agent/default.nix
+++ b/pkgs/servers/monitoring/mackerel-agent/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "mackerel-agent";
-  version = "0.76.0";
+  version = "0.77.0";
 
   src = fetchFromGitHub {
     owner = "mackerelio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IfrJd7EQ9t/whypxyW7uwUQ5O1pcqDgRf1AbG6d9LPw=";
+    sha256 = "sha256-OlrV1mcqDE4Ck7iBg0SrPza+ZGVwqIIYjUPo3XVkJmc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   nativeCheckInputs = lib.optionals (!stdenv.isDarwin) [ nettools ];
   buildInputs = lib.optionals (!stdenv.isDarwin) [ iproute2 ];
 
-  vendorHash = "sha256-Ow1Ho6+VMvb0hKsAAd8nieFyVqDDX2prHDIkTuy1je8=";
+  vendorHash = "sha256-3HWb+fXJO8dn9TrtC8NzagO3I0uwsPINXqJhWZhbDhk=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 0abdb97a542..72f0aa71a70 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -32,10 +32,10 @@
 }:
 
 let
-  version = "2.42.0";
+  version = "2.44.0";
   webUiStatic = fetchurl {
     url = "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-web-ui-${version}.tar.gz";
-    sha256 = "sha256-QOnt8YZkq+/cmoaI8ZOrVbgVh5MnaKpDBVtPTckl4+A=";
+    sha256 = "sha256-4FNW78V5bQWbTwmaEpvKaB5f/+uYqXjf0F+FONZq5c4=";
   };
 in
 buildGoModule rec {
@@ -48,10 +48,10 @@ buildGoModule rec {
     owner = "prometheus";
     repo = "prometheus";
     rev = "v${version}";
-    sha256 = "sha256-UwowidKKn3fp2z/MSbwESpl2E4IIioEC0oV1QRE7ViQ=";
+    sha256 = "sha256-JCEJQ0GjP0jxyQudmgo2krjxXmsOFSwzh9Cm1XsrFZo=";
   };
 
-  vendorSha256 = "sha256-wUniz7E9l/5ldgPHo+wZkKaZuAH5kvjT0VDl4qkcoNs=";
+  vendorSha256 = "sha256-dR69FWhiT5FLQjZ1G0uf2QPCu9nEp2YkRjrkP1a/948=";
 
   excludedPackages = [ "documentation/prometheus-mixin" ];
 
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 45a793ee2ab..90cea66031d 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -8,7 +8,7 @@
 
 buildGoModule rec {
   pname = "telegraf";
-  version = "1.27.0";
+  version = "1.27.1";
 
   excludedPackages = "test";
 
@@ -18,10 +18,10 @@ buildGoModule rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "v${version}";
-    sha256 = "sha256-uA3vmFVYTr0iUDFpYPHSzpsCXzGE0qdIw+5LoVzfkug=";
+    sha256 = "sha256-P0E5/sFvrO58SG94cGatRFPWMwrBBrvxdckc0mUaFPE=";
   };
 
-  vendorHash = "sha256-CHYJOnPfE7En9PXnpt+nWFPRDMh8RPDcgOS/gJu9l3w=";
+  vendorHash = "sha256-n6tPCVormgNEDcUmDXmpiFjJQXgAccGtCFT1GHwOdV4=";
   proxyVendor = true;
 
   ldflags = [
diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix
index 54443f8c4f1..c7bec1e4f7e 100644
--- a/pkgs/servers/nosql/eventstore/default.nix
+++ b/pkgs/servers/nosql/eventstore/default.nix
@@ -39,18 +39,7 @@ buildDotnetModule rec {
     "EventStore.Projections.Core.Tests.Services.grpc_service.ServerFeaturesTests<LogFormat+V3,UInt32>.should_receive_expected_endpoints"
   ];
 
-  nugetBinariesToPatch = lib.optionals stdenv.isLinux [
-    "grpc.tools/2.49.1/tools/linux_x64/protoc"
-    "grpc.tools/2.49.1/tools/linux_x64/grpc_csharp_plugin"
-  ];
-
   postConfigure = ''
-    # Fixes execution of native protoc binaries during build
-    for binary in $nugetBinariesToPatch; do
-      path="$HOME/.nuget/packages/$binary"
-      patchelf --set-interpreter "$(cat $NIX_BINTOOLS/nix-support/dynamic-linker)" $path
-    done
-
     # Fixes git execution by GitInfo on mac os
     substituteInPlace "$HOME/.nuget/packages/gitinfo/2.0.26/build/GitInfo.targets" \
       --replace "<GitExe Condition=\"Exists('/usr/bin/git')\">/usr/bin/git</GitExe>" " " \
diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix
index 1d821f71ed3..6dc05106588 100644
--- a/pkgs/servers/snappymail/default.nix
+++ b/pkgs/servers/snappymail/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "snappymail";
-  version = "2.28.1";
+  version = "2.28.2";
 
   src = fetchurl {
     url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz";
-    sha256 = "sha256-et3KuILHNPUMaqgOffMh1w73h0ThUbc/lR82pFaG6rM=";
+    sha256 = "sha256-GrF3WTe4Mr27FlvVQg0WrDu/k8AYJUWUDzbKmgqeQ6E=";
   };
 
   sourceRoot = "snappymail";
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index a3d69a5098e..91b1f0cfefd 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -1,16 +1,17 @@
 { lib, stdenv, fetchFromGitHub, buildEnv
 , asio, boost, check, openssl, cmake
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
   pname = "mariadb-galera";
-  version = "26.4.14";
+  version = "26.4.15";
 
   src = fetchFromGitHub {
     owner = "codership";
     repo = "galera";
     rev = "release_${version}";
-    hash = "sha256-oRDzRylZEqmhtE70XWmwqt6eJaJyGgySjdxouznLP1g=";
+    hash = "sha256-9CjxtNvsj2qM65u+R0pJZVwEaTdqtqURrfOGbT+/5ks=";
     fetchSubmodules = true;
   };
 
@@ -29,6 +30,10 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/libgalera_smm.so $out/lib/galera/libgalera_smm.so
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) mariadb-galera;
+  };
+
   meta = with lib; {
     description = "Galera 3 wsrep provider library";
     homepage = "https://galeracluster.com/";
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index 01ccb843b12..3af5e5b6f55 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -1,16 +1,19 @@
 { lib, stdenv, buildGoModule, fetchFromGitHub, makeWrapper, iptables, iproute2, procps, shadow, getent }:
 
-buildGoModule rec {
+let
+  version = "1.44.0";
+in
+buildGoModule {
   pname = "tailscale";
-  version = "1.42.0";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    hash = "sha256-J7seajRoUOG/nm5iYuiv3lcS5vTT1XxZTxiSmf/TjGI=";
+    hash = "sha256-/SiQFkhVseLkjK7ePNzNyBs0r3XE3kHJ6CDTFjdCXec=";
   };
-  vendorHash = "sha256-7L+dvS++UNfMVcPUCbK/xuBPwtrzW4RpZTtcl7VCwQs=";
+  vendorHash = "sha256-fgCrmtJs1svFz0Xn7iwLNrbBNlcO6V0yqGPMY0+V1VQ=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
 
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 40ad357739b..e96fa68ba0c 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -214,7 +214,7 @@ let
 
   checkDependencyList = checkDependencyList' [];
   checkDependencyList' = positions: name: deps: lib.flip lib.imap1 deps (index: dep:
-    if lib.isDerivation dep || dep == null || builtins.typeOf dep == "string" || builtins.typeOf dep == "path" then dep
+    if lib.isDerivation dep || dep == null || builtins.isString dep || builtins.isPath dep then dep
     else if lib.isList dep then checkDependencyList' ([index] ++ positions) name dep
     else throw "Dependency is not of a valid type: ${lib.concatMapStrings (ix: "element ${toString ix} of ") ([index] ++ positions)}${name} for ${attrs.name or attrs.pname}");
 in if builtins.length erroneousHardeningFlags != 0
diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix
index 5f04e4b46ac..29f47eff7ca 100644
--- a/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/pkgs/tools/X11/opentabletdriver/default.nix
@@ -2,7 +2,6 @@
 , buildDotnetModule
 , fetchFromGitHub
 , fetchurl
-, dotnetCorePackages
 , gtk3
 , libX11
 , libXrandr
@@ -19,13 +18,13 @@
 
 buildDotnetModule rec {
   pname = "OpenTabletDriver";
-  version = "0.6.0.4";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "OpenTabletDriver";
     repo = "OpenTabletDriver";
     rev = "v${version}";
-    sha256 = "sha256-VvxW8Ck+XC4nXSUyDhcbGoeSr5uSAZ66jtZNoADuVR8=";
+    sha256 = "sha256-9C6rtq+1WTinlAs0SJs1/J1QRnKm5pGNDSbLQ0kRUXY=";
   };
 
   debPkg = fetchurl {
diff --git a/pkgs/tools/X11/opentabletdriver/deps.nix b/pkgs/tools/X11/opentabletdriver/deps.nix
index c074419c44b..528ad04b6d5 100644
--- a/pkgs/tools/X11/opentabletdriver/deps.nix
+++ b/pkgs/tools/X11/opentabletdriver/deps.nix
@@ -16,9 +16,6 @@
   (fetchNuGet { pname = "HidSharpCore"; version = "1.2.1.1"; sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll"; })
   (fetchNuGet { pname = "MessagePack"; version = "2.1.194"; sha256 = "1v2gyd9sd6hppfhlzngmzzhnpr39b95rwrqq0r9zzp480b6vzaj0"; })
   (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.1.194"; sha256 = "1jkhq3hiy4brvzsywl4p4jb9jrnzs3vmgr3s8fxpb1dzafadw8b0"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "5.0.0"; sha256 = "0d7sjr89zwq0wxirf8la05hfalv9nhvlczg1c7a508k8aw79jvfg"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "5.0.17"; sha256 = "183xgqzlwd5lhacxdwcjl8vcq7r7xypv0hddps9k32mmmwf83d8h"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.17"; sha256 = "066fwdlssbv556zd9w1x87x1j8j4kafj9rxyy0692bssdb4gcyc8"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.1"; sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.9.4"; sha256 = "11wiyy3ykgk1sa9amy3lgcsg2v7d1sz59ggw647vx8ibpjxijjpp"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
@@ -26,11 +23,6 @@
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0-rc.1.21451.13"; sha256 = "0r6945jq7c2f1wjifq514zvngicndjqfnsjya6hqw0yzah0jr56c"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-rc.1.21451.13"; sha256 = "11dg16x6g0gssb143qpghxz1s41himvhr7yhjwxs9hacx4ij2dm1"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "5.0.17"; sha256 = "07v7vyqm556xr1ypkazfp6gh6drgf20zkwbhkpja8bwdcr6lphbb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "5.0.17"; sha256 = "1lc2jhr4ikffi5ylyf8f6ya6k0hdj0wp1l0017grrwd4m5ajj4vv"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; sha256 = "1p62khf9zk23lh91lvz7plv3g1nzmm3b5szqrcm6mb8w3sjk03wi"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "5.0.17"; sha256 = "16whaq82pj6fqa0vam3a0va9ly843aa1z12hza040vn6252kk9fq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.17"; sha256 = "0jgcfs3jc98jfyaaamssznckbpnaygplk8pjsp6dswpansz5bnnq"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; })
diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix
index 72812ee4660..e0404b681ae 100644
--- a/pkgs/tools/admin/awscli2/default.nix
+++ b/pkgs/tools/admin/awscli2/default.nix
@@ -18,14 +18,14 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.12.0"; # N.B: if you change this, check if overrides are still up-to-date
+  version = "2.12.2"; # N.B: if you change this, check if overrides are still up-to-date
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = version;
-    hash = "sha256-sT8GTw+HusR98NzdjNSvmAn5JoS5z3HaIljbswRLunk=";
+    hash = "sha256-BEg7Zlc1gmZ5PpbIY6xL9l69DVz0l2b6e5oiECRucLw=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index f37753aafc2..269a0ae8fad 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.144.0";
+  version = "0.145.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    hash = "sha256-ZbapTT9tZFz+TGefElU3oHhLc6mWqxd4L9HxcryFuHw=";
+    hash = "sha256-kVkehU6QiT3aQRR15hHc5pGtlRL5fb8/0Df2PR4hvxk=";
   };
 
-  vendorHash = "sha256-4ORKH9jnrow3gbV6zyiWb93yJzJVfIe/O+wST5+DmFQ=";
+  vendorHash = "sha256-pqA67TRXmnO7CV/QqwN6ngnS6u1gwKJFQYQtKHOGbMY=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/fioctl/default.nix b/pkgs/tools/admin/fioctl/default.nix
index b833fc1c089..a3529b5458f 100644
--- a/pkgs/tools/admin/fioctl/default.nix
+++ b/pkgs/tools/admin/fioctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fioctl";
-  version = "0.32.0";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner = "foundriesio";
     repo = "fioctl";
     rev = "v${version}";
-    sha256 = "sha256-3k3FoRU1yCtntVe3WTGUuhIBTD6KRvSsDISbjmNvzQI=";
+    sha256 = "sha256-9c0eyRij1L2C6nJ9ufDGONVenJTGdRALFojK3SFRTjI=";
   };
 
   vendorHash = "sha256-hSllpWjiYOBbANCX7usdAAF1HNAJ79ELK92qEyn8G1c=";
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 3048eaac33c..07de124f79c 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -33,14 +33,14 @@
 
 buildGoModule rec {
   pname = "lxd";
-  version = "5.14";
+  version = "5.15";
 
   src = fetchurl {
     urls = [
       "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz"
       "https://github.com/lxc/lxd/releases/download/lxd-${version}/lxd-${version}.tar.gz"
     ];
-    hash = "sha256-EtVZ0g9LD6dWA70/E1Ad/RWJjbvrAzU2hF3n6CdTMBE=";
+    hash = "sha256-ez/875yu0XYu5ORf4ak6RN1jWGxuGk0n9023zJkoluM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/misc/esphome/dashboard.nix b/pkgs/tools/misc/esphome/dashboard.nix
index a1293767adf..4bcfe520992 100644
--- a/pkgs/tools/misc/esphome/dashboard.nix
+++ b/pkgs/tools/misc/esphome/dashboard.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "esphome-dashboard";
-  version = "20230516.0";
+  version = "20230621.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Mkh31ip7xzG8e4qgIVc+HFN310SnuTGRp4HYbFqKa/A=";
+    hash = "sha256-e5nAhtM5Yc2KNmH6a041o6i6SnVCbaONulBe1ZCF0+w=";
   };
 
   # no tests
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index a458da1fe8c..d57a52f6828 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -16,14 +16,14 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "2023.5.5";
+  version = "2023.6.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-PV+uqJKXqnSMItWVg8iZVOQwxHrDHthezqyvciRq5+M=";
+    hash = "sha256-26oVqSNXuCyovybe0vi10rD89eSQHFYn+WHpGLMn2QA=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/fedifetcher/default.nix b/pkgs/tools/misc/fedifetcher/default.nix
new file mode 100644
index 00000000000..368157e9641
--- /dev/null
+++ b/pkgs/tools/misc/fedifetcher/default.nix
@@ -0,0 +1,39 @@
+{ lib, fetchFromGitHub, python3 }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "fedifetcher";
+  version = "5.0.1";
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "nanos";
+    repo = "FediFetcher";
+    rev = "v${version}";
+    hash = "sha256-O7YDxNQel1XFSjGrzdBI4PsejmzPVLvYLNF/vZgdh4w=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    python-dateutil
+    requests
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -vD find_posts.py $out/bin/fedifetcher
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A tool for Mastodon that automatically fetches missing replies and posts from other fediverse instances";
+    longDescription = ''
+      FediFetcher is a tool for Mastodon that automatically fetches missing
+      replies and posts from other fediverse instances, and adds them to your
+      own Mastodon instance.
+    '';
+    homepage = "https://blog.thms.uk/fedifetcher";
+    license = licenses.mit;
+    maintainers = with maintainers; [ delroth ];
+  };
+}
diff --git a/pkgs/tools/misc/plocate/default.nix b/pkgs/tools/misc/plocate/default.nix
index f767d31f6b9..356d58ccbc3 100644
--- a/pkgs/tools/misc/plocate/default.nix
+++ b/pkgs/tools/misc/plocate/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , lib
 , fetchgit
-, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -15,23 +14,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "plocate";
-  version = "1.1.17";
+  version = "1.1.19";
 
   src = fetchgit {
     url = "https://git.sesse.net/plocate";
     rev = version;
-    sha256 = "sha256-EcWzvbY8ey5asEJxUeSl10ozApgg+wL5o8NCNw7/W7k=";
+    sha256 = "sha256-Vf/NgUPDL3KWMpjnyB2QR2sU6rQfPIADNU6OlpN+O0M=";
   };
 
-  patches = [
-    # fix redefinition error
-    (fetchpatch {
-      url = "https://git.sesse.net/?p=plocate;a=patch;h=0125004cd28c5f9124632b594e51dde73af1691c";
-      revert = true;
-      sha256 = "sha256-1TDpxIdpDZQ0IZ/wGG91RVZDrpMpWkvhRF8oE0CJWIY=";
-    })
-  ];
-
   postPatch = ''
     sed -i meson.build \
       -e '/mkdir\.sh/d'
diff --git a/pkgs/tools/misc/tio/default.nix b/pkgs/tools/misc/tio/default.nix
index b72c17d2fae..cd03e4f52f5 100644
--- a/pkgs/tools/misc/tio/default.nix
+++ b/pkgs/tools/misc/tio/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tio";
-  version = "2.5";
+  version = "2.6";
 
   src = fetchFromGitHub {
     owner = "tio";
     repo = "tio";
     rev = "v${version}";
-    hash = "sha256-7mVLfzguQ7eNIFTJMLJyoM+/pveGO88j2JUEOqvnqvk=";
+    hash = "sha256-cYCkf9seaWcjrW0aDz+5FexfnTtiO3KQ1aX4OgG62Ug=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 2a525fa7af4..49a9d8ea3de 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -22,11 +22,11 @@ buildPythonPackage rec {
   # The websites yt-dlp deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2023.6.21";
+  version = "2023.6.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-VsNdGtPs+4KMO4n/4HsjWzVO3dguGjHdw9FuuMPnHo4=";
+    sha256 = "sha256-7WqLjgrQikVA1K+g/Qin+YACLHm5CBvZ5j3cAK7u5ag=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix
index f01c2aa17d6..ade6a6c6007 100644
--- a/pkgs/tools/networking/amass/default.nix
+++ b/pkgs/tools/networking/amass/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "3.23.2";
+  version = "3.23.3";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = "v${version}";
-    hash = "sha256-u8ARJZYd+25g3G2MoLWHZd5fgxPsj7Mtx7cROa8VvUA=";
+    hash = "sha256-aOir4ezLBNWoTaDeQDWoDdV/A+Qzbq09601297o6uDE=";
   };
 
   vendorHash = "sha256-zUl1q6rRjX958VXKnVB2YmLUpKMUtFvdh+hkIrTomes=";
diff --git a/pkgs/tools/networking/bgpq4/default.nix b/pkgs/tools/networking/bgpq4/default.nix
index 8c9d1513b28..f26b22e7967 100644
--- a/pkgs/tools/networking/bgpq4/default.nix
+++ b/pkgs/tools/networking/bgpq4/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bgpq4";
-  version = "1.10";
+  version = "1.11";
 
   src = fetchFromGitHub {
     owner = "bgp";
     repo = pname;
     rev = version;
-    sha256 = "sha256-h67c8c6CI1lJRu9Eiz3/Ax/MrgU/TPIAdLrLcSDF6zY=";
+    sha256 = "sha256-Mz26YWrVXiTOWywouehpTQ7PaakaXUsIHH+47m8vXDo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/networking/boundary/default.nix b/pkgs/tools/networking/boundary/default.nix
index 6459af797f7..a66d8a07426 100644
--- a/pkgs/tools/networking/boundary/default.nix
+++ b/pkgs/tools/networking/boundary/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "boundary";
-  version = "0.12.2";
+  version = "0.13.0";
 
   src =
     let
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
         aarch64-darwin = "darwin_arm64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-8JqteVRGT5UT1AgZeBMFjpTZOU/4/6/ZcJxdWcqU5G8=";
-        aarch64-linux = "sha256-msVbtcBfDFOjU7BebbtEV05LjBdWDlI1Q/8YEwMbyq0=";
-        x86_64-darwin = "sha256-ZXz0y6GvoCpeKcPJXV0t828fBBfeFAO+zmUAqCIOysU=";
-        aarch64-darwin = "sha256-4xnM7k5i4XssQQ6Y0h2hq9s4TLnuazhqXiGQMhR4HNU=";
+        x86_64-linux = "sha256-nz3b5EMuzZgwqh1guSyOuSqwmZpPOhY6jb/7CL65Q7c=";
+        aarch64-linux = "sha256-fyYdm5E9iuGcs6TxrwbbCC7/NU9p35T/2nEOdv7yU9k=";
+        x86_64-darwin = "sha256-xx16xCghd6t9BYrQAYqJTVdrS2G8qNQ5l4gG9SfDwRI=";
+        aarch64-darwin = "sha256-z/aHLRqybf7UiZue608VYDlKdIenEVVmMdd/XvIzXsc=";
       };
     in
     fetchzip {
diff --git a/pkgs/tools/networking/containerlab/default.nix b/pkgs/tools/networking/containerlab/default.nix
index bc8a57033c3..563b7c5b584 100644
--- a/pkgs/tools/networking/containerlab/default.nix
+++ b/pkgs/tools/networking/containerlab/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "containerlab";
-  version = "0.41.2";
+  version = "0.42.0";
 
   src = fetchFromGitHub {
     owner = "srl-labs";
     repo = "containerlab";
     rev = "v${version}";
-    hash = "sha256-HOsfQUCYlU19C30XKCQZj2Mw5NQfmp9miZYmN1s14QU=";
+    hash = "sha256-Vs3+5lnHy1QOisyq8heHlkE+Ezd6jDTFiTZUPxNQDnA=";
   };
 
-  vendorHash = "sha256-dumXV5o/x4rqvX3tATsWFXz6DSowTSgaiHvzFoQaDIw=";
+  vendorHash = "sha256-QaL4dlGw0az/hnYK20UOgh+AZ4wjhaopesJeN4zmeFE=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/networking/dhcpdump/default.nix b/pkgs/tools/networking/dhcpdump/default.nix
index d940731c7c9..4f625d9b137 100644
--- a/pkgs/tools/networking/dhcpdump/default.nix
+++ b/pkgs/tools/networking/dhcpdump/default.nix
@@ -1,27 +1,47 @@
-{ lib, stdenv, fetchurl, libpcap, perl }:
+{ lib
+, stdenv
+, fetchurl
+, perl
+, installShellFiles
+, libpcap
+}:
 
 stdenv.mkDerivation rec {
   pname = "dhcpdump";
   version = "1.8";
 
   src = fetchurl {
-    url = "mirror://ubuntu/pool/universe/d/dhcpdump/dhcpdump_${version}.orig.tar.gz";
-    sha256 = "143iyzkqvhj4dscwqs75jvfr4wvzrs11ck3fqn5p7yv2h50vjpkd";
+    url = "http://www.mavetju.org/download/dhcpdump-${version}.tar.gz";
+    hash = "sha256-bV65QYFi+3OLxW5MFoLOf3OS3ZblaMyZbkTCjef3cZA=";
   };
 
-  buildInputs = [libpcap perl];
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    perl # pod2man
+    installShellFiles
+  ];
+
+  buildInputs = [
+    libpcap
+  ];
 
   hardeningDisable = [ "fortify" ];
 
   installPhase = ''
-    mkdir -pv $out/bin
-    cp dhcpdump $out/bin
+    runHook preBuild
+
+    install -Dm555 dhcpdump "$out/bin/dhcpdump"
+    installManPage dhcpdump.8
+
+    runHook postBuild
   '';
 
   meta = with lib; {
     description = "A tool for visualization of DHCP packets as recorded and output by tcpdump to analyze DHCP server responses";
     homepage = "http://www.mavetju.org/unix/dhcpdump-man.php";
     platforms = platforms.linux;
+    maintainers = with maintainers; [ nickcao ];
     license = licenses.bsd2;
   };
 }
diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
index e370d72d7c6..f201d863b7a 100644
--- a/pkgs/tools/networking/iperf/3.nix
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iperf";
-  version = "3.12";
+  version = "3.13";
 
   src = fetchurl {
     url = "https://downloads.es.net/pub/iperf/iperf-${version}.tar.gz";
-    sha256 = "sha256-cgNOz7an1tZ+OE4Z+27/8yNspPftTFGNfbZJxEfh/9Y=";
+    sha256 = "sha256-vuQnrrE9ai7iIHPyMmH2NxLYK++qg6yMtNtdpMK9yGU=";
   };
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isLinux [ lksctp-tools ];
diff --git a/pkgs/tools/networking/netbird/default.nix b/pkgs/tools/networking/netbird/default.nix
index 42590cffa9a..a20b69bb054 100644
--- a/pkgs/tools/networking/netbird/default.nix
+++ b/pkgs/tools/networking/netbird/default.nix
@@ -30,16 +30,16 @@ let
 in
 buildGoModule rec {
   pname = "netbird";
-  version = "0.21.3";
+  version = "0.21.5";
 
   src = fetchFromGitHub {
     owner = "netbirdio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OPLt2IDC/utRdmpYo8V1VVThpv4Fy2X7lhF5BckKkMM=";
+    sha256 = "sha256-zsbxc6Arbqrx2LxmNJJXlsyQc7X6L84ej+2piy2Hy/k=";
   };
 
-  vendorHash = "sha256-D2jPpaPkbou/upkiOUhA8QJONyKTlTqx9Ylgkq+nBfo=";
+  vendorHash = "sha256-R5LhqW6uh7R8/vr60Sy0kVpAaTL3rwh5c4Ix08Rx6Zk=";
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;
 
diff --git a/pkgs/tools/networking/tcpreplay/default.nix b/pkgs/tools/networking/tcpreplay/default.nix
index ddc0eae97e6..8d0c8eb4fc4 100644
--- a/pkgs/tools/networking/tcpreplay/default.nix
+++ b/pkgs/tools/networking/tcpreplay/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tcpreplay";
-  version = "4.4.3";
+  version = "4.4.4";
 
   src = fetchurl {
     url = "https://github.com/appneta/tcpreplay/releases/download/v${version}/tcpreplay-${version}.tar.gz";
-    sha256 = "sha256-IWMxaS4QwS1/JXlF53eSjXm9CREX8+T/tbMS6yygv3w=";
+    sha256 = "sha256-RPGPttNHDsr3elG5AaEZ2uFtpb5NQUD/uyeF43rW1L8=";
   };
 
   buildInputs = [ libpcap ]
diff --git a/pkgs/tools/nix/nixpkgs-lint/default.nix b/pkgs/tools/nix/nixpkgs-lint/default.nix
new file mode 100644
index 00000000000..16e7582d3a9
--- /dev/null
+++ b/pkgs/tools/nix/nixpkgs-lint/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nixpkgs-lint";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = "nixpkgs-lint";
+    rev = "v${version}";
+    hash = "sha256-o1VWM46lEJ9m49s/ekZWf8DkCeeWm4J3PQtt8tVXHbg=";
+  };
+
+  cargoHash = "sha256-LWtBO0Ai5cOtnfZElBrHZ7sDdp3ddfcCRdTA/EEDPfE=";
+
+  meta = with lib; {
+    description = "A fast semantic linter for Nix using tree-sitter";
+    homepage = "https://github.com/nix-community/nixpkgs-lint";
+    changelog = "https://github.com/nix-community/nixpkgs-lint/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ artturin figsoda ];
+  };
+}
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 8c7726ad9c9..975afb5044b 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2023-06-20";
+  version = "2023-06-22";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-rtxgUnmNAZDnyczucpRB0ItyM5lk0us33I/ejYTDn4U=";
+    hash = "sha256-l9JM6j0UqMqEKpH4cTM5sqlGwIDFjjCNxOk40mdI2aY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index 551a845ba19..3cd0fe48886 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.62.3";
+  version = "0.63.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-GZj0grVqpIE+BwCUpcDnoa7Lnm+FXu4wNbfINA9uuzQ=";
+    hash = "sha256-MccjZ7EDpyiu/Bv7KItwG5JtGKOSSwMevd21hXBi3+o=";
     # 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;
@@ -28,7 +28,7 @@ buildGoModule rec {
 
   proxyVendor = true;
 
-  vendorHash = "sha256-pK8Gse/Qb+Z3QHEq35gB72Lvsm7ot4HmH62sxhVopv8=";
+  vendorHash = "sha256-RbQvWIy8yebohKNaT3ixJqvz+8vewpxMoBALO5kJpWw=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/security/katana/default.nix b/pkgs/tools/security/katana/default.nix
index c25f58bfa6a..6cf5d1cb7ab 100644
--- a/pkgs/tools/security/katana/default.nix
+++ b/pkgs/tools/security/katana/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "katana";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-LXyYdfBrqtMN4qGakQDG/axzmDTYkwCun2xw9Heaejk=";
+    hash = "sha256-MhvagLlJ3WuZ3eEA0KI0sJ1ioFyqCcC9lejvewIFg5M=";
   };
 
-  vendorHash = "sha256-MEmVmokQX/HfBPvObeW1M5L6zm2KXB1yzGmNFBjt+i0=";
+  vendorHash = "sha256-1XT8VOBztC/V5Yguzq91ZoOWlkdT6fJrvcxp7KvtNqw=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index fbabe92b199..71a4ca5cf21 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -1,32 +1,17 @@
 { lib, stdenv, fetchurl, fetchpatch, libpcap, pkg-config, openssl, lua5_3
 , pcre, libssh2
-, libX11 ? null
-, gtk2 ? null
-, makeWrapper ? null
 , withLua ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "nmap";
-  version = "7.93";
+  version = "7.94";
 
   src = fetchurl {
     url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
-    sha256 = "sha256-Vbz+R5PiWsyWukJ02MQijbVQuOjv1yAEs47FWi3RZlE=";
+    sha256 = "sha256-1xvhie7EPX4Jm6yFcVCdMWxFd8p5SRgyrD4SF7yPksw=";
   };
 
-  patches = [ ./zenmap.patch ]
-    ++ lib.optionals stdenv.cc.isClang [(
-      # Fixes a compile error due an ambiguous reference to bind(2) in
-      # nping/EchoServer.cc, which is otherwise resolved to std::bind.
-      # https://github.com/nmap/nmap/pull/1363
-      fetchpatch {
-        url = "https://github.com/nmap/nmap/commit/5bbe66f1bd8cbd3718f5805139e2e8139e6849bb.diff";
-        includes = [ "nping/EchoServer.cc" ];
-        sha256 = "0xcph9mycy57yryjg253frxyz87c4135rrbndlqw1400c8jxq70c";
-      }
-    )];
-
   prePatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace libz/configure \
         --replace /usr/bin/libtool ar \
diff --git a/pkgs/tools/security/nmap/zenmap.patch b/pkgs/tools/security/nmap/zenmap.patch
deleted file mode 100644
index 3cd39750c88..00000000000
--- a/pkgs/tools/security/nmap/zenmap.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ruN nmap-5.50.orig/zenmap/zenmapCore/Paths.py nmap-5.50/zenmap/zenmapCore/Paths.py
---- nmap-5.50.orig/zenmap/zenmapCore/Paths.py	2013-06-06 05:52:10.723087428 +0000
-+++ nmap-5.50/zenmap/zenmapCore/Paths.py	2013-06-06 07:07:25.481261761 +0000
-@@ -115,7 +115,10 @@
-     else:
-         # Normal script execution. Look in the current directory to allow
-         # running from the distribution.
--        return os.path.abspath(os.path.dirname(fs_dec(sys.argv[0])))
-+        #
-+        # Grrwlf: No,no,dear. That's not a script, thats Nixos wrapper. Go add
-+        # those '..' to substract /bin part.
-+        return os.path.abspath(os.path.join(os.path.dirname(fs_dec(sys.argv[0])), ".."))
-
- prefix = get_prefix()
-
diff --git a/pkgs/tools/security/tlsx/default.nix b/pkgs/tools/security/tlsx/default.nix
index 8767d16f107..cc945dfba3b 100644
--- a/pkgs/tools/security/tlsx/default.nix
+++ b/pkgs/tools/security/tlsx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "tlsx";
-  version = "1.0.9";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-1lI4UyfUb+gXFwIfSauS/TBzEqrwQSY1UqzFDRXEBuE=";
+    hash = "sha256-fLXDc4BKFFYUDEfNgltAva3XCR+xK+X8Cq/a7IgcJxw=";
   };
 
-  vendorHash = "sha256-xPKdyTXu2SUU5y5bk+8gZklG6QyAEdl+8LwJizvW9+o=";
+  vendorHash = "sha256-U/aLv/nb5Kdh1ghzKW/FzgMg/Qfydz5OCQTUfVlpkT4=";
 
   # Tests require network access
   doCheck = false;
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 75f9b62148b..364ce66de8c 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -49,7 +49,6 @@
 , withRdkafka ? true
 , rdkafka
 , withMongo ? true
-, libmongo-client
 , mongoc
 , withCzmq ? true
 , czmq
@@ -97,7 +96,7 @@ stdenv.mkDerivation rec {
   ++ lib.optional withNet libnet
   ++ lib.optional withHadoop hadoop
   ++ lib.optional withRdkafka rdkafka
-  ++ lib.optionals withMongo [ libmongo-client mongoc ]
+  ++ lib.optionals withMongo [ mongoc ]
   ++ lib.optional withCzmq czmq
   ++ lib.optional withRabbitmq rabbitmq-c
   ++ lib.optional withHiredis hiredis
diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix
index 70dfdc325c9..bb56897b9b3 100644
--- a/pkgs/tools/text/crowdin-cli/default.nix
+++ b/pkgs/tools/text/crowdin-cli/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "crowdin-cli";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchurl {
     url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip";
-    hash = "sha256-Key8zmFpQibTTaxbZT6kd6re9EdJ3wgEj+WiLervJiE=";
+    hash = "sha256-YQvCOdMIMMEtT2K9WBWp5xmDNGeICvgTs0GnX+D4DZI=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper unzip ];
diff --git a/pkgs/tools/text/riffdiff/default.nix b/pkgs/tools/text/riffdiff/default.nix
new file mode 100644
index 00000000000..7511f69c70c
--- /dev/null
+++ b/pkgs/tools/text/riffdiff/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "riffdiff";
+  version = "2.23.3";
+
+  src = fetchFromGitHub {
+    owner = "walles";
+    repo = "riff";
+    rev = version;
+    hash = "sha256-5C2Q9moFo39zeLK0PkY6S74I/MI8TVpD3tRAaX4TMT4=";
+  };
+
+  cargoHash = "sha256-xHdlU9YXvEvfspDntLLgWr/knAfjMmiWK9JCV9wtIIE=";
+
+  meta = with lib; {
+    description = "A diff filter highlighting which line parts have changed";
+    homepage = "https://github.com/walles/riff";
+    license = licenses.mit;
+    maintainers = with maintainers; [ johnpyp ];
+    mainProgram = "riff";
+  };
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index a6cd4fd2aa2..fad9272fe03 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -879,6 +879,7 @@ mapAliases ({
   liblastfm = libsForQt5.liblastfm; # Added 2020-06-14
   liblrdf = throw "'liblrdf' has been renamed to/replaced by 'lrdf'"; # Converted to throw 2022-02-22
   libmicrohttpd_0_9_70 = throw "'libmicrohttpd_0_9_70' has been removed because it is insecure, and has been replaced by 'libmicrohttpd_0_9_69' and 'libmicrohttpd_0_9_71'"; # Added 2022-10-10
+  libmongo-client = throw "'libmongo-client' has been removed, upstream gone"; # Added 2023-06-22
   libmsgpack = throw "'libmsgpack' has been renamed to/replaced by 'msgpack'"; # Converted to throw 2022-02-22
   libnih = throw "'libnih' has been removed"; # Converted to throw 2022-05-17
   libosmpbf = throw "libosmpbf was removed because it is no longer required by osrm-backend";
@@ -1263,6 +1264,10 @@ mapAliases ({
   phwmon = throw "phwmon has been removed: abandoned by upstream"; # Added 2022-04-24
 
   # Obsolete PHP version aliases
+  php80 = throw "php80 has been dropped due to the lack of maintenance from upstream for future releases"; # Added 2023-06-21
+  php80Packages = php80; # Added 2023-06-21
+  php80Extensions = php80; # Added 2023-06-21
+
   php74 = throw "php74 has been dropped due to the lack of maintenance from upstream for future releases"; # Added 2022-05-24
   php74Packages = php74; # Added 2022-05-24
   php74Extensions = php74; # Added 2022-05-24
@@ -1711,6 +1716,7 @@ mapAliases ({
   uchiwa = throw "uchiwa is deprecated and archived by upstream"; # Added 2022-05-02
   ucsFonts = throw "'ucsFonts' has been renamed to/replaced by 'ucs-fonts'"; # Converted to throw 2022-02-22
   ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now"; # Added 2020-01-11
+  uhhyou.lv2 = throw "'uhhyou.lv2' has been removed, upstream gone"; # Added 2023-06-21
   ultrastardx-beta = throw "'ultrastardx-beta' has been renamed to/replaced by 'ultrastardx'"; # Converted to throw 2022-02-22
   unicorn-emu = unicorn; # Added 2020-10-29
   uniffi-bindgen = throw "uniffi-bindgen has been removed since upstream no longer provides a standalone package for the CLI";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bd093a813e8..29600cc5848 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2031,6 +2031,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation;
   };
 
+  git-credential-manager = callPackage ../applications/version-management/git-credential-manager { };
+
   git-credential-oauth = callPackage ../applications/version-management/git-credential-oauth { };
 
   git-crypt = callPackage ../applications/version-management/git-crypt { };
@@ -2544,7 +2546,7 @@ with pkgs;
     inherit (darwin.apple_sdk_11_0.frameworks) CoreBluetooth ForceFeedback IOBluetooth IOKit OpenGL VideoToolbox;
     inherit (darwin) moltenvk;
     stdenv =
-      if stdenv.isDarwin && stdenv.isAarch64 then llvmPackages_14.stdenv
+      if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv
       else stdenv;
   };
 
@@ -3470,6 +3472,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  fedifetcher = callPackage ../tools/misc/fedifetcher { };
+
   fitnesstrax = callPackage ../applications/misc/fitnesstrax { };
 
   flavours = callPackage ../applications/misc/flavours { };
@@ -4819,6 +4823,8 @@ with pkgs;
 
   earlyoom = callPackage ../os-specific/linux/earlyoom { };
 
+  easyabc = callPackage ../applications/audio/easyabc { };
+
   easycrypt = callPackage ../applications/science/logic/easycrypt { };
 
   easycrypt-runtest = callPackage ../applications/science/logic/easycrypt/runtest.nix { };
@@ -5110,6 +5116,8 @@ with pkgs;
 
   gdrive = callPackage ../applications/networking/gdrive { };
 
+  gdrive3 = callPackage ../applications/networking/gdrive3 { };
+
   gdu = callPackage ../tools/system/gdu { };
 
   gfxreconstruct = callPackage ../tools/graphics/gfxreconstruct { };
@@ -9904,8 +9912,6 @@ with pkgs;
 
   libmbim = callPackage ../development/libraries/libmbim { };
 
-  libmongo-client = callPackage ../development/libraries/libmongo-client { };
-
   libmongocrypt = callPackage ../development/libraries/libmongocrypt { };
 
   libmesode = callPackage ../development/libraries/libmesode { };
@@ -11570,6 +11576,8 @@ with pkgs;
 
   poretools = callPackage ../applications/science/biology/poretools { };
 
+  porsmo = callPackage ../applications/misc/porsmo { };
+
   pantum-driver = callPackage ../misc/drivers/pantum-driver {
     libjpeg8 = libjpeg.override { enableJpeg8 = true; };
   };
@@ -11979,6 +11987,8 @@ with pkgs;
 
   richgo = callPackage ../development/tools/richgo {  };
 
+  rlci = callPackage ../development/interpreters/rlci { };
+
   rs = callPackage ../tools/text/rs { };
 
   rst2html5 = callPackage ../tools/text/rst2html5 { };
@@ -16643,6 +16653,7 @@ with pkgs;
   cargo-msrv = callPackage ../development/tools/rust/cargo-msrv {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
+  cargo-mutants = callPackage ../development/tools/rust/cargo-mutants { };
 
   cargo-ndk = callPackage ../development/tools/rust/cargo-ndk {
     inherit (darwin.apple_sdk.frameworks) CoreGraphics Foundation;
@@ -17316,16 +17327,6 @@ with pkgs;
   php81Extensions = recurseIntoAttrs php81.extensions;
   php81Packages = recurseIntoAttrs php81.packages;
 
-  # Import PHP80 interpreter, extensions and packages
-  php80 = callPackage ../development/interpreters/php/8.0.nix {
-    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
-    pcre2 = pcre2.override {
-      withJitSealloc = false; # See https://bugs.php.net/bug.php?id=78927 and https://bugs.php.net/bug.php?id=78630
-    };
-  };
-  php80Extensions = recurseIntoAttrs php80.extensions;
-  php80Packages = recurseIntoAttrs php80.packages;
-
   phpactor = callPackage ../development/tools/phpactor { };
 
   picoc = callPackage ../development/interpreters/picoc { };
@@ -19358,6 +19359,8 @@ with pkgs;
 
   riff = callPackage ../development/tools/misc/riff { };
 
+  riffdiff = callPackage ../tools/text/riffdiff {};
+
   rman = callPackage ../development/tools/misc/rman { };
 
   rnginline = with python3Packages; toPythonApplication rnginline;
@@ -35094,8 +35097,6 @@ with pkgs;
 
   uefi-run = callPackage ../tools/virtualization/uefi-run { };
 
-  uhhyou.lv2 = callPackage ../applications/audio/uhhyou.lv2 { };
-
   umurmur = callPackage ../applications/networking/umurmur { };
 
   udocker = callPackage ../tools/virtualization/udocker { };
@@ -38242,6 +38243,10 @@ with pkgs;
     rocmSupport = false;
   };
 
+  magma-cuda-static = magma-cuda.override {
+    static = true;
+  };
+
   # TODO:AMD won't compile with anything newer than 2.6.2 -- it fails at the linking stage.
   magma-hip = magma_2_6_2.override {
     cudaSupport = false;
@@ -38352,7 +38357,11 @@ with pkgs;
     fftw = fftw;
   };
 
-  lammps-mpi = lowPrio (lammps.override { withMPI = true; });
+  lammps-mpi = lowPrio (lammps.override {
+    extraBuildInputs = [
+      mpi
+    ];
+  });
 
   gromacs = callPackage ../applications/science/molecular-dynamics/gromacs {
     singlePrec = true;
@@ -39719,6 +39728,8 @@ with pkgs;
 
   nixpkgs-hammering = callPackage ../tools/nix/nixpkgs-hammering { };
 
+  nixpkgs-lint-community = callPackage ../tools/nix/nixpkgs-lint { };
+
   rnix-hashes = callPackage ../tools/nix/rnix-hashes { };
 
   nixos-artwork = callPackage ../data/misc/nixos-artwork { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index a477962fab6..b2714c0826a 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -22798,12 +22798,12 @@ with self; {
 
   SysVirt = buildPerlModule rec {
     pname = "Sys-Virt";
-    version = "9.0.0";
+    version = "9.4.0";
     src = fetchFromGitLab {
       owner = "libvirt";
       repo = "libvirt-perl";
       rev = "v${version}";
-      hash = "sha256-QiaB272kxs/Y3/l8KbFy8f9iyOCxhzfA/h2FnfGzmE4=";
+      hash = "sha256-3ER6kcUfNM5ULhN/MlOil4Rx3O84fLnIvH+Cb/oXTFM=";
     };
     nativeBuildInputs = [ pkgs.pkg-config ];
     buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index e1fa34835e1..6df7c8b1658 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -750,6 +750,8 @@ self: super: with self; {
 
   async-timeout = callPackage ../development/python-modules/async_timeout { };
 
+  async-tkinter-loop = callPackage ../development/python-modules/async-tkinter-loop { };
+
   asyncua = callPackage ../development/python-modules/asyncua { };
 
   async-upnp-client = callPackage ../development/python-modules/async-upnp-client { };
@@ -12315,6 +12317,10 @@ self: super: with self; {
 
   torch = callPackage ../development/python-modules/torch {
     cudaSupport = pkgs.config.cudaSupport or false;
+    magma =
+      if pkgs.config.cudaSupport or false
+      then pkgs.magma-cuda-static
+      else pkgs.magma;
     inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate CoreServices;
     inherit (pkgs.darwin) libobjc;
     inherit (pkgs.llvmPackages_rocm) openmp;
@@ -12325,7 +12331,7 @@ self: super: with self; {
   };
 
   torchWithCuda = self.torch.override {
-    magma = pkgs.magma-cuda;
+    magma = pkgs.magma-cuda-static;
     cudaSupport = true;
     rocmSupport = false;
   };