about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/noson/default.nix4
-rw-r--r--pkgs/applications/audio/spotify/linux.nix7
-rw-r--r--pkgs/applications/editors/android-studio/common.nix2
-rwxr-xr-xpkgs/applications/editors/android-studio/update.sh68
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix6
-rw-r--r--pkgs/applications/editors/jetbrains/bin/linux.nix2
-rw-r--r--pkgs/applications/editors/jetbrains/plugins/plugins.json161
-rw-r--r--pkgs/applications/editors/ldtk/default.nix2
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix12
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix5
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names1
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix32
-rw-r--r--pkgs/by-name/ce/centrifugo/package.nix6
-rw-r--r--pkgs/by-name/fl/flashmq/package.nix4
-rw-r--r--pkgs/by-name/gi/gitu/package.nix6
-rw-r--r--pkgs/by-name/ka/karmor/package.nix4
-rw-r--r--pkgs/by-name/ki/kitex/package.nix6
-rw-r--r--pkgs/by-name/la/lazysql/package.nix4
-rw-r--r--pkgs/by-name/le/lefthook/package.nix4
-rw-r--r--pkgs/by-name/ma/malwoverview/package.nix4
-rw-r--r--pkgs/by-name/pr/protoc-gen-prost-crate/package.nix (renamed from pkgs/development/tools/protoc-gen-prost-crate/default.nix)22
-rw-r--r--pkgs/by-name/pr/protoc-gen-prost-serde/package.nix (renamed from pkgs/development/tools/protoc-gen-prost-serde/default.nix)22
-rw-r--r--pkgs/by-name/pr/protoc-gen-prost/package.nix (renamed from pkgs/development/tools/protoc-gen-prost/default.nix)22
-rw-r--r--pkgs/by-name/pr/protoc-gen-tonic/package.nix (renamed from pkgs/development/tools/protoc-gen-tonic/default.nix)22
-rw-r--r--pkgs/by-name/qu/quickemu/package.nix21
-rw-r--r--pkgs/by-name/te/technitium-dns-server/package.nix8
-rw-r--r--pkgs/by-name/te/tenv/package.nix6
-rw-r--r--pkgs/by-name/vm/vmctl/package.nix70
-rw-r--r--pkgs/by-name/yo/yourkit-java/forbid-desktop-item-creation16
-rw-r--r--pkgs/by-name/yo/yourkit-java/package.nix95
-rwxr-xr-xpkgs/by-name/yo/yourkit-java/update.sh54
-rw-r--r--pkgs/development/compilers/flutter/default.nix4
-rw-r--r--pkgs/development/compilers/flutter/engine/dart.nix13
-rw-r--r--pkgs/development/compilers/flutter/engine/default.nix24
-rw-r--r--pkgs/development/compilers/flutter/engine/package.nix144
-rw-r--r--pkgs/development/compilers/flutter/engine/source.nix14
-rw-r--r--pkgs/development/compilers/flutter/flutter.nix26
-rw-r--r--pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in5
-rwxr-xr-xpkgs/development/compilers/flutter/update/update.py40
-rw-r--r--pkgs/development/compilers/flutter/versions/3_13/data.json37
-rw-r--r--pkgs/development/compilers/flutter/versions/3_16/data.json21
-rw-r--r--pkgs/development/compilers/flutter/versions/3_19/data.json7
-rw-r--r--pkgs/development/compilers/flutter/versions/3_22/data.json6
-rw-r--r--pkgs/development/compilers/flutter/versions/3_23/data.json5
-rw-r--r--pkgs/development/compilers/flutter/wrapper.nix4
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix43
-rwxr-xr-xpkgs/development/compilers/purescript/purescript/update.sh5
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/build-luarocks-package.nix4
-rw-r--r--pkgs/development/libraries/gtest/default.nix24
-rw-r--r--pkgs/development/python-modules/aionut/default.nix6
-rw-r--r--pkgs/development/python-modules/aiosteamist/default.nix36
-rw-r--r--pkgs/development/python-modules/aiovodafone/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncstdlib/default.nix4
-rw-r--r--pkgs/development/python-modules/hishel/default.nix4
-rw-r--r--pkgs/development/python-modules/justnimbus/default.nix4
-rw-r--r--pkgs/development/python-modules/llama-index-readers-s3/default.nix4
-rw-r--r--pkgs/development/python-modules/marshmallow-dataclass/default.nix4
-rw-r--r--pkgs/development/python-modules/mkdocstrings-python/default.nix4
-rw-r--r--pkgs/development/python-modules/puremagic/default.nix4
-rw-r--r--pkgs/development/python-modules/pybalboa/default.nix4
-rw-r--r--pkgs/development/python-modules/pydrawise/default.nix4
-rw-r--r--pkgs/development/python-modules/pyexploitdb/default.nix4
-rw-r--r--pkgs/development/python-modules/pygitguardian/default.nix23
-rw-r--r--pkgs/development/python-modules/qdrant-client/default.nix4
-rw-r--r--pkgs/development/python-modules/scancode-toolkit/default.nix4
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/slackclient/default.nix4
-rw-r--r--pkgs/development/python-modules/tencentcloud-sdk-python/default.nix4
-rw-r--r--pkgs/development/python-modules/thriftpy2/default.nix4
-rw-r--r--pkgs/development/rocm-modules/5/clr/default.nix4
-rw-r--r--pkgs/development/rocm-modules/6/clr/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/analysis/lcov/default.nix61
-rw-r--r--pkgs/development/tools/database/clickhouse-backup/default.nix4
-rw-r--r--pkgs/development/tools/language-servers/metals/default.nix4
-rw-r--r--pkgs/development/tools/misc/luarocks/luarocks-nix.nix4
-rw-r--r--pkgs/development/tools/reindeer/default.nix6
-rw-r--r--pkgs/development/tools/rye/Cargo.lock2
-rw-r--r--pkgs/development/tools/rye/default.nix18
-rw-r--r--pkgs/games/path-of-building/default.nix69
-rw-r--r--pkgs/games/stepmania/default.nix5
-rw-r--r--pkgs/servers/nextcloud/packages/27.json14
-rw-r--r--pkgs/servers/nextcloud/packages/28.json34
-rw-r--r--pkgs/servers/nextcloud/packages/29.json40
-rw-r--r--pkgs/servers/nextcloud/packages/nextcloud-apps.json1
-rw-r--r--pkgs/shells/nushell/nu_scripts/default.nix6
-rw-r--r--pkgs/tools/filesystems/dwarfs/default.nix68
-rw-r--r--pkgs/tools/filesystems/dwarfs/version_info.patch58
-rw-r--r--pkgs/tools/misc/hwatch/default.nix6
-rw-r--r--pkgs/tools/misc/mloader/default.nix4
-rw-r--r--pkgs/tools/misc/wyrd/default.nix2
-rw-r--r--pkgs/tools/package-management/nix-eval-jobs/2.19.nix47
-rw-r--r--pkgs/tools/package-management/nix-eval-jobs/default.nix6
-rw-r--r--pkgs/tools/security/amber/default.nix6
-rw-r--r--pkgs/tools/security/vals/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix32
-rw-r--r--pkgs/top-level/perl-packages.nix46
98 files changed, 1267 insertions, 555 deletions
diff --git a/pkgs/applications/audio/noson/default.nix b/pkgs/applications/audio/noson/default.nix
index 426a3d9d1bbb3..0184934ff2208 100644
--- a/pkgs/applications/audio/noson/default.nix
+++ b/pkgs/applications/audio/noson/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "noson";
-  version = "5.6.6";
+  version = "5.6.7";
 
   src = fetchFromGitHub {
     owner = "janbar";
     repo = "noson-app";
     rev = finalAttrs.version;
-    hash = "sha256-aBrp+mfY/c6K3dLbDGnEKoUbQC7TlFRQJZCjXPeDZ6s=";
+    hash = "sha256-lroQYO+Ab7uPQmsrUFK6uWdCoGQp1klyfLw6eAxdzjg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/spotify/linux.nix b/pkgs/applications/audio/spotify/linux.nix
index 12487ef3e86e1..8886e851c3c95 100644
--- a/pkgs/applications/audio/spotify/linux.nix
+++ b/pkgs/applications/audio/spotify/linux.nix
@@ -14,14 +14,14 @@ let
   # If an update breaks things, one of those might have valuable info:
   # https://aur.archlinux.org/packages/spotify/
   # https://community.spotify.com/t5/Desktop-Linux
-  version = "1.2.31.1205.g4d59ad7c";
+  version = "1.2.37.701.ge66eb7bc";
   # To get the latest stable revision:
   # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
   # To get general information:
   # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
   # More examples of api usage:
   # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
-  rev = "75";
+  rev = "76";
 
   deps = [
     alsa-lib
@@ -86,8 +86,9 @@ stdenv.mkDerivation {
   # spotify ourselves:
   # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
   src = fetchurl {
+    name = "spotify-${version}-${rev}.snap";
     url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
-    hash = "sha512-o4iLcbNqbsxo9YJMy0SXO7Udv4CMhhBcsf53UuqWKFFWY/jKVN+Lb+dB7Jf9+UowpmbrP44w97Oi+dnbfFXYjQ==";
+    hash = "sha512-k7aw1QM3NCFkm0tXcHgYyeEBagGFpCL6JdWlFruJszPloiCy5vopOsD4PdqyiSEs0rSUP0rLxX2UBs3XuI5cUA==";
   };
 
   nativeBuildInputs = [ wrapGAppsHook3 makeShellWrapper squashfsTools ];
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index 9a247d0bc870b..74f7d3c8f7a47 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -257,10 +257,12 @@ let
     passthru = let
       withSdk = androidSdk: mkAndroidStudioWrapper { inherit androidStudio androidSdk; };
     in {
+      inherit version;
       unwrapped = androidStudio;
       full = withSdk androidenv.androidPkgs.androidsdk;
       inherit withSdk;
       sdk = androidSdk;
+      updateScript = [ ./update.sh "${channel}" ];
     };
     meta = {
       description = "Official IDE for Android (${channel} channel)";
diff --git a/pkgs/applications/editors/android-studio/update.sh b/pkgs/applications/editors/android-studio/update.sh
new file mode 100755
index 0000000000000..04efbb3667540
--- /dev/null
+++ b/pkgs/applications/editors/android-studio/update.sh
@@ -0,0 +1,68 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -I nixpkgs=./. -i bash -p jq nix-prefetch-scripts
+
+set -euo pipefail
+
+DEFAULT_NIX="$(realpath "./pkgs/applications/editors/android-studio/default.nix")"
+RELEASES_JSON="$(curl --silent -L https://jb.gg/android-studio-releases-list.json)"
+
+# Available channels: Release/Patch (stable), Beta, Canary
+getLatest() {
+    local attribute="$1"
+    local channel="$2"
+    case "$channel" in
+        "stable") local select='.channel == "Release" or .channel == "Patch"' ;;
+        "beta") local select='.channel == "Beta" or .channel == "RC"' ;;
+        *) local select=".channel == \"${channel^}\"" ;;
+    esac
+    local result="$(echo "$RELEASES_JSON" \
+        | jq -r ".content.item[] | select(${select}) | [.version, .${attribute}] | join(\" \")" \
+        | sort --version-sort \
+        | cut -d' ' -f 2- \
+        | tail -n 1)"
+
+    if [[ -n "$result" ]]; then
+        echo "$result"
+    else
+        echo "could not find the latest $attribute for $channel"
+        exit 1
+    fi
+}
+
+updateChannel() {
+    local channel="$1"
+    local latestVersion="$(getLatest "version" "$channel")"
+
+    local localVersion="$(nix --extra-experimental-features nix-command eval --raw --file . androidStudioPackages."${channel}".version)"
+    if [[ "${latestVersion}" == "${localVersion}" ]]; then
+        echo "$channel is already up to date at $latestVersion"
+        return 0
+    fi
+    echo "updating $channel from $localVersion to $latestVersion"
+
+    local latestHash="$(nix-prefetch-url "https://dl.google.com/dl/android/studio/ide-zips/${latestVersion}/android-studio-${latestVersion}-linux.tar.gz")"
+    local latestSri="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 "$latestHash")"
+    local localHash="$(nix --extra-experimental-features nix-command eval --raw --file . androidStudioPackages."${channel}".unwrapped.src.drvAttrs.outputHash)"
+    sed -i "s~${localHash}~${latestSri}~g" "${DEFAULT_NIX}"
+
+    # Match the formatting of default.nix: `version = "2021.3.1.14"; # "Android Studio Dolphin (2021.3.1) Beta 5"`
+    local versionString="${latestVersion}\"; # \"$(getLatest "name" "${channel}")\""
+    sed -i "s~${localVersion}.*~${versionString}~g" "${DEFAULT_NIX}"
+    echo "updated ${channel} to ${latestVersion}"
+}
+
+if (( $# == 0 )); then
+    for channel in "beta" "canary" "stable"; do
+        updateChannel "$channel"
+    done
+else
+    while (( "$#" )); do
+        case "$1" in
+            beta|canary|stable)
+                updateChannel "$1" ;;
+            *)
+                echo "unknown channel: $1" && exit 1 ;;
+        esac
+        shift 1
+    done
+fi
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
index 62048d867619c..b85128816aa61 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
@@ -16,7 +16,7 @@
 }:
 
 let
-  rev = "152431c0b1d731d0302e1849690e2361f3caf7c1";
+  rev = "4bfbbe4e6c44d80b15cb501fa3444ad03dba2824";
   python = python3.withPackages (ps: with ps; [
     epc
     orjson
@@ -28,13 +28,13 @@ let
 in
 melpaBuild {
   pname = "lsp-bridge";
-  version = "20240615.2321";
+  version = "20240622.236";
 
   src = fetchFromGitHub {
     owner = "manateelazycat";
     repo = "lsp-bridge";
     inherit rev;
-    hash = "sha256-LIjqr1IntQ6WTFOO3b6cAuB6LslG1HzVa9C+GYUyQOU=";
+    hash = "sha256-rzaUtUYDEZAuRjSgThHKxrQ7U8ZIO0k750aH08VpA08=";
   };
 
   commit = rev;
diff --git a/pkgs/applications/editors/jetbrains/bin/linux.nix b/pkgs/applications/editors/jetbrains/bin/linux.nix
index 1effb9def0079..d9f0391ba8daa 100644
--- a/pkgs/applications/editors/jetbrains/bin/linux.nix
+++ b/pkgs/applications/editors/jetbrains/bin/linux.nix
@@ -16,6 +16,7 @@
 , python3
 , autoPatchelfHook
 , vmopts ? null
+, glibcLocales
 }:
 
 { pname
@@ -112,6 +113,7 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
       --set-default JAVA_HOME "$jdk" \
       --set-default JETBRAINS_CLIENT_JDK "$jdk" \
       --set-default ${hiName}_JDK "$jdk" \
+      --set-default LOCALE_ARCHIVE "${glibcLocales}/lib/locale/locale-archive" \
       --set-default ${hiName}_VM_OPTIONS ${vmoptsFile}
 
     ln -s "$out/$pname/bin/${loName}.sh" $out/bin/$pname
diff --git a/pkgs/applications/editors/jetbrains/plugins/plugins.json b/pkgs/applications/editors/jetbrains/plugins/plugins.json
index 48b9fed7f85ab..2441c8a545cf1 100644
--- a/pkgs/applications/editors/jetbrains/plugins/plugins.json
+++ b/pkgs/applications/editors/jetbrains/plugins/plugins.json
@@ -40,6 +40,37 @@
       },
       "name": "python"
     },
+    "2162": {
+      "compatible": [
+        "clion",
+        "datagrip",
+        "goland",
+        "idea-community",
+        "idea-ultimate",
+        "mps",
+        "phpstorm",
+        "pycharm-community",
+        "pycharm-professional",
+        "rider",
+        "ruby-mine",
+        "rust-rover",
+        "webstorm"
+      ],
+      "builds": {
+        "233.13135.1068": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.15989.206": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.17011.166": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.17890.1": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.17890.13": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.17890.14": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.17890.15": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.17890.19": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.17890.21": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.17890.24": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip",
+        "241.17890.8": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip"
+      },
+      "name": "string-manipulation"
+    },
     "6954": {
       "compatible": [
         "clion",
@@ -102,6 +133,37 @@
       },
       "name": "ini"
     },
+    "7086": {
+      "compatible": [
+        "clion",
+        "datagrip",
+        "goland",
+        "idea-community",
+        "idea-ultimate",
+        "mps",
+        "phpstorm",
+        "pycharm-community",
+        "pycharm-professional",
+        "rider",
+        "ruby-mine",
+        "rust-rover",
+        "webstorm"
+      ],
+      "builds": {
+        "233.13135.1068": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.15989.206": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.17011.166": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.17890.1": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.17890.13": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.17890.14": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.17890.15": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.17890.19": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.17890.21": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.17890.24": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip",
+        "241.17890.8": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip"
+      },
+      "name": "acejump"
+    },
     "7219": {
       "compatible": [
         "idea-ultimate",
@@ -145,6 +207,37 @@
       },
       "name": "python-community-edition"
     },
+    "7391": {
+      "compatible": [
+        "clion",
+        "datagrip",
+        "goland",
+        "idea-community",
+        "idea-ultimate",
+        "mps",
+        "phpstorm",
+        "pycharm-community",
+        "pycharm-professional",
+        "rider",
+        "ruby-mine",
+        "rust-rover",
+        "webstorm"
+      ],
+      "builds": {
+        "233.13135.1068": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.15989.206": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.17011.166": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.17890.1": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.17890.13": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.17890.14": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.17890.15": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.17890.19": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.17890.21": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.17890.24": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip",
+        "241.17890.8": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip"
+      },
+      "name": "asciidoc"
+    },
     "8182": {
       "compatible": [
         "clion",
@@ -293,6 +386,37 @@
       },
       "name": "csv-editor"
     },
+    "11349": {
+      "compatible": [
+        "clion",
+        "datagrip",
+        "goland",
+        "idea-community",
+        "idea-ultimate",
+        "mps",
+        "phpstorm",
+        "pycharm-community",
+        "pycharm-professional",
+        "rider",
+        "ruby-mine",
+        "rust-rover",
+        "webstorm"
+      ],
+      "builds": {
+        "233.13135.1068": "https://plugins.jetbrains.com/files/11349/556097/aws-toolkit-jetbrains-standalone-3.11-233.zip",
+        "241.15989.206": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip",
+        "241.17011.166": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip",
+        "241.17890.1": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip",
+        "241.17890.13": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip",
+        "241.17890.14": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip",
+        "241.17890.15": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip",
+        "241.17890.19": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip",
+        "241.17890.21": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip",
+        "241.17890.24": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip",
+        "241.17890.8": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip"
+      },
+      "name": "aws-toolkit"
+    },
     "12062": {
       "compatible": [
         "clion",
@@ -479,6 +603,37 @@
       },
       "name": "netbeans-6-5-keymap"
     },
+    "20146": {
+      "compatible": [
+        "clion",
+        "datagrip",
+        "goland",
+        "idea-community",
+        "idea-ultimate",
+        "mps",
+        "phpstorm",
+        "pycharm-community",
+        "pycharm-professional",
+        "rider",
+        "ruby-mine",
+        "rust-rover",
+        "webstorm"
+      ],
+      "builds": {
+        "233.13135.1068": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.15989.206": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.17011.166": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.17890.1": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.17890.13": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.17890.14": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.17890.15": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.17890.19": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.17890.21": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.17890.24": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip",
+        "241.17890.8": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip"
+      },
+      "name": "mermaid"
+    },
     "22407": {
       "compatible": [
         "clion",
@@ -496,6 +651,8 @@
   "files": {
     "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip": "sha256-P8AFMVp/rFi7zTh9f/i45q/QalvI37itnK57Dz/W/z4=",
     "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip": "sha256-C3l3Z9a7maCrMjc2Fk/wf3AoExRbvN+fn2mAtXigt0A=",
+    "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip": "sha256-wFC3nKCCHRxxAmhxF66BtuNrzXUByG7jfG6cVs2TqXQ=",
+    "https://plugins.jetbrains.com/files/11349/556097/aws-toolkit-jetbrains-standalone-3.11-233.zip": "sha256-78N3rm1l4l1OJpT1tg1cASOBc2Wt3IXs0hdjOtdF/Xg=",
     "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip": "sha256-9keDJ73bSHkzAEq8nT96I5sp05BgMZ08/4BzarOjO5g=",
     "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip": "sha256-LeQ5vi9PCJYmWNmT/sutWjSlwZaAYYuEljVJBYG2VpY=",
     "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip": "sha256-IsmoWuUroAp1LLuphp4F1dun4tQOOitZxoG+Nxs5pYk=",
@@ -506,15 +663,19 @@
     "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip": "sha256-6ibo1vdwO4olQTCWpWAefT3QCwgtzTo1ojilDes8Rvg=",
     "https://plugins.jetbrains.com/files/17718/551329/github-copilot-intellij-1.5.6.5692.zip": "sha256-p2xY8eN3tOvlXhuZm4R7zl67lnKbaJwKwPZSolDTaX0=",
     "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=",
+    "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip": "sha256-DUiIQYIzYoXmgtBakSLtMB+xxJMaR70Jgg9erySa3wQ=",
+    "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip": "sha256-OqeQCqFe8iW/8NPg+9i+UKh+twIPQ9uLZrItMukCi7k=",
     "https://plugins.jetbrains.com/files/22407/542571/intellij-rust-241.25989.199.zip": "sha256-ACeMU2llicj8VHBJJSAk2SIQaZrD2ykmY0b3VDiedV4=",
     "https://plugins.jetbrains.com/files/631/552809/python-241.17890.1.zip": "sha256-ASnW9SteKd88h2tAuZSHjnK+NMV7lm/3MN1tMqRvtmg=",
     "https://plugins.jetbrains.com/files/6981/547306/ini-241.17011.124.zip": "sha256-6EU2ExUMvXG2pJ77ZgZIsPC6gWX8MTZB0rRttYNRfX4=",
     "https://plugins.jetbrains.com/files/6981/552764/ini-241.17890.13.zip": "sha256-7JQpKNttNfTvzfZ2Qj42FZAtSqx6GjWHhT0WRecK3tc=",
+    "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip": "sha256-kVUEgfEKUupV/qlB4Dpzi5pFHjhVvX74XIPetKtjysM=",
     "https://plugins.jetbrains.com/files/7219/542990/Symfony_Plugin-2024.1.274.zip": "sha256-92uUIFz5kEjrbgPnomi0VXc9Du17evzGsO5ApsrtHrA=",
     "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=",
     "https://plugins.jetbrains.com/files/7322/530366/python-ce-241.15989.150.zip": "sha256-VJWFzUk/lloFCfHbXX7lQRV6bGseCqEPA8XOLlkqNho=",
     "https://plugins.jetbrains.com/files/7322/540027/python-ce-241.17011.48.zip": "sha256-UrvhbGhcqxGke5tZTktyaWVYIWO5NhOU/WiswMYr83Y=",
     "https://plugins.jetbrains.com/files/7322/552840/python-ce-241.17890.1.zip": "sha256-njHcuJmpc/5JsfZ6mmjcRK2j78J0E4bu68T1A0DNdVU=",
+    "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip": "sha256-icVvR79Ut6RopPKqvUQf4ZHKg14LV8/KWUZfQh/BYV8=",
     "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip": "sha256-+Lc/avYBLpyIV63DlbhAJtieHDv4HdggqdGFDw9iqN0=",
     "https://plugins.jetbrains.com/files/8554/535094/featuresTrainer-241.17011.14.zip": "sha256-p26GW1NyVI8OR1VypeWUFWW8qlwB+LtzrEoKyXBwiCw=",
     "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip": "sha256-oP/tvAqzMSDLJ0Jah1eLJDZIm9WhOZas7lPWrvjWFMM=",
diff --git a/pkgs/applications/editors/ldtk/default.nix b/pkgs/applications/editors/ldtk/default.nix
index f93e0c62e3857..4e05fc2b39117 100644
--- a/pkgs/applications/editors/ldtk/default.nix
+++ b/pkgs/applications/editors/ldtk/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
     install -Dm644 'LDtk ${finalAttrs.version} installer.AppImage' $out/share/ldtk.AppImage
     makeWrapper ${appimage-run}/bin/appimage-run $out/bin/ldtk \
       --add-flags $out/share/ldtk.AppImage
-    install -Dm644 src/ldtk.png $out/share/icons/hicolor/1024x1024/apps/ldtk.png
+    install -Dm644 src/ldtk.png $out/share/icons/hicolor/512x512/apps/ldtk.png
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 70865e19174f4..1a5d3f50044e7 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -9676,18 +9676,6 @@ final: prev:
     meta.homepage = "https://github.com/mfukar/robotframework-vim/";
   };
 
-  rocks-nvim = buildNeovimPlugin {
-    pname = "rocks.nvim";
-    version = "2024-06-19";
-    src = fetchFromGitHub {
-      owner = "nvim-neorocks";
-      repo = "rocks.nvim";
-      rev = "6737e01a76eaaae06d11b45c8b5b774fa97c283b";
-      sha256 = "0vl6rm3rv1730iw3bwzrwjsgr1hw5h4ksdgpir5spd3vqj7i97lz";
-    };
-    meta.homepage = "https://github.com/nvim-neorocks/rocks.nvim/";
-  };
-
   ron-vim = buildVimPlugin {
     pname = "ron.vim";
     version = "2022-08-19";
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 84f5c0a92de66..1eb32501131a8 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -7,6 +7,7 @@
 , fetchFromSourcehut
 , fetchpatch
 , fetchurl
+, neovimUtils
 , substituteAll
 , # Language dependencies
   fetchYarnDeps
@@ -1286,6 +1287,10 @@
     ];
   };
 
+  rocks-nvim = neovimUtils.buildNeovimPlugin { luaAttr = "rocks-nvim"; };
+
+  rocks-config-nvim = neovimUtils.buildNeovimPlugin { luaAttr = "rocks-config-nvim"; };
+
   roslyn-nvim = super.roslyn-nvim.overrideAttrs {
     dependencies = with self; [ nvim-lspconfig ];
   };
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 962927e58924b..c31ea3ee4df14 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -814,7 +814,6 @@ https://github.com/vim-scripts/restore_view.vim/,HEAD,restore-view-vim
 https://github.com/gu-fan/riv.vim/,,
 https://github.com/kevinhwang91/rnvimr/,,
 https://github.com/mfukar/robotframework-vim/,,
-https://github.com/nvim-neorocks/rocks.nvim/,,
 https://github.com/ron-rs/ron.vim/,,
 https://github.com/jmederosalvarado/roslyn.nvim/,HEAD,
 https://github.com/keith/rspec.vim/,,
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 94d77cf65efdb..7ad5a1f10f5df 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -754,6 +754,23 @@ let
         };
       };
 
+      bradgashler.htmltagwrap = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "bradgashler";
+          name = "htmltagwrap";
+          version = "1.0.0";
+          hash = "sha256-WOMfwxyeDLoSwF0xz9tbntDVrUWycJ4bW0rZjfLSzgM=";
+        };
+        meta = {
+          changelog = "https://github.com/bgashler1/vscode-htmltagwrap/blob/master/CHANGELOG.md";
+          description = "VSCode extension for wrapping a text selection in HTML tags";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=bradgashler.htmltagwrap";
+          homepage = "https://github.com/bgashler1/vscode-htmltagwrap";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.superherointj ];
+        };
+      };
+
       bradlc.vscode-tailwindcss = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-tailwindcss";
@@ -2770,6 +2787,21 @@ let
         };
       };
 
+      leonardssh.vscord = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscord";
+          publisher = "leonardssh";
+          version = "5.2.12";
+          hash = "sha256-WGDEizYG6UAqe1jnhvjfFouXDA9Yr5P+BjxPahAIsTE=";
+        };
+        meta = {
+          description = "Highly customizable Discord Rich Presence extension for Visual Studio Code";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=leonardssh.vscord";
+          homepage = "https://github.com/leonardssh/vscord";
+          license = lib.licenses.mit;
+        };
+      };
+
       llvm-org.lldb-vscode = llvmPackages.lldb;
 
       llvm-vs-code-extensions.vscode-clangd = buildVscodeMarketplaceExtension {
diff --git a/pkgs/by-name/ce/centrifugo/package.nix b/pkgs/by-name/ce/centrifugo/package.nix
index 15910d36553d3..82601a7fba637 100644
--- a/pkgs/by-name/ce/centrifugo/package.nix
+++ b/pkgs/by-name/ce/centrifugo/package.nix
@@ -14,16 +14,16 @@ let
 in
 buildGoModule rec {
   pname = "centrifugo";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchFromGitHub {
     owner = "centrifugal";
     repo = "centrifugo";
     rev = "v${version}";
-    hash = "sha256-sSEainZXgZ26u4J0FXVM8Je1uwDrAOkzLMgrCUtOx74=";
+    hash = "sha256-rIsc+abyfhHncogxZnx7Dmvc/JRm+L4YKZOOW/Qtddg=";
   };
 
-  vendorHash = "sha256-kPnkuBOcTDuAWD51JGJvgHLj9jn9kHZOfPw/DF64Mn8=";
+  vendorHash = "sha256-+fZnoDH5nbzrGWrr8ayBqzJoAji6y+CYI+TvEISxPRs=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/fl/flashmq/package.nix b/pkgs/by-name/fl/flashmq/package.nix
index 4cf312476d801..cb39bc06b9ce8 100644
--- a/pkgs/by-name/fl/flashmq/package.nix
+++ b/pkgs/by-name/fl/flashmq/package.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flashmq";
-  version = "1.15.1";
+  version = "1.15.2";
 
   src = fetchFromGitHub {
     owner = "halfgaar";
     repo = "FlashMQ";
     rev = "v${version}";
-    hash = "sha256-6ShMYTynqIVm7EH3b9Jzy5UKE7SH/Lq5uWV3VaDVREQ=";
+    hash = "sha256-4ZK8aHDhI0yslx1VoO+cgqj4YQ6AgE0Jy5C4WJ4k4OQ=";
   };
 
   nativeBuildInputs = [ cmake installShellFiles ];
diff --git a/pkgs/by-name/gi/gitu/package.nix b/pkgs/by-name/gi/gitu/package.nix
index c5729b5dbe74b..3a7689c925c41 100644
--- a/pkgs/by-name/gi/gitu/package.nix
+++ b/pkgs/by-name/gi/gitu/package.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitu";
-  version = "0.21.0";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "altsem";
     repo = "gitu";
     rev = "v${version}";
-    hash = "sha256-2YcQl9aPFPE/t/Pzoo0mWkCjOE6b4BJH0oT8Gbx+vIg=";
+    hash = "sha256-cbH2gXMBD/D+dqdYLcFZxvhuSZklw2hi2+9mrqu+pjc=";
   };
 
-  cargoHash = "sha256-RldCa0UITX8zj5tliww1xiL1Y60t9EN6o1ZA5eVEaT4=";
+  cargoHash = "sha256-UB4z0jh0AQAareRbS7l/402u0yZxEV748xzE/fQcQfY=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/by-name/ka/karmor/package.nix b/pkgs/by-name/ka/karmor/package.nix
index 17bda415f9860..eb2722b34150e 100644
--- a/pkgs/by-name/ka/karmor/package.nix
+++ b/pkgs/by-name/ka/karmor/package.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "karmor";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "kubearmor";
     repo = "kubearmor-client";
     rev = "v${version}";
-    hash = "sha256-LdUu56y9jRPFOF/Tfo9GZYmOlZIUs7/byWj2yQw7BE4=";
+    hash = "sha256-XWht+gCR+BHQwLrQqVdCpgKO+VUC6mxvOlpn9hOjrnE=";
   };
 
   vendorHash = "sha256-r3Fy4nOjlvyHcvztSfOOE6PmOhhNcVdoIq+ie5jqwkw=";
diff --git a/pkgs/by-name/ki/kitex/package.nix b/pkgs/by-name/ki/kitex/package.nix
index 2890eff5f882e..a2d88c0cfb239 100644
--- a/pkgs/by-name/ki/kitex/package.nix
+++ b/pkgs/by-name/ki/kitex/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "kitex";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "cloudwego";
     repo = "kitex";
     rev = "v${version}";
-    hash = "sha256-U61n+zaTnABujDSTPcKr4zfMmPVQwxQAotBXZaOVZSo=";
+    hash = "sha256-eiwOivulPBYEK7Pmztmb2dgUytPT0hZW5BiCpovUZWw=";
   };
 
-  vendorHash = "sha256-luZH7ynFni5J3CmLRM3jJPshs/u3zahkS1qS2phopLc=";
+  vendorHash = "sha256-4tOi1BENGNdqo3xG7PnKbIUb/QsUFhm0wDcRYrMGC0M=";
 
   subPackages = [ "tool/cmd/kitex" ];
 
diff --git a/pkgs/by-name/la/lazysql/package.nix b/pkgs/by-name/la/lazysql/package.nix
index 6f78d0994d352..96111365f51cd 100644
--- a/pkgs/by-name/la/lazysql/package.nix
+++ b/pkgs/by-name/la/lazysql/package.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "lazysql";
-  version = "0.1.8";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "jorgerojas26";
     repo = "lazysql";
     rev = "v${version}";
-    hash = "sha256-yPf9/SM4uET/I8FsDU1le9JgxELu0DR9k7mv8PnBwvQ=";
+    hash = "sha256-AUu4mKIcwjXlvJSszeuAuPHH3pQs4+LUU6NitVEatnk=";
   };
 
   vendorHash = "sha256-tgD6qoCVC1ox15VPJWVvhe4yg3R81ktMuW2dsaU69rY=";
diff --git a/pkgs/by-name/le/lefthook/package.nix b/pkgs/by-name/le/lefthook/package.nix
index 2931a41cc3efd..160029bae89d2 100644
--- a/pkgs/by-name/le/lefthook/package.nix
+++ b/pkgs/by-name/le/lefthook/package.nix
@@ -6,7 +6,7 @@
 
 let
   pname = "lefthook";
-  version = "1.6.16";
+  version = "1.6.18";
 in
 buildGoModule {
   inherit pname version;
@@ -15,7 +15,7 @@ buildGoModule {
     owner = "evilmartians";
     repo = "lefthook";
     rev = "v${version}";
-    hash = "sha256-5sGhm+ioH9hQLDuk7a0oUB1CqiiTt88UKAmBqUeCfic=";
+    hash = "sha256-jJKnBQ+49LtwSNTzX2xsL/lFFlaBBvJtIL9ltODPhEk=";
   };
 
   vendorHash = "sha256-ralnfqrP6R58Wjc/AWRf1motWZICPagZxHCkqVcwYoo=";
diff --git a/pkgs/by-name/ma/malwoverview/package.nix b/pkgs/by-name/ma/malwoverview/package.nix
index 4028ae8fac3ce..853aeab3bb71b 100644
--- a/pkgs/by-name/ma/malwoverview/package.nix
+++ b/pkgs/by-name/ma/malwoverview/package.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "malwoverview";
-  version = "5.4.4";
+  version = "5.4.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "alexandreborges";
     repo = "malwoverview";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eP2xYd/S/c4Z/cdK8IWghEUyF7pSTb5Cpg5pS/tpzUI=";
+    hash = "sha256-8miPlWBQSOf153l70C4Ya7gWF6D/gTArzJ5FyR0nVwA=";
   };
 
   pythonRemoveDeps = [
diff --git a/pkgs/development/tools/protoc-gen-prost-crate/default.nix b/pkgs/by-name/pr/protoc-gen-prost-crate/package.nix
index ed278646ee471..97c62110931cf 100644
--- a/pkgs/development/tools/protoc-gen-prost-crate/default.nix
+++ b/pkgs/by-name/pr/protoc-gen-prost-crate/package.nix
@@ -1,19 +1,22 @@
-{ fetchCrate
-, lib
-, rustPlatform
-, protobuf
+{
+  fetchCrate,
+  lib,
+  rustPlatform,
+  nix-update-script,
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "protoc-gen-prost-crate";
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-MtGeU2PnVYPXb3nly2UaryjmjMz1lxcvYDjFiwf58FA=";
+    hash = "sha256-+TSZ2QstAF8DXsHunV/nQyqF++0bFud1ZWJQEI3JEwc=";
   };
 
-  cargoSha256 = "sha256-dcKJRX/iHIWEmBD2nTMyQozxld8b7dhxxB85quPUysg=";
+  cargoHash = "sha256-KbErgnXG11ngzLVSktuyUAupYs1ZD64z3plKVtzLx1A=";
+
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "Protoc plugin that generates Cargo crates and include files for `protoc-gen-prost`";
@@ -21,6 +24,9 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/neoeinstein/protoc-gen-prost";
     changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ felschr sitaaax ];
+    maintainers = with maintainers; [
+      felschr
+      sitaaax
+    ];
   };
 }
diff --git a/pkgs/development/tools/protoc-gen-prost-serde/default.nix b/pkgs/by-name/pr/protoc-gen-prost-serde/package.nix
index e1595e0a2b868..3486fbea0e1e8 100644
--- a/pkgs/development/tools/protoc-gen-prost-serde/default.nix
+++ b/pkgs/by-name/pr/protoc-gen-prost-serde/package.nix
@@ -1,19 +1,22 @@
-{ fetchCrate
-, lib
-, rustPlatform
-, protobuf
+{
+  fetchCrate,
+  lib,
+  rustPlatform,
+  nix-update-script,
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "protoc-gen-prost-serde";
-  version = "0.2.3";
+  version = "0.3.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-V2Z6m9y/bBwrr1mgKXKZjVg+LqTe+GalN/AeaICyE64=";
+    hash = "sha256-O2Mpft31ZQncqETWzwD73I1nX1Wt5XVHcTJUk5qhRLY=";
   };
 
-  cargoSha256 = "sha256-l27+Rs4TYIJXZVLj7Tjw8M5+7ivWEY0TXbLtbuzwxLw=";
+  cargoHash = "sha256-aUWmNS3jF1I0NLApBn3GMMv6ID9mM/j7r7sPFCsFIuw=";
+
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "Protoc plugin that generates serde serialization implementations for `protoc-gen-prost`";
@@ -21,6 +24,9 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/neoeinstein/protoc-gen-prost";
     changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ felschr sitaaax ];
+    maintainers = with maintainers; [
+      felschr
+      sitaaax
+    ];
   };
 }
diff --git a/pkgs/development/tools/protoc-gen-prost/default.nix b/pkgs/by-name/pr/protoc-gen-prost/package.nix
index 6012af0acf3c2..7c92095fbeee7 100644
--- a/pkgs/development/tools/protoc-gen-prost/default.nix
+++ b/pkgs/by-name/pr/protoc-gen-prost/package.nix
@@ -1,19 +1,22 @@
-{ fetchCrate
-, lib
-, rustPlatform
-, protobuf
+{
+  fetchCrate,
+  lib,
+  rustPlatform,
+  nix-update-script,
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "protoc-gen-prost";
-  version = "0.2.3";
+  version = "0.3.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-QTt5mSUe41r2fxrgWj1l6fHC/utMVIgMi2ySsdGyl/Y=";
+    hash = "sha256-ma9sdt3/uq06BMELwsNadMkiEfstQhA4DAQEPdizZJM=";
   };
 
-  cargoSha256 = "sha256-ghXcyxG9zqUOFKGvUza29OgC3XiEtesqsAsfI/lFT08=";
+  cargoHash = "sha256-pJDrwX5uDIrycxtmbds8l4wadZE0RdgmNpMwVkUGJDs=";
+
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "Protocol Buffers compiler plugin powered by Prost";
@@ -21,6 +24,9 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/neoeinstein/protoc-gen-prost";
     changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ felschr sitaaax ];
+    maintainers = with maintainers; [
+      felschr
+      sitaaax
+    ];
   };
 }
diff --git a/pkgs/development/tools/protoc-gen-tonic/default.nix b/pkgs/by-name/pr/protoc-gen-tonic/package.nix
index 6855285341e57..55c1828618e9d 100644
--- a/pkgs/development/tools/protoc-gen-tonic/default.nix
+++ b/pkgs/by-name/pr/protoc-gen-tonic/package.nix
@@ -1,19 +1,22 @@
-{ fetchCrate
-, lib
-, rustPlatform
-, protobuf
+{
+  fetchCrate,
+  lib,
+  rustPlatform,
+  nix-update-script,
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "protoc-gen-tonic";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-jgU1XvUxIrZ72dLNPqDGHCONMlHsjW4k4vkO626iqxs=";
+    hash = "sha256-3qz1ea9lEsZjhWNA0lcwqsPkNmjj2ZBljqNRr5/2lKM=";
   };
 
-  cargoSha256 = "sha256-FrkvL/uJitMkSyOytVSmlwr26yMVM12S2n+EaSw11CE=";
+  cargoHash = "sha256-nUsRoDaP+omZdOTnaxvHbJT1uNGtyfgXyEFZbp/CeYA=";
+
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "Protoc plugin that generates Tonic gRPC server and client code using the Prost code generation engine";
@@ -21,6 +24,9 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/neoeinstein/protoc-gen-prost";
     changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ felschr sitaaax ];
+    maintainers = with maintainers; [
+      felschr
+      sitaaax
+    ];
   };
 }
diff --git a/pkgs/by-name/qu/quickemu/package.nix b/pkgs/by-name/qu/quickemu/package.nix
index b650ef91f88ec..5349581aab119 100644
--- a/pkgs/by-name/qu/quickemu/package.nix
+++ b/pkgs/by-name/qu/quickemu/package.nix
@@ -56,13 +56,13 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "quickemu";
-  version = "4.9.4";
+  version = "4.9.4-unstable-2024-05-28";
 
   src = fetchFromGitHub {
     owner = "quickemu-project";
     repo = "quickemu";
-    rev = finalAttrs.version;
-    hash = "sha256-fjbXgze6klvbRgkJtPIUh9kEkP/As7dAj+cazpzelBY=";
+    rev = "d78255b097b599e8ab3713cb61c4085cc45f5a95"; # TODO: return to version on next release
+    hash = "sha256-fF306CdGqKM+779OLm0NNyqPBtm7TuU7UN/NanT12y8=";
   };
 
   postPatch = ''
@@ -74,16 +74,6 @@ stdenv.mkDerivation (finalAttrs: {
       quickemu
   '';
 
-  patches = [
-    # reduces windows vm ram requirements to 4G, to match microsoft recommendations
-    # TODO: remove on next release
-    (fetchpatch2 {
-      name = "decrease-windows-ram-requirements.patch";
-      url = "https://github.com/quickemu-project/quickemu/commit/f51697593a4650c5486661292e2febe1d16f8c71.patch";
-      hash = "sha256-J5hIvQGtkufOcjk2FZN65iox/W2zkLlg+Veg9TF11Fs=";
-    })
-  ];
-
   nativeBuildInputs = [
     makeWrapper
     installShellFiles
@@ -106,7 +96,10 @@ stdenv.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  passthru.tests = testers.testVersion { package = quickemu; };
+  passthru.tests = testers.testVersion {
+    version = "4.9.5"; # required for passing tests, TODO: remove when release bump
+    package = quickemu;
+  };
 
   meta = {
     description = "Quickly create and run optimised Windows, macOS and Linux virtual machines";
diff --git a/pkgs/by-name/te/technitium-dns-server/package.nix b/pkgs/by-name/te/technitium-dns-server/package.nix
index b369a45869514..1844e08ddf8bd 100644
--- a/pkgs/by-name/te/technitium-dns-server/package.nix
+++ b/pkgs/by-name/te/technitium-dns-server/package.nix
@@ -8,13 +8,13 @@
 let
   technitium-library = buildDotnetModule rec {
     pname = "TechnitiumLibrary";
-    version = "40a7bc7a52cf5d2c371215ea7f5f6fdf71dc1d9c";
+    version = "570ec570b57d8591daa3df682ca9e6f37f373db6";
 
     src = fetchFromGitHub {
       owner = "TechnitiumSoftware";
       repo = "TechnitiumLibrary";
       rev = version;
-      hash = "sha256-FNCZH8LZXYyrz5SRIV8P7MruN+t6Qvl96Aa73q3InMI=";
+      hash = "sha256-xPwRoRp/XYrlGX3B9EiHUz2Tueh+hygbBopxFvdASLQ";
       name = "${pname}-${version}";
     };
 
@@ -30,13 +30,13 @@ let
 in
 buildDotnetModule rec {
   pname = "technitium-dns-server";
-  version = "12.1";
+  version = "12.2.1";
 
   src = fetchFromGitHub {
     owner = "TechnitiumSoftware";
     repo = "DnsServer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TfVWGomvKV7QeJUyFMNDAnHKY3YTEwWPxTlW6RhmsR4=";
+    hash = "sha256-2RB/pUlA9z7TJ4xd509nsbO1BnxY3mv2jou6OGRd/yM=";
     name = "${pname}-${version}";
   };
 
diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix
index 042c389ac42e3..800bea1565501 100644
--- a/pkgs/by-name/te/tenv/package.nix
+++ b/pkgs/by-name/te/tenv/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tenv";
-  version = "2.0.7";
+  version = "2.1.8";
 
   src = fetchFromGitHub {
     owner = "tofuutils";
     repo = "tenv";
     rev = "v${version}";
-    hash = "sha256-654ZaQ7KzAWEXwN9Xwzdmg4KsCCLCm+i2M0730gP/zM=";
+    hash = "sha256-9wY+9lAbrnwiXpLilMaqtQz0XmMGRMv+m+yR7BxmSsw=";
   };
 
-  vendorHash = "sha256-OrMCzqqOFQkI8IwcfO/JVPyd/sw+Ud0VySV7UPiucwc=";
+  vendorHash = "sha256-v1NWlZhfypoS+bZCtr+P2s1t4qYVncbjx9IyRhi2sa4=";
 
   # Tests disabled for requiring network access to release.hashicorp.com
   doCheck = false;
diff --git a/pkgs/by-name/vm/vmctl/package.nix b/pkgs/by-name/vm/vmctl/package.nix
new file mode 100644
index 0000000000000..910ecd5f9d6d6
--- /dev/null
+++ b/pkgs/by-name/vm/vmctl/package.nix
@@ -0,0 +1,70 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchFromGitHub,
+  openssh,
+  socat,
+  gawk,
+  cloud-utils,
+  cdrtools,
+  qemu,
+  qemu-utils,
+  coreutils,
+  getopt,
+  makeWrapper,
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "vmctl";
+  version = "v0.99-unstable-2024-05-14";
+
+  src = fetchFromGitHub {
+    owner = "SamsungDS";
+    repo = "vmctl";
+    rev = "5b6b7084b8cba06b474c0e020df965237f2c832c";
+    hash = "sha256-yDgaY2RJXBjWkMSQb4JaJzMGLFzowfOGixSRzzv2iIk=";
+  };
+
+  dontBuild = true;
+
+  postPatch = ''
+    substituteInPlace vmctl \
+      --replace 'BASEDIR="$(dirname "$(readlink -f "''${BASH_SOURCE[0]}")")"' 'BASEDIR="${placeholder "out"}"'
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm555 vmctl -t "$out/bin"
+    wrapProgram "$out/bin/vmctl" \
+      --set PATH "${
+        lib.makeBinPath [
+          openssh
+          socat
+          gawk
+          cloud-utils
+          cdrtools
+          qemu
+          qemu-utils
+          coreutils
+          getopt
+        ]
+      }"
+    cp -r {cmd,common,contrib,lib} $out
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Command line tool focused on NVMe testing in QEMU";
+    homepage = "https://github.com/SamsungDS/vmctl";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ panky ];
+    platforms = [
+      "x86_64-linux"
+      "aarch64-linux"
+    ];
+  };
+}
diff --git a/pkgs/by-name/yo/yourkit-java/forbid-desktop-item-creation b/pkgs/by-name/yo/yourkit-java/forbid-desktop-item-creation
new file mode 100644
index 0000000000000..df068b97d1944
--- /dev/null
+++ b/pkgs/by-name/yo/yourkit-java/forbid-desktop-item-creation
@@ -0,0 +1,16 @@
+CONFIG_DIR=$YS/config
+if [ ! -d $CONFIG_DIR ]; then
+    mkdir -p $CONFIG_DIR
+fi
+
+REGISTRY=$CONFIG_DIR/registry8.xml
+if [ ! -e $REGISTRY ]; then
+    cat >$REGISTRY <<EOF
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<registry8>
+  <desktop-file.created>
+    <boolean value="true"/>
+  </desktop-file.created>
+</registry8>
+EOF
+fi
diff --git a/pkgs/by-name/yo/yourkit-java/package.nix b/pkgs/by-name/yo/yourkit-java/package.nix
new file mode 100644
index 0000000000000..b2d5451a93131
--- /dev/null
+++ b/pkgs/by-name/yo/yourkit-java/package.nix
@@ -0,0 +1,95 @@
+{ fetchzip
+, lib
+, stdenvNoCC
+, copyDesktopItems
+, imagemagick
+, makeDesktopItem
+, jre
+}:
+let
+  vPath = v: lib.elemAt (lib.splitString "-" v) 0;
+
+  version = "2024.3-b157";
+
+  arches = {
+    aarch64-linux = "arm64";
+    x86_64-linux = "x64";
+  };
+
+  arch =
+    arches.${stdenvNoCC.targetPlatform.system} or (throw "Unsupported system");
+
+  hashes = {
+    arm64 = "sha256-0a9maZhgtXH21Ph0o3Rb+rCPhAmZRxjZCRyDmTvusLk=";
+    x64 = "sha256-nLaOOkPG2QEHkHd0S2AYLT2IpkMchGw9adyUDLCNQFg=";
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "YourKit Java Profiler";
+    desktopName = "YourKit Java Profiler " + version;
+    type = "Application";
+    exec = "yourkit-java-profiler %f";
+    icon = "yourkit-java-profiler";
+    categories = [ "Development" "Java" "Profiling" ];
+    terminal = false;
+    startupWMClass = "YourKit Java Profiler";
+  };
+in
+stdenvNoCC.mkDerivation {
+  inherit version;
+
+  pname = "yourkit-java";
+
+  src = fetchzip {
+    url = "https://download.yourkit.com/yjp/${vPath version}/YourKit-JavaProfiler-${version}-${arch}.zip";
+    hash = hashes.${arch};
+  };
+
+  nativeBuildInputs = [ copyDesktopItems imagemagick ];
+
+  buildInputs = [ jre ];
+
+  desktopItems = [ desktopItem ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -pr bin lib license.html license-redist.txt probes samples $out
+    cp ${./forbid-desktop-item-creation} $out/bin/forbid-desktop-item-creation
+    mv $out/bin/profiler.sh $out/bin/yourkit-java-profiler
+    mkdir -p $out/share/icons
+    convert $out/bin/profiler.ico\[0] \
+            -size 256x256 \
+            $out/share/icons/yourkit-java-profiler.png
+    rm $out/bin/profiler.ico
+    rm -rf $out/bin/{windows-*,mac,linux-{*-32,musl-*,ppc-*}}
+    if [[ ${arch} = x64 ]]; then
+      rm -rf $out/bin/linux-arm-64
+    else
+      rm -rf $out/bin/linux-x86-64
+    fi
+    substituteInPlace $out/bin/yourkit-java-profiler \
+        --replace 'JAVA_EXE="$YD/jre64/bin/java"' JAVA_EXE=${jre}/bin/java
+    # Use our desktop item, which will be purged when this package
+    # gets removed
+    sed -i -e "/^YD=/isource $out/bin/forbid-desktop-item-creation\\
+        " \
+        $out/bin/yourkit-java-profiler
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
+    description = "Award winning, fully featured low overhead profiler for Java EE and Java SE platforms";
+    homepage = "https://www.yourkit.com";
+    changelog = "https://www.yourkit.com/changes/";
+    license = licenses.unfree;
+    mainProgram = "yourkit-java-profiler";
+    platforms = attrNames arches;
+    sourceProvenance = with sourceTypes; [ binaryBytecode ];
+    maintainers = with maintainers; [ herberteuler ];
+  };
+}
diff --git a/pkgs/by-name/yo/yourkit-java/update.sh b/pkgs/by-name/yo/yourkit-java/update.sh
new file mode 100755
index 0000000000000..0b95732f6b74a
--- /dev/null
+++ b/pkgs/by-name/yo/yourkit-java/update.sh
@@ -0,0 +1,54 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p coreutils curl gawk gnused nix-prefetch
+
+set -euo pipefail
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+DRV_BASE=package.nix
+NIX_DRV="$ROOT/$DRV_BASE"
+if [[ ! -f "$NIX_DRV" ]]; then
+  echo "ERROR: cannot find $DRV_BASE in $ROOT"
+  exit 1
+fi
+
+function retrieve_latest_version () {
+    curl https://www.yourkit.com/java/profiler/download/ \
+        | grep -Eo '(Version|Build): ([a-z0-9#.-])+' \
+        | awk '{ print $2 }' \
+        | tr -d '\n' \
+        | sed 's/#/-b/'
+}
+
+function calc_hash () {
+    local version=$1
+    local url=$2
+    nix-prefetch --option extra-experimental-features flakes \
+                 "{ stdenv, fetchzip }:
+stdenv.mkDerivation {
+  pname = \"yourkit-java-binary\";
+  version = \"$version\";
+  src = fetchzip {
+    url = \"$url\";
+  };
+}"
+}
+
+function update_hash () {
+    local arch=$1
+    local version=$2
+    local date=$(echo $version | sed 's/-.*//')
+    local url=https://download.yourkit.com/yjp/$date/YourKit-JavaProfiler-$version-$arch.zip
+    local hash=$(calc_hash $version $url)
+    sed -i -e "s|^.*$arch.*=.*\"sha256-.*$|    $arch = \"$hash\";|" $NIX_DRV
+}
+
+version=$(retrieve_latest_version)
+sed -i -e "s|^.*version.*=.*\".*$|  version = \"$version\";|" $NIX_DRV
+for arch in arm64 x64; do
+    update_hash $arch $version
+done
+
+# Local variables:
+# mode: shell-script
+# eval: (sh-set-shell "bash")
+# End:
diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix
index 3f2bb2e5cec83..c3ef3ab9db4a0 100644
--- a/pkgs/development/compilers/flutter/default.nix
+++ b/pkgs/development/compilers/flutter/default.nix
@@ -8,6 +8,8 @@ let
   mkFlutter =
     { version
     , engineVersion
+    , engineSwiftShaderHash
+    , engineSwiftShaderRev
     , engineHashes
     , enginePatches
     , dartVersion
@@ -20,7 +22,7 @@ let
     }@fargs:
     let
       args = {
-        inherit version engineVersion engineHashes enginePatches patches pubspecLock artifactHashes useNixpkgsEngine channel;
+        inherit version engineVersion engineSwiftShaderRev engineSwiftShaderHash engineHashes enginePatches patches pubspecLock artifactHashes useNixpkgsEngine channel;
 
         dart = dart.override {
           version = dartVersion;
diff --git a/pkgs/development/compilers/flutter/engine/dart.nix b/pkgs/development/compilers/flutter/engine/dart.nix
new file mode 100644
index 0000000000000..c872113f4a90e
--- /dev/null
+++ b/pkgs/development/compilers/flutter/engine/dart.nix
@@ -0,0 +1,13 @@
+{ engine, runCommand }:
+runCommand "flutter-engine-${engine.version}-dart" {
+  version = engine.dartSdkVersion;
+
+  inherit engine;
+  inherit (engine) outName;
+
+  meta = engine.meta // {
+    description = "Dart SDK compiled from the Flutter Engine";
+  };
+} ''
+  ln -s ${engine}/out/$outName/dart-sdk $out
+''
diff --git a/pkgs/development/compilers/flutter/engine/default.nix b/pkgs/development/compilers/flutter/engine/default.nix
index cea41933e4343..4aac2301f866c 100644
--- a/pkgs/development/compilers/flutter/engine/default.nix
+++ b/pkgs/development/compilers/flutter/engine/default.nix
@@ -2,6 +2,8 @@
   callPackage,
   dartSdkVersion,
   flutterVersion,
+  swiftshaderHash,
+  swiftshaderRev,
   version,
   hashes,
   url,
@@ -10,10 +12,13 @@
   isOptimized ? true,
   lib,
   stdenv,
-}:
+  dart,
+  mainRuntimeMode ? null,
+  altRuntimeMode ? null,
+}@args:
 let
-  mainRuntimeMode = builtins.elemAt runtimeModes 0;
-  altRuntimeMode = builtins.elemAt runtimeModes 1;
+  mainRuntimeMode = args.mainRuntimeMode or builtins.elemAt runtimeModes 0;
+  altRuntimeMode = args.altRuntimeMode or builtins.elemAt runtimeModes 1;
 
   runtimeModesBuilds = lib.genAttrs runtimeModes (
     runtimeMode:
@@ -21,6 +26,8 @@ let
       inherit
         dartSdkVersion
         flutterVersion
+        swiftshaderHash
+        swiftshaderRev
         version
         hashes
         url
@@ -42,6 +49,8 @@ stdenv.mkDerivation (
       dartSdkVersion
       isOptimized
       runtimeMode
+      outName
+      dart
       ;
     inherit altRuntimeMode;
 
@@ -51,19 +60,12 @@ stdenv.mkDerivation (
     installPhase =
       ''
         mkdir -p $out/out
-
-        for dir in $(find $src/src -mindepth 1 -maxdepth 1); do
-          ln -sf $dir $out/$(basename $dir)
-        done
-
       ''
       + lib.concatMapStrings (
         runtimeMode:
         let
           runtimeModeBuild = runtimeModesBuilds.${runtimeMode};
-          runtimeModeOut = "host_${runtimeMode}${
-            lib.optionalString (!runtimeModeBuild.isOptimized) "_unopt"
-          }";
+          runtimeModeOut = runtimeModeBuild.outName;
         in
         ''
           ln -sf ${runtimeModeBuild}/out/${runtimeModeOut} $out/out/${runtimeModeOut}
diff --git a/pkgs/development/compilers/flutter/engine/package.nix b/pkgs/development/compilers/flutter/engine/package.nix
index 6f87b28f19098..7c2cd5cec2201 100644
--- a/pkgs/development/compilers/flutter/engine/package.nix
+++ b/pkgs/development/compilers/flutter/engine/package.nix
@@ -11,8 +11,12 @@
   tools ? callPackage ./tools.nix { inherit hostPlatform; },
   stdenv,
   stdenvNoCC,
+  dart,
+  fetchgit,
   runCommand,
+  llvmPackages,
   patchelf,
+  openbox,
   xorg,
   libglvnd,
   libepoxy,
@@ -33,6 +37,8 @@
   version,
   flutterVersion,
   dartSdkVersion,
+  swiftshaderHash,
+  swiftshaderRev,
   hashes,
   patches,
   url,
@@ -56,8 +62,24 @@ let
       url
       ;
   };
+
+  swiftshader = fetchgit {
+    url = "https://swiftshader.googlesource.com/SwiftShader.git";
+    hash = swiftshaderHash;
+    rev = swiftshaderRev;
+  };
+
+  llvm = symlinkJoin {
+    name = "llvm";
+    paths = with llvmPackages; [
+      clang
+      llvmPackages.llvm
+    ];
+  };
+
+  outName = "host_${runtimeMode}${lib.optionalString (!isOptimized) "_unopt --unoptimized"}";
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "flutter-engine-${runtimeMode}${lib.optionalString (!isOptimized) "-unopt"}";
   inherit
     version
@@ -65,7 +87,9 @@ stdenv.mkDerivation {
     patches
     isOptimized
     dartSdkVersion
-    src;
+    src
+    outName
+    swiftshader;
 
   toolchain = symlinkJoin {
     name = "flutter-engine-toolchain-${version}";
@@ -107,11 +131,18 @@ stdenv.mkDerivation {
         stdenv.cc.libc_lib
       ];
 
+    # Needed due to Flutter expecting everything to be relative to $out
+    # and not true absolute path (ie relative to "/").
     postBuild = ''
-      ln -s /nix $out/nix
+      mkdir -p $(dirname $(dirname "$out/$out"))
+      ln -s $(dirname "$out") $out/$(dirname "$out")
     '';
   };
 
+  NIX_CFLAGS_COMPILE = "-I${finalAttrs.toolchain}/include";
+
+  nativeCheckInputs = lib.optionals stdenv.isLinux [ xorg.xorgserver openbox ];
+
   nativeBuildInputs =
     [
       python3
@@ -119,6 +150,7 @@ stdenv.mkDerivation {
       git
       pkg-config
       ninja
+      dart
     ]
     ++ lib.optionals (stdenv.isLinux) [ patchelf ]
     ++ optionals (stdenv.isDarwin) [
@@ -130,54 +162,10 @@ stdenv.mkDerivation {
 
   buildInputs = [ gtk3 ];
 
-  patchtools =
-    let
-      buildtoolsPath =
-        if lib.versionAtLeast flutterVersion "3.21" then "flutter/buildtools" else "buildtools";
-    in
-    [
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-apply-replacements"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-doc"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-format"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-include-fixer"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-refactor"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-scan-deps"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-tidy"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clangd"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/dsymutil"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/find-all-symbols"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/lld"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-ar"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-bolt"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-cov"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-cxxfilt"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-debuginfod-find"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-dwarfdump"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-dwp"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-gsymutil"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-ifs"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-libtool-darwin"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-lipo"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-ml"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-mt"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-nm"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-objcopy"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-objdump"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-pdbutil"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-profdata"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-rc"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-readobj"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-size"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-symbolizer"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-undname"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-xray"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm"
-      "${buildtoolsPath}/${constants.alt-platform}/clang/bin/sancov"
-      "flutter/prebuilts/${constants.alt-platform}/dart-sdk/bin/dartaotruntime"
-      "flutter/prebuilts/${constants.alt-platform}/dart-sdk/bin/dart"
-      "flutter/third_party/gn/gn"
-      "third_party/dart/tools/sdks/dart-sdk/bin/dart"
-    ];
+  patchtools = [
+    "third_party/dart/tools/sdks/dart-sdk/bin/dart"
+    "flutter/third_party/gn/gn"
+  ];
 
   dontPatch = true;
 
@@ -189,6 +177,9 @@ stdenv.mkDerivation {
 
   postUnpack = ''
     pushd ${src.name}
+
+    ln -s $swiftshader src/flutter/third_party/swiftshader
+
     ${lib.optionalString (stdenv.isLinux) ''
       for patchtool in ''${patchtools[@]}; do
         patchelf src/$patchtool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker)
@@ -203,11 +194,14 @@ stdenv.mkDerivation {
       git add .
       git config user.name "nobody"
       git config user.email "nobody@local.host"
-      git commit -a -m "$rev"
+      git commit -a -m "$rev" --quiet
       popd
     done
 
-    src/flutter/prebuilts/${constants.alt-platform}/dart-sdk/bin/dart src/third_party/dart/tools/generate_package_config.dart
+    mkdir -p src/flutter/buildtools/${constants.alt-platform}
+    ln -s ${llvm} src/flutter/buildtools/${constants.alt-platform}/clang
+
+    dart src/third_party/dart/tools/generate_package_config.dart
     cp ${./pkg-config.py} src/build/config/linux/pkg-config.py
     echo "${dartSdkVersion}" >src/third_party/dart/sdk/version
 
@@ -250,8 +244,9 @@ stdenv.mkDerivation {
         --runtime-mode $runtimeMode \
         --out-dir $out \
         --target-sysroot $toolchain \
-        --target-dir host_$runtimeMode${lib.optionalString (!isOptimized) "_unopt --unoptimized"} \
-        --verbose
+        --target-dir $outName \
+        --target-triple ${targetPlatform.config} \
+        --enable-fontconfig
 
       runHook postConfigure
     '';
@@ -261,39 +256,48 @@ stdenv.mkDerivation {
 
     export TERM=dumb
     for tool in flatc scenec gen_snapshot dart impellerc shader_archiver gen_snapshot_product; do
-      ninja -C $out/out/host_$runtimeMode${
-        lib.optionalString (!isOptimized) "_unopt"
-      } -j$NIX_BUILD_CORES $tool
+      ninja -C $out/out/$outName -j$NIX_BUILD_CORES $tool
       ${lib.optionalString (stdenv.isLinux) ''
-        patchelf $out/out/host_$runtimeMode${
-          lib.optionalString (!isOptimized) "_unopt"
-        }/$tool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker)
+        patchelf $out/out/$outName/$tool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker)
       ''}
     done
 
-    ninja -C $out/out/host_$runtimeMode${lib.optionalString (!isOptimized) "_unopt"} -j$NIX_BUILD_CORES
+    ninja -C $out/out/$outName -j$NIX_BUILD_CORES
 
     ${lib.optionalString (stdenv.isLinux) ''
-      patchelf $out/out/host_$runtimeMode${
-        lib.optionalString (!isOptimized) "_unopt"
-      }/dart-sdk/bin/dartaotruntime \
+      patchelf $out/out/$outName/dart-sdk/bin/dartaotruntime \
         --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker)
+
+      find $out/out/$outName/exe.unstripped -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \;
     ''}
 
     runHook postBuild
   '';
 
-  # Link sources so we can set $FLUTTER_ENGINE to this derivation
+  # Tests are broken
+  doCheck = false;
+  checkPhase = ''
+    ln -s $out/out src/out
+    touch src/out/run_tests.log
+    sh src/flutter/testing/run_tests.sh $outName
+    rm src/out/run_tests.log
+  '';
+
   installPhase = ''
     runHook preInstall
 
-    for dir in $(find $src/src -mindepth 1 -maxdepth 1); do
-      ln -sf $dir $out/$(basename $dir)
-    done
+    rm -rf $out/out/$outName/{obj,gen,exe.unstripped,lib.unstripped,zip_archives}
+    rm $out/out/$outName/{args.gn,build.ninja,build.ninja.d,compile_commands.json,display_list_rendertests,flutter_tester,toolchain.ninja}
+    find $out/out/$outName -name '*_unittests' -delete
+    find $out/out/$outName -name '*_benchmarks' -delete
 
     runHook postInstall
   '';
 
+  passthru = {
+    dart = callPackage ./dart.nix { engine = finalAttrs.finalPackage; };
+  };
+
   meta = {
     # Very broken on Darwin
     broken = stdenv.isDarwin;
@@ -308,4 +312,4 @@ stdenv.mkDerivation {
       "aarch64-darwin"
     ];
   };
-}
+})
diff --git a/pkgs/development/compilers/flutter/engine/source.nix b/pkgs/development/compilers/flutter/engine/source.nix
index 4b9b5aaa5adb2..413b1874a9812 100644
--- a/pkgs/development/compilers/flutter/engine/source.nix
+++ b/pkgs/development/compilers/flutter/engine/source.nix
@@ -2,6 +2,7 @@
   callPackage,
   hostPlatform,
   targetPlatform,
+  fetchgit,
   tools ? callPackage ./tools.nix { inherit hostPlatform; },
   curl,
   pkg-config,
@@ -16,6 +17,7 @@
 }:
 let
   constants = callPackage ./constants.nix { inherit targetPlatform; };
+  boolOption = value: if value then "True" else "False";
 in
 runCommand "flutter-engine-source-${version}-${targetPlatform.system}"
   {
@@ -42,6 +44,14 @@ runCommand "flutter-engine-source-${version}-${targetPlatform.system}"
         "managed": False,
         "name": "src/flutter",
         "url": "${url}",
+        "custom_vars": {
+          "download_fuchsia_deps": False,
+          "download_android_deps": False,
+          "download_linux_deps": ${boolOption targetPlatform.isLinux},
+          "setup_githooks": False,
+          "download_esbuild": False,
+          "download_dart_sdk": False,
+        },
       }]
     '';
 
@@ -66,13 +76,13 @@ runCommand "flutter-engine-source-${version}-${targetPlatform.system}"
     cd $out
 
     export PATH=$PATH:$depot_tools
-    python3 $depot_tools/gclient.py sync --no-history --shallow --nohooks >/dev/null
+    python3 $depot_tools/gclient.py sync --no-history --shallow --nohooks 2>&1 >/dev/null
     find $out -name '.git' -exec dirname {} \; | xargs bash -c 'make_deterministic_repo $@' _
     find $out -path '*/.git/*' ! -name 'HEAD' -prune -exec rm -rf {} \;
     find $out -name '.git' -exec mkdir {}/logs \;
     find $out -name '.git' -exec cp {}/HEAD {}/logs/HEAD \;
 
-    python3 src/build/linux/sysroot_scripts/install-sysroot.py --arch=${constants.arch} >/dev/null
+    rm -rf $out/src/flutter/{buildtools,prebuilts,third_party/swiftshader}
 
     rm -rf $out/.cipd $out/.gclient $out/.gclient_entries $out/.gclient_previous_custom_vars $out/.gclient_previous_sync_commits
   ''
diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix
index 757766d031524..870c63afa8069 100644
--- a/pkgs/development/compilers/flutter/flutter.nix
+++ b/pkgs/development/compilers/flutter/flutter.nix
@@ -5,6 +5,8 @@
 , engineUrl ? "https://github.com/flutter/engine.git@${engineVersion}"
 , enginePatches ? []
 , engineRuntimeModes ? [ "release" "debug" ]
+, engineSwiftShaderHash
+, engineSwiftShaderRev
 , patches
 , channel
 , dart
@@ -19,20 +21,17 @@
 , git
 , which
 , jq
-, flutterTools ? callPackage ./flutter-tools.nix {
-    inherit dart version;
-    flutterSrc = src;
-    inherit patches;
-    inherit pubspecLock;
-    systemPlatform = stdenv.hostPlatform.system;
-  }
+, flutterTools ? null
 }@args:
 
 let
   engine = if args.useNixpkgsEngine or false then
     callPackage ./engine/default.nix {
-      dartSdkVersion = dart.version;
+      inherit (args) dart;
+      dartSdkVersion = args.dart.version;
       flutterVersion = version;
+      swiftshaderRev = engineSwiftShaderRev;
+      swiftshaderHash = engineSwiftShaderHash;
       version = engineVersion;
       hashes = engineHashes;
       url = engineUrl;
@@ -40,6 +39,17 @@ let
       runtimeModes = engineRuntimeModes;
     } else null;
 
+  dart = if args.useNixpkgsEngine or false then
+    engine.dart else args.dart;
+
+  flutterTools = args.flutterTools or (callPackage ./flutter-tools.nix {
+    inherit dart version;
+    flutterSrc = src;
+    inherit patches;
+    inherit pubspecLock;
+    systemPlatform = stdenv.hostPlatform.system;
+  });
+
   unwrapped =
     stdenv.mkDerivation {
       name = "flutter-${version}-unwrapped";
diff --git a/pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in b/pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in
new file mode 100644
index 0000000000000..2dffbe950b86f
--- /dev/null
+++ b/pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in
@@ -0,0 +1,5 @@
+{ fetchgit }:
+fetchgit {
+  url = "https://swiftshader.googlesource.com/SwiftShader.git";
+  rev = "@engine_swiftshader_rev@";
+}
diff --git a/pkgs/development/compilers/flutter/update/update.py b/pkgs/development/compilers/flutter/update/update.py
index a782b46514a92..cc6d114e694a7 100755
--- a/pkgs/development/compilers/flutter/update/update.py
+++ b/pkgs/development/compilers/flutter/update/update.py
@@ -14,6 +14,7 @@ import argparse
 import yaml
 import json
 
+FAKE_HASH = 'sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='
 
 NIXPKGS_ROOT = subprocess.Popen(['git',
                                  'rev-parse',
@@ -200,6 +201,22 @@ def get_pubspec_lock(flutter_compact_version, flutter_src):
 
     return yaml.safe_load(pubspec_lock_yaml)
 
+def get_engine_swiftshader_rev(engine_version):
+    with urllib.request.urlopen(f"https://github.com/flutter/engine/raw/{engine_version}/DEPS") as f:
+        deps = f.read().decode('utf-8')
+        pattern = re.compile(r"Var\('swiftshader_git'\) \+ '\/SwiftShader\.git' \+ '@' \+ \'([0-9a-fA-F]{40})\'\,")
+        rev = pattern.findall(deps)[0]
+        return rev
+
+def get_engine_swiftshader_hash(engine_swiftshader_rev):
+    code = load_code(
+        "get-engine-swiftshader.nix",
+        engine_swiftshader_rev=engine_swiftshader_rev,
+        hash="")
+
+    stderr = nix_build_to_fail(code)
+    pattern = re.compile(r"got:\s+(.+?)\n")
+    return pattern.findall(stderr)[0]
 
 def write_data(
         nixpkgs_flutter_version_directory,
@@ -207,6 +224,8 @@ def write_data(
         channel,
         engine_hash,
         engine_hashes,
+        engine_swiftshader_hash,
+        engine_swiftshader_rev,
         dart_version,
         dart_hash,
         flutter_hash,
@@ -216,6 +235,8 @@ def write_data(
         f.write(json.dumps({
             "version": flutter_version,
             "engineVersion": engine_hash,
+            "engineSwiftShaderHash": engine_swiftshader_hash,
+            "engineSwiftShaderRev": engine_swiftshader_rev,
             "channel": channel,
             "engineHashes": engine_hashes,
             "dartVersion": dart_version,
@@ -360,6 +381,8 @@ def main():
         pubspec_lock={},
         artifact_hashes={},
         engine_hashes={},
+        engine_swiftshader_hash=FAKE_HASH,
+        engine_swiftshader_rev='0',
         **common_data_args)
 
     pubspec_lock = get_pubspec_lock(flutter_compact_version, flutter_src)
@@ -368,6 +391,8 @@ def main():
         pubspec_lock=pubspec_lock,
         artifact_hashes={},
         engine_hashes={},
+        engine_swiftshader_hash=FAKE_HASH,
+        engine_swiftshader_rev='0',
         **common_data_args)
 
     artifact_hashes = get_artifact_hashes(flutter_compact_version)
@@ -376,6 +401,8 @@ def main():
         pubspec_lock=pubspec_lock,
         artifact_hashes=artifact_hashes,
         engine_hashes={},
+        engine_swiftshader_hash=FAKE_HASH,
+        engine_swiftshader_rev='0',
         **common_data_args)
 
     engine_hashes = get_engine_hashes(engine_hash)
@@ -384,6 +411,19 @@ def main():
         pubspec_lock=pubspec_lock,
         artifact_hashes=artifact_hashes,
         engine_hashes=engine_hashes,
+        engine_swiftshader_hash=FAKE_HASH,
+        engine_swiftshader_rev='0',
+        **common_data_args)
+
+    engine_swiftshader_rev = get_engine_swiftshader_rev(engine_hash)
+    engine_swiftshader_hash = get_engine_swiftshader_hash(engine_swiftshader_rev)
+
+    write_data(
+        pubspec_lock=pubspec_lock,
+        artifact_hashes=artifact_hashes,
+        engine_hashes=engine_hashes,
+        engine_swiftshader_hash=engine_swiftshader_hash,
+        engine_swiftshader_rev=engine_swiftshader_rev,
         **common_data_args)
 
 
diff --git a/pkgs/development/compilers/flutter/versions/3_13/data.json b/pkgs/development/compilers/flutter/versions/3_13/data.json
index eb707f74f7c26..9bd8b818bf469 100644
--- a/pkgs/development/compilers/flutter/versions/3_13/data.json
+++ b/pkgs/development/compilers/flutter/versions/3_13/data.json
@@ -1,9 +1,12 @@
 {
   "version": "3.13.8",
   "engineVersion": "767d8c75e898091b925519803830fc2721658d07",
+  "engineSwiftShaderHash": "sha256-N6f5aeDroqEwZlUBZi7nhDW8leE/7DqmOtRYOY4wzf4=",
+  "engineSwiftShaderRev": "5f9ed9b16931c7155171d31f75004f73f0a3abc8",
   "channel": "stable",
   "engineHashes": {
-    "aarch64-linux": "sha256-1s7I+AWb2kNDzJ5k2XYm7rSK8yj1wqTjPUuS0f85Jig="
+    "aarch64-linux": "sha256-+MIGPmKHkcn3TlFYu6jXv8KBRqdECgtGSqAKQE33iAM=",
+    "x86_64-linux": "sha256-+MIGPmKHkcn3TlFYu6jXv8KBRqdECgtGSqAKQE33iAM="
   },
   "dartVersion": "3.1.4",
   "dartHash": {
@@ -15,52 +18,52 @@
   "flutterHash": "sha256-00G030FvZZTsdf9ruFs9jdIHcC5h+xpp4NlmL64qVZA=",
   "artifactHashes": {
     "android": {
-      "x86_64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=",
+      "aarch64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ=",
       "aarch64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=",
       "x86_64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ=",
-      "aarch64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ="
+      "x86_64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y="
     },
     "fuchsia": {
-      "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
+      "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
       "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
       "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
-      "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="
+      "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="
     },
     "ios": {
-      "x86_64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=",
+      "aarch64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=",
       "aarch64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=",
       "x86_64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=",
-      "aarch64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="
+      "x86_64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="
     },
     "linux": {
-      "x86_64-linux": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=",
+      "aarch64-darwin": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M=",
       "aarch64-linux": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M=",
       "x86_64-darwin": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=",
-      "aarch64-darwin": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M="
+      "x86_64-linux": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs="
     },
     "macos": {
-      "x86_64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=",
+      "aarch64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=",
       "aarch64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=",
       "x86_64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=",
-      "aarch64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="
+      "x86_64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="
     },
     "universal": {
-      "x86_64-linux": "sha256-wATt1UPjo/fh7RFO1vvcUAdo0dMAaaOUIuzYodsM0v0=",
+      "aarch64-darwin": "sha256-mSpAPKyP9v0dbkXqYkzGOnD5OEjRZigiRElXXcHZ5TE=",
       "aarch64-linux": "sha256-Z9bszNaIpCccG7OfvE5WFsw36dITiyCQAZ6p29+Yq68=",
       "x86_64-darwin": "sha256-qN5bAXRfQ78TWF3FLBIxWzUB5y5OrZVQTEilY5J/+2k=",
-      "aarch64-darwin": "sha256-mSpAPKyP9v0dbkXqYkzGOnD5OEjRZigiRElXXcHZ5TE="
+      "x86_64-linux": "sha256-wATt1UPjo/fh7RFO1vvcUAdo0dMAaaOUIuzYodsM0v0="
     },
     "web": {
-      "x86_64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=",
+      "aarch64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=",
       "aarch64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=",
       "x86_64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=",
-      "aarch64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="
+      "x86_64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="
     },
     "windows": {
-      "x86_64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=",
+      "aarch64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=",
       "aarch64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=",
       "x86_64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=",
-      "aarch64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="
+      "x86_64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="
     }
   },
   "pubspecLock": {
diff --git a/pkgs/development/compilers/flutter/versions/3_16/data.json b/pkgs/development/compilers/flutter/versions/3_16/data.json
index 477328b4aa6b2..08cbdff5bc77d 100644
--- a/pkgs/development/compilers/flutter/versions/3_16/data.json
+++ b/pkgs/development/compilers/flutter/versions/3_16/data.json
@@ -1,9 +1,12 @@
 {
   "version": "3.16.7",
   "engineVersion": "4a585b79294e830fa89c24924d58a27cc8fbf406",
+  "engineSwiftShaderHash": "sha256-N6f5aeDroqEwZlUBZi7nhDW8leE/7DqmOtRYOY4wzf4=",
+  "engineSwiftShaderRev": "5f9ed9b16931c7155171d31f75004f73f0a3abc8",
   "channel": "stable",
   "engineHashes": {
-    "aarch64-linux": "sha256-xqniT1rYrzCuq6542KfqWRigYtLnmaT0z5Es/59iFMw="
+    "aarch64-linux": "sha256-irrfyKvTHqaBgcKg3jJzEDs1B4Q91u/e6Ui01MDI+oU=",
+    "x86_64-linux": "sha256-irrfyKvTHqaBgcKg3jJzEDs1B4Q91u/e6Ui01MDI+oU="
   },
   "dartVersion": "3.2.4",
   "dartHash": {
@@ -15,51 +18,51 @@
   "flutterHash": "sha256-j+tc8hMgZMBhju89n4e9tKRrq+CFBGOyeE0y+Z4FtHE=",
   "artifactHashes": {
     "android": {
+      "aarch64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=",
       "aarch64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg=",
       "x86_64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=",
-      "aarch64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=",
       "x86_64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg="
     },
     "fuchsia": {
+      "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
       "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
       "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
-      "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
       "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="
     },
     "ios": {
+      "aarch64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=",
       "aarch64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=",
       "x86_64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=",
-      "aarch64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=",
       "x86_64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw="
     },
     "linux": {
+      "aarch64-darwin": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=",
       "aarch64-linux": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=",
       "x86_64-darwin": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU=",
-      "aarch64-darwin": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=",
       "x86_64-linux": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU="
     },
     "macos": {
+      "aarch64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=",
       "aarch64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=",
       "x86_64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=",
-      "aarch64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=",
       "x86_64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk="
     },
     "universal": {
+      "aarch64-darwin": "sha256-Emus5J3mqPv47PD6xqNUD1KpXhVkX4JpURWuYG6KC14=",
       "aarch64-linux": "sha256-uB2YZRjioP/koMbPvaBHsezjPO0w5a+BpxZaDuiINIY=",
       "x86_64-darwin": "sha256-Qwf12gMqrW5nDC9Is08oxWTbKMptRQRAIb58JETq3xA=",
-      "aarch64-darwin": "sha256-Emus5J3mqPv47PD6xqNUD1KpXhVkX4JpURWuYG6KC14=",
       "x86_64-linux": "sha256-quSFKx7TZRJpK+4YDt5f9jwr7rZsSsaXMxhJ8vIcczQ="
     },
     "web": {
+      "aarch64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=",
       "aarch64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=",
       "x86_64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=",
-      "aarch64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=",
       "x86_64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw="
     },
     "windows": {
+      "aarch64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=",
       "aarch64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=",
       "x86_64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=",
-      "aarch64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=",
       "x86_64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU="
     }
   },
diff --git a/pkgs/development/compilers/flutter/versions/3_19/data.json b/pkgs/development/compilers/flutter/versions/3_19/data.json
index c09d3e99a3cac..491447493db98 100644
--- a/pkgs/development/compilers/flutter/versions/3_19/data.json
+++ b/pkgs/development/compilers/flutter/versions/3_19/data.json
@@ -1,11 +1,12 @@
 {
   "version": "3.19.4",
   "engineVersion": "a5c24f538d05aaf66f7972fb23959d8cafb9f95a",
+  "engineSwiftShaderHash": "sha256-J8TKwbIQ7hdWCGIu1T//MJlRzT7OTVL0MG/dmMyutPQ=",
+  "engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
   "channel": "stable",
   "engineHashes": {
-    "x86_64-linux": "sha256-xhihh4v9bh2ZxAewKEdhpXerLDoXFm8YO72+tGRnkCw=",
-    "aarch64-linux": "sha256-mUimQRg0UqvTueuDWO8Isy0FKOxJLvVZrehv4SMj0XY=",
-    "aarch64-darwin": "sha256-5DcD7ebrANznB++QOQOoynr1aOgJqTF8QfSihQnghoY="
+    "aarch64-linux": "sha256-YTG46ZYCOu0OJGIILV6NGvIEhQU0yHNFSMR38Xvqa9E=",
+    "x86_64-linux": "sha256-YTG46ZYCOu0OJGIILV6NGvIEhQU0yHNFSMR38Xvqa9E="
   },
   "dartVersion": "3.3.2",
   "dartHash": {
diff --git a/pkgs/development/compilers/flutter/versions/3_22/data.json b/pkgs/development/compilers/flutter/versions/3_22/data.json
index 968fde9d7b27c..140b22bbcb1c6 100644
--- a/pkgs/development/compilers/flutter/versions/3_22/data.json
+++ b/pkgs/development/compilers/flutter/versions/3_22/data.json
@@ -1,10 +1,12 @@
 {
   "version": "3.22.2",
   "engineVersion": "edd8546116457bdf1c5bdfb13ecb9463d2bb5ed4",
+  "engineSwiftShaderHash": "sha256-J8TKwbIQ7hdWCGIu1T//MJlRzT7OTVL0MG/dmMyutPQ=",
+  "engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
   "channel": "stable",
   "engineHashes": {
-    "aarch64-linux": "sha256-xPVhLxO9AgXC2+Hwm1lWRfNZhLwZHdKW92WXgv3ImZk=",
-    "x86_64-linux": "sha256-klODJpmlWynYx+MqqGGeTzzPtmQTEUV47hnzjIVDCK8="
+    "aarch64-linux": "sha256-OPgevqdMwKhXml+PS5Z1DW0wg843NVN57CiLbXve8kE=",
+    "x86_64-linux": "sha256-OPgevqdMwKhXml+PS5Z1DW0wg843NVN57CiLbXve8kE="
   },
   "dartVersion": "3.4.3",
   "dartHash": {
diff --git a/pkgs/development/compilers/flutter/versions/3_23/data.json b/pkgs/development/compilers/flutter/versions/3_23/data.json
index 3c3fedbdecaeb..a4087fea903ec 100644
--- a/pkgs/development/compilers/flutter/versions/3_23/data.json
+++ b/pkgs/development/compilers/flutter/versions/3_23/data.json
@@ -1,9 +1,12 @@
 {
   "version": "3.23.0-0.1.pre",
   "engineVersion": "bb10c5466638e963479ba5e64e601e42d1a43447",
+  "engineSwiftShaderHash": "sha256-J8TKwbIQ7hdWCGIu1T//MJlRzT7OTVL0MG/dmMyutPQ=",
+  "engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f",
   "channel": "beta",
   "engineHashes": {
-    "aarch64-linux": "sha256-WHWxYOHd3jxE5CQNt0+9qxlsCLK5y9iJsVERtJ4Ylbk="
+    "aarch64-linux": "sha256-g169BDV6NtiyriMSgK3GOwhkVi9X23SqB9HOxxtGPK4=",
+    "x86_64-linux": "sha256-g169BDV6NtiyriMSgK3GOwhkVi9X23SqB9HOxxtGPK4="
   },
   "dartVersion": "3.5.0-180.3.beta",
   "dartHash": {
diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix
index 4b20cf7f43f06..c988eba2e5aeb 100644
--- a/pkgs/development/compilers/flutter/wrapper.nix
+++ b/pkgs/development/compilers/flutter/wrapper.nix
@@ -7,7 +7,7 @@
     "universal"
     "web"
   ]
-  ++ lib.optional stdenv.hostPlatform.isLinux "linux"
+  ++ lib.optional (stdenv.hostPlatform.isLinux && !(flutter ? engine)) "linux"
   ++ lib.optional (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isDarwin) "android"
   ++ lib.optionals stdenv.hostPlatform.isDarwin [ "macos" "ios" ]
 , artifactHashes ? flutter.artifactHashes
@@ -147,7 +147,7 @@ in
       --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
       '' + lib.optionalString (flutter ? engine && flutter.engine.meta.available) ''
         --set-default FLUTTER_ENGINE "${flutter.engine}" \
-        --add-flags "--local-engine-host host_${flutter.engine.runtimeMode}${lib.optionalString (!flutter.engine.isOptimized) "_unopt"}" \
+        --add-flags "--local-engine-host ${flutter.engine.outName}" \
       '' + '' --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \
       --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \
       --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index 5a172bd360db7..61a8c3a5c5bd8 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,26 +18,29 @@ in stdenv.mkDerivation rec {
   version = "0.15.15";
 
   # These hashes can be updated automatically by running the ./update.sh script.
-  src =
-    if stdenv.isDarwin
-    then
-      (if stdenv.isAarch64
-      then
-      fetchurl {
-        url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos-arm64.tar.gz";
-        sha256 = "0bi231z1yhb7kjfn228wjkj6rv9lgpagz9f4djr2wy3kqgck4xg0";
-      }
-      else
-      fetchurl {
-        url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
+  src = let
+    url = "https://github.com/${pname}/${pname}/releases/download/v${version}/";
+    sources = {
+      "x86_64-linux" = fetchurl {
+        url = url + "linux64.tar.gz";
+        sha256 = "1w4jgjpfhaw3gkx9sna64lq9m030x49w4lwk01ik5ci0933imzj3";
+      };
+      "aarch64-linux" = fetchurl {
+        url = url + "linux-arm64.tar.gz";
+        sha256 = "1ws5h337xq0l06zrs9010h6wj2hq5cqk5ikp9arq7hj7lxf43vn5";
+      };
+      "x86_64-darwin" = fetchurl {
+        url = url + "macos.tar.gz";
         sha256 = "178ix54k2yragcgn0j8z1cfa78s1qbh1bsx3v9jnngby8igr6yn3";
-      })
-    else
-    fetchurl {
-      url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "1w4jgjpfhaw3gkx9sna64lq9m030x49w4lwk01ik5ci0933imzj3";
+      };
+      "aarch64-darwin" = fetchurl {
+        url = url + "macos-arm64.tar.gz";
+        sha256 = "0bi231z1yhb7kjfn228wjkj6rv9lgpagz9f4djr2wy3kqgck4xg0";
+      };
     };
-
+  in
+    sources.${stdenv.hostPlatform.system}
+      or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   buildInputs = [ zlib gmp ];
   libPath = lib.makeLibraryPath buildInputs;
@@ -49,7 +52,7 @@ in stdenv.mkDerivation rec {
 
     install -D -m555 -T purs $PURS
     ${patchelf libPath}
-
+  '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
     mkdir -p $out/share/bash-completion/completions
     $PURS --bash-completion-script $PURS > $out/share/bash-completion/completions/purs-completion.bash
   '';
@@ -67,7 +70,7 @@ in stdenv.mkDerivation rec {
     license = licenses.bsd3;
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     maintainers = with maintainers; [ justinwoo mbbx6spp cdepillabout ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
     mainProgram = "purs";
     changelog = "https://github.com/purescript/purescript/releases/tag/v${version}";
   };
diff --git a/pkgs/development/compilers/purescript/purescript/update.sh b/pkgs/development/compilers/purescript/purescript/update.sh
index 259fb8aa56107..186a51a2bca3a 100755
--- a/pkgs/development/compilers/purescript/purescript/update.sh
+++ b/pkgs/development/compilers/purescript/purescript/update.sh
@@ -25,6 +25,10 @@ old_linux_version_hash="$(nix-prefetch-url "https://github.com/purescript/puresc
 echo "v${old_version} linux tarball hash (current version): $old_linux_version_hash"
 new_linux_version_hash="$(nix-prefetch-url "https://github.com/purescript/purescript/releases/download/v${new_version}/linux64.tar.gz")"
 echo "v${new_version} linux tarball hash: $new_linux_version_hash"
+old_linux_arm_version_hash="$(nix-prefetch-url "https://github.com/purescript/purescript/releases/download/v${old_version}/linux-arm64.tar.gz")"
+echo "v${old_version} linux tarball hash (current version): $old_linux_arm_version_hash"
+new_linux_arm_version_hash="$(nix-prefetch-url "https://github.com/purescript/purescript/releases/download/v${new_version}/linux-arm64.tar.gz")"
+echo "v${new_version} linux tarball hash: $new_linux_arm_version_hash"
 old_darwin_version_hash="$(nix-prefetch-url "https://github.com/purescript/purescript/releases/download/v${old_version}/macos.tar.gz")"
 echo "v${old_version} darwin tarball hash (current version): $old_darwin_version_hash"
 new_darwin_version_hash="$(nix-prefetch-url "https://github.com/purescript/purescript/releases/download/v${new_version}/macos.tar.gz")"
@@ -37,6 +41,7 @@ echo
 
 echo "Replacing version and hashes in ${purescript_derivation_file}."
 sed -i -e "s/${old_linux_version_hash}/${new_linux_version_hash}/" "$purescript_derivation_file"
+sed -i -e "s/${old_linux_arm_version_hash}/${new_linux_arm_version_hash}/" "$purescript_derivation_file"
 sed -i -e "s/${old_darwin_version_hash}/${new_darwin_version_hash}/" "$purescript_derivation_file"
 sed -i -e "s/${old_darwin_arm_version_hash}/${new_darwin_arm_version_hash}/" "$purescript_derivation_file"
 sed -i -e "s/${old_version}/${new_version}/" "$purescript_derivation_file"
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 1c6cbb96a490c..34388c8c033b1 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "janet";
-  version = "1.34.0";
+  version = "1.35.2";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = "janet";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-DxUEFW9NzAyaE/6vNEFfddIaxsi7qovousxZ28Hveb4=";
+    hash = "sha256-iqexxlBFM4ffxDsOdKMRJs/ufhKV0jvzqgZ3tH9S/k0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix
index 0e4f62d42e2db..6f3342d057bd1 100644
--- a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix
+++ b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix
@@ -78,7 +78,7 @@ let
 
   luarocksDrv = luaLib.toLuaModule ( lua.stdenv.mkDerivation (self: attrs // {
 
-  name = namePrefix + pname + "-" + self.version;
+  name = namePrefix + self.pname + "-" + self.version;
   inherit rockspecVersion;
 
   __structuredAttrs = true;
@@ -114,7 +114,7 @@ let
   rocksSubdir = "${self.pname}-${self.version}-rocks";
 
   configFile = writeTextFile {
-    name = pname + "-luarocks-config.lua";
+    name = self.pname + "-luarocks-config.lua";
     text = self.luarocks_content;
   };
 
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
index 51e0c685a43d2..7e44794620c03 100644
--- a/pkgs/development/libraries/gtest/default.nix
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -3,6 +3,21 @@
 , fetchFromGitHub
 , cmake
 , ninja
+# Enable C++17 support
+#     https://github.com/google/googletest/issues/3081
+# Projects that require a higher standard can override this package.
+# For an example why that may be necessary, see:
+#     https://github.com/mhx/dwarfs/issues/188#issuecomment-1907574427
+# Setting this to `null` does not pass any flags to set this.
+, cxx_standard ? (
+    if (
+      (stdenv.cc.isGNU && (lib.versionOlder stdenv.cc.version "11.0"))
+      ||
+      (stdenv.cc.isClang && (lib.versionOlder stdenv.cc.version "16.0"))
+    )
+      then "17"
+      else null
+  )
 , static ? stdenv.hostPlatform.isStatic,
 }:
 
@@ -27,13 +42,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}"
-  ] ++ lib.optionals (
-    (stdenv.cc.isGNU && (lib.versionOlder stdenv.cc.version "11.0"))
-    || (stdenv.cc.isClang && (lib.versionOlder stdenv.cc.version "16.0"))
-  ) [
-    # Enable C++17 support
-    # https://github.com/google/googletest/issues/3081
-    "-DCMAKE_CXX_STANDARD=17"
+  ] ++ lib.optionals (cxx_standard != null) [
+    "-DCMAKE_CXX_STANDARD=${cxx_standard}"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/aionut/default.nix b/pkgs/development/python-modules/aionut/default.nix
index 8c9b8038ce998..cfcefeb330289 100644
--- a/pkgs/development/python-modules/aionut/default.nix
+++ b/pkgs/development/python-modules/aionut/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aionut";
-  version = "4.3.2";
+  version = "4.3.3";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = "aionut";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QehVC/6RbWp8KnOuVtLFkK8/STTgHXkXmFbSmzu9z7w=";
+    hash = "sha256-DCWfa5YfrB7MTf78AeSHDgiZzLNXoiNLnty9a+Sr9tQ=";
   };
 
   postPatch = ''
@@ -27,7 +27,7 @@ buildPythonPackage rec {
       --replace-fail " --cov=aionut --cov-report=term-missing:skip-covered" ""
   '';
 
-  nativeBuildInputs = [ poetry-core ];
+  build-system = [ poetry-core ];
 
   nativeCheckInputs = [
     pytest-asyncio
diff --git a/pkgs/development/python-modules/aiosteamist/default.nix b/pkgs/development/python-modules/aiosteamist/default.nix
index b6fc08e3c9d11..31e9ff403b7f8 100644
--- a/pkgs/development/python-modules/aiosteamist/default.nix
+++ b/pkgs/development/python-modules/aiosteamist/default.nix
@@ -4,46 +4,48 @@
   buildPythonPackage,
   fetchFromGitHub,
   poetry-core,
+  pytestCheckHook,
   pythonOlder,
   xmltodict,
 }:
 
 buildPythonPackage rec {
   pname = "aiosteamist";
-  version = "0.3.2";
-  format = "pyproject";
+  version = "1.0.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "bdraco";
-    repo = pname;
-    rev = version;
-    hash = "sha256-IKrAJ4QDcYJRO4hcomL9FRs8hJ3k7SgRgK4H1b8SxIM=";
+    repo = "aiosteamist";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vqCcQDUMFFhIOoiER5TMOxJPY7HYFS4K1fuu/1IqP44=";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "--cov=aiosteamist" ""
+  '';
 
-  propagatedBuildInputs = [
+  build-system = [ poetry-core ];
+
+  dependencies = [
     aiohttp
     xmltodict
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "--cov=aiosteamist" "" \
-      --replace 'xmltodict = "^0.12.0"' 'xmltodict = "*"'
-  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "aiosteamist" ];
 
-  # Modules doesn't have test suite
-  doCheck = false;
-
   meta = with lib; {
     description = "Module to control Steamist steam systems";
     homepage = "https://github.com/bdraco/aiosteamist";
-    license = with licenses; [ asl20 ];
+    changelog = "https://github.com/bdraco/aiosteamist/releases/tag/v${version}";
+    license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/aiovodafone/default.nix b/pkgs/development/python-modules/aiovodafone/default.nix
index 5344131279934..fc5b91f13a1bd 100644
--- a/pkgs/development/python-modules/aiovodafone/default.nix
+++ b/pkgs/development/python-modules/aiovodafone/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiovodafone";
-  version = "0.6.0";
+  version = "0.6.1";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "chemelli74";
     repo = "aiovodafone";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sy7/nCthmfI0WdBkwBU83fifcYTe9zUBOpxV7RX9F6w=";
+    hash = "sha256-ZBy3lo7rb361aysi2ezryd5H47r6sgSqmYNeAI+wXeQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/asyncstdlib/default.nix b/pkgs/development/python-modules/asyncstdlib/default.nix
index d44de866d323f..71a8688ed471a 100644
--- a/pkgs/development/python-modules/asyncstdlib/default.nix
+++ b/pkgs/development/python-modules/asyncstdlib/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "asyncstdlib";
-  version = "3.12.3";
+  version = "3.12.4";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "maxfischer2781";
     repo = "asyncstdlib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OLb4+7FFeVDW0ePyVJW8aaosouxlU/4Uq2ktvVLpDFY=";
+    hash = "sha256-5xbz56/s448PIOZ4DN6NFcYYWXaebaZA3ApGAIMZXH4=";
   };
 
   build-system = [ flit-core ];
diff --git a/pkgs/development/python-modules/hishel/default.nix b/pkgs/development/python-modules/hishel/default.nix
index 229e8e72b4033..9c05025ddfd9a 100644
--- a/pkgs/development/python-modules/hishel/default.nix
+++ b/pkgs/development/python-modules/hishel/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "hishel";
-  version = "0.0.27";
+  version = "0.0.29";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "karpetrosyan";
     repo = "hishel";
     rev = "refs/tags/${version}";
-    hash = "sha256-3iIQNtdd8sBGfNJrugjjWv4PQKhdFH+prw4poevh+O0=";
+    hash = "sha256-3RUbHVbnfC0L9u6/VMKK2BhTuc2y5kD83Cn8dQ24kQQ=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/justnimbus/default.nix b/pkgs/development/python-modules/justnimbus/default.nix
index 08a7592b29e28..5bc543a929760 100644
--- a/pkgs/development/python-modules/justnimbus/default.nix
+++ b/pkgs/development/python-modules/justnimbus/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "justnimbus";
-  version = "0.7.3";
+  version = "0.7.4";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "kvanzuijlen";
     repo = "justnimbus";
     rev = "refs/tags/${version}";
-    hash = "sha256-JO8T0JItkkNHxlnDKOO8kM9KSzT7QML4sszPymgXSBA=";
+    hash = "sha256-FsuvpmMWBYI1LheO3NFfCeaW4m3YQ41Tc81TP3gdNqo=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/llama-index-readers-s3/default.nix b/pkgs/development/python-modules/llama-index-readers-s3/default.nix
index 893ea6338ee77..8beec615d8be8 100644
--- a/pkgs/development/python-modules/llama-index-readers-s3/default.nix
+++ b/pkgs/development/python-modules/llama-index-readers-s3/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "llama-index-readers-s3";
-  version = "0.1.8";
+  version = "0.1.9";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_index_readers_s3";
     inherit version;
-    hash = "sha256-O8V9b52gcsWm0bfHlNThIvxPox7d+qK4KzvPWT0fkGc=";
+    hash = "sha256-ramC3INitu++AHKCWov78ad66/XnZG+Z4bZJHBdN5Uk=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/marshmallow-dataclass/default.nix b/pkgs/development/python-modules/marshmallow-dataclass/default.nix
index 1b9bce9c41588..163bc05167875 100644
--- a/pkgs/development/python-modules/marshmallow-dataclass/default.nix
+++ b/pkgs/development/python-modules/marshmallow-dataclass/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "marshmallow-dataclass";
-  version = "8.6.1";
+  version = "8.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "lovasoa";
     repo = "marshmallow_dataclass";
     rev = "refs/tags/v${version}";
-    hash = "sha256-IHHYYtQrdSAtZxbd/YV9J+c4B23HLr9gr01OE6Tgj94=";
+    hash = "sha256-O96Xv732euS0X+1ilhLVMoazpC4kUSJvyVYwdj10e2E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mkdocstrings-python/default.nix b/pkgs/development/python-modules/mkdocstrings-python/default.nix
index 67ad47544107b..fc72540e9d56b 100644
--- a/pkgs/development/python-modules/mkdocstrings-python/default.nix
+++ b/pkgs/development/python-modules/mkdocstrings-python/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocstrings-python";
-  version = "1.10.3";
+  version = "1.10.5";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = "python";
     rev = "refs/tags/${version}";
-    hash = "sha256-OiG/dPsWO2Z4lGUlgPePRcsrotCu+fwesKhhh6YjmnU=";
+    hash = "sha256-LRBo404TGxWBQdhN3gTyDHjB389hcHCfZK/oEFdjpOY=";
   };
 
   build-system = [ pdm-backend ];
diff --git a/pkgs/development/python-modules/puremagic/default.nix b/pkgs/development/python-modules/puremagic/default.nix
index b3bcbbacec39c..52e6abb8047cb 100644
--- a/pkgs/development/python-modules/puremagic/default.nix
+++ b/pkgs/development/python-modules/puremagic/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "puremagic";
-  version = "1.24";
+  version = "1.25";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "cdgriffith";
     repo = "puremagic";
     rev = "refs/tags/${version}";
-    hash = "sha256-omVSSxMAQQm+Sy023xIGBYm55qrb1dbds1Jj9WCtNfw=";
+    hash = "sha256-l97ZK9VT+kU9Hos91C7Q9Zhv3Dge3kyF7N//j4sZ5Kc=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pybalboa/default.nix b/pkgs/development/python-modules/pybalboa/default.nix
index 5cfa4813951e9..b013c9b715a17 100644
--- a/pkgs/development/python-modules/pybalboa/default.nix
+++ b/pkgs/development/python-modules/pybalboa/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pybalboa";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "garbled1";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-7vjdRGnEnMf32pZwoKRxX16hxkyf0CXlncpbBJMQtfI=";
+    hash = "sha256-rSY6kU7F9ybpPXcmTM2WBazjb9tI2+8dG56pjrRXcKg=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/pydrawise/default.nix b/pkgs/development/python-modules/pydrawise/default.nix
index 1aad1ae6668ca..9648fd9d206fd 100644
--- a/pkgs/development/python-modules/pydrawise/default.nix
+++ b/pkgs/development/python-modules/pydrawise/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pydrawise";
-  version = "2024.6.4";
+  version = "2024.6.5";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "dknowles2";
     repo = "pydrawise";
     rev = "refs/tags/${version}";
-    hash = "sha256-I1VS9uNKybokbkKh6QVjsf5cLV3vg19EnblOheAyxn8=";
+    hash = "sha256-ug9gADM6ig6i2mu3GhQ+vsbNf3vEfR4L7OQ5Ixuh5so=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/pyexploitdb/default.nix b/pkgs/development/python-modules/pyexploitdb/default.nix
index c86678cbc499f..4a9dd9f6a750a 100644
--- a/pkgs/development/python-modules/pyexploitdb/default.nix
+++ b/pkgs/development/python-modules/pyexploitdb/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyexploitdb";
-  version = "0.2.22";
+  version = "0.2.23";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyExploitDb";
     inherit version;
-    hash = "sha256-zLGJ8MYfyXrJwy8GywOq9fM9rMMmRTgPrgiByGwQ+gM=";
+    hash = "sha256-myqv7zNhSUZTdyujg0ogrbzpypA5APGJhTM+FtrgXNA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pygitguardian/default.nix b/pkgs/development/python-modules/pygitguardian/default.nix
index 2310bfb1f77df..ccc9d2726d31f 100644
--- a/pkgs/development/python-modules/pygitguardian/default.nix
+++ b/pkgs/development/python-modules/pygitguardian/default.nix
@@ -2,8 +2,9 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  marshmallow,
   marshmallow-dataclass,
+  marshmallow,
+  pdm-backend,
   pytestCheckHook,
   pythonOlder,
   pythonRelaxDepsHook,
@@ -16,29 +17,36 @@
 
 buildPythonPackage rec {
   pname = "pygitguardian";
-  version = "1.14.0";
+  version = "1.15.2";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "GitGuardian";
     repo = "py-gitguardian";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Uw65+YOnln+IOyT+RgqMEWt5cOZsaeS8Nu8U6ooivWA=";
+    hash = "sha256-jmjlNGyGYsiwQ0qi8KiSUI38J4n1ZTzqxzY9Bn9OdqY=";
   };
 
-  pythonRelaxDeps = [ "marshmallow-dataclass" ];
+  pythonRelaxDeps = [
+    "marshmallow-dataclass"
+    "setuptools"
+  ];
+
+  build-system = [
+    pdm-backend
+  ];
 
   nativeBuildInputs = [
     pythonRelaxDepsHook
-    setuptools
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     marshmallow
     marshmallow-dataclass
     requests
+    setuptools
     typing-extensions
   ];
 
@@ -65,6 +73,7 @@ buildPythonPackage rec {
     "test_multiscan_parameters"
     "test_quota_overview"
     "test_rate_limit"
+    "test_read_metadata_bad_response"
     "test_sca_client_scan_diff"
     "test_sca_scan_all_with_params"
     "test_sca_scan_directory_invalid_tar"
diff --git a/pkgs/development/python-modules/qdrant-client/default.nix b/pkgs/development/python-modules/qdrant-client/default.nix
index 0a6a476979c1a..f90c52359634d 100644
--- a/pkgs/development/python-modules/qdrant-client/default.nix
+++ b/pkgs/development/python-modules/qdrant-client/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "qdrant-client";
-  version = "1.9.1";
+  version = "1.9.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "qdrant";
     repo = "qdrant-client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1QYL2othFA/xTgdj549MA1aVDH6jjiuL+aN2Q/supp8=";
+    hash = "sha256-F7H06SGKq6jSasY0TQVBmn1TYONVEZn6ArJXlRR4lCc=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix
index a3ca41383be3f..10d557f774952 100644
--- a/pkgs/development/python-modules/scancode-toolkit/default.nix
+++ b/pkgs/development/python-modules/scancode-toolkit/default.nix
@@ -61,14 +61,14 @@
 
 buildPythonPackage rec {
   pname = "scancode-toolkit";
-  version = "32.1.0";
+  version = "32.2.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WjVtE+3KtFdtBLqNUzFwDrWAUQLblE+DNGjABH+5zWc=";
+    hash = "sha256-P5Lmosa8PrqDYEbdoDLnby0ET4KsfbLWzXHmWHhy8ss=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index cce3de84a0e87..6eb35709fabc5 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.29.0";
+  version = "3.30.0";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-49dSRg0nrTXuXfnrC2/3p/zYMxouXO9FLqSBSxg4TcU=";
+    hash = "sha256-KJC0M5sk1dlCzadQ1/MBEnWuAGva/MP2MygqehH2fTg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/slackclient/default.nix b/pkgs/development/python-modules/slackclient/default.nix
index a53a43ce80c57..9f1d3e92c08d6 100644
--- a/pkgs/development/python-modules/slackclient/default.nix
+++ b/pkgs/development/python-modules/slackclient/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "slackclient";
-  version = "3.28.0";
+  version = "3.29.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-rsJLjqP1XT1JkFz3iQovF58XdkmVcL+jfjiiI9SqonE=";
+    hash = "sha256-49dSRg0nrTXuXfnrC2/3p/zYMxouXO9FLqSBSxg4TcU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
index 2fd63f5e1d929..de1221035423e 100644
--- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
+++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tencentcloud-sdk-python";
-  version = "3.0.1173";
+  version = "3.0.1174";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "TencentCloud";
     repo = "tencentcloud-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-rCfTgK6ZfddBofxOfA1ilRwUGRkYTj4NpDEFRfpjSEk=";
+    hash = "sha256-RaeyaiVs+9iZxWxR2hrQ7MrmPfwu0NODC4NJSJ22/kQ=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/thriftpy2/default.nix b/pkgs/development/python-modules/thriftpy2/default.nix
index 4a125dd1775bc..d70ed13e37e8b 100644
--- a/pkgs/development/python-modules/thriftpy2/default.nix
+++ b/pkgs/development/python-modules/thriftpy2/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "thriftpy2";
-  version = "0.5.0";
+  version = "0.5.1";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Thriftpy";
     repo = "thriftpy2";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Pjy9OPwFfKaw+XVl7IbbAKPz050TlqI4+yLqSITOkSY=";
+    hash = "sha256-F/h2XhzLA89CwgorKhrvKrajFbT9maiF3RBkulQQ9bk=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/rocm-modules/5/clr/default.nix b/pkgs/development/rocm-modules/5/clr/default.nix
index 0c702dace2b81..49857e9d26f5a 100644
--- a/pkgs/development/rocm-modules/5/clr/default.nix
+++ b/pkgs/development/rocm-modules/5/clr/default.nix
@@ -114,6 +114,10 @@ in stdenv.mkDerivation (finalAttrs: {
 
     substituteInPlace hipamd/src/hip_embed_pch.sh \
       --replace "\''$LLVM_DIR/bin/clang" "${clang}/bin/clang"
+
+    substituteInPlace opencl/khronos/icd/loader/icd_platform.h \
+      --replace-fail '#define ICD_VENDOR_PATH "/etc/OpenCL/vendors/";' \
+                     '#define ICD_VENDOR_PATH "/run/opengl-driver/etc/OpenCL/vendors/";'
   '';
 
   postInstall = ''
diff --git a/pkgs/development/rocm-modules/6/clr/default.nix b/pkgs/development/rocm-modules/6/clr/default.nix
index dedda194c8280..7d80242ccbda0 100644
--- a/pkgs/development/rocm-modules/6/clr/default.nix
+++ b/pkgs/development/rocm-modules/6/clr/default.nix
@@ -138,6 +138,10 @@ in stdenv.mkDerivation (finalAttrs: {
     # https://lists.debian.org/debian-ai/2024/02/msg00178.html
     substituteInPlace rocclr/utils/flags.hpp \
       --replace-fail "HIP_USE_RUNTIME_UNBUNDLER, false" "HIP_USE_RUNTIME_UNBUNDLER, true"
+
+    substituteInPlace opencl/khronos/icd/loader/icd_platform.h \
+      --replace-fail '#define ICD_VENDOR_PATH "/etc/OpenCL/vendors/";' \
+                     '#define ICD_VENDOR_PATH "/run/opengl-driver/etc/OpenCL/vendors/";'
   '';
 
   postInstall = ''
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index ed663df264380..414771b2773ba 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.2.141";
+  version = "3.2.144";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-1EKqqKm0QB9tS5uaS7xMPoK/KDWRkJH1uW7yGiHLbNU=";
+    hash = "sha256-BF2xeHoVb6uSqRB9kTj6QX4pDUkj49xdBOC2SbZ0qjE=";
   };
 
   patches = [ ./flake8-compat-5.x.patch ];
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index 349b44730b8a2..c5e3b43eea061 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -1,18 +1,42 @@
- {lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  perl,
+  python3,
+  perlPackages,
+  makeWrapper,
+}:
 
+let
+  perlDeps = [
+    perlPackages.CaptureTiny
+    perlPackages.DateTime
+    perlPackages.DateTimeFormatW3CDTF
+    perlPackages.DevelCover
+    perlPackages.GD
+    perlPackages.JSONXS
+    perlPackages.MemoryProcess
+    perlPackages.PathTools
+  ];
+in
 stdenv.mkDerivation rec {
   pname = "lcov";
-  version = "1.16";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "linux-test-project";
     repo = "lcov";
     rev = "v${version}";
-    sha256 = "sha256-X1T5OqR6NgTNGedH1on3+XZ7369007By6tRJK8xtmbk=";
+    hash = "sha256-QfA+mzLfpi2fuhcPvCKO7YnPef1GMhCbgBWdXFTXPzE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perl ];
+
+  buildInputs = [
+    perl
+    python3
+  ];
 
   preBuild = ''
     patchShebangs bin/
@@ -20,26 +44,27 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/lcov --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.PerlIOgzip perlPackages.JSON ]}
-    wrapProgram $out/bin/genpng --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.GD ]}
+    for f in "$out"/bin/{gen*,lcov,perl2lcov}; do
+      wrapProgram "$f" --set PERL5LIB ${perlPackages.makeFullPerlPath perlDeps}
+    done
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Code coverage tool that enhances GNU gcov";
 
-    longDescription =
-      '' LCOV is an extension of GCOV, a GNU tool which provides information
-         about what parts of a program are actually executed (i.e.,
-         "covered") while running a particular test case.  The extension
-         consists of a set of PERL scripts which build on the textual GCOV
-         output to implement the following enhanced functionality such as
-         HTML output.
-      '';
+    longDescription = ''
+      LCOV is an extension of GCOV, a GNU tool which provides information
+      about what parts of a program are actually executed (i.e.,
+      "covered") while running a particular test case.  The extension
+      consists of a set of PERL scripts which build on the textual GCOV
+      output to implement the following enhanced functionality such as
+      HTML output.
+    '';
 
-    homepage = "https://ltp.sourceforge.net/coverage/lcov.php";
+    homepage = "https://github.com/linux-test-project/lcov";
     license = lib.licenses.gpl2Plus;
 
-    maintainers = with maintainers; [ dezgeg ];
-    platforms = platforms.all;
+    maintainers = with lib.maintainers; [ dezgeg ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/database/clickhouse-backup/default.nix b/pkgs/development/tools/database/clickhouse-backup/default.nix
index 2b7a31d05f2e8..3cb8c66f36532 100644
--- a/pkgs/development/tools/database/clickhouse-backup/default.nix
+++ b/pkgs/development/tools/database/clickhouse-backup/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "clickhouse-backup";
-  version = "2.5.14";
+  version = "2.5.15";
 
   src = fetchFromGitHub {
     owner = "Altinity";
     repo = "clickhouse-backup";
     rev = "v${version}";
-    hash = "sha256-y57P6AM0w1AaOxCOHPjdgyhvqP/yasOP46JdErnYEvg=";
+    hash = "sha256-FKOpHvturPJQOhWJh5I7JwDhp0X0Y0ppFejTW1hG6Fk=";
   };
 
   vendorHash = "sha256-vwcItklYe6ljFdGTxef19plaI5OMoOtQohY0xZLBUos=";
diff --git a/pkgs/development/tools/language-servers/metals/default.nix b/pkgs/development/tools/language-servers/metals/default.nix
index bfb8561f6caa8..42ca82fea0bcc 100644
--- a/pkgs/development/tools/language-servers/metals/default.nix
+++ b/pkgs/development/tools/language-servers/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "1.3.1";
+  version = "1.3.2";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-ugTYjXgD5SHagRtc1RNsnfcLAXPeWSHcos82ewr3UIs=";
+    outputHash = "sha256-hRESY7TFxUjEkNf0vhCG30mIHZHXoAyZl3nTQ3OvQ0E=";
   };
 
   nativeBuildInputs = [ makeWrapper setJavaClassPath ];
diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
index d64e3c91ae7e0..1a0466596fdc3 100644
--- a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
+++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
@@ -1,11 +1,11 @@
-{ luarocks
+{ luarocks_bootstrap
 , fetchFromGitHub
 , unstableGitUpdater
 , nurl
 , file
 }:
 
-luarocks.overrideAttrs (old: {
+luarocks_bootstrap.overrideAttrs (old: {
   pname = "luarocks-nix";
   version = "0-unstable-2024-04-29";
 
diff --git a/pkgs/development/tools/reindeer/default.nix b/pkgs/development/tools/reindeer/default.nix
index d868c5b16b874..a11f60bf99c4a 100644
--- a/pkgs/development/tools/reindeer/default.nix
+++ b/pkgs/development/tools/reindeer/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reindeer";
-  version = "2024.06.10.00";
+  version = "2024.06.17.00";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = "reindeer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YAWGNF4WN8/RV3GYmxjyARNk4VzTXJEa42/gaK5B4CE=";
+    hash = "sha256-J3ZrlX83TE63Go4qp+lMhexkuaV0ZgHNYga8qxZF0wI=";
   };
 
-  cargoHash = "sha256-uNTDLQH6m4Dbk8tGyGnm0W5OK9OGaABZOq7weqtvaeU=";
+  cargoHash = "sha256-xqDMfGNvlyFo3v9GmESfRG+WyQKbzTojOqtYK/tMPxo=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs =
diff --git a/pkgs/development/tools/rye/Cargo.lock b/pkgs/development/tools/rye/Cargo.lock
index 3a7d4b0e21122..e2d27c9eade64 100644
--- a/pkgs/development/tools/rye/Cargo.lock
+++ b/pkgs/development/tools/rye/Cargo.lock
@@ -1799,7 +1799,7 @@ dependencies = [
 
 [[package]]
 name = "rye"
-version = "0.34.0"
+version = "0.35.0"
 dependencies = [
  "age",
  "anyhow",
diff --git a/pkgs/development/tools/rye/default.nix b/pkgs/development/tools/rye/default.nix
index ab191b7547be4..8414cd5f59c02 100644
--- a/pkgs/development/tools/rye/default.nix
+++ b/pkgs/development/tools/rye/default.nix
@@ -8,17 +8,20 @@
 , CoreServices
 , Libsystem
 , SystemConfiguration
+, nix-update-script
+, testers
+, rye
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rye";
-  version = "0.34.0";
+  version = "0.35.0";
 
   src = fetchFromGitHub {
     owner = "mitsuhiko";
     repo = "rye";
     rev = "refs/tags/${version}";
-    hash = "sha256-M5TJXyh1fNigHOuBpEpnUeOWboZWxZ9bGrBuMB1oHgE=";
+    hash = "sha256-mkBp9iFoN1LanJrcm4VdZ9k8cWNaRZIYl10ukT4Rfqc=";
   };
 
   cargoLock = {
@@ -80,12 +83,17 @@ rustPlatform.buildRustPackage rec {
     "--skip=test_version"
   ];
 
-  meta = with lib; {
+  passthru = {
+    updateScript = nix-update-script { };
+    tests.version = testers.testVersion { package = rye; };
+  };
+
+  meta = {
     description = "Tool to easily manage python dependencies and environments";
     homepage = "https://github.com/mitsuhiko/rye";
     changelog = "https://github.com/mitsuhiko/rye/releases/tag/${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ GaetanLepage ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ GaetanLepage ];
     mainProgram = "rye";
   };
 }
diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix
index 1e2a2811769a1..b3f5549c487c8 100644
--- a/pkgs/games/path-of-building/default.nix
+++ b/pkgs/games/path-of-building/default.nix
@@ -1,6 +1,21 @@
-{ stdenv, lib, fetchFromGitHub, unzip, meson, ninja, pkg-config, qtbase, qttools, wrapQtAppsHook, luajit }:
+{
+  stdenv,
+  lib,
+  fetchFromGitHub,
+  unzip,
+  meson,
+  ninja,
+  pkg-config,
+  qtbase,
+  qttools,
+  wrapQtAppsHook,
+  icoutils,
+  copyDesktopItems,
+  makeDesktopItem,
+  luajit,
+}:
 let
-  data = stdenv.mkDerivation(finalAttrs: {
+  data = stdenv.mkDerivation (finalAttrs: {
     pname = "path-of-building-data";
     version = "2.42.0";
 
@@ -42,12 +57,35 @@ stdenv.mkDerivation {
     hash = "sha256-zhw2PZ6ZNMgZ2hG+a6AcYBkeg7kbBHNc2eSt4if17Wk=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config qttools wrapQtAppsHook ];
-  buildInputs = [ qtbase luajit luajit.pkgs.lua-curl ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    qttools
+    wrapQtAppsHook
+    icoutils
+  ] ++ lib.optional stdenv.isLinux copyDesktopItems;
+
+  buildInputs = [
+    qtbase
+    luajit
+    luajit.pkgs.lua-curl
+  ];
 
   installPhase = ''
     runHook preInstall
     install -Dm555 pobfrontend $out/bin/pobfrontend
+
+    wrestool -x -t 14 ${data.src}/runtime/Path{space}of{space}Building.exe -o pathofbuilding.ico
+    icotool -x pathofbuilding.ico
+
+    for size in 16 32 48 256; do
+      mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+      install -Dm 644 pathofbuilding*"$size"x"$size"*.png \
+        $out/share/icons/hicolor/"$size"x"$size"/apps/pathofbuilding.png
+    done
+    rm pathofbuilding.ico
+
     runHook postInstall
   '';
 
@@ -59,6 +97,27 @@ stdenv.mkDerivation {
     )
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "path-of-building";
+      desktopName = "Path of Building";
+      comment = "Offline build planner for Path of Exile";
+      exec = "pobfrontend %U";
+      terminal = false;
+      type = "Application";
+      icon = "pathofbuilding";
+      categories = [ "Game" ];
+      keywords = [
+        "poe"
+        "pob"
+        "pobc"
+        "path"
+        "exile"
+      ];
+      mimeTypes = [ "x-scheme-handler/pob" ];
+    })
+  ];
+
   passthru.data = data;
 
   meta = {
@@ -67,6 +126,6 @@ stdenv.mkDerivation {
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.k900 ];
     mainProgram = "pobfrontend";
-    broken = stdenv.isDarwin;  # doesn't find uic6 for some reason
+    broken = stdenv.isDarwin; # doesn't find uic6 for some reason
   };
 }
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index bfd871a2a1c14..000b07c5433d9 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -11,6 +11,7 @@
 , gtk2
 , libmad
 , libogg
+, libpng
 , libpulseaudio
 , libvorbis
 , udev
@@ -51,6 +52,7 @@ stdenv.mkDerivation {
     gtk2
     libmad
     libogg
+    libpng
     libpulseaudio
     libvorbis
     udev
@@ -59,6 +61,7 @@ stdenv.mkDerivation {
 
   cmakeFlags = [
     "-DWITH_SYSTEM_FFMPEG=1"
+    "-DWITH_SYSTEM_PNG=on"
     "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
     "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
   ];
@@ -79,8 +82,6 @@ stdenv.mkDerivation {
     platforms = platforms.linux;
     license = licenses.mit; # expat version
     maintainers = with maintainers; [ h7x4 ];
-    # never built on aarch64-linux since first introduction in nixpkgs
-    broken = stdenv.isLinux && stdenv.isAarch64;
     mainProgram = "stepmania";
   };
 }
diff --git a/pkgs/servers/nextcloud/packages/27.json b/pkgs/servers/nextcloud/packages/27.json
index dbab86fde27c6..cfa3e327034a5 100644
--- a/pkgs/servers/nextcloud/packages/27.json
+++ b/pkgs/servers/nextcloud/packages/27.json
@@ -3,7 +3,7 @@
     "sha256": "06pprhlaaqdha2nmfdcf76mhh48hdr5jlv88snxji8lpflv50wr5",
     "url": "https://github.com/nextcloud/bookmarks/releases/download/v13.1.3/bookmarks-13.1.3.tar.gz",
     "version": "13.1.3",
-    "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- 🔍 Full-text search\n- 📲 Synchronize with all your browsers and devices\n- 👪 Share bookmarks with other users and publicly\n- ☠ Find broken links\n- ⚛ Generate RSS feeds of your collections\n- 📔 Read archived versions of your links in case they are depublished\n- 💬 Create new bookmarks directly from within Nextcloud Talk\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n   - intl: *\n   - mbstring: *\n - when using MySQL, use at least v8.0",
+    "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- ☠ Find broken links and duplicates\n- 📲 Synchronize with all your browsers and devices\n- 📔 Store archived versions of your links in case they are depublished\n- 🔍 Full-text search on site contents\n- 👪 Share bookmarks with other users and via public links\n- ⚛ Generate RSS feeds of your collections\n- 📈 Stats on how often you access which links\n- 🔒 Automatic backups of your bookmarks collection\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n   - intl: *\n   - mbstring: *\n - when using MySQL, use at least v8.0",
     "homepage": "https://github.com/nextcloud/bookmarks",
     "licenses": [
       "agpl"
@@ -110,9 +110,9 @@
     ]
   },
   "groupfolders": {
-    "sha256": "00c387vjz5sxw3gv61m4p3jby50bcadk8dwpz0zsd5wbhwffd63q",
-    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v15.3.7/groupfolders-v15.3.7.tar.gz",
-    "version": "15.3.7",
+    "sha256": "12rj57d0g5vqm95hy4cf6ynxl3gfcfhh5kbdmvcz55q5a1wxbn81",
+    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v15.3.8/groupfolders-v15.3.8.tar.gz",
+    "version": "15.3.8",
     "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.",
     "homepage": "https://github.com/nextcloud/groupfolders",
     "licenses": [
@@ -230,9 +230,9 @@
     ]
   },
   "polls": {
-    "sha256": "0wijb8dkszyzs3108qylcjnvd3kdhlciqndhgc993ybwqxqxfsxn",
-    "url": "https://github.com/nextcloud/polls/releases/download/v6.4.1/polls.tar.gz",
-    "version": "6.4.1",
+    "sha256": "1hcirwsi68n3j3haw31svkxv6qyj3jbj5frfzspp8x8vnfclrask",
+    "url": "https://github.com/nextcloud/polls/releases/download/v7.1.1/polls.tar.gz",
+    "version": "7.1.1",
     "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
     "homepage": "https://github.com/nextcloud/polls",
     "licenses": [
diff --git a/pkgs/servers/nextcloud/packages/28.json b/pkgs/servers/nextcloud/packages/28.json
index 0a5c405e36115..311e82214a7fb 100644
--- a/pkgs/servers/nextcloud/packages/28.json
+++ b/pkgs/servers/nextcloud/packages/28.json
@@ -1,9 +1,9 @@
 {
   "bookmarks": {
-    "sha256": "01m78jfnqgvqj94v13bi6rj52sgwrp18zs4svgbdrci3lc7xqyp2",
-    "url": "https://github.com/nextcloud/bookmarks/releases/download/v14.1.2/bookmarks-14.1.2.tar.gz",
-    "version": "14.1.2",
-    "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- 🔍 Full-text search\n- 📲 Synchronize with all your browsers and devices\n- 👪 Share bookmarks with other users and publicly\n- ☠ Find broken links\n- ⚛ Generate RSS feeds of your collections\n- 📔 Read archived versions of your links in case they are depublished\n- 💬 Create new bookmarks directly from within Nextcloud Talk\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n   - intl: *\n   - mbstring: *\n - when using MySQL, use at least v8.0",
+    "sha256": "1vpha2lxq199ckssnw7fc23dnk4pn1r0ipdwdqv102adpiqrfiy1",
+    "url": "https://github.com/nextcloud/bookmarks/releases/download/v14.2.2/bookmarks-14.2.2.tar.gz",
+    "version": "14.2.2",
+    "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- ☠ Find broken links and duplicates\n- 📲 Synchronize with all your browsers and devices\n- 📔 Store archived versions of your links in case they are depublished\n- 🔍 Full-text search on site contents\n- 👪 Share bookmarks with other users and via public links\n- ⚛ Generate RSS feeds of your collections\n- 📈 Stats on how often you access which links\n- 🔒 Automatic backups of your bookmarks collection\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n   - intl: *\n   - mbstring: *\n - when using MySQL, use at least v8.0",
     "homepage": "https://github.com/nextcloud/bookmarks",
     "licenses": [
       "agpl"
@@ -90,9 +90,9 @@
     ]
   },
   "groupfolders": {
-    "sha256": "06lbv04byc08zqfws2hbxqdg05d25sfps80y21xahzcrv74z4ngl",
-    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v16.0.6/groupfolders-v16.0.6.tar.gz",
-    "version": "16.0.6",
+    "sha256": "17lhmj4ndxp7h0fxmxk3f3dwhs44mplxpyfb6nb5ia2dm8i858w1",
+    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v16.0.7/groupfolders-v16.0.7.tar.gz",
+    "version": "16.0.7",
     "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.",
     "homepage": "https://github.com/nextcloud/groupfolders",
     "licenses": [
@@ -119,6 +119,16 @@
       "agpl"
     ]
   },
+  "integration_paperless": {
+    "sha256": "08rgdlinxpcwyq0f97ibv022qhj8smk94dvlf927xq46220w9pfx",
+    "url": "https://github.com/nextcloud-releases/integration_paperless/releases/download/v1.0.3/integration_paperless-v1.0.3.tar.gz",
+    "version": "1.0.3",
+    "description": "Integration with the [Paperless](https://docs.paperless-ngx.com) Document Management System.\nIt adds a file action menu item that can be used to upload a file from your Nextcloud Files to Paperless.",
+    "homepage": "",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "mail": {
     "sha256": "1q0ihgrb6sk0rizs45clqhjpmai2m2zislw6s1694j1zssz4jpqg",
     "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.1/mail-v3.7.1.tar.gz",
@@ -130,8 +140,8 @@
     ]
   },
   "maps": {
-    "sha256": "1gqms3rrdpjmpb1h5d72b4lwbvsl8p10zwnkhgnsmvfcf93h3r1c",
-    "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0/maps-1.4.0.tar.gz",
+    "sha256": "18gln06hgljgnr90ki95nl7b8986ivf3cymr6hajilszlr77hk22",
+    "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0-1-nightly/maps-1.4.0-1-nightly.tar.gz",
     "version": "1.4.0",
     "description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
     "homepage": "https://github.com/nextcloud/maps",
@@ -200,9 +210,9 @@
     ]
   },
   "polls": {
-    "sha256": "1crs6fks9ywywyi3pnji49dxnry5vpcmd1x29y8anyp32ji2a35r",
-    "url": "https://github.com/nextcloud/polls/releases/download/v7.0.3/polls.tar.gz",
-    "version": "7.0.3",
+    "sha256": "1hcirwsi68n3j3haw31svkxv6qyj3jbj5frfzspp8x8vnfclrask",
+    "url": "https://github.com/nextcloud/polls/releases/download/v7.1.1/polls.tar.gz",
+    "version": "7.1.1",
     "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
     "homepage": "https://github.com/nextcloud/polls",
     "licenses": [
diff --git a/pkgs/servers/nextcloud/packages/29.json b/pkgs/servers/nextcloud/packages/29.json
index 7f7e7d91e9f38..01540b002c3c0 100644
--- a/pkgs/servers/nextcloud/packages/29.json
+++ b/pkgs/servers/nextcloud/packages/29.json
@@ -1,9 +1,9 @@
 {
   "bookmarks": {
-    "sha256": "01m78jfnqgvqj94v13bi6rj52sgwrp18zs4svgbdrci3lc7xqyp2",
-    "url": "https://github.com/nextcloud/bookmarks/releases/download/v14.1.2/bookmarks-14.1.2.tar.gz",
-    "version": "14.1.2",
-    "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- 🔍 Full-text search\n- 📲 Synchronize with all your browsers and devices\n- 👪 Share bookmarks with other users and publicly\n- ☠ Find broken links\n- ⚛ Generate RSS feeds of your collections\n- 📔 Read archived versions of your links in case they are depublished\n- 💬 Create new bookmarks directly from within Nextcloud Talk\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n   - intl: *\n   - mbstring: *\n - when using MySQL, use at least v8.0",
+    "sha256": "1vpha2lxq199ckssnw7fc23dnk4pn1r0ipdwdqv102adpiqrfiy1",
+    "url": "https://github.com/nextcloud/bookmarks/releases/download/v14.2.2/bookmarks-14.2.2.tar.gz",
+    "version": "14.2.2",
+    "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- ☠ Find broken links and duplicates\n- 📲 Synchronize with all your browsers and devices\n- 📔 Store archived versions of your links in case they are depublished\n- 🔍 Full-text search on site contents\n- 👪 Share bookmarks with other users and via public links\n- ⚛ Generate RSS feeds of your collections\n- 📈 Stats on how often you access which links\n- 🔒 Automatic backups of your bookmarks collection\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n   - intl: *\n   - mbstring: *\n - when using MySQL, use at least v8.0",
     "homepage": "https://github.com/nextcloud/bookmarks",
     "licenses": [
       "agpl"
@@ -90,9 +90,9 @@
     ]
   },
   "groupfolders": {
-    "sha256": "1x765bd5qd88rpa786pvj74psc52zbivk73pxna6nmhn9v0pmpms",
-    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v17.0.0/groupfolders-v17.0.0.tar.gz",
-    "version": "17.0.0",
+    "sha256": "0s0bsidghrj5k38vbw6xbp7jr57sqb3pn9n2gq24sdklhy81k882",
+    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v17.0.1/groupfolders-v17.0.1.tar.gz",
+    "version": "17.0.1",
     "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.",
     "homepage": "https://github.com/nextcloud/groupfolders",
     "licenses": [
@@ -119,6 +119,16 @@
       "agpl"
     ]
   },
+  "integration_paperless": {
+    "sha256": "08rgdlinxpcwyq0f97ibv022qhj8smk94dvlf927xq46220w9pfx",
+    "url": "https://github.com/nextcloud-releases/integration_paperless/releases/download/v1.0.3/integration_paperless-v1.0.3.tar.gz",
+    "version": "1.0.3",
+    "description": "Integration with the [Paperless](https://docs.paperless-ngx.com) Document Management System.\nIt adds a file action menu item that can be used to upload a file from your Nextcloud Files to Paperless.",
+    "homepage": "",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "mail": {
     "sha256": "1q0ihgrb6sk0rizs45clqhjpmai2m2zislw6s1694j1zssz4jpqg",
     "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.1/mail-v3.7.1.tar.gz",
@@ -130,8 +140,8 @@
     ]
   },
   "maps": {
-    "sha256": "1gqms3rrdpjmpb1h5d72b4lwbvsl8p10zwnkhgnsmvfcf93h3r1c",
-    "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0/maps-1.4.0.tar.gz",
+    "sha256": "18gln06hgljgnr90ki95nl7b8986ivf3cymr6hajilszlr77hk22",
+    "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0-1-nightly/maps-1.4.0-1-nightly.tar.gz",
     "version": "1.4.0",
     "description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
     "homepage": "https://github.com/nextcloud/maps",
@@ -200,9 +210,9 @@
     ]
   },
   "polls": {
-    "sha256": "1crs6fks9ywywyi3pnji49dxnry5vpcmd1x29y8anyp32ji2a35r",
-    "url": "https://github.com/nextcloud/polls/releases/download/v7.0.3/polls.tar.gz",
-    "version": "7.0.3",
+    "sha256": "1hcirwsi68n3j3haw31svkxv6qyj3jbj5frfzspp8x8vnfclrask",
+    "url": "https://github.com/nextcloud/polls/releases/download/v7.1.1/polls.tar.gz",
+    "version": "7.1.1",
     "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
     "homepage": "https://github.com/nextcloud/polls",
     "licenses": [
@@ -250,9 +260,9 @@
     ]
   },
   "spreed": {
-    "sha256": "106y9mbnwga7pfhydrd8rjpcr89ir3fjrdn81xykyzqwrq29fxgs",
-    "url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.1/spreed-v19.0.1.tar.gz",
-    "version": "19.0.1",
+    "sha256": "0hwlfhdqchcv4hsgaywqqlzgpnfwl93s28xvy0n5y00namdl6mp4",
+    "url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.2/spreed-v19.0.2.tar.gz",
+    "version": "19.0.2",
     "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
     "homepage": "https://github.com/nextcloud/spreed",
     "licenses": [
diff --git a/pkgs/servers/nextcloud/packages/nextcloud-apps.json b/pkgs/servers/nextcloud/packages/nextcloud-apps.json
index 3affc750f9822..3118d4418cfd8 100644
--- a/pkgs/servers/nextcloud/packages/nextcloud-apps.json
+++ b/pkgs/servers/nextcloud/packages/nextcloud-apps.json
@@ -13,6 +13,7 @@
 , "groupfolders": "agpl3Plus"
 , "impersonate": "agpl3Plus"
 , "integration_openai": "agpl3Only"
+, "integration_paperless": "agpl3Plus"
 , "mail": "agpl3Plus"
 , "maps": "agpl3Plus"
 , "memories": "agpl3Plus"
diff --git a/pkgs/shells/nushell/nu_scripts/default.nix b/pkgs/shells/nushell/nu_scripts/default.nix
index 47d29b44ac23d..8ed6bb21091cf 100644
--- a/pkgs/shells/nushell/nu_scripts/default.nix
+++ b/pkgs/shells/nushell/nu_scripts/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nu_scripts";
-  version = "0-unstable-2024-06-16";
+  version = "0-unstable-2024-06-22";
 
   src = fetchFromGitHub {
     owner = "nushell";
     repo = pname;
-    rev = "92f20ff2827b1afb3d06011bc0609a0212c53993";
-    hash = "sha256-ZYrlX8Kg9VD5/eUctesAXQlBcVPiOZ3W9WCpBkByrpA=";
+    rev = "a992f5b4fa2f7d907cbe32cb8933f05546b598a4";
+    hash = "sha256-TVRqwvIwVZQDmrj20bna9oU8jtVp5FAzEp4L2mcyHVU=";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/filesystems/dwarfs/default.nix b/pkgs/tools/filesystems/dwarfs/default.nix
index 0ee916b2d53f8..719ccd1e23d21 100644
--- a/pkgs/tools/filesystems/dwarfs/default.nix
+++ b/pkgs/tools/filesystems/dwarfs/default.nix
@@ -9,8 +9,10 @@
   double-conversion,
   fmt,
   fuse3,
+  flac,
   glog,
   gtest,
+  howard-hinnant-date,
   jemalloc,
   libarchive,
   libevent,
@@ -18,60 +20,59 @@
   lz4,
   openssl,
   pkg-config,
+  python3,
+  range-v3,
   ronn,
   xxHash,
   utf8cpp,
   zstd,
 }:
-let
+stdenv.mkDerivation (finalAttrs: {
   pname = "dwarfs";
-  version = "0.9.9";
-in
-stdenv.mkDerivation {
-  inherit pname version;
+  version = "0.9.10";
   src = fetchFromGitHub {
     owner = "mhx";
     repo = "dwarfs";
-    rev = "refs/tags/v${version}";
+    rev = "refs/tags/v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-Zzm2SaFR31TBBMDfgJulVbqsJBh1He2wBFzHRC/c5vg=";
+    hash = "sha256-uyYNs+fDV5BfQwfX9Wi3BwiKjSDQHAKRJ1+UvS/fHoE=";
   };
 
-  patches = [
-    (
-      with lib.versions;
-      substituteAll {
-        src = ./version_info.patch;
+  cmakeFlags = [
+    "-DNIXPKGS_DWARFS_VERSION_OVERRIDE=v${finalAttrs.version}" # see https://github.com/mhx/dwarfs/issues/155
 
-        versionFull = version; # displayed as version number (with v prepended)
-        versionMajor = major version;
-        versionMinor = minor version;
-        versionPatch = patch version;
-      }
-    )
-  ];
+    # Needs to be set so `dwarfs` does not try to download `gtest`; it is not
+    # a submodule, see: https://github.com/mhx/dwarfs/issues/188#issuecomment-1907657083
+    "-DPREFER_SYSTEM_GTEST=ON"
 
-  cmakeFlags = [
+    # These should no longer be necessary with a version > 0.9.10:
+    # * https://github.com/mhx/dwarfs/commit/593b22a8a90eb66c0898ae06f097f32f4bf3dfd4
+    # * https://github.com/mhx/dwarfs/commit/6e9608b2b01be13e41e6b728aae537c14c00ad82
+    # * https://github.com/mhx/dwarfs/commit/ce4bee1ad63c666da57d2cdae9fd65214d8dab7f
+    "-DPREFER_SYSTEM_LIBFMT=ON"
     "-DPREFER_SYSTEM_ZSTD=ON"
     "-DPREFER_SYSTEM_XXHASH=ON"
-    "-DPREFER_SYSTEM_GTEST=ON"
-    "-DPREFER_SYSTEM_LIBFMT=ON"
 
     # may be added under an option in the future
     # "-DWITH_LEGACY_FUSE=ON"
+
     "-DWITH_TESTS=ON"
   ];
 
   nativeBuildInputs = [
     bison
     cmake
+    howard-hinnant-date # uses only the header-only parts
     pkg-config
+    range-v3 # header-only library
     ronn
+    (python3.withPackages (ps: [ ps.mistletoe ])) # for man pages
   ];
 
   buildInputs = [
     # dwarfs
     boost
+    flac # optional; allows automatic audio compression
     fmt
     fuse3
     jemalloc
@@ -90,17 +91,32 @@ stdenv.mkDerivation {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [ gtest ];
+  nativeCheckInputs = [
+    # https://github.com/mhx/dwarfs/issues/188#issuecomment-1907574427
+    # `dwarfs` sets C++20 as the minimum, see
+    #     https://github.com/mhx/dwarfs/blob/2cb5542a5d4274225c5933370adcf00035f6c974/CMakeLists.txt#L129
+    # Thus the `gtest` headers, when included,
+    # refer to symbols that only exist in `.so` files compiled with that version.
+    (gtest.override { cxx_standard = "20"; })
+  ];
   # these fail inside of the sandbox due to missing access
   # to the FUSE device
-  GTEST_FILTER = "-dwarfs/tools_test.end_to_end/*:dwarfs/tools_test.mutating_ops/*";
+  GTEST_FILTER =
+    let
+      disabledTests = [
+        "dwarfs/tools_test.end_to_end/*"
+        "dwarfs/tools_test.mutating_and_error_ops/*"
+        "dwarfs/tools_test.categorize/*"
+      ];
+    in
+      "-${lib.concatStringsSep ":" disabledTests}";
 
   meta = {
     description = "Fast high compression read-only file system";
     homepage = "https://github.com/mhx/dwarfs";
-    changelog = "https://github.com/mhx/dwarfs/blob/v${version}/CHANGES.md";
+    changelog = "https://github.com/mhx/dwarfs/blob/v${finalAttrs.version}/CHANGES.md";
     license = lib.licenses.gpl3Plus;
     maintainers = [ lib.maintainers.luftmensch-luftmensch ];
     platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/tools/filesystems/dwarfs/version_info.patch b/pkgs/tools/filesystems/dwarfs/version_info.patch
deleted file mode 100644
index 8d62bd8d22957..0000000000000
--- a/pkgs/tools/filesystems/dwarfs/version_info.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/cmake/package_version.cmake b/cmake/package_version.cmake
-new file mode 100644
-index 0000000..d4fdb9c
---- /dev/null
-+++ b/cmake/package_version.cmake
-@@ -0,0 +1,12 @@
-+# autogenerated code, do not modify
-+
-+set(PRJ_GIT_REV "v@versionFull@")
-+set(PRJ_GIT_DESC "v@versionFull@")
-+set(PRJ_GIT_BRANCH "HEAD")
-+set(PRJ_GIT_ID "v@versionFull@")
-+set(PRJ_GIT_RELEASE_TAG "v@versionFull@")
-+set(PRJ_VERSION_FULL "@versionFull@")
-+set(PRJ_VERSION_SHORT "@versionFull@")
-+set(PRJ_VERSION_MAJOR "@versionMajor@")
-+set(PRJ_VERSION_MINOR "@versionMinor@")
-+set(PRJ_VERSION_PATCH "@versionPatch@")
-diff --git a/include/dwarfs/version.h b/include/dwarfs/version.h
-new file mode 100644
-index 0000000..54cf86a
---- /dev/null
-+++ b/include/dwarfs/version.h
-@@ -0,0 +1,16 @@
-+// autogenerated code, do not modify
-+
-+#pragma once
-+
-+#define PRJ_VERSION_MAJOR @versionMajor@
-+#define PRJ_VERSION_MINOR @versionMinor@
-+#define PRJ_VERSION_PATCH @versionPatch@
-+
-+namespace dwarfs {
-+
-+extern char const* PRJ_GIT_REV;
-+extern char const* PRJ_GIT_DESC;
-+extern char const* PRJ_GIT_BRANCH;
-+extern char const* PRJ_GIT_ID;
-+
-+} // namespace dwarfs
-diff --git a/src/dwarfs/version.cpp b/src/dwarfs/version.cpp
-new file mode 100644
-index 0000000..5759120
---- /dev/null
-+++ b/src/dwarfs/version.cpp
-@@ -0,0 +1,12 @@
-+// autogenerated code, do not modify
-+
-+#include "dwarfs/version.h"
-+
-+namespace dwarfs {
-+
-+char const* PRJ_GIT_REV = "@versionFull@";
-+char const* PRJ_GIT_DESC = "v@versionFull@";
-+char const* PRJ_GIT_BRANCH = "HEAD";
-+char const* PRJ_GIT_ID = "v@versionFull@";
-+
-+} // namespace dwarfs
diff --git a/pkgs/tools/misc/hwatch/default.nix b/pkgs/tools/misc/hwatch/default.nix
index afa75fca0cd21..2734f395570c9 100644
--- a/pkgs/tools/misc/hwatch/default.nix
+++ b/pkgs/tools/misc/hwatch/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hwatch";
-  version = "0.3.13";
+  version = "0.3.15";
 
   src = fetchFromGitHub {
     owner = "blacknon";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-3RFiVDXjPFBMK+f/9s9t3cdIH+R/88Fp5uKbo5p2X+g=";
+    sha256 = "sha256-UmNxdp9acRCKnUsKw7Z9z3knRvVkqQ5atxR/dqpGBYE=";
   };
 
-  cargoHash = "sha256-MC0Ch9ai4XmhhRz/9nFYEA3A7kgBv2x9q4yc5IJ7CZ8=";
+  cargoHash = "sha256-pEhogmK2WBj/PxcDtJs/H0XZhPiz3zCQMX2eUcAfnTE=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/mloader/default.nix b/pkgs/tools/misc/mloader/default.nix
index f8a6366cd3da4..1a39727e9973b 100644
--- a/pkgs/tools/misc/mloader/default.nix
+++ b/pkgs/tools/misc/mloader/default.nix
@@ -2,12 +2,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mloader";
-  version = "1.1.11";
+  version = "1.1.12";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SFFjv4RWh1JZtxkDmaun35gKi5xty1ifIItwaz3lot4=";
+    sha256 = "sha256-0o4FvhuFudNSEL6fwBVqxldaNePbbidY9utDqXiLRNc=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/wyrd/default.nix b/pkgs/tools/misc/wyrd/default.nix
index 8f5ad8268e693..18647cae1a232 100644
--- a/pkgs/tools/misc/wyrd/default.nix
+++ b/pkgs/tools/misc/wyrd/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     downloadPage = "http://pessimization.com/software/wyrd/";
     license = licenses.gpl2Only;
     maintainers = [ maintainers.prikhi ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     mainProgram = "wyrd";
   };
 }
diff --git a/pkgs/tools/package-management/nix-eval-jobs/2.19.nix b/pkgs/tools/package-management/nix-eval-jobs/2.19.nix
deleted file mode 100644
index bf2d48e4adfb1..0000000000000
--- a/pkgs/tools/package-management/nix-eval-jobs/2.19.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib
-, boost
-, cmake
-, fetchFromGitHub
-, meson
-, ninja
-, nix
-, nlohmann_json
-, pkg-config
-, stdenv
-}:
-stdenv.mkDerivation rec {
-  pname = "nix-eval-jobs";
-  version = "2.19.4";
-  src = fetchFromGitHub {
-    owner = "nix-community";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-97ZqhTMqnAr1rzEy96faceWzFyWexnYbH1aTfc1y0JE=";
-  };
-  buildInputs = [
-    boost
-    nix
-    nlohmann_json
-  ];
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    # nlohmann_json can be only discovered via cmake files
-    cmake
-  ];
-
-  # Since this package is intimately tied to a specific Nix release, we
-  # propagate the Nix used for building it to make it easier for users
-  # downstream to reference it.
-  passthru = { inherit nix; };
-
-  meta = {
-    description = "Hydra's builtin hydra-eval-jobs as a standalone";
-    homepage = "https://github.com/nix-community/nix-eval-jobs";
-    license = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ adisbladis mic92 ];
-    platforms = lib.platforms.unix;
-    mainProgram = "nix-eval-jobs";
-  };
-}
diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix
index 15a095f6c3b13..0417b5c294dec 100644
--- a/pkgs/tools/package-management/nix-eval-jobs/default.nix
+++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , meson
 , ninja
+, curl
 , nix
 , nlohmann_json
 , pkg-config
@@ -11,16 +12,17 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nix-eval-jobs";
-  version = "2.22.0";
+  version = "2.22.1";
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Foi9FUuwKBUVExR3uEJEGsNRCGkkoNDj0yEhASanGCM=";
+    hash = "sha256-zvi2YfvlOLtui2JFhPs2qybpnJR3/2luMfp8t/eMh54=";
   };
   buildInputs = [
     boost
     nix
+    curl
     nlohmann_json
   ];
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/amber/default.nix b/pkgs/tools/security/amber/default.nix
index 2b64480c4a00a..5cb96596564ce 100644
--- a/pkgs/tools/security/amber/default.nix
+++ b/pkgs/tools/security/amber/default.nix
@@ -3,16 +3,16 @@
 rustPlatform.buildRustPackage rec {
   # Renaming it to amber-secret because another package named amber exists
   pname = "amber-secret";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "fpco";
     repo = "amber";
     rev = "v${version}";
-    sha256 = "sha256-11dqfOi/DdfFrFTeboPyFkixXG+fCJ2jpHM55qsQ1jw=";
+    sha256 = "sha256-FoERgkyFCZ1nU01LXpzrqz9eJ9a16L/t+9g8jsABHK4=";
   };
 
-  cargoHash = "sha256-u0vceIurenYnKfF3gWNw304hX4vVFoszZD7AMwffOmc=";
+  cargoHash = "sha256-Joy+SO1zR78Eh5eK2bxyT0l3hCuLX/J3u/UvN+++6vg=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/tools/security/vals/default.nix b/pkgs/tools/security/vals/default.nix
index ff7f8246ef060..0d0d1070bbd7f 100644
--- a/pkgs/tools/security/vals/default.nix
+++ b/pkgs/tools/security/vals/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vals";
-  version = "0.37.2";
+  version = "0.37.3";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "helmfile";
     repo = pname;
-    sha256 = "sha256-L0T0Lu5UP/KG2jdJfw5lM6/FagZUpMLGNWyf4tktzmQ=";
+    sha256 = "sha256-RCvqoikROFpFvza24PGocdxFaOI6hZLSy3Jnag7Oz4s=";
   };
 
-  vendorHash = "sha256-7ethl7BL6JBzIbyvpUE2TdvvPWs/CUvJQhjH2P5UCTY=";
+  vendorHash = "sha256-iKfNAQRsVUjhUmDH/HevnDnocQm4k9jEfW40+AncojM=";
 
   proxyVendor = true;
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c9bf07a0b566a..0c0a7ef9da360 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -740,14 +740,6 @@ with pkgs;
 
   protoc-gen-connect-go = callPackage ../development/tools/protoc-gen-connect-go { };
 
-  protoc-gen-prost = callPackage ../development/tools/protoc-gen-prost { };
-
-  protoc-gen-prost-crate = callPackage ../development/tools/protoc-gen-prost-crate { };
-
-  protoc-gen-prost-serde = callPackage ../development/tools/protoc-gen-prost-serde { };
-
-  protoc-gen-tonic = callPackage ../development/tools/protoc-gen-tonic { };
-
   protoc-gen-twirp = callPackage ../development/tools/protoc-gen-twirp { };
 
   protoc-gen-twirp_php = callPackage ../development/tools/protoc-gen-twirp_php { };
@@ -16370,11 +16362,14 @@ with pkgs;
 
   ocaml-crunch = ocamlPackages.crunch.bin;
 
+  inherit (ocaml-ng.ocamlPackages_4_14)
+    ocamlformat_0_19_0 ocamlformat_0_20_0 ocamlformat_0_20_1 ocamlformat_0_21_0
+    ocamlformat_0_22_4;
+
   inherit (ocamlPackages)
     ocamlformat # latest version
-    ocamlformat_0_19_0 ocamlformat_0_20_0 ocamlformat_0_20_1 ocamlformat_0_21_0
-    ocamlformat_0_22_4 ocamlformat_0_23_0 ocamlformat_0_24_1 ocamlformat_0_25_1
-    ocamlformat_0_26_0 ocamlformat_0_26_1 ocamlformat_0_26_2;
+    ocamlformat_0_23_0 ocamlformat_0_24_1 ocamlformat_0_25_1 ocamlformat_0_26_0
+    ocamlformat_0_26_1 ocamlformat_0_26_2;
 
   inherit (ocamlPackages) odig;
 
@@ -19793,6 +19788,10 @@ with pkgs;
 
   yodl = callPackage ../development/tools/misc/yodl { };
 
+  yourkit-java = callPackage ../by-name/yo/yourkit-java/package.nix {
+    jre = jdk17;
+  };
+
   yq = python3.pkgs.toPythonApplication python3.pkgs.yq;
 
   yq-go = callPackage ../development/tools/yq-go { };
@@ -39455,14 +39454,9 @@ with pkgs;
 
   dnadd = callPackage ../tools/nix/dnadd { };
 
-  nix-eval-jobs = if stdenv.isDarwin then
-    callPackage ../tools/package-management/nix-eval-jobs/2.19.nix {
-      nix = nixVersions.nix_2_19;
-    }
-  else
-    callPackage ../tools/package-management/nix-eval-jobs {
-      nix = nixVersions.nix_2_22;
-    };
+  nix-eval-jobs = callPackage ../tools/package-management/nix-eval-jobs {
+    nix = nixVersions.nix_2_22;
+  };
 
   nix-doc = callPackage ../tools/package-management/nix-doc { };
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 5071fff62745d..45e3ec186596b 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6966,6 +6966,22 @@ with self; {
     };
   };
 
+  DevelCover = buildPerlPackage {
+    pname = "Devel-Cover";
+    version = "1.44";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PJ/PJCJ/Devel-Cover-1.44.tar.gz";
+      hash = "sha256-9AwVQ5kuXWWm94AD1GLVms15rm0w04BHscadmZ0rH9g=";
+    };
+    propagatedBuildInputs = [ HTMLParser ];
+    doCheck = false;
+    meta = {
+      description = "Code coverage metrics for Perl";
+      homepage = "http://www.pjcj.net/perl.html";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   DevelDeprecationsEnvironmental = buildPerlPackage {
     pname = "Devel-Deprecations-Environmental";
     version = "1.101";
@@ -15650,6 +15666,36 @@ with self; {
     };
   };
 
+  MemoryProcess = buildPerlPackage {
+    pname = "Memory-Process";
+    version = "0.06";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SK/SKIM/Memory-Process-0.06.tar.gz";
+      hash = "sha256-NYFEiP/SnJdiFiXqOz1wCvv6YO0FW9dZ1OWNnI/UTk4=";
+    };
+    buildInputs = [ CaptureTiny TestNoWarnings ];
+    propagatedBuildInputs = [ MemoryUsage Readonly ];
+    meta = {
+      description = "Memory process reporting";
+      homepage = "https://github.com/michal-josef-spacek/Memory-Process";
+      license = lib.licenses.bsd3;
+      platforms = lib.platforms.linux;
+    };
+  };
+
+  MemoryUsage = buildPerlPackage {
+    pname = "Memory-Usage";
+    version = "0.201";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DO/DONEILL/Memory-Usage-0.201.tar.gz";
+      hash = "sha256-jyr60h5Ap0joHIwPPkDKcYwU3bn7LYgL+9KK6RPOU0k=";
+    };
+    meta = {
+      description = "Tools to determine actual memory usage";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Menlo = buildPerlPackage {
     pname = "Menlo";
     version = "1.9019";