summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-09-12 18:01:30 +0000
committerGitHub <noreply@github.com>2023-09-12 18:01:30 +0000
commit564dc31f47ac641bdd42f3d0998fc411c05d56fa (patch)
tree5a0c7067ae569ccb16976732066a5f632f22c3b8
parent757197a9dfbe52b16b116b39ada02d4e4098b4af (diff)
parent41b9c0a6d9467cece015ffc7016b9e7e73542157 (diff)
downloadnixpkgs-564dc31f47ac641bdd42f3d0998fc411c05d56fa.tar
nixpkgs-564dc31f47ac641bdd42f3d0998fc411c05d56fa.tar.gz
nixpkgs-564dc31f47ac641bdd42f3d0998fc411c05d56fa.tar.bz2
nixpkgs-564dc31f47ac641bdd42f3d0998fc411c05d56fa.tar.lz
nixpkgs-564dc31f47ac641bdd42f3d0998fc411c05d56fa.tar.xz
nixpkgs-564dc31f47ac641bdd42f3d0998fc411c05d56fa.tar.zst
nixpkgs-564dc31f47ac641bdd42f3d0998fc411c05d56fa.zip
Merge staging-next into staging
-rw-r--r--doc/builders/packages/ibus.section.md4
-rw-r--r--maintainers/maintainer-list.nix18
-rwxr-xr-xmaintainers/scripts/remove-old-aliases.py9
-rw-r--r--maintainers/team-list.nix14
-rw-r--r--nixos/doc/manual/release-notes/rl-2311.section.md4
-rw-r--r--nixos/modules/config/fonts/packages.nix2
-rw-r--r--nixos/modules/config/terminfo.nix10
-rw-r--r--nixos/modules/programs/bash/bash.nix2
-rw-r--r--nixos/modules/services/networking/websockify.nix2
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix6
-rw-r--r--nixos/tests/fontconfig-default-fonts.nix2
-rw-r--r--nixos/tests/noto-fonts.nix2
-rw-r--r--pkgs/applications/blockchains/snarkos/default.nix6
-rw-r--r--pkgs/applications/editors/emacs/site-start.el4
-rw-r--r--pkgs/applications/editors/jupyter-kernels/iruby/Gemfile6
-rw-r--r--pkgs/applications/editors/jupyter-kernels/iruby/Gemfile.lock120
-rw-r--r--pkgs/applications/editors/jupyter-kernels/iruby/gemset.nix359
-rwxr-xr-xpkgs/applications/editors/jupyter-kernels/iruby/update.sh18
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix2
-rw-r--r--pkgs/applications/graphics/megapixels/default.nix4
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix2
-rw-r--r--pkgs/applications/misc/camunda-modeler/default.nix6
-rw-r--r--pkgs/applications/misc/markmind/default.nix48
-rw-r--r--pkgs/applications/misc/obsidian/default.nix6
-rw-r--r--pkgs/applications/misc/pomotroid/default.nix60
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix6
-rw-r--r--pkgs/applications/networking/browsers/polypane/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/nomad/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/rke2/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix2
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix6
-rw-r--r--pkgs/applications/science/biology/veryfasttree/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/contour/default.nix8
-rw-r--r--pkgs/applications/terminal-emulators/st/default.nix6
-rw-r--r--pkgs/applications/terminal-emulators/yaft/default.nix8
-rw-r--r--pkgs/applications/version-management/git-cliff/default.nix6
-rw-r--r--pkgs/applications/version-management/gitnr/default.nix6
-rw-r--r--pkgs/applications/virtualization/docker/default.nix10
-rw-r--r--pkgs/applications/virtualization/docker/sbom-disable-tests.patch28
-rw-r--r--pkgs/applications/virtualization/docker/sbom.nix43
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/default.nix4
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/src/main.rs2
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs4
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/src/util.rs13
-rw-r--r--pkgs/by-name/README.md16
-rw-r--r--pkgs/by-name/qu/quicktype/package.nix31
-rw-r--r--pkgs/by-name/sl/sleek-grub-theme/package.nix39
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix48
-rw-r--r--pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json7
-rw-r--r--pkgs/data/fonts/noto-fonts/noto-emoji.json30
-rwxr-xr-xpkgs/data/fonts/noto-fonts/noto-emoji.py183
-rw-r--r--pkgs/data/fonts/twitter-color-emoji/default.nix10
-rw-r--r--pkgs/data/icons/numix-icon-theme-circle/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-square/default.nix4
-rw-r--r--pkgs/data/themes/yaru/default.nix2
-rw-r--r--pkgs/desktops/gnome/extensions/no-title-bar/default.nix2
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/plasma-sdk.nix11
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix7
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix472
-rw-r--r--pkgs/development/compilers/vala/default.nix2
-rw-r--r--pkgs/development/interpreters/erlang/25.nix4
-rw-r--r--pkgs/development/libraries/libwebp/CVE-2023-4863.patch361
-rw-r--r--pkgs/development/libraries/libwebp/default.nix8
-rw-r--r--pkgs/development/node-packages/aliases.nix2
-rw-r--r--pkgs/development/node-packages/main-programs.nix1
-rw-r--r--pkgs/development/node-packages/node-packages.json2
-rw-r--r--pkgs/development/node-packages/node-packages.nix536
-rw-r--r--pkgs/development/node-packages/overrides.nix8
-rw-r--r--pkgs/development/python-modules/argh/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-datastore/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-channelz/default.nix4
-rw-r--r--pkgs/development/python-modules/litellm/default.nix53
-rw-r--r--pkgs/development/python-modules/mkdocstrings-python/default.nix4
-rw-r--r--pkgs/development/python-modules/pontos/default.nix4
-rw-r--r--pkgs/development/python-modules/python-ironicclient/default.nix4
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix6
-rw-r--r--pkgs/development/python-modules/tensorflow/bin.nix14
-rw-r--r--pkgs/development/python-modules/tensorflow/binary-hashes.nix50
-rwxr-xr-xpkgs/development/python-modules/tensorflow/prefetcher.sh5
-rw-r--r--pkgs/development/python-modules/tokentrim/default.nix39
-rw-r--r--pkgs/development/python-modules/vg/default.nix53
-rw-r--r--pkgs/development/tools/electron/binary/default.nix9
-rw-r--r--pkgs/development/tools/language-servers/millet/Cargo.lock72
-rw-r--r--pkgs/development/tools/language-servers/millet/default.nix4
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-zigbuild/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/games/mindustry/default.nix8
-rw-r--r--pkgs/games/worldofgoo/default.nix2
-rw-r--r--pkgs/os-specific/linux/ell/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd-efi/default.nix2
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix2
-rw-r--r--pkgs/servers/fastnetmon-advanced/default.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix6
-rw-r--r--pkgs/servers/misc/irrd/default.nix2
-rw-r--r--pkgs/servers/monitoring/unpoller/default.nix6
-rw-r--r--pkgs/servers/plex/raw.nix2
-rw-r--r--pkgs/servers/tailscale/default.nix4
-rw-r--r--pkgs/servers/web-apps/peering-manager/default.nix2
-rw-r--r--pkgs/test/nixpkgs-check-by-name/default.nix4
-rw-r--r--pkgs/test/nixpkgs-check-by-name/src/eval.rs12
-rw-r--r--pkgs/test/nixpkgs-check-by-name/src/main.rs36
-rw-r--r--pkgs/tools/admin/aliyun-cli/default.nix6
-rw-r--r--pkgs/tools/graphics/textplots/default.nix6
-rw-r--r--pkgs/tools/llm/open-interpreter/default.nix52
-rw-r--r--pkgs/tools/misc/flexoptix-app/default.nix4
-rw-r--r--pkgs/tools/misc/near-cli/default.nix49
-rw-r--r--pkgs/tools/misc/near-cli/package.json83
-rw-r--r--pkgs/tools/networking/grpc_cli/default.nix4
-rw-r--r--pkgs/tools/networking/mtr/default.nix6
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix2
-rw-r--r--pkgs/tools/networking/subfinder/default.nix6
-rw-r--r--pkgs/tools/text/gjo/default.nix4
-rw-r--r--pkgs/tools/typesetting/typstfmt/Cargo.lock38
-rw-r--r--pkgs/tools/typesetting/typstfmt/default.nix4
-rw-r--r--pkgs/tools/wayland/way-displays/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix107
-rw-r--r--pkgs/top-level/all-packages.nix22
-rw-r--r--pkgs/top-level/python-packages.nix6
123 files changed, 1874 insertions, 1655 deletions
diff --git a/doc/builders/packages/ibus.section.md b/doc/builders/packages/ibus.section.md
index 4eb74c0b691..817e55d56f1 100644
--- a/doc/builders/packages/ibus.section.md
+++ b/doc/builders/packages/ibus.section.md
@@ -29,12 +29,12 @@ _Note: each language passed to `langs` must be an attribute name in `pkgs.hunspe
 
 ## Built-in emoji picker {#sec-ibus-typing-booster-emoji-picker}
 
-The `ibus-engines.typing-booster` package contains a program named `emoji-picker`. To display all emojis correctly, a special font such as `noto-fonts-emoji` is needed:
+The `ibus-engines.typing-booster` package contains a program named `emoji-picker`. To display all emojis correctly, a special font such as `noto-fonts-color-emoji` is needed:
 
 On NixOS, it can be installed using the following expression:
 
 ```nix
 { pkgs, ... }: {
-  fonts.packages = with pkgs; [ noto-fonts-emoji ];
+  fonts.packages = with pkgs; [ noto-fonts-color-emoji ];
 }
 ```
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 78982ebf8f6..d3e1dbf6428 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -876,6 +876,12 @@
     githubId = 153175;
     name = "Andrew Marshall";
   };
+  amaxine = {
+    email = "max@ine.dev";
+    github = "amaxine";
+    githubId = 35892750;
+    name = "Maxine Aubrey";
+  };
   ambroisie = {
     email = "bruno.nixpkgs@belanyi.fr";
     github = "ambroisie";
@@ -10328,6 +10334,12 @@
     githubId = 782440;
     name = "Luna Nova";
   };
+  luochen1990 = {
+    email = "luochen1990@gmail.com";
+    github = "luochen1990";
+    githubId = 2309868;
+    name = "Luo Chen";
+  };
   lurkki = {
     email = "jussi.kuokkanen@protonmail.com";
     github = "Lurkki14";
@@ -10879,12 +10891,6 @@
     githubId = 502805;
     name = "Max Zerzouri";
   };
-  maxeaubrey = {
-    email = "maxeaubrey@gmail.com";
-    github = "maxeaubrey";
-    githubId = 35892750;
-    name = "Maxine Aubrey";
-  };
   maxhbr = {
     email = "nixos@maxhbr.dev";
     github = "maxhbr";
diff --git a/maintainers/scripts/remove-old-aliases.py b/maintainers/scripts/remove-old-aliases.py
index 8f04a9be4f1..3c5f8edc50a 100755
--- a/maintainers/scripts/remove-old-aliases.py
+++ b/maintainers/scripts/remove-old-aliases.py
@@ -102,12 +102,13 @@ def convert_to_throw(date_older_list: list[str]) -> list[tuple[str, str]]:
 
         alias = before_equal
         alias_unquoted = before_equal.strip('"')
-        after_equal_list = [x.strip(";:") for x in after_equal.split()]
+        replacement = next(x.strip(";:") for x in after_equal.split())
+        replacement = replacement.removeprefix("pkgs.")
 
         converted = (
-            f"{indent}{alias} = throw \"'{alias_unquoted}' has been renamed to/replaced by"
-            f" '{after_equal_list.pop(0)}'\";"
-            f' # Converted to throw {datetime.today().strftime("%Y-%m-%d")}'
+            f"{indent}{alias} = throw \"'{alias_unquoted}' has been"
+            f" renamed to/replaced by '{replacement}'\";"
+            f" # Converted to throw {datetime.today().strftime('%Y-%m-%d')}"
         )
         converted_list.append((line, converted))
 
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 8e92004148b..cba6f0d4364 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -365,7 +365,7 @@ with lib.maintainers; {
       hedning
       jtojnar
       dasj19
-      maxeaubrey
+      amaxine
     ];
     githubTeams = [
       "gnome"
@@ -918,6 +918,18 @@ with lib.maintainers; {
     shortName = "Vim/Neovim";
   };
 
+  wdz = {
+    members = [
+      n0emis
+      netali
+      vidister
+      johannwagner
+      yuka
+    ];
+    scope = "Group registration for WDZ GmbH team members who collectively maintain packages.";
+    shortName = "WDZ GmbH";
+  };
+
   xfce = {
     members = [
       bobby285271
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md
index a59dccfbc42..a2041db2a87 100644
--- a/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -193,6 +193,10 @@
 
 - The `hail` NixOS module was removed, as `hail` was unmaintained since 2017.
 
+- Package `noto-fonts-emoji` was renamed to `noto-fonts-color-emoji`;
+  see [#221181](https://github.com/NixOS/nixpkgs/issues/221181).
+
+
 ## Other Notable Changes {#sec-release-23.11-notable-changes}
 
 - The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
diff --git a/nixos/modules/config/fonts/packages.nix b/nixos/modules/config/fonts/packages.nix
index 46907d5411c..37b705ecb34 100644
--- a/nixos/modules/config/fonts/packages.nix
+++ b/nixos/modules/config/fonts/packages.nix
@@ -37,7 +37,7 @@ in
       gyre-fonts # TrueType substitutes for standard PostScript fonts
       liberation_ttf
       unifont
-      noto-fonts-emoji
+      noto-fonts-color-emoji
     ]);
   };
 }
diff --git a/nixos/modules/config/terminfo.nix b/nixos/modules/config/terminfo.nix
index 82f9ae48372..1ae8e82c471 100644
--- a/nixos/modules/config/terminfo.nix
+++ b/nixos/modules/config/terminfo.nix
@@ -16,16 +16,24 @@ with lib;
 
   config = {
 
-    # can be generated with: filter (drv: (builtins.tryEval (drv ? terminfo)).value) (attrValues pkgs)
+    # can be generated with:
+    # attrNames (filterAttrs
+    #  (_: drv: (builtins.tryEval (isDerivation drv && drv ? terminfo)).value)
+    #  pkgs)
     environment.systemPackages = mkIf config.environment.enableAllTerminfo (map (x: x.terminfo) (with pkgs; [
       alacritty
+      contour
       foot
       kitty
       mtm
+      rio
       rxvt-unicode-unwrapped
       rxvt-unicode-unwrapped-emoji
+      st
       termite
+      tmux
       wezterm
+      yaft
     ]));
 
     environment.pathsToLink = [
diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix
index 286faeadc48..7d3322ea5e5 100644
--- a/nixos/modules/programs/bash/bash.nix
+++ b/nixos/modules/programs/bash/bash.nix
@@ -81,7 +81,7 @@ in
           if [ "$TERM" != "dumb" ] || [ -n "$INSIDE_EMACS" ]; then
             PROMPT_COLOR="1;31m"
             ((UID)) && PROMPT_COLOR="1;32m"
-            if [ -n "$INSIDE_EMACS" ] || [ "$TERM" = "eterm" ] || [ "$TERM" = "eterm-color" ]; then
+            if [ -n "$INSIDE_EMACS" ]; then
               # Emacs term mode doesn't support xterm title escape sequence (\e]0;)
               PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]\\$\[\033[0m\] "
             else
diff --git a/nixos/modules/services/networking/websockify.nix b/nixos/modules/services/networking/websockify.nix
index 45a3487bd33..27ad8953d3f 100644
--- a/nixos/modules/services/networking/websockify.nix
+++ b/nixos/modules/services/networking/websockify.nix
@@ -38,7 +38,7 @@ let cfg = config.services.networking.websockify; in {
       description = "Service to forward websocket connections to TCP connections (from port:to port %I)";
       script = ''
         IFS=':' read -a array <<< "$1"
-        ${pkgs.pythonPackages.websockify}/bin/websockify --ssl-only \
+        ${pkgs.python3Packages.websockify}/bin/websockify --ssl-only \
           --cert=${cfg.sslCert} --key=${cfg.sslKey} 0.0.0.0:''${array[0]} 0.0.0.0:''${array[1]}
       '';
       scriptArgs = "%i";
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
index 1770f075943..d9a1535ffc7 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
@@ -147,7 +147,7 @@ in {
         default = false;
         type = types.bool;
         description = lib.mdDoc ''
-          Make MemTest86+ available from the systemd-boot menu. MemTest86+ is a
+          Make Memtest86+ available from the systemd-boot menu. Memtest86+ is a
           program for testing memory.
         '';
       };
@@ -191,7 +191,7 @@ in {
       default = {};
       example = literalExpression ''
         { "memtest86.conf" = '''
-          title MemTest86+
+          title Memtest86+
           efi /efi/memtest86/memtest.efi
         '''; }
       '';
@@ -285,7 +285,7 @@ in {
     boot.loader.systemd-boot.extraEntries = mkMerge [
       (mkIf cfg.memtest86.enable {
         "${cfg.memtest86.entryFilename}" = ''
-          title  MemTest86
+          title  Memtest86+
           efi    /efi/memtest86/memtest.efi
         '';
       })
diff --git a/nixos/tests/fontconfig-default-fonts.nix b/nixos/tests/fontconfig-default-fonts.nix
index d8c6ea0f721..293dc43f91f 100644
--- a/nixos/tests/fontconfig-default-fonts.nix
+++ b/nixos/tests/fontconfig-default-fonts.nix
@@ -9,7 +9,7 @@ import ./make-test-python.nix ({ lib, ... }:
   nodes.machine = { config, pkgs, ... }: {
     fonts.enableDefaultPackages = true; # Background fonts
     fonts.packages = with pkgs; [
-      noto-fonts-emoji
+      noto-fonts-color-emoji
       cantarell-fonts
       twitter-color-emoji
       source-code-pro
diff --git a/nixos/tests/noto-fonts.nix b/nixos/tests/noto-fonts.nix
index edbb0db4cb7..b871f5f5172 100644
--- a/nixos/tests/noto-fonts.nix
+++ b/nixos/tests/noto-fonts.nix
@@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
         noto-fonts
         noto-fonts-cjk-sans
         noto-fonts-cjk-serif
-        noto-fonts-emoji
+        noto-fonts-color-emoji
       ];
       fontconfig.defaultFonts = {
         serif = [ "Noto Serif" "Noto Serif CJK SC" ];
diff --git a/pkgs/applications/blockchains/snarkos/default.nix b/pkgs/applications/blockchains/snarkos/default.nix
index 81fea464eb3..080cc4b5c10 100644
--- a/pkgs/applications/blockchains/snarkos/default.nix
+++ b/pkgs/applications/blockchains/snarkos/default.nix
@@ -10,16 +10,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "snarkos";
-  version = "2.1.6";
+  version = "2.1.7";
 
   src = fetchFromGitHub {
     owner = "AleoHQ";
     repo = "snarkOS";
     rev = "v${version}";
-    sha256 = "sha256-S79u9jAtYHsCFwvhNTRKrQL/CUBrzt8twx4mzwNtxhs=";
+    sha256 = "sha256-kW41SNbl2vckgUth+BZ6/aM03aT6MFeY4Hwi9OVWtTI=";
   };
 
-  cargoHash = "sha256-cDyViA3TuUoQsU9OnEF3UDgwQhPhgg4mTcqDy2VIA9c=";
+  cargoHash = "sha256-znEAb4q9H0Doc+XYCf27hV/z2t74kjQUffl/aJzW6tI=";
 
   # buildAndTestSubdir = "cli";
 
diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el
index 4e61777424c..c844e703e38 100644
--- a/pkgs/applications/editors/emacs/site-start.el
+++ b/pkgs/applications/editors/emacs/site-start.el
@@ -68,7 +68,9 @@ least specific (the system profile)"
   ;; TODO: We should also add the other `NIX_PROFILES' to this path.
   ;; However, these are user-specific, so we would need to discover
   ;; them dynamically after connecting via `tramp'
-  '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
+  '(progn
+     (add-to-list 'tramp-remote-path "/run/current-system/sw/bin")
+     (add-to-list 'tramp-remote-path "/run/wrappers/bin")))
 
 ;;; C source directory
 ;;;
diff --git a/pkgs/applications/editors/jupyter-kernels/iruby/Gemfile b/pkgs/applications/editors/jupyter-kernels/iruby/Gemfile
index c3f096edcad..5a1f1d091a6 100644
--- a/pkgs/applications/editors/jupyter-kernels/iruby/Gemfile
+++ b/pkgs/applications/editors/jupyter-kernels/iruby/Gemfile
@@ -1,6 +1,2 @@
 source 'https://rubygems.org'
-gem 'sensu'
-gem 'iruby'
-gem 'cztop'
-gem 'ffi-rzmq'
-gem 'rbczmq'
+gem 'iruby', "0.7.4"
diff --git a/pkgs/applications/editors/jupyter-kernels/iruby/Gemfile.lock b/pkgs/applications/editors/jupyter-kernels/iruby/Gemfile.lock
index 89f60a6dbdc..5d59b8e03df 100644
--- a/pkgs/applications/editors/jupyter-kernels/iruby/Gemfile.lock
+++ b/pkgs/applications/editors/jupyter-kernels/iruby/Gemfile.lock
@@ -1,119 +1,35 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
-    amq-protocol (2.0.1)
-    amqp (1.6.0)
-      amq-protocol (>= 2.0.1)
-      eventmachine
-    bond (0.5.1)
-    childprocess (0.5.8)
-      ffi (~> 1.0, >= 1.0.11)
-    cookiejar (0.3.3)
-    czmq-ffi-gen (0.15.0)
-      ffi (~> 1.9.10)
-    cztop (0.13.1)
-      czmq-ffi-gen (~> 0.15.0)
     data_uri (0.1.0)
-    em-http-request (1.1.5)
-      addressable (>= 2.3.4)
-      cookiejar (!= 0.3.1)
-      em-socksify (>= 0.3)
-      eventmachine (>= 1.0.3)
-      http_parser.rb (>= 0.6.0)
-    em-http-server (0.1.8)
-      eventmachine
-    em-socksify (0.3.2)
-      eventmachine (>= 1.0.0.beta.4)
-    em-worker (0.0.2)
-      eventmachine
-    eventmachine (1.2.7)
-    ffi (1.9.21)
+    ffi (1.15.5)
     ffi-rzmq (2.0.7)
       ffi-rzmq-core (>= 1.0.7)
     ffi-rzmq-core (1.0.7)
       ffi
-    http_parser.rb (0.6.0)
-    iruby (0.3)
-      bond (~> 0.5)
+    io-console (0.6.0)
+    irb (1.7.4)
+      reline (>= 0.3.6)
+    iruby (0.7.4)
       data_uri (~> 0.1)
-      mimemagic (~> 0.3)
+      ffi-rzmq
+      irb
+      mime-types (>= 3.3.1)
       multi_json (~> 1.11)
-    mimemagic (0.3.3)
-    multi_json (1.13.1)
-    oj (2.18.1)
-    parse-cron (0.1.4)
-    public_suffix (3.0.3)
-    rbczmq (1.7.9)
-    sensu (1.6.2)
-      em-http-request (= 1.1.5)
-      em-http-server (= 0.1.8)
-      eventmachine (= 1.2.7)
-      parse-cron (= 0.1.4)
-      sensu-extension (= 1.5.2)
-      sensu-extensions (= 1.10.0)
-      sensu-json (= 2.1.1)
-      sensu-logger (= 1.2.2)
-      sensu-redis (= 2.4.0)
-      sensu-settings (= 10.14.0)
-      sensu-spawn (= 2.5.0)
-      sensu-transport (= 8.2.0)
-    sensu-extension (1.5.2)
-      eventmachine
-    sensu-extensions (1.10.0)
-      sensu-extension
-      sensu-extensions-check-dependencies (= 1.1.0)
-      sensu-extensions-debug (= 1.0.0)
-      sensu-extensions-json (= 1.0.0)
-      sensu-extensions-occurrences (= 1.2.0)
-      sensu-extensions-only-check-output (= 1.0.0)
-      sensu-extensions-ruby-hash (= 1.0.0)
-      sensu-json (>= 1.1.0)
-      sensu-logger
-      sensu-settings
-    sensu-extensions-check-dependencies (1.1.0)
-      sensu-extension
-    sensu-extensions-debug (1.0.0)
-      sensu-extension
-    sensu-extensions-json (1.0.0)
-      sensu-extension
-    sensu-extensions-occurrences (1.2.0)
-      sensu-extension
-    sensu-extensions-only-check-output (1.0.0)
-      sensu-extension
-    sensu-extensions-ruby-hash (1.0.0)
-      sensu-extension
-    sensu-json (2.1.1)
-      oj (= 2.18.1)
-    sensu-logger (1.2.2)
-      eventmachine
-      sensu-json
-    sensu-redis (2.4.0)
-      eventmachine
-    sensu-settings (10.14.0)
-      parse-cron
-      sensu-json (>= 1.1.0)
-    sensu-spawn (2.5.0)
-      childprocess (= 0.5.8)
-      em-worker (= 0.0.2)
-      eventmachine
-      ffi (= 1.9.21)
-    sensu-transport (8.2.0)
-      amq-protocol (= 2.0.1)
-      amqp (= 1.6.0)
-      eventmachine
-      sensu-redis (>= 1.0.0)
+      native-package-installer
+    mime-types (3.5.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2023.0808)
+    multi_json (1.15.0)
+    native-package-installer (1.1.8)
+    reline (0.3.8)
+      io-console (~> 0.5)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  cztop
-  ffi-rzmq
-  iruby
-  rbczmq
-  sensu
+  iruby (= 0.7.4)
 
 BUNDLED WITH
-   1.17.2
+   2.4.19
diff --git a/pkgs/applications/editors/jupyter-kernels/iruby/gemset.nix b/pkgs/applications/editors/jupyter-kernels/iruby/gemset.nix
index 59630f0a53d..314b78be4bd 100644
--- a/pkgs/applications/editors/jupyter-kernels/iruby/gemset.nix
+++ b/pkgs/applications/editors/jupyter-kernels/iruby/gemset.nix
@@ -1,89 +1,4 @@
 {
-  addressable = {
-    dependencies = ["public_suffix"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
-      type = "gem";
-    };
-    version = "2.6.0";
-  };
-  amq-protocol = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rpn9vgh7y037aqhhp04smihzr73vp5i5g6xlqlha10wy3q0wp7x";
-      type = "gem";
-    };
-    version = "2.0.1";
-  };
-  amqp = {
-    dependencies = ["amq-protocol" "eventmachine"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0kbrqnpjgj9v0722p3n5rw589l4g26ry8mcghwc5yr20ggkpdaz9";
-      type = "gem";
-    };
-    version = "1.6.0";
-  };
-  bond = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1r19ifc4skyl2gxnifrxa5jvbbay9fb2in79ppgv02b6n4bhsw90";
-      type = "gem";
-    };
-    version = "0.5.1";
-  };
-  childprocess = {
-    dependencies = ["ffi"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lv7axi1fhascm9njxh3lx1rbrnsm8wgvib0g7j26v4h1fcphqg0";
-      type = "gem";
-    };
-    version = "0.5.8";
-  };
-  cookiejar = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0q0kmbks9l3hl0wdq744hzy97ssq9dvlzywyqv9k9y1p3qc9va2a";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
-  czmq-ffi-gen = {
-    dependencies = ["ffi"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ngsd1yxiayd50v402vwhmq7ma9ang6pcba5kqiwq7smpdvfmbmp";
-      type = "gem";
-    };
-    version = "0.15.0";
-  };
-  cztop = {
-    dependencies = ["czmq-ffi-gen"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "12xcz7g42dbp2ryhcwdm2ykj7bmwfhjhla296hy18g7a09zlfnz7";
-      type = "gem";
-    };
-    version = "0.13.1";
-  };
   data_uri = {
     groups = ["default"];
     platforms = [];
@@ -94,69 +9,15 @@
     };
     version = "0.1.0";
   };
-  em-http-request = {
-    dependencies = ["addressable" "cookiejar" "em-socksify" "eventmachine" "http_parser.rb"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "13rxmbi0fv91n4sg300v3i9iiwd0jxv0i6xd0sp81dx3jlx7kasx";
-      type = "gem";
-    };
-    version = "1.1.5";
-  };
-  em-http-server = {
-    dependencies = ["eventmachine"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0y8l4gymy9dzjjchjav90ck6has2i2zdjihlhcyrg3jgq6kjzyq5";
-      type = "gem";
-    };
-    version = "0.1.8";
-  };
-  em-socksify = {
-    dependencies = ["eventmachine"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rk43ywaanfrd8180d98287xv2pxyl7llj291cwy87g1s735d5nk";
-      type = "gem";
-    };
-    version = "0.3.2";
-  };
-  em-worker = {
-    dependencies = ["eventmachine"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0z4jx9z2q5hxvdvik4yp0ahwfk69qsmdnyp72ln22p3qlkq2z5wk";
-      type = "gem";
-    };
-    version = "0.0.2";
-  };
-  eventmachine = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
-      type = "gem";
-    };
-    version = "1.2.7";
-  };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c2dl10pi6a30kcvx2s6p2v1wb4kbm48iv38kmz2ff600nirhpb8";
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.9.21";
+    version = "1.15.5";
   };
   ffi-rzmq = {
     dependencies = ["ffi-rzmq-core"];
@@ -180,250 +41,88 @@
     };
     version = "1.0.7";
   };
-  "http_parser.rb" = {
+  io-console = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
+      sha256 = "0dikardh14c72gd9ypwh8dim41wvqmzfzf35mincaj5yals9m7ff";
       type = "gem";
     };
     version = "0.6.0";
   };
-  iruby = {
-    dependencies = ["bond" "data_uri" "mimemagic" "multi_json"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1wdf2c0x8y6cya0n3y0p3p7b1sxkb2fdavdn2k58rf4rs37s7rzn";
-      type = "gem";
-    };
-    version = "0.3";
-  };
-  mimemagic = {
+  irb = {
+    dependencies = ["reline"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04cp5sfbh1qx82yqxn0q75c7hlcx8y1dr5g3kyzwm4mx6wi2gifw";
+      sha256 = "158ca10kj3qqnql5g8f1g2arsnhgdl79mg74manpf8ldkwjjn3n8";
       type = "gem";
     };
-    version = "0.3.3";
+    version = "1.7.4";
   };
-  multi_json = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
-      type = "gem";
-    };
-    version = "1.13.1";
-  };
-  oj = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "147whmq8h2n04chskl3v4a132xhz5i6kk6vhnz83jwng4vihin5f";
-      type = "gem";
-    };
-    version = "2.18.1";
-  };
-  parse-cron = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "02fj9i21brm88nb91ikxwxbwv9y7mb7jsz6yydh82rifwq7357hg";
-      type = "gem";
-    };
-    version = "0.1.4";
-  };
-  public_suffix = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
-      type = "gem";
-    };
-    version = "3.0.3";
-  };
-  rbczmq = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1bqr44m2nb61smza6y5cahp09hk16lsn0z3wpq9g5zpr9nhp50fx";
-      type = "gem";
-    };
-    version = "1.7.9";
-  };
-  sensu = {
-    dependencies = ["em-http-request" "em-http-server" "eventmachine" "parse-cron" "sensu-extension" "sensu-extensions" "sensu-json" "sensu-logger" "sensu-redis" "sensu-settings" "sensu-spawn" "sensu-transport"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1rxv6yj63nkxlzmmqk6qpfpcvrbar9s4sd4kgfb5zsv9bw7236cr";
-      type = "gem";
-    };
-    version = "1.6.2";
-  };
-  sensu-extension = {
-    dependencies = ["eventmachine"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bpizp4n01rv72cryjjlrbfxxj3csish3mkxjzdy4inpi5j5h1dw";
-      type = "gem";
-    };
-    version = "1.5.2";
-  };
-  sensu-extensions = {
-    dependencies = ["sensu-extension" "sensu-extensions-check-dependencies" "sensu-extensions-debug" "sensu-extensions-json" "sensu-extensions-occurrences" "sensu-extensions-only-check-output" "sensu-extensions-ruby-hash" "sensu-json" "sensu-logger" "sensu-settings"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04v221qjv8qy3jci40i66p63ig5vrrh0dpgmf1l8229x5m7bxrsg";
-      type = "gem";
-    };
-    version = "1.10.0";
-  };
-  sensu-extensions-check-dependencies = {
-    dependencies = ["sensu-extension"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hc4kz7k983f6fk27ikg5drvxm4a85qf1k07hqssfyk3k75jyj1r";
-      type = "gem";
-    };
-    version = "1.1.0";
-  };
-  sensu-extensions-debug = {
-    dependencies = ["sensu-extension"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11abdgn2kkkbvxq4692yg6a27qnxz4349gfiq7d35biy7vrw34lp";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  sensu-extensions-json = {
-    dependencies = ["sensu-extension"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1wnbn9sycdqdh9m0fhszaqkv0jijs3fkdbvcv8kdspx6irbv3m6g";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  sensu-extensions-occurrences = {
-    dependencies = ["sensu-extension"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lx5wsbblfs0rvkxfg09bsz0g2mwmckrhga7idnarsnm8m565v1v";
-      type = "gem";
-    };
-    version = "1.2.0";
-  };
-  sensu-extensions-only-check-output = {
-    dependencies = ["sensu-extension"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ds2i8wd4ji9ifig2zzr4jpxinvk5dm7j10pvaqy4snykxa3rqh3";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  sensu-extensions-ruby-hash = {
-    dependencies = ["sensu-extension"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xyrj3gbmslbivcd5qcmyclgapn7qf7f5jwfvfpw53bxzib0h7s3";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
-  sensu-json = {
-    dependencies = ["oj"];
+  iruby = {
+    dependencies = ["data_uri" "ffi-rzmq" "irb" "mime-types" "multi_json" "native-package-installer"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08zlxg5j3bhs72cc7wcllp026jbif0xiw6ib1cgawndlpsfl9fgx";
+      sha256 = "0856ncjk7akm55gxcnhfmv426xsl4ryywdxrqbwgphwpqwm9w8fc";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "0.7.4";
   };
-  sensu-logger = {
-    dependencies = ["eventmachine" "sensu-json"];
+  mime-types = {
+    dependencies = ["mime-types-data"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jpw4kz36ilaknrzb3rbkhpbgv93w2d668z2cv395dq30d4d3iwm";
+      sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "3.5.1";
   };
-  sensu-redis = {
-    dependencies = ["eventmachine"];
+  mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0widfmmj1h9ca2kk14wy1sqmlkq40linp89a73s3ghngnzri0xyk";
+      sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "3.2023.0808";
   };
-  sensu-settings = {
-    dependencies = ["parse-cron" "sensu-json"];
+  multi_json = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "152n4hazv2l4vbzrgd316rpj135jmz042fyh6k2yv2kw0x29pi0f";
+      sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
       type = "gem";
     };
-    version = "10.14.0";
+    version = "1.15.0";
   };
-  sensu-spawn = {
-    dependencies = ["childprocess" "em-worker" "eventmachine" "ffi"];
+  native-package-installer = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17yc8ivjpjbvig9r7yl6991d6ma0kcq75fbpz6i856ljvcr3lmd5";
+      sha256 = "004wx9xhcam92g1d4ybvrl1yqablm2svalyck9sq4igy9nwkz9nb";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "1.1.8";
   };
-  sensu-transport = {
-    dependencies = ["amq-protocol" "amqp" "eventmachine" "sensu-redis"];
+  reline = {
+    dependencies = ["io-console"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x6vyfmg1jm1srf7xa5aka73by7qwcmry2rx8kq8phwa4g0v4mzr";
+      sha256 = "0lv1nv7z63n4qmsm3h5h273m7daxngkcq8ynkk9j8lmn7jji98lb";
       type = "gem";
     };
-    version = "8.2.0";
+    version = "0.3.8";
   };
 }
diff --git a/pkgs/applications/editors/jupyter-kernels/iruby/update.sh b/pkgs/applications/editors/jupyter-kernels/iruby/update.sh
new file mode 100755
index 00000000000..11ae225a79b
--- /dev/null
+++ b/pkgs/applications/editors/jupyter-kernels/iruby/update.sh
@@ -0,0 +1,18 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p curl jq bundler bundix ruby
+
+set -eu -o pipefail
+
+cd "$(dirname "$0")"
+
+# Update Gemfile with the latest iruby version
+echo "source 'https://rubygems.org'" > Gemfile
+echo -n "gem 'iruby', " >> Gemfile
+curl https://rubygems.org/api/v1/gems/iruby.json | jq .version >> Gemfile
+
+# Regenerate Gemfile.lock
+export BUNDLE_FORCE_RUBY_PLATFORM=1
+bundle lock
+
+# Regenerate gemset.nix
+bundix -l
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index b1f0451cc17..5d311de422f 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -97,7 +97,7 @@ in
       homepage = "https://code.visualstudio.com/";
       downloadPage = "https://code.visualstudio.com/Updates";
       license = licenses.unfree;
-      maintainers = with maintainers; [ eadwu synthetica maxeaubrey bobby285271 Enzime ];
+      maintainers = with maintainers; [ eadwu synthetica amaxine bobby285271 Enzime ];
       platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" "armv7l-linux" ];
     };
   }
diff --git a/pkgs/applications/graphics/megapixels/default.nix b/pkgs/applications/graphics/megapixels/default.nix
index 24732eee9e3..d197fdadc36 100644
--- a/pkgs/applications/graphics/megapixels/default.nix
+++ b/pkgs/applications/graphics/megapixels/default.nix
@@ -29,13 +29,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "megapixels";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchFromGitLab {
     owner = "postmarketOS";
     repo = "megapixels";
     rev = version;
-    hash = "sha256-ZkTDHDL5nhpR8PKqia12pbrEZLnRXEm8DwBYdYrP5Qo=";
+    hash = "sha256-ejTCYZMDkqz8P3vroq8XAl+pUGgcS56cm3tzOTE3rfc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index cf2ac98bc09..1539c1693e6 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -59,7 +59,7 @@ let
     homepage = "https://1password.com/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ timstott savannidgerinel maxeaubrey sebtm ];
+    maintainers = with maintainers; [ timstott savannidgerinel amaxine sebtm ];
     platforms = builtins.attrNames sources.${channel};
     mainProgram = "1password";
   };
diff --git a/pkgs/applications/misc/camunda-modeler/default.nix b/pkgs/applications/misc/camunda-modeler/default.nix
index e42f022df7f..5b52aae8df4 100644
--- a/pkgs/applications/misc/camunda-modeler/default.nix
+++ b/pkgs/applications/misc/camunda-modeler/default.nix
@@ -9,11 +9,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "camunda-modeler";
-  version = "5.13.0";
+  version = "5.14.0";
 
   src = fetchurl {
     url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz";
-    hash = "sha256-/9Af/1ZP2Hkc0PP9yXObNDNmxe6riBNWSv+JaM7O5Vs=";
+    hash = "sha256-zGxuvS4T1olMH+QOqrPcsFjfO3PDERmFQOa+ISN9u0c=";
   };
   sourceRoot = "camunda-modeler-${version}-linux-x64";
 
@@ -63,7 +63,7 @@ stdenvNoCC.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/camunda/camunda-modeler";
     description = "An integrated modeling solution for BPMN, DMN and Forms based on bpmn.io";
-    maintainers = with maintainers; [ n0emis ];
+    maintainers = teams.wdz.members;
     license = licenses.mit;
     inherit (electron.meta) platforms;
   };
diff --git a/pkgs/applications/misc/markmind/default.nix b/pkgs/applications/misc/markmind/default.nix
deleted file mode 100644
index e44b7fe54ad..00000000000
--- a/pkgs/applications/misc/markmind/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron }:
-
-stdenv.mkDerivation rec {
-  pname = "markmind";
-  version = "1.3.1";
-
-  src = fetchurl {
-    url = "https://github.com/MarkMindCkm/Mark-Mind/releases/download/v${version}/Mark.Mind-${version}.AppImage";
-    sha256 = "sha256-iOJ0IOIzleA69rv94Qd35rMbHc+XSi8OPatf2V6sYrI=";
-  };
-
-  appimageContents = appimageTools.extractType2 {
-    name = "markmind-${version}";
-    inherit src;
-  };
-
-  dontUnpack = true;
-  dontConfigure = true;
-  dontBuild = true;
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin $out/share/markmind $out/share/applications
-    cp -a ${appimageContents}/{locales,resources} $out/share/markmind
-    cp -a ${appimageContents}/mind.desktop $out/share/applications/markmind.desktop
-    cp -a ${appimageContents}/usr/share/icons $out/share
-    substituteInPlace $out/share/applications/markmind.desktop \
-      --replace 'Exec=AppRun' 'Exec=markmind'
-
-    runHook postInstall
-  '';
-
-  postFixup = ''
-    makeWrapper ${electron}/bin/electron $out/bin/markmind \
-      --add-flags $out/share/markmind/resources/app.asar
-  '';
-
-  meta = with lib; {
-    description = "Mind map and outliner editor";
-    homepage = "https://github.com/MarkMindCkm/Mark-Mind";
-    license = licenses.mit;
-    maintainers = with maintainers; [ wolfangaukang ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index 38736866b24..cb9b1a7f6aa 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -12,20 +12,20 @@
 let
   inherit (stdenv.hostPlatform) system;
   pname = "obsidian";
-  version = "1.4.5";
+  version = "1.4.11";
   appname = "Obsidian";
   meta = with lib; {
     description = "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
     homepage = "https://obsidian.md";
     downloadPage = "https://github.com/obsidianmd/obsidian-releases/releases";
     license = licenses.obsidian;
-    maintainers = with maintainers; [ atila conradmearns zaninime qbit ];
+    maintainers = with maintainers; [ atila conradmearns zaninime qbit kashw2 ];
   };
 
   filename = if stdenv.isDarwin then "Obsidian-${version}-universal.dmg" else "obsidian-${version}.tar.gz";
   src = fetchurl {
     url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
-    sha256 = if stdenv.isDarwin then "sha256-1xGlXjQrJ8gNtKYlCBiIfNnTZU591JZdU6NJqMA5gug=" else "sha256-Y/RlT+3xBbF9tjCbRQnQ+j8ogzLMfsQPnOdiCVj+NK0=";
+    sha256 = if stdenv.isDarwin then "sha256-bJLWXdeVzbVrb8jmIRpyQG6a5H1jMydhO9ioHOGk3Ms=" else "sha256-Z4DojO90PAlGGsItcZugPsi+48UPnOjvCn2BIzrDQpc=";
   };
 
   icon = fetchurl {
diff --git a/pkgs/applications/misc/pomotroid/default.nix b/pkgs/applications/misc/pomotroid/default.nix
deleted file mode 100644
index dfe76aa92f4..00000000000
--- a/pkgs/applications/misc/pomotroid/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ stdenv, lib, fetchurl, makeWrapper, makeDesktopItem, copyDesktopItems, electron }:
-
-let
-  version = "0.13.0";
-  appIcon = fetchurl {
-    url = "https://raw.githubusercontent.com/Splode/pomotroid/v${version}/static/icon.png";
-    sha256 = "sha256-BEPoOBErw5ZCeK4rtdxdwZZLimbpglu1Cu++4xzuVUs=";
-  };
-
-in stdenv.mkDerivation rec {
-  pname = "pomotroid";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://github.com/Splode/pomotroid/releases/download/v${version}/${pname}-${version}-linux.tar.gz";
-    sha256 = "sha256-AwpVnvwWQd/cgmZvtr5NprnLyeXz6ym4Fywc808tcSc=";
-  };
-
-  nativeBuildInputs = [
-    makeWrapper
-    copyDesktopItems
-  ];
-
-  desktopItems = [
-    (makeDesktopItem {
-      name = pname;
-      exec = "pomotroid";
-      icon = "pomotroid";
-      comment = meta.description;
-      desktopName = "Pomotroid";
-      genericName = "Pomodoro Application";
-    })
-  ];
-
-  dontConfigure = true;
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/opt/pomotroid $out/share/pomotroid $out/share/pixmaps
-
-    cp -r ./ $out/opt/pomotroid
-    mv $out/opt/pomotroid/{locales,resources} $out/share/pomotroid
-    cp ${appIcon} $out/share/pixmaps/pomotroid.png
-
-    makeWrapper ${electron}/bin/electron $out/bin/pomotroid \
-      --add-flags $out/share/pomotroid/resources/app.asar
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Simple and visually-pleasing Pomodoro timer";
-    homepage = "https://splode.github.io/pomotroid";
-    license = licenses.mit;
-    maintainers = with maintainers; [ wolfangaukang ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 384bbc54bf8..37cdef064d6 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -41,9 +41,9 @@
         version = "2023-06-09";
       };
     };
-    sha256 = "09b0i48sr5ynlhpya4lwnhgp081q4lqd23cc5l59dsxzh5ivbycb";
-    sha256bin64 = "1d49qcjh5mhfzqzjn4ilj23dpzd6nyl1pij5iv43dwxl8z2r3l3m";
-    version = "116.0.5845.179";
+    sha256 = "152lyrw8k36gbmf4fmfny4ajqh0523y5d48yrshbgwn5klmbhaji";
+    sha256bin64 = "118sk39939d52srws2vgs1mfizpikswxh5ihd9x053vzn0aj8cfa";
+    version = "116.0.5845.187";
   };
   ungoogled-chromium = {
     deps = {
diff --git a/pkgs/applications/networking/browsers/polypane/default.nix b/pkgs/applications/networking/browsers/polypane/default.nix
index 617d52788d7..4426eabe60e 100644
--- a/pkgs/applications/networking/browsers/polypane/default.nix
+++ b/pkgs/applications/networking/browsers/polypane/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "polypane";
-  version = "14.0.1";
+  version = "14.1.0";
 
   src = fetchurl {
     url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
     name = "${pname}-${version}.AppImage";
-    sha256 = "sha256-UBWd8ApSb5YN5TUqSxv/352+jAwwRjiv/pM1rocqukk=";
+    sha256 = "sha256-UJ4Ccz9PjpmZqJGbJjw3lyqR3VCl9xf3F6WUoBaUEVg=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix
index 6f4e466677a..73c71b29285 100644
--- a/pkgs/applications/networking/cluster/nomad/default.nix
+++ b/pkgs/applications/networking/cluster/nomad/default.nix
@@ -40,7 +40,7 @@ let
         homepage = "https://www.nomadproject.io/";
         description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
         license = licenses.mpl20;
-        maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes maxeaubrey techknowlogick ];
+        maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes amaxine techknowlogick ];
       };
     } // attrs');
 in
diff --git a/pkgs/applications/networking/cluster/rke2/default.nix b/pkgs/applications/networking/cluster/rke2/default.nix
index 7aa0efe45f8..04271e7798e 100644
--- a/pkgs/applications/networking/cluster/rke2/default.nix
+++ b/pkgs/applications/networking/cluster/rke2/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "rke2";
-  version = "1.27.3+rke2r1";
+  version = "1.27.5+rke2r1";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-M/3F97iNeXdMMhs0eoPODeBC6Jp+yo/PwlPiG28SfYU=";
+    hash = "sha256-LKVz/oKt3WDf84KEEj4dRyjkRWZIWbOnEgG03EHvfGQ=";
   };
 
-  vendorHash = "sha256-7Za8PQr22kvZBvoYRVbI4bXUvGWkfILQC+kAmw9ZCro=";
+  vendorHash = "sha256-Ck3/sMvCLoXKtOIhn0uE8hHdTlPFjIT04l3zoZQNKPs=";
 
   postPatch = ''
     # Patch the build scripts so they work in the Nix build environment.
@@ -36,5 +36,6 @@ buildGoModule rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ zimbatm zygot ];
     mainProgram = "rke2";
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 95f5140b504..a13dbfb5436 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -58,7 +58,7 @@ let
           Chili-Man
           babariviere
           kalbasit
-          maxeaubrey
+          amaxine
           timstott
           zimbatm
           zowoq
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
index d6f0dae7038..5af78b5327e 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
@@ -8,7 +8,7 @@
 , libdeltachat
 , makeDesktopItem
 , makeWrapper
-, noto-fonts-emoji
+, noto-fonts-color-emoji
 , pkg-config
 , python3
 , roboto
@@ -85,7 +85,7 @@ buildNpmPackage rec {
     install -D build/icon.png \
       $out/share/icons/hicolor/scalable/apps/deltachat.png
 
-    ln -sf ${noto-fonts-emoji}/share/fonts/noto/NotoColorEmoji.ttf \
+    ln -sf ${noto-fonts-color-emoji}/share/fonts/noto/NotoColorEmoji.ttf \
       $out/lib/node_modules/deltachat-desktop/html-dist/fonts/noto/emoji
     for font in $out/lib/node_modules/deltachat-desktop/html-dist/fonts/Roboto-*.ttf; do
       ln -sf ${roboto}/share/fonts/truetype/$(basename $font) \
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index d9ee5d71c49..8980eb8a13c 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -4,7 +4,7 @@ let
     stable = "0.0.29";
     ptb = "0.0.45";
     canary = "0.0.166";
-    development = "0.0.217";
+    development = "0.0.232";
   } else {
     stable = "0.0.273";
     ptb = "0.0.59";
@@ -28,7 +28,7 @@ let
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
-        sha256 = "sha256-fzNFKrYo5qckrWZAkkiK337czCt6nOM1O8FeG18Q8Y0=";
+        sha256 = "sha256-AsHdQvDLzflhuYO8V4R+2zjQYpRo+aPa8HYXc3taayY=";
       };
     };
     x86_64-darwin = {
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index ce221d17832..b52b9f479bd 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -84,7 +84,7 @@ let
     changelog = "https://slack.com/release-notes";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ mmahut maxeaubrey ];
+    maintainers = with maintainers; [ mmahut amaxine ];
     platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin" ];
     mainProgram = "slack";
   };
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index f138523016e..d82981f2f08 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "rclone";
-  version = "1.63.1";
+  version = "1.64.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-H//Y7BFBr3VXAoKZZgjSgU4aA+Af7tvFozhpoj14ba0=";
+    hash = "sha256-miXYBKUTmsqAvVLmxcVCpjgEO3HeKQpUZKSvzaxhqdU=";
   };
 
-  vendorHash = "sha256-AXgyyI6ZbTepC/TGkHQvHiwpQOjzwG5ung71nKE5d1Y=";
+  vendorHash = "sha256-rpF44yd8ElOkXTT1lSW0l3ZwTqeNdGS1OxrvNY8atzA=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/science/biology/veryfasttree/default.nix b/pkgs/applications/science/biology/veryfasttree/default.nix
index e29b2da0fc4..63597a75d49 100644
--- a/pkgs/applications/science/biology/veryfasttree/default.nix
+++ b/pkgs/applications/science/biology/veryfasttree/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "veryfasttree";
-  version = "4.0.2";
+  version = "4.0.3";
 
   src = fetchFromGitHub {
     owner = "citiususc";
     repo = "veryfasttree";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-JMBhSxfGO3qz7Yl4s5r6zWHFefXGzu0ktEJdRUh/Uqg=";
+    hash = "sha256-Sp331VJRaYv/BTwFj3HwUcUsWjYf6YEXWjYdOzDhBBA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/terminal-emulators/contour/default.nix b/pkgs/applications/terminal-emulators/contour/default.nix
index c1eba0e3fe4..9c44946f382 100644
--- a/pkgs/applications/terminal-emulators/contour/default.nix
+++ b/pkgs/applications/terminal-emulators/contour/default.nix
@@ -47,6 +47,8 @@ mkDerivation rec {
     sha256 = "sha256-TpxVC0GFZD3jGISnDWHKEetgVVpznm5k/Vc2dwVfSG4=";
   };
 
+  outputs = [ "out" "terminfo" ];
+
   nativeBuildInputs = [
     cmake
     pkg-config
@@ -86,6 +88,12 @@ mkDerivation rec {
     sed -i '/fixup_bundle/d' src/contour/CMakeLists.txt
   '';
 
+  postInstall = ''
+    mkdir -p $out/nix-support $terminfo/share
+    mv $out/share/terminfo $terminfo/share/
+    echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+  '';
+
   passthru.tests.test = nixosTests.terminal-emulators.contour;
 
   meta = with lib; {
diff --git a/pkgs/applications/terminal-emulators/st/default.nix b/pkgs/applications/terminal-emulators/st/default.nix
index da48550877c..9856d1428f9 100644
--- a/pkgs/applications/terminal-emulators/st/default.nix
+++ b/pkgs/applications/terminal-emulators/st/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-82NZeZc06ueFvss3QGPwvoM88i+ItPFpzSUbmTJOCOc=";
   };
 
+  outputs = [ "out" "terminfo" ];
+
   inherit patches;
 
   configFile = lib.optionalString (conf != null)
@@ -51,7 +53,9 @@ stdenv.mkDerivation (finalAttrs: {
   ] ++ extraLibs;
 
   preInstall = ''
-    export TERMINFO=$out/share/terminfo
+    export TERMINFO=$terminfo/share/terminfo
+    mkdir -p $TERMINFO $out/nix-support
+    echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
   '';
 
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/applications/terminal-emulators/yaft/default.nix b/pkgs/applications/terminal-emulators/yaft/default.nix
index 5471ee45e0a..c38d90bd404 100644
--- a/pkgs/applications/terminal-emulators/yaft/default.nix
+++ b/pkgs/applications/terminal-emulators/yaft/default.nix
@@ -4,6 +4,8 @@ stdenv.mkDerivation rec {
   version = "0.2.9";
   pname = "yaft";
 
+  outputs = [ "out" "terminfo" ];
+
   src = fetchFromGitHub {
     owner = "uobikiemukot";
     repo = "yaft";
@@ -15,6 +17,12 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "PREFIX=$(out)" "MANPREFIX=$(out)/share/man" ];
 
+  postInstall = ''
+    mkdir -p $out/nix-support $terminfo/share
+    mv $out/share/terminfo $terminfo/share/
+    echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+  '';
+
   meta = {
     homepage = "https://github.com/uobikiemukot/yaft";
     description = "Yet another framebuffer terminal";
diff --git a/pkgs/applications/version-management/git-cliff/default.nix b/pkgs/applications/version-management/git-cliff/default.nix
index f4722b894aa..5860d679db6 100644
--- a/pkgs/applications/version-management/git-cliff/default.nix
+++ b/pkgs/applications/version-management/git-cliff/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-cliff";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "git-cliff";
     rev = "v${version}";
-    hash = "sha256-EmpWJWvYxyg6m08Q77kRehtcVSQOm16ZdcmZWncLch4=";
+    hash = "sha256-HD/g9zXE7w9x8o0ERBym5OZvODQ6n4a/bkzf457QPxM=";
   };
 
-  cargoHash = "sha256-ECTvfS09CglAavj8LJbfpxnaWQtsp4DZb7GMJHIeEAA=";
+  cargoHash = "sha256-tTH5FMlOHv+T9rd0C7O2WaPkp2nUTQ3Ulsi16WiwbdE=";
 
   # attempts to run the program on .git in src which is not deterministic
   doCheck = false;
diff --git a/pkgs/applications/version-management/gitnr/default.nix b/pkgs/applications/version-management/gitnr/default.nix
index b0fd434d448..6472ed9f6aa 100644
--- a/pkgs/applications/version-management/gitnr/default.nix
+++ b/pkgs/applications/version-management/gitnr/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitnr";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "reemus-dev";
     repo = "gitnr";
     rev = "v${version}";
-    hash = "sha256-5HZT/e53e2dUMFnT+4a5GJk3JqJu5+62yxrsnNfSqD8=";
+    hash = "sha256-0LuQqDNyMd98cHCG3JDyRx/2hhjNlcGQ7n61Z264WzA=";
   };
 
-  cargoHash = "sha256-rO8qHa+GI76s5CN52aMa58W8ERuTWQtQ96jpLbXKzOs=";
+  cargoHash = "sha256-H9aLOHdd2UP2YH/dptTwE0bzfFAJk7jwp3ecd0w8bjY=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 4b8fc566bff..392bb4dacc5 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -7,12 +7,13 @@ rec {
       , mobyRev, mobyHash
       , runcRev, runcHash
       , containerdRev, containerdHash
-      , tiniRev, tiniHash, buildxSupport ? true, composeSupport ? true
+      , tiniRev, tiniHash
+      , buildxSupport ? true, composeSupport ? true, sbomSupport ? false
       # package dependencies
       , stdenv, fetchFromGitHub, fetchpatch, buildGoPackage
       , makeWrapper, installShellFiles, pkg-config, glibc
       , go-md2man, go, containerd, runc, docker-proxy, tini, libtool
-      , sqlite, iproute2, docker-buildx, docker-compose
+      , sqlite, iproute2, docker-buildx, docker-compose, docker-sbom
       , iptables, e2fsprogs, xz, util-linux, xfsprogs, git
       , procps, rootlesskit, slirp4netns, fuse-overlayfs, nixosTests
       , clientOnly ? !stdenv.isLinux, symlinkJoin
@@ -159,7 +160,8 @@ rec {
     });
 
     plugins = lib.optional buildxSupport docker-buildx
-      ++ lib.optional composeSupport docker-compose;
+      ++ lib.optional composeSupport docker-compose
+      ++ lib.optional sbomSupport docker-sbom;
     pluginsRef = symlinkJoin { name = "docker-plugins"; paths = plugins; };
   in
   buildGoPackage (lib.optionalAttrs (!clientOnly) {
@@ -273,7 +275,7 @@ rec {
         To enable the docker daemon on NixOS, set the `virtualisation.docker.enable` option to `true`.
       '';
       license = licenses.asl20;
-      maintainers = with maintainers; [ offline vdemeester periklis maxeaubrey ];
+      maintainers = with maintainers; [ offline vdemeester periklis amaxine ];
       mainProgram = "docker";
     };
   });
diff --git a/pkgs/applications/virtualization/docker/sbom-disable-tests.patch b/pkgs/applications/virtualization/docker/sbom-disable-tests.patch
new file mode 100644
index 00000000000..2bf3116da81
--- /dev/null
+++ b/pkgs/applications/virtualization/docker/sbom-disable-tests.patch
@@ -0,0 +1,28 @@
+diff --git a/test/cli/all_formats_expressible_test.go b/test/cli/all_formats_expressible_test.go
+index 3f40a46..5ba04e8 100644
+--- a/test/cli/all_formats_expressible_test.go
++++ b/test/cli/all_formats_expressible_test.go
+@@ -8,7 +8,8 @@ import (
+ 	"github.com/anchore/syft/syft"
+ )
+ 
+-func TestAllFormatsExpressible(t *testing.T) {
++// Disabled because it needs a running docker daemon
++func disabledTestAllFormatsExpressible(t *testing.T) {
+ 	commonAssertions := []traitAssertion{
+ 		func(tb testing.TB, stdout, _ string, _ int) {
+ 			tb.Helper()
+diff --git a/test/cli/sbom_cmd_test.go b/test/cli/sbom_cmd_test.go
+index 0a0771c..a086c3b 100644
+--- a/test/cli/sbom_cmd_test.go
++++ b/test/cli/sbom_cmd_test.go
+@@ -8,7 +8,8 @@ import (
+ 	"github.com/docker/sbom-cli-plugin/internal"
+ )
+ 
+-func TestSBOMCmdFlags(t *testing.T) {
++// Disabled because it needs a running docker daemon
++func disabledTestSBOMCmdFlags(t *testing.T) {
+ 	hiddenPackagesImage := getFixtureImage(t, "image-hidden-packages")
+ 	coverageImage := getFixtureImage(t, "image-pkg-coverage")
+ 	tmp := t.TempDir() + "/"
diff --git a/pkgs/applications/virtualization/docker/sbom.nix b/pkgs/applications/virtualization/docker/sbom.nix
new file mode 100644
index 00000000000..7314eb2029f
--- /dev/null
+++ b/pkgs/applications/virtualization/docker/sbom.nix
@@ -0,0 +1,43 @@
+{ buildGoModule
+, fetchFromGitHub
+, docker
+, lib
+}:
+
+buildGoModule rec {
+  pname = "docker-sbom";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "docker";
+    repo = "sbom-cli-plugin";
+    rev = "tags/v${version}";
+    hash = "sha256-i3gIogHb0oW/VDuZUo6LGBmvqs/XfMXjpvTTYeGCK7Q=";
+  };
+
+  patches = [
+    # Disable tests that require a docker daemon to be running
+    # in the sandbox
+    ./sbom-disable-tests.patch
+  ];
+
+  vendorHash = "sha256-XPPVAdY2NaasZ9bkf24VWWk3X5pjnryvsErYIWkeekc=";
+
+  nativeBuildInputs = [ docker ];
+
+  installPhase = ''
+    runHook preInstall
+    install -D $GOPATH/bin/sbom-cli-plugin $out/libexec/docker/cli-plugins/docker-sbom
+
+    mkdir -p $out/bin
+    ln -s $out/libexec/docker/cli-plugins/docker-sbom $out/bin/docker-sbom
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Plugin for Docker CLI to support SBOM creation using Syft";
+    homepage = "https://github.com/docker/sbom-cli-plugin";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ raboof ];
+  };
+}
diff --git a/pkgs/build-support/node/fetch-npm-deps/default.nix b/pkgs/build-support/node/fetch-npm-deps/default.nix
index ac76758ba50..67a4c337c0d 100644
--- a/pkgs/build-support/node/fetch-npm-deps/default.nix
+++ b/pkgs/build-support/node/fetch-npm-deps/default.nix
@@ -165,7 +165,9 @@
 
       dontInstall = true;
 
-      impureEnvVars = lib.fetchers.proxyImpureEnvVars;
+      # NIX_NPM_TOKENS environment variable should be a JSON mapping in the shape of:
+      # `{ "registry.example.com": "example-registry-bearer-token", ... }`
+      impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ "NIX_NPM_TOKENS" ];
 
       SSL_CERT_FILE = if (hash_.outputHash == "" || hash_.outputHash == lib.fakeSha256 || hash_.outputHash == lib.fakeSha512 || hash_.outputHash == lib.fakeHash)
         then "${cacert}/etc/ssl/certs/ca-bundle.crt"
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/main.rs b/pkgs/build-support/node/fetch-npm-deps/src/main.rs
index 62e5752c74c..9d86bd8091a 100644
--- a/pkgs/build-support/node/fetch-npm-deps/src/main.rs
+++ b/pkgs/build-support/node/fetch-npm-deps/src/main.rs
@@ -108,7 +108,7 @@ fn fixup_lockfile(
 
 // Recursive helper to fixup v1 lockfile deps
 fn fixup_v1_deps(
-    dependencies: &mut serde_json::Map<String, Value>,
+    dependencies: &mut Map<String, Value>,
     cache: &Option<HashMap<String, String>>,
     fixed: &mut bool,
 ) {
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs b/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs
index e1b491cccea..b37652ffdf8 100644
--- a/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs
+++ b/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs
@@ -139,9 +139,9 @@ impl Package {
             None => Specifics::Registry {
                 integrity: pkg
                     .integrity
-                    .expect("non-git dependencies should have assosciated integrity")
+                    .expect("non-git dependencies should have associated integrity")
                     .into_best()
-                    .expect("non-git dependencies should have non-empty assosciated integrity"),
+                    .expect("non-git dependencies should have non-empty associated integrity"),
             },
         };
 
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/util.rs b/pkgs/build-support/node/fetch-npm-deps/src/util.rs
index a165461fa71..7a220f681c0 100644
--- a/pkgs/build-support/node/fetch-npm-deps/src/util.rs
+++ b/pkgs/build-support/node/fetch-npm-deps/src/util.rs
@@ -3,6 +3,7 @@ use isahc::{
     config::{CaCertificate, Configurable, RedirectPolicy, SslOption},
     Body, Request, RequestExt,
 };
+use serde_json::{Map, Value};
 use std::{env, path::Path};
 use url::Url;
 
@@ -22,6 +23,18 @@ pub fn get_url(url: &Url) -> Result<Body, isahc::Error> {
         }
     }
 
+    // Respect NIX_NPM_TOKENS environment variable, which should be a JSON mapping in the shape of:
+    // `{ "registry.example.com": "example-registry-bearer-token", ... }`
+    if let Some(host) = url.host_str() {
+        if let Ok(npm_tokens) = env::var("NIX_NPM_TOKENS") {
+            if let Ok(tokens) = serde_json::from_str::<Map<String, Value>>(&npm_tokens) {
+                if let Some(token) = tokens.get(host).and_then(|val| val.as_str()) {
+                    request = request.header("Authorization", format!("Bearer {token}"));
+                }
+            }
+        }
+    }
+
     Ok(request.body(())?.send()?.into_body())
 }
 
diff --git a/pkgs/by-name/README.md b/pkgs/by-name/README.md
index fbdcfd7ecb7..ba1bd8cb986 100644
--- a/pkgs/by-name/README.md
+++ b/pkgs/by-name/README.md
@@ -72,6 +72,22 @@ libfoo = callPackage ../by-name/so/some-package/package.nix {
 };
 ```
 
+## Manual migration guidelines
+
+Most packages are still defined in `all-packages.nix` and the [category hierarchy](../README.md#category-hierarchy).
+Please hold off migrating your maintained packages to this directory.
+
+1. An automated migration for the majority of packages [is being worked on](https://github.com/NixOS/nixpkgs/pull/211832).
+   In order to save on contributor and reviewer time, packages should only be migrated manually afterwards if they couldn't be migrated automatically.
+
+1. Manual migrations should only be lightly encouraged if the relevant code is being worked on anyways.
+   For example with a package update or refactoring.
+
+1. Manual migrations should not remove definitions from `all-packages.nix` with custom arguments.
+   That is a backwards-incompatible change because it changes the `.override` interface.
+   Such packages may still be moved to `pkgs/by-name` however, while keeping the definition in `all-packages.nix`.
+   See also [changing implicit attribute defaults](#changing-implicit-attribute-defaults).
+
 ## Limitations
 
 There's some limitations as to which packages can be defined using this structure:
diff --git a/pkgs/by-name/qu/quicktype/package.nix b/pkgs/by-name/qu/quicktype/package.nix
new file mode 100644
index 00000000000..20ce7b39fb3
--- /dev/null
+++ b/pkgs/by-name/qu/quicktype/package.nix
@@ -0,0 +1,31 @@
+{ lib, buildNpmPackage, fetchFromGitHub, jq }:
+
+buildNpmPackage rec {
+  pname = "quicktype";
+  version = "23.0.75"; # version from https://npm.im/quicktype
+
+  src = fetchFromGitHub {
+    owner = "quicktype";
+    repo = "quicktype";
+    rev = "9b570a73a896306778940c793c0037a38815304a"; # version not tagged
+    hash = "sha256-boCBgIoM2GECipZTJlp9IaeXT24aR8tawS1X8CFDDqw=";
+  };
+
+  postPatch = ''
+    cat <<< $(${jq}/bin/jq '.version = "${version}"' package.json) > package.json
+  '';
+
+  npmDepsHash = "sha256-RA4HVQfB/ge1aIKl9HiUT7vUM5n+Ro6N2D6xj1dgSu8=";
+
+  postInstall = ''
+    mv packages/ $out/lib/node_modules/quicktype/
+  '';
+
+  meta = with lib; {
+    description = "Generate types and converters from JSON, Schema, and GraphQL";
+    homepage = "https://quicktype.io/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+    mainProgram = "quicktype";
+  };
+}
diff --git a/pkgs/by-name/sl/sleek-grub-theme/package.nix b/pkgs/by-name/sl/sleek-grub-theme/package.nix
new file mode 100644
index 00000000000..efeb01e4d81
--- /dev/null
+++ b/pkgs/by-name/sl/sleek-grub-theme/package.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, withBanner ? "Grub Bootloader" # use override to specify your own banner text
+, withStyle ? "white" # use override to specify one of "dark" / "orange" / "bigSur"
+}:
+
+assert builtins.any (s: withStyle == s) ["white" "dark" "orange" "bigSur"];
+
+stdenv.mkDerivation {
+  pname = "sleek-grub-theme";
+  version = "unstable-2022-06-04";
+
+  src = fetchFromGitHub ({
+    owner = "sandesh236";
+    repo = "sleek--themes";
+    rev = "981326a8e35985dc23f1b066fdbe66ff09df2371";
+    hash = "sha256-yD4JuoFGTXE/aI76EtP4rEWCc5UdFGi7Ojys6Yp8Z58=";
+  });
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/
+
+    cp -r 'Sleek theme-${withStyle}'/sleek/* $out/
+    sed -i "s/Grub Bootloader/${withBanner}/" $out/theme.txt
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Grub bootloader themes, contains light/dark/orange/bigSur styles";
+    homepage = "https://github.com/sandesh236/sleek--themes";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ luochen1990 ];
+  };
+}
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index 65daffe0ee5..79288cb5f4c 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -164,7 +164,7 @@ rec {
     sha256 = "sha256-y1103SS0qkZMhEL5+7kQZ+OBs5tRaqkqOcs4796Fzhg=";
   };
 
-  noto-fonts-emoji =
+  noto-fonts-color-emoji =
     let
       version = "2.038";
       emojiPythonEnv =
@@ -217,7 +217,7 @@ rec {
       '';
 
       meta = with lib; {
-        description = "Color and Black-and-White emoji fonts";
+        description = "Color emoji font";
         homepage = "https://github.com/googlefonts/noto-emoji";
         license = with licenses; [ ofl asl20 ];
         platforms = platforms.all;
@@ -225,6 +225,50 @@ rec {
       };
     };
 
+  noto-fonts-monochrome-emoji =
+    # Metadata fetched from
+    #  https://www.googleapis.com/webfonts/v1/webfonts?key=${GOOGLE_FONTS_TOKEN}&family=Noto+Emoji
+    let metadata = with builtins; head (fromJSON (readFile ./noto-emoji.json)).items;
+        urlHashes = with builtins; fromJSON (readFile ./noto-emoji.hashes.json);
+
+    in
+    stdenvNoCC.mkDerivation {
+      pname = "noto-fonts-monochrome-emoji";
+      version = "${lib.removePrefix "v" metadata.version}.${metadata.lastModified}";
+      preferLocalBuild = true;
+
+      dontUnpack = true;
+      srcs = let
+        weightNames = {
+          "300"   = "Light";
+          regular = "Regular";
+          "500"   = "Medium";
+          "600"   = "SemiBold";
+          "700"   = "Bold";
+        };
+      in lib.mapAttrsToList
+        (variant: url: fetchurl { name = "NotoEmoji-${weightNames.${variant}}.ttf";
+                                  hash = urlHashes.${url};
+                                  inherit url; } )
+        metadata.files;
+
+      installPhase = ''
+        for src in $srcs; do
+          install -D $src $out/share/fonts/noto/$(stripHash $src)
+        done
+      '';
+
+      meta = with lib; {
+        description = "Monochrome emoji font";
+        homepage = "https://fonts.google.com/noto/specimen/Noto+Emoji";
+        license = [ licenses.ofl ];
+        maintainers = [ maintainers.nicoo ];
+
+        platforms = platforms.all;
+        sourceProvenance = [ sourceTypes.binaryBytecode ];
+      };
+    };
+
   noto-fonts-emoji-blob-bin =
     let
       pname = "noto-fonts-emoji-blob-bin";
diff --git a/pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json b/pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json
new file mode 100644
index 00000000000..2f22a24a34c
--- /dev/null
+++ b/pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json
@@ -0,0 +1,7 @@
+{
+  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob_10jwvS-FGJCMY.ttf": "sha256-9ndQqJJzsCkR6KcYRNVW3wXWMxcH+0QzFgQQdCG8vSo=",
+  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf": "sha256-AXGLdWebddyJhTKMW/D/6tW8ODcaXrUM96m2hN9wYlg=",
+  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-Z0jwvS-FGJCMY.ttf": "sha256-wzF9kKNMeQTYZ2QUT5pIgauhl2qMpZ2nMLNTeAJuqtQ=",
+  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob911TwvS-FGJCMY.ttf": "sha256-NIelE8X+lKtH6yT3eFPZV7zYUR3Y5GnNobAbf7AckR0=",
+  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob9M1TwvS-FGJCMY.ttf": "sha256-zkJuJ8YlTrUV+28wHIqny3yQvjvZqEPG4WXYmaLcY8A="
+}
diff --git a/pkgs/data/fonts/noto-fonts/noto-emoji.json b/pkgs/data/fonts/noto-fonts/noto-emoji.json
new file mode 100644
index 00000000000..66b0292906b
--- /dev/null
+++ b/pkgs/data/fonts/noto-fonts/noto-emoji.json
@@ -0,0 +1,30 @@
+{
+  "kind": "webfonts#webfontList",
+  "items": [
+    {
+      "family": "Noto Emoji",
+      "variants": [
+        "300",
+        "regular",
+        "500",
+        "600",
+        "700"
+      ],
+      "subsets": [
+        "emoji"
+      ],
+      "version": "v46",
+      "lastModified": "2023-09-07",
+      "files": {
+        "300": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob_10jwvS-FGJCMY.ttf",
+        "regular": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf",
+        "500": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-Z0jwvS-FGJCMY.ttf",
+        "600": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob911TwvS-FGJCMY.ttf",
+        "700": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob9M1TwvS-FGJCMY.ttf"
+      },
+      "category": "sans-serif",
+      "kind": "webfonts#webfont",
+      "menu": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0gwuQeU.ttf"
+    }
+  ]
+}
diff --git a/pkgs/data/fonts/noto-fonts/noto-emoji.py b/pkgs/data/fonts/noto-fonts/noto-emoji.py
new file mode 100755
index 00000000000..9f1eadd95bc
--- /dev/null
+++ b/pkgs/data/fonts/noto-fonts/noto-emoji.py
@@ -0,0 +1,183 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i "python3 -I" -p python3
+
+from contextlib import contextmanager
+from pathlib import Path
+from typing import Iterable, Optional
+from urllib import request
+
+import hashlib, json
+
+
+def getMetadata(apiKey: str, family: str = "Noto Emoji"):
+    '''Fetch the Google Fonts metadata for a given family.
+
+    An API key can be obtained by anyone with a Google account (🚮) from
+      `https://developers.google.com/fonts/docs/developer_api#APIKey`
+    '''
+    from urllib.parse import urlencode
+
+    with request.urlopen(
+            "https://www.googleapis.com/webfonts/v1/webfonts?" +
+            urlencode({ 'key': apiKey, 'family': family })
+    ) as req:
+        return json.load(req)
+
+def getUrls(metadata) -> Iterable[str]:
+    '''Fetch all files' URLs from Google Fonts' metadata.
+
+    The metadata must obey the API v1 schema, and can be obtained from:
+      https://www.googleapis.com/webfonts/v1/webfonts?key=${GOOGLE_FONTS_TOKEN}&family=${FAMILY}
+    '''
+    return ( url for i in metadata['items'] for _, url in i['files'].items() )
+
+
+def hashUrl(url: str, *, hash: str = 'sha256'):
+    '''Compute the hash of the data from HTTP GETing a given `url`.
+
+    The `hash` must be an algorithm name `hashlib.new` accepts.
+    '''
+    with request.urlopen(url) as req:
+        return hashlib.new(hash, req.read())
+
+
+def sriEncode(h) -> str:
+    '''Encode a hash in the SRI format.
+
+    Takes a `hashlib` object, and produces a string that
+    nixpkgs' `fetchurl` accepts as `hash` parameter.
+    '''
+    from base64 import b64encode
+    return f"{h.name}-{b64encode(h.digest()).decode()}"
+
+def validateSRI(sri: Optional[str]) -> Optional[str]:
+    '''Decode an SRI hash, return `None` if invalid.
+
+    This is not a full SRI hash parser, hash options aren't supported.
+    '''
+    from base64 import b64decode
+
+    if sri is None:
+        return None
+
+    try:
+        hashName, b64 = sri.split('-', 1)
+
+        h = hashlib.new(hashName)
+        digest = b64decode(b64, validate=True)
+        assert len(digest) == h.digest_size
+
+    except:
+        return None
+    else:
+        return sri
+
+
+def hashUrls(
+    urls: Iterable[str],
+    knownHashes: dict[str, str] = {},
+) -> dict[str, str]:
+    '''Generate a `dict` mapping URLs to SRI-encoded hashes.
+
+    The `knownHashes` optional parameter can be used to avoid
+    re-downloading files whose URL have not changed.
+    '''
+    return {
+        url: validateSRI(knownHashes.get(url)) or sriEncode(hashUrl(url))
+        for url in urls
+    }
+
+
+@contextmanager
+def atomicFileUpdate(target: Path):
+    '''Atomically replace the contents of a file.
+
+    Yields an open file to write into; upon exiting the context,
+    the file is closed and (atomically) replaces the `target`.
+
+    Guarantees that the `target` was either successfully overwritten
+    with new content and no exception was raised, or the temporary
+    file was cleaned up.
+    '''
+    from tempfile import mkstemp
+    fd, _p = mkstemp(
+        dir = target.parent,
+        prefix = target.name,
+    )
+    tmpPath = Path(_p)
+
+    try:
+        with open(fd, 'w') as f:
+            yield f
+
+        tmpPath.replace(target)
+
+    except Exception:
+        tmpPath.unlink(missing_ok = True)
+        raise
+
+
+if __name__ == "__main__":
+    from os import environ
+    from urllib.error import HTTPError
+
+    environVar = 'GOOGLE_FONTS_TOKEN'
+    currentDir = Path(__file__).parent
+    metadataPath = currentDir / 'noto-emoji.json'
+
+    try:
+        apiToken = environ[environVar]
+        metadata = getMetadata(apiToken)
+
+    except (KeyError, HTTPError) as exn:
+        # No API key in the environment, or the query was rejected.
+        match exn:
+            case KeyError if exn.args[0] == environVar:
+                print(f"No '{environVar}' in the environment, "
+                       "skipping metadata update")
+
+            case HTTPError if exn.getcode() == 403:
+                print("Got HTTP 403 (Forbidden)")
+                if apiToken != '':
+                    print("Your Google API key appears to be valid "
+                          "but does not grant access to the fonts API.")
+                    print("Aborting!")
+                    raise SystemExit(1)
+
+            case HTTPError if exn.getcode() == 400:
+                # Printing the supposed token should be fine, as this is
+                #  what the API returns on invalid tokens.
+                print(f"Got HTTP 400 (Bad Request), is this really an API token: '{apiToken}' ?")
+            case _:
+                # Unknown error, let's bubble it up
+                raise
+
+        # In that case just use the existing metadata
+        with metadataPath.open() as metadataFile:
+            metadata = json.load(metadataFile)
+
+        lastModified = metadata["items"][0]["lastModified"];
+        print(f"Using metadata from file, last modified {lastModified}")
+
+    else:
+        # If metadata was successfully fetched, validate and persist it
+        lastModified = metadata["items"][0]["lastModified"];
+        print(f"Fetched current metadata, last modified {lastModified}")
+        with atomicFileUpdate(metadataPath) as metadataFile:
+            json.dump(metadata, metadataFile, indent = 2)
+            metadataFile.write("\n")  # Pacify nixpkgs' dumb editor config check
+
+    hashPath = currentDir / 'noto-emoji.hashes.json'
+    try:
+        with hashPath.open() as hashFile:
+            hashes = json.load(hashFile)
+    except FileNotFoundError:
+        hashes = {}
+
+    with atomicFileUpdate(hashPath) as hashFile:
+        json.dump(
+            hashUrls(getUrls(metadata), knownHashes = hashes),
+            hashFile,
+            indent = 2,
+        )
+        hashFile.write("\n")  # Pacify nixpkgs' dumb editor config check
diff --git a/pkgs/data/fonts/twitter-color-emoji/default.nix b/pkgs/data/fonts/twitter-color-emoji/default.nix
index cb9021d68f3..c3e41cca36d 100644
--- a/pkgs/data/fonts/twitter-color-emoji/default.nix
+++ b/pkgs/data/fonts/twitter-color-emoji/default.nix
@@ -10,7 +10,7 @@
 , python3
 , which
 , zopfli
-, noto-fonts-emoji
+, noto-fonts-color-emoji
 }:
 
 let
@@ -33,15 +33,15 @@ stdenv.mkDerivation rec {
   inherit version;
 
   srcs = [
-    noto-fonts-emoji.src
+    noto-fonts-color-emoji.src
     twemojiSrc
   ];
 
-  sourceRoot = noto-fonts-emoji.src.name;
+  sourceRoot = noto-fonts-color-emoji.src.name;
 
   postUnpack = ''
     chmod -R +w ${twemojiSrc.name}
-    mv ${twemojiSrc.name} ${noto-fonts-emoji.src.name}
+    mv ${twemojiSrc.name} ${noto-fonts-color-emoji.src.name}
   '';
 
   nativeBuildInputs = [
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
       "s#http://scripts.sil.org/OFL#http://creativecommons.org/licenses/by/4.0/#"
     ];
   in ''
-    ${noto-fonts-emoji.postPatch}
+    ${noto-fonts-color-emoji.postPatch}
 
     sed '${templateSubstitutions}' NotoColorEmoji.tmpl.ttx.tmpl > TwitterColorEmoji.tmpl.ttx.tmpl
     pushd ${twemojiSrc.name}/assets/72x72/
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
index d6ca206b20a..1b6be1d9bb4 100644
--- a/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "numix-icon-theme-circle";
-  version = "23.08.16";
+  version = "23.09.11";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-FXWue9CiX2zh7FXLnlG+SOto2Z4oznWNYpgZlMvVGn4=";
+    sha256 = "sha256-9GTNE9Gt+dxdfOLD0Qv1utSkwigalAPxixGSC5Nj8XM=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index e8d6b81e1ff..395fd1ed31f 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "numix-icon-theme-square";
-  version = "23.08.16";
+  version = "23.09.11";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zlh3Jh3ZrNo58ijGPwdaiHnTFoT6L3ZC0VTRY0Se3qs=";
+    sha256 = "sha256-YipdEvmQnqiuxheYS+y5t37uonzr/nH54PVLm4xp31E=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix
index b4e50252fe5..b72bcd6c7c3 100644
--- a/pkgs/data/themes/yaru/default.nix
+++ b/pkgs/data/themes/yaru/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ubuntu/yaru";
     license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fortuneteller2k maxeaubrey ];
+    maintainers = with maintainers; [ fortuneteller2k amaxine ];
   };
 }
diff --git a/pkgs/desktops/gnome/extensions/no-title-bar/default.nix b/pkgs/desktops/gnome/extensions/no-title-bar/default.nix
index e46b49c8f6e..011f21a976f 100644
--- a/pkgs/desktops/gnome/extensions/no-title-bar/default.nix
+++ b/pkgs/desktops/gnome/extensions/no-title-bar/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     description = "Integrates maximized windows with the top panel";
     homepage = "https://github.com/poehlerj/no-title-bar";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ jonafato svsdep maxeaubrey ];
+    maintainers = with maintainers; [ jonafato svsdep amaxine ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index 4acfa631932..65f33dbda84 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.7/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.8/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/plasma-sdk.nix b/pkgs/desktops/plasma-5/plasma-sdk.nix
index 837c2aeb7b1..88a1968d9d6 100644
--- a/pkgs/desktops/plasma-5/plasma-sdk.nix
+++ b/pkgs/desktops/plasma-5/plasma-sdk.nix
@@ -16,22 +16,11 @@
 , ktexteditor
 , kwidgetsaddons
 , kdoctools
-, fetchpatch
 }:
 
 mkDerivation {
   pname = "plasma-sdk";
 
-  patches = [
-    # remove duplicate doc entries, fix build
-    # FIXME: remove for next update
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma/plasma-sdk/-/commit/e766c3c0483329f52ba0dd7536c4160131409f8e.patch";
-      revert = true;
-      hash = "sha256-NoQbRo+0gT4F4G6YbvTiQulqrsFtnD7z0/0I4teQvUM=";
-    })
-  ];
-
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     karchive
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index 1526694581c..05adf949afa 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -148,13 +148,6 @@ mkDerivation {
   patches = [
     ./0001-startkde.patch
     ./0002-absolute-wallpaper-install-dir.patch
-
-    # backport patch fixing a Wayland crash
-    # FIXME: remove in next release
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma/plasma-workspace/-/commit/fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c.diff";
-      hash = "sha256-cHupiD6fKZ7ICFb4AcuUErrA4646sNGxeGiACPs8IHQ=";
-    })
   ];
 
   # QT_INSTALL_BINS refers to qtbase, and qdbus is in qttools
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 5af4c75f7a3..c26af1cfacc 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,475 +4,475 @@
 
 {
   aura-browser = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/aura-browser-5.27.7.tar.xz";
-      sha256 = "0pzb3wgqqq9sddc9ycwxhikc450s78v9287djb6p96mvprix205r";
-      name = "aura-browser-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/aura-browser-5.27.8.tar.xz";
+      sha256 = "0963d09whxld1l6fmi3z5qdkdvhl49khak3zjrq3cgs9sifvx08h";
+      name = "aura-browser-5.27.8.tar.xz";
     };
   };
   bluedevil = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/bluedevil-5.27.7.tar.xz";
-      sha256 = "0ddzcarn06rvhbmvm9x737ba9ycxcvg030892nh6izgfrjlaxhfb";
-      name = "bluedevil-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/bluedevil-5.27.8.tar.xz";
+      sha256 = "09bq19xh5cms6zkp8rkf954mz6bf6k6cv345z28ai9a7l386y2rv";
+      name = "bluedevil-5.27.8.tar.xz";
     };
   };
   breeze = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/breeze-5.27.7.tar.xz";
-      sha256 = "1wfclkg4d3wraz19kwpm87vwp9327s5y8n1a42qgrdh980qwzzdz";
-      name = "breeze-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/breeze-5.27.8.tar.xz";
+      sha256 = "0i1ywyq848g51glw8qkk2v5syp05c5d0dhyv1s6g393lrd9q596d";
+      name = "breeze-5.27.8.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/breeze-grub-5.27.7.tar.xz";
-      sha256 = "1c0096x75yhmr3irpbkz302gikqh2m1mz2s5j063db2ky72vlf9m";
-      name = "breeze-grub-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/breeze-grub-5.27.8.tar.xz";
+      sha256 = "08jws31cci1qyxsy5als31rrcld2j87bqq5ir9v1cch7j8vq1cz0";
+      name = "breeze-grub-5.27.8.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/breeze-gtk-5.27.7.tar.xz";
-      sha256 = "1s2qv51qa867b0bf29b7j90yzqmn3s2dwblczsb79h2i1gnr8ci9";
-      name = "breeze-gtk-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/breeze-gtk-5.27.8.tar.xz";
+      sha256 = "1kpaxw7c41159bkxbv8kcjzrhdyizrllfvilrsiszr6vfcmla3s0";
+      name = "breeze-gtk-5.27.8.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/breeze-plymouth-5.27.7.tar.xz";
-      sha256 = "1vm33di6aaj95pf45g4r3hp79ag1i75mi1b5fpipjgi4aiiqvddz";
-      name = "breeze-plymouth-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/breeze-plymouth-5.27.8.tar.xz";
+      sha256 = "0p1vmmlvdg29whvsmvwgxpj4slr11z2wacnnbvq91y98q9jb1p8f";
+      name = "breeze-plymouth-5.27.8.tar.xz";
     };
   };
   discover = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/discover-5.27.7.tar.xz";
-      sha256 = "0025g1whq8z1s5915jhq83xsiz4klzqpayfzqkar8c6gni5s3v59";
-      name = "discover-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/discover-5.27.8.tar.xz";
+      sha256 = "1lqg0bcqmcvvhdlxgll8psppxyq0m7r4w5awfjjcpgajmsxzrigi";
+      name = "discover-5.27.8.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/drkonqi-5.27.7.tar.xz";
-      sha256 = "1li1j85yvg2nj392rl1jmdqx3mzmrdj0lf72j37xd8r2bi0ic9z8";
-      name = "drkonqi-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/drkonqi-5.27.8.tar.xz";
+      sha256 = "0b6vs4acsakhxkz44yjyhzdqba7yzm0nbabsnp8wqkp1dm8cr3wb";
+      name = "drkonqi-5.27.8.tar.xz";
     };
   };
   flatpak-kcm = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/flatpak-kcm-5.27.7.tar.xz";
-      sha256 = "1crjxvfnx8jiaczwp7i96l75frcp866bv1rng8vizhi42pikbv52";
-      name = "flatpak-kcm-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/flatpak-kcm-5.27.8.tar.xz";
+      sha256 = "0mgdmbb0zkvzs3kwvgwk6sn5vj80m3wnccm53x9j5j02a40631nw";
+      name = "flatpak-kcm-5.27.8.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kactivitymanagerd-5.27.7.tar.xz";
-      sha256 = "1d7vz8gwqa7nhfn62dsqircm0qbp9ryass82k2891mqj0qrlbwid";
-      name = "kactivitymanagerd-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kactivitymanagerd-5.27.8.tar.xz";
+      sha256 = "1n9jx3nxpdklm9cl82kz4racxq1f51gqfidp0mdxx7w3wzhnqjyl";
+      name = "kactivitymanagerd-5.27.8.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kde-cli-tools-5.27.7.tar.xz";
-      sha256 = "1br1i8ba4n7d2yl618ph4glsaasn3rxy4kjp48f12l9l2pk29nxa";
-      name = "kde-cli-tools-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kde-cli-tools-5.27.8.tar.xz";
+      sha256 = "18v72ja1wdyql8a8r8bjzmgz5x7pqg2s2akv156py1x9gfah5fm2";
+      name = "kde-cli-tools-5.27.8.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kde-gtk-config-5.27.7.tar.xz";
-      sha256 = "13qwj3gdfvs0l6k01n8hf25kzrsksi3qi0b1rzpshcj1ix31wamf";
-      name = "kde-gtk-config-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kde-gtk-config-5.27.8.tar.xz";
+      sha256 = "1lyrlqm34rll830ykak83c2r22v4blbgchnr6grchaz3hd1njz4p";
+      name = "kde-gtk-config-5.27.8.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kdecoration-5.27.7.tar.xz";
-      sha256 = "153j3w00zwj6gx9ndq46vkfwx3ayig80j0jsqbkajk8zsncs89pg";
-      name = "kdecoration-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kdecoration-5.27.8.tar.xz";
+      sha256 = "12f8n0y3syj9yim7vjzrawyw9471yzqrb2irsdm5jjpsqqzkxbfy";
+      name = "kdecoration-5.27.8.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kdeplasma-addons-5.27.7.tar.xz";
-      sha256 = "0l7g4lx6y10xfabfcgvh7zb7h08clj0g9yx8ajyg7rzwfa43visi";
-      name = "kdeplasma-addons-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kdeplasma-addons-5.27.8.tar.xz";
+      sha256 = "0ik59yfbal16k06jl89r1bl8n342rysw4p02y089jbg1n658cdbb";
+      name = "kdeplasma-addons-5.27.8.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kgamma5-5.27.7.tar.xz";
-      sha256 = "0v5fynydjha9wx9j59ysw8vxx2h2gm55q27gnnhgyv0wxva8hpnl";
-      name = "kgamma5-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kgamma5-5.27.8.tar.xz";
+      sha256 = "05ily30mh3wr17ax58ahkwkaa2fa0nkp8mi73s2w7y6g38khqgs8";
+      name = "kgamma5-5.27.8.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/khotkeys-5.27.7.tar.xz";
-      sha256 = "1ipg71jz356jrngw7kqbjs7jplpnr8q3yz694rkhqklsqlfh91bd";
-      name = "khotkeys-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/khotkeys-5.27.8.tar.xz";
+      sha256 = "07m1ca39lxgiq29ls9n3bmrdycr18znwbcy4lq14i4g18f027qlc";
+      name = "khotkeys-5.27.8.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kinfocenter-5.27.7.tar.xz";
-      sha256 = "15hm828ifrrzsbkvknqwf0l3qxr45pdi49z823cw421z45r8ivkj";
-      name = "kinfocenter-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kinfocenter-5.27.8.tar.xz";
+      sha256 = "1k6rm87i4hls6b3x9prl2aqx3lpikisf3w3p35r6kcxsd2gn4vxg";
+      name = "kinfocenter-5.27.8.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kmenuedit-5.27.7.tar.xz";
-      sha256 = "0n60z44wbsjinrcrhs5cfnjs9szpsv2wzva2fiwwgh36j6zz5av7";
-      name = "kmenuedit-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kmenuedit-5.27.8.tar.xz";
+      sha256 = "17zk2jb3jbvw396r83481zj9md3k8hy90al3yz9i41ihyj9hl25f";
+      name = "kmenuedit-5.27.8.tar.xz";
     };
   };
   kpipewire = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kpipewire-5.27.7.tar.xz";
-      sha256 = "10j7sa8vv530c388z5rzafkdr4sx3agjqczlnkh7412whyw77lha";
-      name = "kpipewire-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kpipewire-5.27.8.tar.xz";
+      sha256 = "1027a23m7kxmw6gxs93wssgc22pg91jhnmbxm1mghd2695nlrrjs";
+      name = "kpipewire-5.27.8.tar.xz";
     };
   };
   kscreen = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kscreen-5.27.7.tar.xz";
-      sha256 = "03qa2qrwdjgb6va7akhwpdvzky608sq2lnwj3b1f310mn3hmbmrq";
-      name = "kscreen-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kscreen-5.27.8.tar.xz";
+      sha256 = "06q4iyn7mg0mmcardafzx6vzd1i3cm2kxdc22daw4mm0kqwjpjql";
+      name = "kscreen-5.27.8.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kscreenlocker-5.27.7.tar.xz";
-      sha256 = "11y3ksd29p8hdn8chaf8vscnc7fbh8xkjdsbakrb056p1r8kn0f2";
-      name = "kscreenlocker-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kscreenlocker-5.27.8.tar.xz";
+      sha256 = "05px5ksppa6ladldwmksyhyyxbwwlzsy7dxwicvcbd7c521r6gws";
+      name = "kscreenlocker-5.27.8.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/ksshaskpass-5.27.7.tar.xz";
-      sha256 = "0vmydvj4c9c93y9wyyjs2hr9m0hygssk1asl4idbj7mcy6n7acg1";
-      name = "ksshaskpass-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/ksshaskpass-5.27.8.tar.xz";
+      sha256 = "1bcrhmnkivig68lavk50qfhal4v7bycqh2npa7dnca4lanx1ki37";
+      name = "ksshaskpass-5.27.8.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/ksystemstats-5.27.7.tar.xz";
-      sha256 = "1fx5b566xx32q7gxi8qnnx6vny7ip5r65zi2znnx3azmwsc8jgvw";
-      name = "ksystemstats-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/ksystemstats-5.27.8.tar.xz";
+      sha256 = "0nli13g5mzm3lj4hba9vz90ikn6j2644pbdp8qmrmfzs991ma5if";
+      name = "ksystemstats-5.27.8.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kwallet-pam-5.27.7.tar.xz";
-      sha256 = "1ac0hqpzqivg40jq7pfr2s1zydl600a3nyzfv97wc20i9myzafrb";
-      name = "kwallet-pam-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kwallet-pam-5.27.8.tar.xz";
+      sha256 = "0mgv2blyzq36r0y47nvj7n9wi2k7jf855karxh77rbra8arglxxs";
+      name = "kwallet-pam-5.27.8.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kwayland-integration-5.27.7.tar.xz";
-      sha256 = "1fvf64vx5m3h5v8h697ixkcifhva6a14wlz75kv6759ji9l9fy8y";
-      name = "kwayland-integration-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kwayland-integration-5.27.8.tar.xz";
+      sha256 = "11bkd11m6srnmwy8vz11228mb1rfhfni9s0arwrzqq8xgjivfzbs";
+      name = "kwayland-integration-5.27.8.tar.xz";
     };
   };
   kwin = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kwin-5.27.7.tar.xz";
-      sha256 = "0bssp76lzqqlan5pfg6wjf4z9c6pl6p66ri8p82vqqw406x5bzyb";
-      name = "kwin-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kwin-5.27.8.tar.xz";
+      sha256 = "1s9j0wkwsqvqnld8ndgldhg6ifnpml73cswbx4yay1c8cilcs9p7";
+      name = "kwin-5.27.8.tar.xz";
     };
   };
   kwrited = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/kwrited-5.27.7.tar.xz";
-      sha256 = "1a4g05ynblbz0j0lqclxf6628x6wcd3b52l0smic3rdvbis43v0n";
-      name = "kwrited-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/kwrited-5.27.8.tar.xz";
+      sha256 = "0y45kh4zdsh2jb8r51kpdacayyf6nba0xnhgks9bk70i6g9vj5s9";
+      name = "kwrited-5.27.8.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/layer-shell-qt-5.27.7.tar.xz";
-      sha256 = "08glqqh7jmqrli4n7j04lz3w3c6192w8p7ki51ksmwivnxylxi17";
-      name = "layer-shell-qt-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/layer-shell-qt-5.27.8.tar.xz";
+      sha256 = "1aw8qs85k714nccb9gnslk3af1gj52b8x2ll9jgvbfhh2yx2lbvp";
+      name = "layer-shell-qt-5.27.8.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/libkscreen-5.27.7.tar.xz";
-      sha256 = "1ary7qavz8vkzbvjx2mxv09h61hxa7i4f7rfgbykldbc83ripdc6";
-      name = "libkscreen-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/libkscreen-5.27.8.tar.xz";
+      sha256 = "0843db3f6b11nfr41bjf22jc74ff36x727sy548a75z2ipajymll";
+      name = "libkscreen-5.27.8.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/libksysguard-5.27.7.tar.xz";
-      sha256 = "066bjar4105bfyry6ni7nnikz66bqzy5nvssz6vm4np3aa996ak8";
-      name = "libksysguard-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/libksysguard-5.27.8.tar.xz";
+      sha256 = "0zgx8miggiasfk519sqccd54mxa237is06v6nhpixv8a7ccc0950";
+      name = "libksysguard-5.27.8.tar.xz";
     };
   };
   milou = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/milou-5.27.7.tar.xz";
-      sha256 = "0lq8m72nwink8x46m8qd5zdkadym1kc70ipnkb04b16mr7zhnsc1";
-      name = "milou-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/milou-5.27.8.tar.xz";
+      sha256 = "1rq8kkk609n0ccm0hrhp06lz82rny42dy3iz085048iasfl7d72d";
+      name = "milou-5.27.8.tar.xz";
     };
   };
   oxygen = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/oxygen-5.27.7.tar.xz";
-      sha256 = "139rar9d36cvp6hl7857qkw9h0xbmk2i7x3mdgjpsabv5wpzq652";
-      name = "oxygen-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/oxygen-5.27.8.tar.xz";
+      sha256 = "12y4hfygd7v004cs1ydx01mbypljpvwjwdcww08570dz9zc8aasz";
+      name = "oxygen-5.27.8.tar.xz";
     };
   };
   oxygen-sounds = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/oxygen-sounds-5.27.7.tar.xz";
-      sha256 = "132jaabfpj8k6xk6f1732a0qgjz1mzyyk74b1mm7q7pyhpypr2gq";
-      name = "oxygen-sounds-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/oxygen-sounds-5.27.8.tar.xz";
+      sha256 = "01d4lnfyrpyz7fxj5damdjlwdlfm7lywz82mk1xgs6g0f7lxg5yn";
+      name = "oxygen-sounds-5.27.8.tar.xz";
     };
   };
   plank-player = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plank-player-5.27.7.tar.xz";
-      sha256 = "0360affl3wl6aa6lmd7lc6lpzq2v8sqbr5ah2c5vmq0n0p4xxk4n";
-      name = "plank-player-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plank-player-5.27.8.tar.xz";
+      sha256 = "1bgdmiy6bzy08xjj2vd546p632dghpd1q5xlbbjhs6ck4a60q64k";
+      name = "plank-player-5.27.8.tar.xz";
     };
   };
   plasma-bigscreen = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-bigscreen-5.27.7.tar.xz";
-      sha256 = "0b2w0d5w1s2jm7al1nqdc1qh9fmrj8fw93wjbb2bsa9fabz2i81b";
-      name = "plasma-bigscreen-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-bigscreen-5.27.8.tar.xz";
+      sha256 = "0bigadshjprfsd7wlyn8apmb50ncwr74kb13hbnhh5kqadzv8kfl";
+      name = "plasma-bigscreen-5.27.8.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-browser-integration-5.27.7.tar.xz";
-      sha256 = "0c30pdlhl452bjpdc7mwxl01hqabahyc0j1cc54liy0hla9vir9y";
-      name = "plasma-browser-integration-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-browser-integration-5.27.8.tar.xz";
+      sha256 = "1rwmnkkwf52i9c5dj11mr4ny3gylw6mb2g5iwzp7kqyaknnyqjlw";
+      name = "plasma-browser-integration-5.27.8.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-desktop-5.27.7.tar.xz";
-      sha256 = "1njkjf3fhxfmwyviypxqzrn23klxiih82bazvd8y61cshqwai6i2";
-      name = "plasma-desktop-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-desktop-5.27.8.tar.xz";
+      sha256 = "1bmw7v8c8a4h63hjfg3ddg1r3ff6s0pri6fmml9430ynk850lrnz";
+      name = "plasma-desktop-5.27.8.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-disks-5.27.7.tar.xz";
-      sha256 = "0jwjv20ra1mhwl2cm7x2jz8pasmkc58fd57qxhzzf84l4sgbda9v";
-      name = "plasma-disks-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-disks-5.27.8.tar.xz";
+      sha256 = "0yg2b8nqcws7sw25pxf4iwhr9qdg983x69arfls85xyjkkchnz4q";
+      name = "plasma-disks-5.27.8.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-firewall-5.27.7.tar.xz";
-      sha256 = "1n5ljkydhcx6qapwrshslq835zaf02gssp2zvzi3vwfy4asc7ind";
-      name = "plasma-firewall-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-firewall-5.27.8.tar.xz";
+      sha256 = "05w9716bs2fh126v85n6vy5ydglh0xbsasdzzq10mdbkmswjrfbf";
+      name = "plasma-firewall-5.27.8.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-integration-5.27.7.tar.xz";
-      sha256 = "1ahzckvc69wk2rx73sl40h0in1y7ny0vm0i7lbrrcggv1v36dwp3";
-      name = "plasma-integration-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-integration-5.27.8.tar.xz";
+      sha256 = "14f732s64mchqfspd5f29x0h03lysk57vvciribzndj5bgkzn77v";
+      name = "plasma-integration-5.27.8.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-mobile-5.27.7.tar.xz";
-      sha256 = "0f32xj9v32f89pdhwsmwm2xqfwcypq8r85jhj4zq887zxy1cgn0n";
-      name = "plasma-mobile-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-mobile-5.27.8.tar.xz";
+      sha256 = "0xzsil3jprpld5hq7b1al4pkbcckdx1iywq9kf4r0hvw70v9r7hn";
+      name = "plasma-mobile-5.27.8.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-nano-5.27.7.tar.xz";
-      sha256 = "14wc76bxnwd0z51gz4zb88p5h9n2711ifr1wpx9lrj9r7y1llank";
-      name = "plasma-nano-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-nano-5.27.8.tar.xz";
+      sha256 = "1556i16x3cjs42jb1wkyi0y43p1cgmf5hq6hs8kxmdsnky0mbwn2";
+      name = "plasma-nano-5.27.8.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-nm-5.27.7.tar.xz";
-      sha256 = "1w9zclih2mh8gqwahsmbbm0nrg1b6gcr5w2w02szlw30iq8k92j8";
-      name = "plasma-nm-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-nm-5.27.8.tar.xz";
+      sha256 = "0rischaaq8hbvrkdhhyasss5fq39q2i8n86qhq6alj4s571r6m57";
+      name = "plasma-nm-5.27.8.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-pa-5.27.7.tar.xz";
-      sha256 = "1vg28v5n648y94m6amcwmr0n7dw4a2kfx16kny7jb9bkmxrgnwsc";
-      name = "plasma-pa-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-pa-5.27.8.tar.xz";
+      sha256 = "02yp7vyzjghhxpzsl8ahza09c2cb2l64jwax2r67kfhsvcr428v9";
+      name = "plasma-pa-5.27.8.tar.xz";
     };
   };
   plasma-remotecontrollers = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-remotecontrollers-5.27.7.tar.xz";
-      sha256 = "0iswjkg93hf5vnvy5a4gpkc7p5d2d0b4nm74v2k9j23svipnzbah";
-      name = "plasma-remotecontrollers-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-remotecontrollers-5.27.8.tar.xz";
+      sha256 = "1xzs4gjfwfbva12j11fh626w1a8wi2aifc30dnga5c9yghfg75m2";
+      name = "plasma-remotecontrollers-5.27.8.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-sdk-5.27.7.tar.xz";
-      sha256 = "1jbd2y1hryif8a2s3x74xjgm9nrx5ln0bszn94igi4g9p8vsdq86";
-      name = "plasma-sdk-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-sdk-5.27.8.tar.xz";
+      sha256 = "1fwhfks4a0x4h55g08d5mfdncm2r8c1x35xkbsa7xzm5wdf1v5lz";
+      name = "plasma-sdk-5.27.8.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-systemmonitor-5.27.7.tar.xz";
-      sha256 = "1qr8krc7d1hzxv0gx0ii0rxk9bm62rgh157mr8x785qqbd11nq8l";
-      name = "plasma-systemmonitor-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-systemmonitor-5.27.8.tar.xz";
+      sha256 = "09qc6l6d17w61bdjn03a45dqp2sw8s8bp5bjh8cq61zrc7yfpimx";
+      name = "plasma-systemmonitor-5.27.8.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-thunderbolt-5.27.7.tar.xz";
-      sha256 = "0sgh5pafp9i0bhk7fhxc4fy20ldwidc1f5n4fcsya4aviy4cf2nn";
-      name = "plasma-thunderbolt-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-thunderbolt-5.27.8.tar.xz";
+      sha256 = "05c7k0p6jb1s1bv4i5cilcid68s4pd5h4qp22hajmv14xk6a8pdk";
+      name = "plasma-thunderbolt-5.27.8.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-vault-5.27.7.tar.xz";
-      sha256 = "1p5m5rlamb50cbd1qlx81m003sv8vdijkpy5airmy1pf6xmvl6hq";
-      name = "plasma-vault-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-vault-5.27.8.tar.xz";
+      sha256 = "1r6yv9xp0cc0ly04wcnlkwf711jrpb3v5ix8w7rwvki9cnlah1w9";
+      name = "plasma-vault-5.27.8.tar.xz";
     };
   };
   plasma-welcome = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-welcome-5.27.7.tar.xz";
-      sha256 = "0nz1hxz5nvgl3sbm6k3a76s0l3fy3j38i4plly2zhp5xqdk0ks1x";
-      name = "plasma-welcome-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-welcome-5.27.8.tar.xz";
+      sha256 = "1laqdh014hmsivnncn5j1annmk6p82dadda3hnr94996fanphpqv";
+      name = "plasma-welcome-5.27.8.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-workspace-5.27.7.tar.xz";
-      sha256 = "0pyf5vc466mfgicxpp76igdz58lpa0n7x2cl2hhaq4zmrlfr8hh6";
-      name = "plasma-workspace-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-workspace-5.27.8.tar.xz";
+      sha256 = "1w0fnv9n8jcv34nw28v9hc08zb6lnwlwjql5041h13pja6cd4rd5";
+      name = "plasma-workspace-5.27.8.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plasma-workspace-wallpapers-5.27.7.tar.xz";
-      sha256 = "181q0mmmp3dygzafgh4qq2pwi5w15vw6mwc21nkl98qf6z773ify";
-      name = "plasma-workspace-wallpapers-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plasma-workspace-wallpapers-5.27.8.tar.xz";
+      sha256 = "1qkzrgx90r79l2xvwwasiyby58ag00f3bimfgfwm2lk8qa4zm5mg";
+      name = "plasma-workspace-wallpapers-5.27.8.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/plymouth-kcm-5.27.7.tar.xz";
-      sha256 = "1y7ahb0wir10isls65yp5p164kiw3jn8bf8zn9bkkjqp649av9sw";
-      name = "plymouth-kcm-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/plymouth-kcm-5.27.8.tar.xz";
+      sha256 = "1spv976q95zip2cs9lwb7hlmcn2cr6gna0cky0lvagpi02kznpqj";
+      name = "plymouth-kcm-5.27.8.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.27.7";
+    version = "1-5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/polkit-kde-agent-1-5.27.7.tar.xz";
-      sha256 = "0p6gnv59mnb5y6riiifyg98sk8zycchv8bkf7x1332qa7zqhcjcc";
-      name = "polkit-kde-agent-1-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/polkit-kde-agent-1-5.27.8.tar.xz";
+      sha256 = "13fgz47q1khra7vwl5wkm99bk279gmgivykg3jm9qy57rhakg5sq";
+      name = "polkit-kde-agent-1-5.27.8.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/powerdevil-5.27.7.tar.xz";
-      sha256 = "151qhpf5j33jk3jhhxsr4zaf0z3f8xlnw8inmzf2a8lficiq9060";
-      name = "powerdevil-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/powerdevil-5.27.8.tar.xz";
+      sha256 = "0jvp6sm6jrxk4j3h30076rv2jp21vpn17sins92phcms1i0yjry5";
+      name = "powerdevil-5.27.8.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/qqc2-breeze-style-5.27.7.tar.xz";
-      sha256 = "0cjrjnj8iwjb9jxp28a30zxb56nhgslrbxzqy392b5sz2x5gbd04";
-      name = "qqc2-breeze-style-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/qqc2-breeze-style-5.27.8.tar.xz";
+      sha256 = "1h7i3myr56by8j12rc09665qdxn2jhh4jxq25fg27g704ci3b55v";
+      name = "qqc2-breeze-style-5.27.8.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/sddm-kcm-5.27.7.tar.xz";
-      sha256 = "0hrw22ihrzph573lkwys6g5bnj72rwff1w1wjq0jzkcr3i8zai86";
-      name = "sddm-kcm-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/sddm-kcm-5.27.8.tar.xz";
+      sha256 = "1fgflgnirwa9i03fvrsq4dm6g9ikdwm1qqfha2xgk9ji2987rsj6";
+      name = "sddm-kcm-5.27.8.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/systemsettings-5.27.7.tar.xz";
-      sha256 = "0vkcmb4sch97sq5xd8rj8z42qdcxy5ys758q6dl69kbv9hadl7bw";
-      name = "systemsettings-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/systemsettings-5.27.8.tar.xz";
+      sha256 = "1f9zfjw6wcq1rvzvsldg49n0axbi40fnf2qic4lj1yrdb9qi351y";
+      name = "systemsettings-5.27.8.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.27.7";
+    version = "5.27.8";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.7/xdg-desktop-portal-kde-5.27.7.tar.xz";
-      sha256 = "1k88zr073qj96wfbj500mwn8fxj39pxscc6wqhsfjpa6ssxgknyc";
-      name = "xdg-desktop-portal-kde-5.27.7.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.8/xdg-desktop-portal-kde-5.27.8.tar.xz";
+      sha256 = "0lrz4xfc7d6fv6dl4zxafkd5r2089f2rypkw90zsfqv39hjdy7vy";
+      name = "xdg-desktop-portal-kde-5.27.8.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index f16a075a121..eaccfcc6e81 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -85,7 +85,7 @@ let
       homepage = "https://wiki.gnome.org/Projects/Vala";
       license = licenses.lgpl21Plus;
       platforms = platforms.unix;
-      maintainers = with maintainers; [ antono jtojnar maxeaubrey ] ++ teams.pantheon.members;
+      maintainers = with maintainers; [ antono jtojnar amaxine ] ++ teams.pantheon.members;
     };
   });
 
diff --git a/pkgs/development/interpreters/erlang/25.nix b/pkgs/development/interpreters/erlang/25.nix
index 3644c12fd4b..ee9a58c4e42 100644
--- a/pkgs/development/interpreters/erlang/25.nix
+++ b/pkgs/development/interpreters/erlang/25.nix
@@ -1,6 +1,6 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "25.3.2.5";
-  sha256 = "fnyWyJ+QsaJk2/LK8jOuxZmt3AFXmeubdeoYSGid/0A=";
+  version = "25.3.2.6";
+  sha256 = "iImrVaoS5bajaZZQoZoG3VzWHFmWvId8xQPKLhl9iQo=";
 }
diff --git a/pkgs/development/libraries/libwebp/CVE-2023-4863.patch b/pkgs/development/libraries/libwebp/CVE-2023-4863.patch
new file mode 100644
index 00000000000..c01b8a48667
--- /dev/null
+++ b/pkgs/development/libraries/libwebp/CVE-2023-4863.patch
@@ -0,0 +1,361 @@
+From 4de93ac70c3292fc944e4587101a52a29f8b0c9c Mon Sep 17 00:00:00 2001
+From: Vincent Rabaud <vrabaud@google.com>
+Date: Thu, 7 Sep 2023 21:16:03 +0200
+Subject: [PATCH] Fix OOB write in BuildHuffmanTable.
+
+First, BuildHuffmanTable is called to check if the data is valid.
+If it is and the table is not big enough, more memory is allocated.
+
+This will make sure that valid (but unoptimized because of unbalanced
+codes) streams are still decodable.
+
+Bug: chromium:1479274
+Change-Id: I31c36dbf3aa78d35ecf38706b50464fd3d375741
+(cherry picked from commit 902bc9190331343b2017211debcec8d2ab87e17a)
+---
+ src/dec/vp8l_dec.c        | 46 ++++++++++---------
+ src/dec/vp8li_dec.h       |  2 +-
+ src/utils/huffman_utils.c | 97 +++++++++++++++++++++++++++++++--------
+ src/utils/huffman_utils.h | 27 +++++++++--
+ 4 files changed, 129 insertions(+), 43 deletions(-)
+
+diff --git a/src/dec/vp8l_dec.c b/src/dec/vp8l_dec.c
+index c0ea0181..7995313f 100644
+--- a/src/dec/vp8l_dec.c
++++ b/src/dec/vp8l_dec.c
+@@ -253,11 +253,11 @@ static int ReadHuffmanCodeLengths(
+   int symbol;
+   int max_symbol;
+   int prev_code_len = DEFAULT_CODE_LENGTH;
+-  HuffmanCode table[1 << LENGTHS_TABLE_BITS];
++  HuffmanTables tables;
+ 
+-  if (!VP8LBuildHuffmanTable(table, LENGTHS_TABLE_BITS,
+-                             code_length_code_lengths,
+-                             NUM_CODE_LENGTH_CODES)) {
++  if (!VP8LHuffmanTablesAllocate(1 << LENGTHS_TABLE_BITS, &tables) ||
++      !VP8LBuildHuffmanTable(&tables, LENGTHS_TABLE_BITS,
++                             code_length_code_lengths, NUM_CODE_LENGTH_CODES)) {
+     goto End;
+   }
+ 
+@@ -277,7 +277,7 @@ static int ReadHuffmanCodeLengths(
+     int code_len;
+     if (max_symbol-- == 0) break;
+     VP8LFillBitWindow(br);
+-    p = &table[VP8LPrefetchBits(br) & LENGTHS_TABLE_MASK];
++    p = &tables.curr_segment->start[VP8LPrefetchBits(br) & LENGTHS_TABLE_MASK];
+     VP8LSetBitPos(br, br->bit_pos_ + p->bits);
+     code_len = p->value;
+     if (code_len < kCodeLengthLiterals) {
+@@ -300,6 +300,7 @@ static int ReadHuffmanCodeLengths(
+   ok = 1;
+ 
+  End:
++  VP8LHuffmanTablesDeallocate(&tables);
+   if (!ok) dec->status_ = VP8_STATUS_BITSTREAM_ERROR;
+   return ok;
+ }
+@@ -307,7 +308,8 @@ static int ReadHuffmanCodeLengths(
+ // 'code_lengths' is pre-allocated temporary buffer, used for creating Huffman
+ // tree.
+ static int ReadHuffmanCode(int alphabet_size, VP8LDecoder* const dec,
+-                           int* const code_lengths, HuffmanCode* const table) {
++                           int* const code_lengths,
++                           HuffmanTables* const table) {
+   int ok = 0;
+   int size = 0;
+   VP8LBitReader* const br = &dec->br_;
+@@ -362,8 +364,7 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
+   VP8LMetadata* const hdr = &dec->hdr_;
+   uint32_t* huffman_image = NULL;
+   HTreeGroup* htree_groups = NULL;
+-  HuffmanCode* huffman_tables = NULL;
+-  HuffmanCode* huffman_table = NULL;
++  HuffmanTables* huffman_tables = &hdr->huffman_tables_;
+   int num_htree_groups = 1;
+   int num_htree_groups_max = 1;
+   int max_alphabet_size = 0;
+@@ -372,6 +373,10 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
+   int* mapping = NULL;
+   int ok = 0;
+ 
++  // Check the table has been 0 initialized (through InitMetadata).
++  assert(huffman_tables->root.start == NULL);
++  assert(huffman_tables->curr_segment == NULL);
++
+   if (allow_recursion && VP8LReadBits(br, 1)) {
+     // use meta Huffman codes.
+     const int huffman_precision = VP8LReadBits(br, 3) + 2;
+@@ -434,16 +439,15 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
+ 
+   code_lengths = (int*)WebPSafeCalloc((uint64_t)max_alphabet_size,
+                                       sizeof(*code_lengths));
+-  huffman_tables = (HuffmanCode*)WebPSafeMalloc(num_htree_groups * table_size,
+-                                                sizeof(*huffman_tables));
+   htree_groups = VP8LHtreeGroupsNew(num_htree_groups);
+ 
+-  if (htree_groups == NULL || code_lengths == NULL || huffman_tables == NULL) {
++  if (htree_groups == NULL || code_lengths == NULL ||
++      !VP8LHuffmanTablesAllocate(num_htree_groups * table_size,
++                                 huffman_tables)) {
+     dec->status_ = VP8_STATUS_OUT_OF_MEMORY;
+     goto Error;
+   }
+ 
+-  huffman_table = huffman_tables;
+   for (i = 0; i < num_htree_groups_max; ++i) {
+     // If the index "i" is unused in the Huffman image, just make sure the
+     // coefficients are valid but do not store them.
+@@ -468,19 +472,20 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
+       int max_bits = 0;
+       for (j = 0; j < HUFFMAN_CODES_PER_META_CODE; ++j) {
+         int alphabet_size = kAlphabetSize[j];
+-        htrees[j] = huffman_table;
+         if (j == 0 && color_cache_bits > 0) {
+           alphabet_size += (1 << color_cache_bits);
+         }
+-        size = ReadHuffmanCode(alphabet_size, dec, code_lengths, huffman_table);
++        size =
++            ReadHuffmanCode(alphabet_size, dec, code_lengths, huffman_tables);
++        htrees[j] = huffman_tables->curr_segment->curr_table;
+         if (size == 0) {
+           goto Error;
+         }
+         if (is_trivial_literal && kLiteralMap[j] == 1) {
+-          is_trivial_literal = (huffman_table->bits == 0);
++          is_trivial_literal = (htrees[j]->bits == 0);
+         }
+-        total_size += huffman_table->bits;
+-        huffman_table += size;
++        total_size += htrees[j]->bits;
++        huffman_tables->curr_segment->curr_table += size;
+         if (j <= ALPHA) {
+           int local_max_bits = code_lengths[0];
+           int k;
+@@ -515,14 +520,13 @@ static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize,
+   hdr->huffman_image_ = huffman_image;
+   hdr->num_htree_groups_ = num_htree_groups;
+   hdr->htree_groups_ = htree_groups;
+-  hdr->huffman_tables_ = huffman_tables;
+ 
+  Error:
+   WebPSafeFree(code_lengths);
+   WebPSafeFree(mapping);
+   if (!ok) {
+     WebPSafeFree(huffman_image);
+-    WebPSafeFree(huffman_tables);
++    VP8LHuffmanTablesDeallocate(huffman_tables);
+     VP8LHtreeGroupsFree(htree_groups);
+   }
+   return ok;
+@@ -1358,7 +1362,7 @@ static void ClearMetadata(VP8LMetadata* const hdr) {
+   assert(hdr != NULL);
+ 
+   WebPSafeFree(hdr->huffman_image_);
+-  WebPSafeFree(hdr->huffman_tables_);
++  VP8LHuffmanTablesDeallocate(&hdr->huffman_tables_);
+   VP8LHtreeGroupsFree(hdr->htree_groups_);
+   VP8LColorCacheClear(&hdr->color_cache_);
+   VP8LColorCacheClear(&hdr->saved_color_cache_);
+@@ -1673,7 +1677,7 @@ int VP8LDecodeImage(VP8LDecoder* const dec) {
+ 
+   if (dec == NULL) return 0;
+ 
+-  assert(dec->hdr_.huffman_tables_ != NULL);
++  assert(dec->hdr_.huffman_tables_.root.start != NULL);
+   assert(dec->hdr_.htree_groups_ != NULL);
+   assert(dec->hdr_.num_htree_groups_ > 0);
+ 
+diff --git a/src/dec/vp8li_dec.h b/src/dec/vp8li_dec.h
+index 72b2e861..32540a4b 100644
+--- a/src/dec/vp8li_dec.h
++++ b/src/dec/vp8li_dec.h
+@@ -51,7 +51,7 @@ typedef struct {
+   uint32_t*       huffman_image_;
+   int             num_htree_groups_;
+   HTreeGroup*     htree_groups_;
+-  HuffmanCode*    huffman_tables_;
++  HuffmanTables   huffman_tables_;
+ } VP8LMetadata;
+ 
+ typedef struct VP8LDecoder VP8LDecoder;
+diff --git a/src/utils/huffman_utils.c b/src/utils/huffman_utils.c
+index 90c2fbf7..cf73abd4 100644
+--- a/src/utils/huffman_utils.c
++++ b/src/utils/huffman_utils.c
+@@ -177,21 +177,24 @@ static int BuildHuffmanTable(HuffmanCode* const root_table, int root_bits,
+       if (num_open < 0) {
+         return 0;
+       }
+-      if (root_table == NULL) continue;
+       for (; count[len] > 0; --count[len]) {
+         HuffmanCode code;
+         if ((key & mask) != low) {
+-          table += table_size;
++          if (root_table != NULL) table += table_size;
+           table_bits = NextTableBitSize(count, len, root_bits);
+           table_size = 1 << table_bits;
+           total_size += table_size;
+           low = key & mask;
+-          root_table[low].bits = (uint8_t)(table_bits + root_bits);
+-          root_table[low].value = (uint16_t)((table - root_table) - low);
++          if (root_table != NULL) {
++            root_table[low].bits = (uint8_t)(table_bits + root_bits);
++            root_table[low].value = (uint16_t)((table - root_table) - low);
++          }
++        }
++        if (root_table != NULL) {
++          code.bits = (uint8_t)(len - root_bits);
++          code.value = (uint16_t)sorted[symbol++];
++          ReplicateValue(&table[key >> root_bits], step, table_size, code);
+         }
+-        code.bits = (uint8_t)(len - root_bits);
+-        code.value = (uint16_t)sorted[symbol++];
+-        ReplicateValue(&table[key >> root_bits], step, table_size, code);
+         key = GetNextKey(key, len);
+       }
+     }
+@@ -211,25 +214,83 @@ static int BuildHuffmanTable(HuffmanCode* const root_table, int root_bits,
+   ((1 << MAX_CACHE_BITS) + NUM_LITERAL_CODES + NUM_LENGTH_CODES)
+ // Cut-off value for switching between heap and stack allocation.
+ #define SORTED_SIZE_CUTOFF 512
+-int VP8LBuildHuffmanTable(HuffmanCode* const root_table, int root_bits,
++int VP8LBuildHuffmanTable(HuffmanTables* const root_table, int root_bits,
+                           const int code_lengths[], int code_lengths_size) {
+-  int total_size;
++  const int total_size =
++      BuildHuffmanTable(NULL, root_bits, code_lengths, code_lengths_size, NULL);
+   assert(code_lengths_size <= MAX_CODE_LENGTHS_SIZE);
+-  if (root_table == NULL) {
+-    total_size = BuildHuffmanTable(NULL, root_bits,
+-                                   code_lengths, code_lengths_size, NULL);
+-  } else if (code_lengths_size <= SORTED_SIZE_CUTOFF) {
++  if (total_size == 0 || root_table == NULL) return total_size;
++
++  if (root_table->curr_segment->curr_table + total_size >=
++      root_table->curr_segment->start + root_table->curr_segment->size) {
++    // If 'root_table' does not have enough memory, allocate a new segment.
++    // The available part of root_table->curr_segment is left unused because we
++    // need a contiguous buffer.
++    const int segment_size = root_table->curr_segment->size;
++    struct HuffmanTablesSegment* next =
++        (HuffmanTablesSegment*)WebPSafeMalloc(1, sizeof(*next));
++    if (next == NULL) return 0;
++    // Fill the new segment.
++    // We need at least 'total_size' but if that value is small, it is better to
++    // allocate a big chunk to prevent more allocations later. 'segment_size' is
++    // therefore chosen (any other arbitrary value could be chosen).
++    next->size = total_size > segment_size ? total_size : segment_size;
++    next->start =
++        (HuffmanCode*)WebPSafeMalloc(next->size, sizeof(*next->start));
++    if (next->start == NULL) {
++      WebPSafeFree(next);
++      return 0;
++    }
++    next->curr_table = next->start;
++    next->next = NULL;
++    // Point to the new segment.
++    root_table->curr_segment->next = next;
++    root_table->curr_segment = next;
++  }
++  if (code_lengths_size <= SORTED_SIZE_CUTOFF) {
+     // use local stack-allocated array.
+     uint16_t sorted[SORTED_SIZE_CUTOFF];
+-    total_size = BuildHuffmanTable(root_table, root_bits,
+-                                   code_lengths, code_lengths_size, sorted);
+-  } else {   // rare case. Use heap allocation.
++    BuildHuffmanTable(root_table->curr_segment->curr_table, root_bits,
++                      code_lengths, code_lengths_size, sorted);
++  } else {  // rare case. Use heap allocation.
+     uint16_t* const sorted =
+         (uint16_t*)WebPSafeMalloc(code_lengths_size, sizeof(*sorted));
+     if (sorted == NULL) return 0;
+-    total_size = BuildHuffmanTable(root_table, root_bits,
+-                                   code_lengths, code_lengths_size, sorted);
++    BuildHuffmanTable(root_table->curr_segment->curr_table, root_bits,
++                      code_lengths, code_lengths_size, sorted);
+     WebPSafeFree(sorted);
+   }
+   return total_size;
+ }
++
++int VP8LHuffmanTablesAllocate(int size, HuffmanTables* huffman_tables) {
++  // Have 'segment' point to the first segment for now, 'root'.
++  HuffmanTablesSegment* const root = &huffman_tables->root;
++  huffman_tables->curr_segment = root;
++  // Allocate root.
++  root->start = (HuffmanCode*)WebPSafeMalloc(size, sizeof(*root->start));
++  if (root->start == NULL) return 0;
++  root->curr_table = root->start;
++  root->next = NULL;
++  root->size = size;
++  return 1;
++}
++
++void VP8LHuffmanTablesDeallocate(HuffmanTables* const huffman_tables) {
++  HuffmanTablesSegment *current, *next;
++  if (huffman_tables == NULL) return;
++  // Free the root node.
++  current = &huffman_tables->root;
++  next = current->next;
++  WebPSafeFree(current->start);
++  current->start = NULL;
++  current->next = NULL;
++  current = next;
++  // Free the following nodes.
++  while (current != NULL) {
++    next = current->next;
++    WebPSafeFree(current->start);
++    WebPSafeFree(current);
++    current = next;
++  }
++}
+diff --git a/src/utils/huffman_utils.h b/src/utils/huffman_utils.h
+index 13b7ad1a..98415c53 100644
+--- a/src/utils/huffman_utils.h
++++ b/src/utils/huffman_utils.h
+@@ -43,6 +43,29 @@ typedef struct {
+                     // or non-literal symbol otherwise
+ } HuffmanCode32;
+ 
++// Contiguous memory segment of HuffmanCodes.
++typedef struct HuffmanTablesSegment {
++  HuffmanCode* start;
++  // Pointer to where we are writing into the segment. Starts at 'start' and
++  // cannot go beyond 'start' + 'size'.
++  HuffmanCode* curr_table;
++  // Pointer to the next segment in the chain.
++  struct HuffmanTablesSegment* next;
++  int size;
++} HuffmanTablesSegment;
++
++// Chained memory segments of HuffmanCodes.
++typedef struct HuffmanTables {
++  HuffmanTablesSegment root;
++  // Currently processed segment. At first, this is 'root'.
++  HuffmanTablesSegment* curr_segment;
++} HuffmanTables;
++
++// Allocates a HuffmanTables with 'size' contiguous HuffmanCodes. Returns 0 on
++// memory allocation error, 1 otherwise.
++int VP8LHuffmanTablesAllocate(int size, HuffmanTables* huffman_tables);
++void VP8LHuffmanTablesDeallocate(HuffmanTables* const huffman_tables);
++
+ #define HUFFMAN_PACKED_BITS 6
+ #define HUFFMAN_PACKED_TABLE_SIZE (1u << HUFFMAN_PACKED_BITS)
+ 
+@@ -78,9 +101,7 @@ void VP8LHtreeGroupsFree(HTreeGroup* const htree_groups);
+ // the huffman table.
+ // Returns built table size or 0 in case of error (invalid tree or
+ // memory error).
+-// If root_table is NULL, it returns 0 if a lookup cannot be built, something
+-// > 0 otherwise (but not the table size).
+-int VP8LBuildHuffmanTable(HuffmanCode* const root_table, int root_bits,
++int VP8LBuildHuffmanTable(HuffmanTables* const root_table, int root_bits,
+                           const int code_lengths[], int code_lengths_size);
+ 
+ #ifdef __cplusplus
+-- 
+2.41.0
+
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index 39a7ab3ba45..287c0b6b18b 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -36,6 +36,14 @@ stdenv.mkDerivation rec {
     hash   = "sha256-Q94avvKjPdwdGt5ADo30cf2V4T7MCTubDHJxTtbG4xQ=";
   };
 
+  patches = [
+    # Commit 902bc919 from upstream, mangled slightly to apply onto 1.3.1.
+    # There is currently (2023-09-12) no confirmation that this is the fix for
+    # CVE-2023-4863, but it is linked to the right crbug, and matches the
+    # description of that (critical sev, exploited in the wild) CVE.
+    ./CVE-2023-4863.patch
+  ];
+
   configureFlags = [
     (lib.enableFeature threadingSupport "threading")
     (lib.enableFeature openglSupport "gl")
diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix
index a668407b3f7..d4fcd87951f 100644
--- a/pkgs/development/node-packages/aliases.nix
+++ b/pkgs/development/node-packages/aliases.nix
@@ -93,10 +93,12 @@ mapAliases {
   inherit (pkgs) markdownlint-cli2; # added 2023-08-22
   mdctl-cli = self."@medable/mdctl-cli"; # added 2023-08-21
   musescore-downloader = pkgs.dl-librescore; # added 2023-08-19
+  inherit (pkgs) near-cli; # added 2023-09-09
   node-inspector = throw "node-inspector was removed because it was broken"; # added 2023-08-21
   inherit (pkgs) npm-check-updates; # added 2023-08-22
   ocaml-language-server = throw "ocaml-language-server was removed because it was abandoned upstream"; # added 2023-09-04
   parcel-bundler = parcel; # added 2023-09-04
+  inherit (pkgs) quicktype; # added 2023-09-09
   inherit (pkgs) react-static; # added 2023-08-21
   readability-cli = pkgs.readability-cli; # Added 2023-06-12
   reveal-md = pkgs.reveal-md; # added 2023-07-31
diff --git a/pkgs/development/node-packages/main-programs.nix b/pkgs/development/node-packages/main-programs.nix
index 66aff39ea45..5ee9f70d8e3 100644
--- a/pkgs/development/node-packages/main-programs.nix
+++ b/pkgs/development/node-packages/main-programs.nix
@@ -46,7 +46,6 @@
   less = "lessc";
   localtunnel = "lt";
   lua-fmt = "luafmt";
-  near-cli = "near";
   neovim = "neovim-node-host";
   parsoid = "parse.js";
   poor-mans-t-sql-formatter-cli = "sqlformat";
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 4f9674ef47b..56f65d70115 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -177,7 +177,6 @@
 , "meat"
 , "mocha"
 , "multi-file-swagger"
-, "near-cli"
 , "neovim"
 , "nijs"
 , "node-gyp"
@@ -216,7 +215,6 @@
 , "purty"
 , "pxder"
 , "pyright"
-, "quicktype"
 , "react-native-cli"
 , "react-tools"
 , "redoc-cli"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 44d4edbef17..6fc85413c17 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -97313,374 +97313,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  near-cli = nodeEnv.buildNodePackage {
-    name = "near-cli";
-    packageName = "near-cli";
-    version = "3.4.2";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/near-cli/-/near-cli-3.4.2.tgz";
-      sha512 = "0EaNAw5SKSIIJrJajG32CNMGfBtZTgIrOVKSXBTWpvo+F0OozsbvuO4UG3ZSRNThXHijxybp58SqPiU3JuzXGA==";
-    };
-    dependencies = [
-      (sources."@babel/code-frame-7.22.10" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."has-flag-3.0.0"
-          sources."supports-color-5.5.0"
-        ];
-      })
-      sources."@babel/helper-validator-identifier-7.22.5"
-      (sources."@babel/highlight-7.22.10" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."has-flag-3.0.0"
-          sources."supports-color-5.5.0"
-        ];
-      })
-      sources."@jest/environment-27.5.1"
-      sources."@jest/fake-timers-27.5.1"
-      sources."@jest/types-27.5.1"
-      sources."@ledgerhq/devices-8.0.7"
-      sources."@ledgerhq/errors-6.14.0"
-      sources."@ledgerhq/hw-transport-6.28.8"
-      sources."@ledgerhq/hw-transport-node-hid-6.27.21"
-      sources."@ledgerhq/hw-transport-node-hid-noevents-6.27.19"
-      (sources."@ledgerhq/hw-transport-u2f-5.36.0-deprecated" // {
-        dependencies = [
-          sources."@ledgerhq/devices-5.51.1"
-          sources."@ledgerhq/errors-5.50.0"
-          sources."@ledgerhq/hw-transport-5.51.1"
-          sources."@ledgerhq/logs-5.50.0"
-        ];
-      })
-      (sources."@ledgerhq/hw-transport-webhid-5.51.1" // {
-        dependencies = [
-          sources."@ledgerhq/devices-5.51.1"
-          sources."@ledgerhq/errors-5.50.0"
-          sources."@ledgerhq/hw-transport-5.51.1"
-          sources."@ledgerhq/logs-5.50.0"
-        ];
-      })
-      (sources."@ledgerhq/hw-transport-webusb-5.53.1" // {
-        dependencies = [
-          sources."@ledgerhq/devices-5.51.1"
-          sources."@ledgerhq/errors-5.50.0"
-          sources."@ledgerhq/hw-transport-5.51.1"
-          sources."@ledgerhq/logs-5.50.0"
-        ];
-      })
-      sources."@ledgerhq/logs-6.10.1"
-      sources."@segment/loosely-validate-event-2.0.0"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@sinonjs/commons-1.8.6"
-      sources."@sinonjs/fake-timers-8.1.0"
-      sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/istanbul-lib-coverage-2.0.4"
-      sources."@types/istanbul-lib-report-3.0.0"
-      sources."@types/istanbul-reports-3.0.1"
-      sources."@types/node-20.5.3"
-      sources."@types/stack-utils-2.0.1"
-      sources."@types/w3c-web-usb-1.0.6"
-      sources."@types/yargs-16.0.5"
-      sources."@types/yargs-parser-21.0.0"
-      sources."analytics-node-6.2.0"
-      sources."ansi-align-3.0.1"
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-4.3.0"
-      sources."ascii-table-0.0.9"
-      sources."asynckit-0.4.0"
-      sources."axios-0.27.2"
-      sources."axios-retry-3.2.0"
-      sources."balanced-match-1.0.2"
-      sources."base-x-3.0.9"
-      sources."base64-js-1.5.1"
-      sources."bindings-1.5.0"
-      (sources."bip39-3.0.2" // {
-        dependencies = [
-          sources."@types/node-11.11.6"
-        ];
-      })
-      sources."bip39-light-1.0.7"
-      sources."bl-4.1.0"
-      sources."bn.js-5.2.1"
-      sources."borsh-0.6.0"
-      sources."boxen-5.1.2"
-      sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      sources."bs58-4.0.1"
-      sources."buffer-5.7.1"
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-        ];
-      })
-      sources."camelcase-6.3.0"
-      sources."capability-0.2.5"
-      sources."chalk-4.1.2"
-      sources."charenc-0.0.2"
-      sources."chownr-1.1.4"
-      sources."ci-info-2.0.0"
-      sources."cipher-base-1.0.4"
-      sources."cli-boxes-2.2.1"
-      sources."cliui-7.0.4"
-      sources."clone-response-1.0.3"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
-      sources."combined-stream-1.0.8"
-      sources."component-type-1.2.1"
-      sources."concat-map-0.0.1"
-      sources."configstore-5.0.1"
-      sources."create-hash-1.2.0"
-      sources."create-hmac-1.1.7"
-      sources."crypt-0.0.2"
-      sources."crypto-random-string-2.0.0"
-      (sources."debug-4.3.1" // {
-        dependencies = [
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."decompress-response-3.3.0"
-      sources."deep-extend-0.6.0"
-      sources."deep-is-0.1.4"
-      sources."defer-to-connect-1.1.3"
-      sources."define-lazy-prop-2.0.0"
-      sources."delayed-stream-1.0.0"
-      sources."depd-2.0.0"
-      sources."detect-libc-2.0.2"
-      sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.5"
-      sources."emoji-regex-8.0.0"
-      sources."encoding-0.1.13"
-      sources."end-of-stream-1.4.4"
-      sources."error-polyfill-0.1.3"
-      sources."escalade-3.1.1"
-      sources."escape-goat-2.1.1"
-      sources."escape-string-regexp-1.0.5"
-      sources."events-3.3.0"
-      sources."expand-template-2.0.3"
-      sources."file-uri-to-path-1.0.0"
-      sources."fill-range-7.0.1"
-      sources."flagged-respawn-1.0.1"
-      sources."follow-redirects-1.15.2"
-      sources."form-data-4.0.0"
-      sources."fs-constants-1.0.0"
-      sources."fs.realpath-1.0.0"
-      sources."get-caller-file-2.0.5"
-      sources."get-stream-4.1.0"
-      sources."github-from-package-0.0.0"
-      sources."glob-7.2.3"
-      sources."global-dirs-3.0.1"
-      sources."got-9.6.0"
-      sources."graceful-fs-4.2.11"
-      sources."has-flag-4.0.0"
-      sources."has-yarn-2.1.0"
-      sources."hash-base-3.1.0"
-      sources."homedir-polyfill-1.0.3"
-      sources."http-cache-semantics-4.1.1"
-      (sources."http-errors-1.8.1" // {
-        dependencies = [
-          sources."depd-1.1.2"
-        ];
-      })
-      sources."iconv-lite-0.6.3"
-      sources."ieee754-1.2.1"
-      sources."import-lazy-2.1.0"
-      sources."imurmurhash-0.1.4"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-2.0.0"
-      sources."ip-regex-4.3.0"
-      sources."is-buffer-1.1.6"
-      sources."is-ci-2.0.0"
-      sources."is-docker-2.2.1"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-installed-globally-0.4.0"
-      sources."is-npm-5.0.0"
-      sources."is-number-7.0.0"
-      sources."is-obj-2.0.0"
-      sources."is-path-inside-3.0.3"
-      sources."is-retry-allowed-1.2.0"
-      sources."is-typedarray-1.0.0"
-      sources."is-url-1.2.4"
-      sources."is-wsl-2.2.0"
-      sources."is-yarn-global-0.3.0"
-      sources."is2-2.0.9"
-      sources."jest-environment-node-27.5.1"
-      sources."jest-message-util-27.5.1"
-      sources."jest-mock-27.5.1"
-      (sources."jest-util-27.5.1" // {
-        dependencies = [
-          sources."ci-info-3.8.0"
-        ];
-      })
-      sources."join-component-1.1.0"
-      sources."js-sha256-0.9.0"
-      sources."js-tokens-4.0.0"
-      sources."json-buffer-3.0.0"
-      sources."keyv-3.1.0"
-      sources."latest-version-5.1.0"
-      sources."lodash-4.17.21"
-      sources."lodash.isstring-4.0.1"
-      sources."lowercase-keys-1.0.1"
-      sources."lru-cache-6.0.0"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.1"
-        ];
-      })
-      sources."md5-2.3.0"
-      sources."md5.js-1.3.5"
-      sources."micromatch-4.0.5"
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
-      sources."mimic-response-1.0.1"
-      sources."minimatch-3.1.2"
-      sources."minimist-1.2.8"
-      sources."mkdirp-classic-0.5.3"
-      sources."ms-2.1.3"
-      sources."mustache-4.2.0"
-      sources."napi-build-utils-1.0.2"
-      sources."ncp-2.0.0"
-      (sources."near-api-js-0.44.2" // {
-        dependencies = [
-          sources."bn.js-5.2.0"
-        ];
-      })
-      sources."near-hd-key-1.2.1"
-      sources."near-ledger-js-0.2.1"
-      sources."near-seed-phrase-0.2.0"
-      sources."node-abi-3.47.0"
-      sources."node-addon-api-3.2.1"
-      sources."node-fetch-2.6.13"
-      sources."node-gyp-build-4.6.0"
-      sources."node-hid-2.1.2"
-      sources."normalize-url-4.5.1"
-      sources."o3-1.0.3"
-      sources."once-1.4.0"
-      sources."open-8.4.2"
-      sources."p-cancelable-1.1.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."semver-6.3.1"
-        ];
-      })
-      sources."parse-passwd-1.0.0"
-      sources."path-is-absolute-1.0.1"
-      sources."pbkdf2-3.1.2"
-      sources."picomatch-2.3.1"
-      sources."platform-1.3.6"
-      sources."prebuild-install-7.1.1"
-      sources."prepend-http-2.0.0"
-      (sources."pretty-format-27.5.1" // {
-        dependencies = [
-          sources."ansi-styles-5.2.0"
-        ];
-      })
-      sources."pump-3.0.0"
-      sources."pupa-2.1.1"
-      sources."randombytes-2.1.0"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."ini-1.3.8"
-        ];
-      })
-      sources."react-is-17.0.2"
-      sources."readable-stream-3.6.2"
-      sources."registry-auth-token-4.2.2"
-      sources."registry-url-5.1.0"
-      sources."remove-trailing-slash-0.1.1"
-      sources."require-directory-2.1.1"
-      sources."responselike-1.0.2"
-      sources."rimraf-3.0.2"
-      sources."ripemd160-2.0.2"
-      sources."rxjs-6.6.7"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
-      sources."semver-7.5.4"
-      (sources."semver-diff-3.1.1" // {
-        dependencies = [
-          sources."semver-6.3.1"
-        ];
-      })
-      sources."setprototypeof-1.2.0"
-      sources."sha.js-2.4.11"
-      sources."signal-exit-3.0.7"
-      sources."simple-concat-1.0.1"
-      (sources."simple-get-4.0.1" // {
-        dependencies = [
-          sources."decompress-response-6.0.0"
-          sources."mimic-response-3.1.0"
-        ];
-      })
-      sources."slash-3.0.0"
-      (sources."stack-utils-2.0.6" // {
-        dependencies = [
-          sources."escape-string-regexp-2.0.0"
-        ];
-      })
-      sources."statuses-1.5.0"
-      sources."stoppable-1.1.0"
-      sources."string-width-4.2.3"
-      sources."string_decoder-1.3.0"
-      sources."strip-ansi-6.0.1"
-      sources."strip-json-comments-2.0.1"
-      sources."supports-color-7.2.0"
-      sources."tar-fs-2.1.1"
-      sources."tar-stream-2.2.0"
-      sources."tcp-port-used-1.0.2"
-      sources."text-encoding-utf-8-1.0.2"
-      sources."to-readable-stream-1.0.0"
-      sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.1"
-      sources."tr46-0.0.3"
-      sources."tslib-1.14.1"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-1.0.3"
-      sources."type-detect-4.0.8"
-      sources."type-fest-0.20.2"
-      sources."typedarray-to-buffer-3.1.5"
-      sources."u2f-api-0.2.7"
-      sources."u3-0.1.1"
-      sources."unique-string-2.0.0"
-      sources."update-notifier-5.1.0"
-      sources."url-parse-lax-3.0.0"
-      (sources."usb-2.9.0" // {
-        dependencies = [
-          sources."node-addon-api-6.1.0"
-        ];
-      })
-      sources."util-deprecate-1.0.2"
-      sources."uuid-8.3.2"
-      sources."v8flags-3.2.0"
-      sources."webidl-conversions-3.0.1"
-      sources."whatwg-url-5.0.0"
-      sources."widest-line-3.1.0"
-      sources."wrap-ansi-7.0.0"
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.3"
-      sources."xdg-basedir-4.0.0"
-      sources."y18n-5.0.8"
-      sources."yallist-4.0.0"
-      sources."yargs-16.2.0"
-      sources."yargs-parser-20.2.9"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "General purpose command line tools for interacting with NEAR Protocol";
-      homepage = "https://github.com/near/near-cli#readme";
-      license = "(MIT AND Apache-2.0)";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   neovim = nodeEnv.buildNodePackage {
     name = "neovim";
     packageName = "neovim";
@@ -102904,174 +102536,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  quicktype = nodeEnv.buildNodePackage {
-    name = "quicktype";
-    packageName = "quicktype";
-    version = "23.0.71";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/quicktype/-/quicktype-23.0.71.tgz";
-      sha512 = "MPPTnromb8qSKPU5UdLyp9Kzkj8YhmmOfw5y1ZvBLnzNjVG2QVqlwyLkUL9NTfmKszb0/047p3hiznEnFGn4EA==";
-    };
-    dependencies = [
-      (sources."@75lb/deep-merge-1.1.1" // {
-        dependencies = [
-          sources."typical-7.1.1"
-        ];
-      })
-      sources."@cspotcode/source-map-support-0.8.1"
-      sources."@glideapps/ts-necessities-2.1.3"
-      sources."@jridgewell/resolve-uri-3.1.1"
-      sources."@jridgewell/sourcemap-codec-1.4.15"
-      sources."@jridgewell/trace-mapping-0.3.9"
-      (sources."@mark.probst/typescript-json-schema-0.55.0" // {
-        dependencies = [
-          sources."typescript-4.9.4"
-        ];
-      })
-      sources."@swc/core-1.3.78"
-      sources."@swc/core-darwin-arm64-1.3.78"
-      sources."@swc/core-darwin-x64-1.3.78"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.78"
-      sources."@swc/core-linux-arm64-gnu-1.3.78"
-      sources."@swc/core-linux-arm64-musl-1.3.78"
-      sources."@swc/core-linux-x64-gnu-1.3.78"
-      sources."@swc/core-linux-x64-musl-1.3.78"
-      sources."@swc/core-win32-arm64-msvc-1.3.78"
-      sources."@swc/core-win32-ia32-msvc-1.3.78"
-      sources."@swc/core-win32-x64-msvc-1.3.78"
-      sources."@swc/helpers-0.5.1"
-      sources."@swc/wasm-1.3.78"
-      sources."@tsconfig/node10-1.0.9"
-      sources."@tsconfig/node12-1.0.11"
-      sources."@tsconfig/node14-1.0.3"
-      sources."@tsconfig/node16-1.0.4"
-      sources."@types/json-schema-7.0.12"
-      sources."@types/node-16.18.43"
-      sources."@types/urijs-1.19.19"
-      sources."abort-controller-3.0.0"
-      sources."acorn-8.10.0"
-      sources."acorn-walk-8.2.0"
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-4.3.0"
-      sources."arg-4.1.3"
-      sources."array-back-3.1.0"
-      sources."balanced-match-1.0.2"
-      sources."base64-js-1.5.1"
-      sources."brace-expansion-1.1.11"
-      sources."browser-or-node-2.1.1"
-      sources."buffer-6.0.3"
-      sources."chalk-4.1.2"
-      sources."chalk-template-0.4.0"
-      sources."cliui-8.0.1"
-      sources."collection-utils-1.0.1"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
-      sources."command-line-args-5.2.1"
-      (sources."command-line-usage-7.0.1" // {
-        dependencies = [
-          sources."array-back-6.2.2"
-          sources."typical-7.1.1"
-        ];
-      })
-      sources."concat-map-0.0.1"
-      sources."create-require-1.1.1"
-      sources."cross-fetch-4.0.0"
-      sources."diff-4.0.2"
-      sources."emoji-regex-8.0.0"
-      sources."encoding-0.1.13"
-      sources."escalade-3.1.1"
-      sources."event-target-shim-5.0.1"
-      sources."events-3.3.0"
-      sources."find-replace-3.0.0"
-      sources."fs.realpath-1.0.0"
-      sources."get-caller-file-2.0.5"
-      sources."glob-7.2.3"
-      sources."graphql-0.11.7"
-      sources."has-flag-4.0.0"
-      sources."iconv-lite-0.6.3"
-      sources."ieee754-1.2.1"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-url-1.2.4"
-      sources."iterall-1.1.3"
-      sources."js-base64-3.7.5"
-      sources."lodash-4.17.21"
-      sources."lodash.assignwith-4.2.0"
-      sources."lodash.camelcase-4.3.0"
-      sources."make-error-1.3.6"
-      sources."minimatch-3.1.2"
-      sources."moment-2.29.4"
-      sources."node-fetch-2.6.13"
-      sources."once-1.4.0"
-      sources."pako-1.0.11"
-      sources."path-equal-1.2.5"
-      sources."path-is-absolute-1.0.1"
-      sources."pluralize-8.0.0"
-      sources."process-0.11.10"
-      sources."quicktype-core-23.0.71"
-      sources."quicktype-graphql-input-23.0.71"
-      sources."quicktype-typescript-input-23.0.71"
-      sources."readable-stream-4.4.2"
-      sources."require-directory-2.1.1"
-      sources."safe-buffer-5.2.1"
-      sources."safe-stable-stringify-2.4.3"
-      sources."safer-buffer-2.1.2"
-      sources."stream-chain-2.2.5"
-      sources."stream-json-1.8.0"
-      sources."stream-read-all-3.0.1"
-      (sources."string-to-stream-3.0.1" // {
-        dependencies = [
-          sources."readable-stream-3.6.2"
-        ];
-      })
-      sources."string-width-4.2.3"
-      sources."string_decoder-1.3.0"
-      sources."strip-ansi-6.0.1"
-      sources."supports-color-7.2.0"
-      (sources."table-layout-3.0.2" // {
-        dependencies = [
-          sources."array-back-6.2.2"
-          sources."typical-7.1.1"
-        ];
-      })
-      sources."tiny-inflate-1.0.3"
-      sources."tr46-0.0.3"
-      sources."ts-node-10.9.1"
-      sources."tslib-2.6.2"
-      sources."typescript-4.9.5"
-      sources."typical-4.0.0"
-      sources."unicode-properties-1.4.1"
-      (sources."unicode-trie-2.0.0" // {
-        dependencies = [
-          sources."pako-0.2.9"
-        ];
-      })
-      sources."urijs-1.19.11"
-      sources."util-deprecate-1.0.2"
-      sources."v8-compile-cache-lib-3.0.1"
-      sources."webidl-conversions-3.0.1"
-      sources."whatwg-url-5.0.0"
-      sources."wordwrap-1.0.0"
-      sources."wordwrapjs-5.1.0"
-      sources."wrap-ansi-7.0.0"
-      sources."wrappy-1.0.2"
-      sources."y18n-5.0.8"
-      sources."yaml-2.3.1"
-      sources."yargs-17.7.2"
-      sources."yargs-parser-21.1.1"
-      sources."yn-3.1.1"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "![](https://raw.githubusercontent.com/quicktype/quicktype/master/media/quicktype-logo.svg?sanitize=true)";
-      homepage = "https://github.com/quicktype/quicktype#readme";
-      license = "Apache-2.0";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   react-native-cli = nodeEnv.buildNodePackage {
     name = "react-native-cli";
     packageName = "react-native-cli";
diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix
index c58c474e5a2..036b73c3e8b 100644
--- a/pkgs/development/node-packages/overrides.nix
+++ b/pkgs/development/node-packages/overrides.nix
@@ -204,14 +204,6 @@ final: prev: {
     '';
   });
 
-  near-cli = prev.near-cli.override {
-    nativeBuildInputs = with pkgs; [
-      libusb1
-      final.prebuild-install
-      final.node-gyp-build
-      pkg-config
-    ];
-  };
 
   node-gyp = prev.node-gyp.override {
     nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
diff --git a/pkgs/development/python-modules/argh/default.nix b/pkgs/development/python-modules/argh/default.nix
index 556d26b29f0..bdc296f432a 100644
--- a/pkgs/development/python-modules/argh/default.nix
+++ b/pkgs/development/python-modules/argh/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "argh";
-  version = "0.28.1";
+  version = "0.29.3";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sgkwhvDoCaPswktkohRTCe6PVtA0k2zVnlfFWKNXMp0=";
+    hash = "sha256-WOQ4zpFpqqLm3hR+POs0zqz+JlVqIwb1Di1G9Sd5rLE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-datastore/default.nix b/pkgs/development/python-modules/google-cloud-datastore/default.nix
index f50b07371ff..b6148c30746 100644
--- a/pkgs/development/python-modules/google-cloud-datastore/default.nix
+++ b/pkgs/development/python-modules/google-cloud-datastore/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datastore";
-  version = "2.17.0";
+  version = "2.18.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/q+th07TdqnR8Imer8llDSH9siKPkN6bh0GoBsITtCI=";
+    hash = "sha256-Y7MbZ23LJ4amUNI9Mk2PiGxOFFhq/dDP5uJgpz8SRI4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-channelz/default.nix b/pkgs/development/python-modules/grpcio-channelz/default.nix
index cee3a2e159d..2e3b8b894c4 100644
--- a/pkgs/development/python-modules/grpcio-channelz/default.nix
+++ b/pkgs/development/python-modules/grpcio-channelz/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-channelz";
-  version = "1.56.2";
+  version = "1.58.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PlPGrD16Iy5vCsuVsFQ3FHd+wu0FJCFbo7isvYtVAQU=";
+    hash = "sha256-NWhuF3z+FGHJ+d99r+Uq4iTIppXkgwQYu0ASIyE8DB0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix
new file mode 100644
index 00000000000..1e75776f0c3
--- /dev/null
+++ b/pkgs/development/python-modules/litellm/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, importlib-metadata
+, openai
+, python-dotenv
+, tiktoken
+}:
+let
+  version = "0.1.590";
+in
+buildPythonPackage rec {
+  pname = "litellm";
+  format = "pyproject";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "BerriAI";
+    repo = "litellm";
+    rev = "7cb96e86b4753008cbf8d116aca514750e98d360";
+    hash = "sha256-ITMcwGjelNfNGnfBmmdu0Xwph4u0mxiFSfHnysUxWCQ=";
+  };
+
+  postPatch = ''
+    rm -rf dist
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    importlib-metadata
+    openai
+    python-dotenv
+    tiktoken
+  ];
+
+  # the import check phase fails trying to do a network request to openai
+  # pythonImportsCheck = [ "litellm" ];
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Use any LLM as a drop in replacement for gpt-3.5-turbo. Use Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate (100+ LLMs)";
+    homepage = "https://github.com/BerriAI/litellm";
+    license = licenses.mit;
+    changelog = "https://github.com/BerriAI/litellm/releases/tag/v${version}";
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/development/python-modules/mkdocstrings-python/default.nix b/pkgs/development/python-modules/mkdocstrings-python/default.nix
index b7afeffe9d8..3bf71e64642 100644
--- a/pkgs/development/python-modules/mkdocstrings-python/default.nix
+++ b/pkgs/development/python-modules/mkdocstrings-python/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocstrings-python";
-  version = "1.6.2";
+  version = "1.6.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = "python";
     rev = "refs/tags/${version}";
-    hash = "sha256-zbF+fqgXb8BAN+Nf2pRV/SeOXnJXLXJBIWZyZ6a9zP4=";
+    hash = "sha256-jppuuzROhVqNHm44gITpnC+xSN4s3ueY00N9v+IoJfE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pontos/default.nix b/pkgs/development/python-modules/pontos/default.nix
index 080ba047ad8..ae20790af63 100644
--- a/pkgs/development/python-modules/pontos/default.nix
+++ b/pkgs/development/python-modules/pontos/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pontos";
-  version = "23.8.5";
+  version = "23.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-mWnQIQEG1kTytAarhdNf2AI2Sq4TSfNtCN3riklNAeQ=";
+    hash = "sha256-7AU2K4XQ7B29IY53+uh0yre8RaOZ2GFc8hpyLWQilTE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-ironicclient/default.nix b/pkgs/development/python-modules/python-ironicclient/default.nix
index 386bf8179ae..d8a28d81fcb 100644
--- a/pkgs/development/python-modules/python-ironicclient/default.nix
+++ b/pkgs/development/python-modules/python-ironicclient/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonPackage rec {
   pname = "python-ironicclient";
-  version = "5.3.0";
+  version = "5.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-veDhwpSXPtoi27tKI6xebH4haAeq+sUsEEk9TxQSbg4=";
+    hash = "sha256-Q9yGuYf9TS7RCo9aV1hnNSrHoll7AOUiSpzRYxi+JXU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index 39e1aa5154d..b14c9f29fbb 100644
--- a/pkgs/development/python-modules/sagemaker/default.nix
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -26,16 +26,16 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.177.1";
+  version = "2.184.0.post0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "sagemaker-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Jqbk3DiV5K+TRXXSgCdoqjvddh6V2qc7mf7LotJdqys=";
+    hash = "sha256-gQQsHJ9b5ZbbPW0nJRdudSwaL+Hc8kwBpK9um8QWQio=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix
index 0fc684b83c8..dae6816a906 100644
--- a/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/pkgs/development/python-modules/tensorflow/bin.nix
@@ -49,9 +49,6 @@ in buildPythonPackage {
   inherit (packages) version;
   format = "wheel";
 
-  # Python 3.11 still unsupported
-  disabled = pythonAtLeast "3.11";
-
   src = let
     pyVerNoDot = lib.strings.stringAsChars (x: lib.optionalString (x != ".") x) python.pythonVersion;
     platform = if stdenv.isDarwin then "mac" else "linux";
@@ -152,14 +149,23 @@ in buildPythonPackage {
         "$out/${python.sitePackages}/tensorflow/compiler/tf2tensorrt/"
         "$out/${python.sitePackages}/tensorflow/compiler/tf2xla/ops/"
         "$out/${python.sitePackages}/tensorflow/lite/experimental/microfrontend/python/ops/"
+        "$out/${python.sitePackages}/tensorflow/lite/python/analyzer_wrapper/"
         "$out/${python.sitePackages}/tensorflow/lite/python/interpreter_wrapper/"
+        "$out/${python.sitePackages}/tensorflow/lite/python/metrics/"
         "$out/${python.sitePackages}/tensorflow/lite/python/optimize/"
         "$out/${python.sitePackages}/tensorflow/python/"
-        "$out/${python.sitePackages}/tensorflow/python/framework/"
         "$out/${python.sitePackages}/tensorflow/python/autograph/impl/testing"
+        "$out/${python.sitePackages}/tensorflow/python/client"
         "$out/${python.sitePackages}/tensorflow/python/data/experimental/service"
         "$out/${python.sitePackages}/tensorflow/python/framework"
+        "$out/${python.sitePackages}/tensorflow/python/grappler"
+        "$out/${python.sitePackages}/tensorflow/python/lib/core"
+        "$out/${python.sitePackages}/tensorflow/python/lib/io"
+        "$out/${python.sitePackages}/tensorflow/python/platform"
         "$out/${python.sitePackages}/tensorflow/python/profiler/internal"
+        "$out/${python.sitePackages}/tensorflow/python/saved_model"
+        "$out/${python.sitePackages}/tensorflow/python/util"
+        "$out/${python.sitePackages}/tensorflow/tsl/python/lib/core"
         "${rpath}"
       )
 
diff --git a/pkgs/development/python-modules/tensorflow/binary-hashes.nix b/pkgs/development/python-modules/tensorflow/binary-hashes.nix
index e2242ef76d9..37138e45538 100644
--- a/pkgs/development/python-modules/tensorflow/binary-hashes.nix
+++ b/pkgs/development/python-modules/tensorflow/binary-hashes.nix
@@ -1,39 +1,51 @@
 {
-version = "2.12.0";
+version = "2.13.0";
 linux_py_38_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "1lqdb3n8dp2f1vignddfqfbbghidkbrq9g78fqkjir8g318zf1m4";
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "14pnklfp24hpybl5yqvvi2rxxhmc35rkjsijq86acakx0bx6afkw";
 };
 linux_py_39_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "1k595l4gpmar9rg4kim2i41fv25i8p018fdmgxcb5v6836d5ns2m";
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "1vqvapsb0fqihkl3xgjy7ywljf7gp5rqdj6iwkv39cfvr9z3rs10";
 };
 linux_py_310_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "1mhq429j9v82jwyqk6dcaz0sh57n0kyf2bfjrjz13xjblssij6rn";
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "00mx8qmxaxq2ldh84g3wh21c5aizlnysfbipfm64v8b7c4753ljs";
+};
+linux_py_311_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "0r8fgq06nzfp4rcl4bhxjv57k43n31xc2j27sgn0hfbakxwy483y";
 };
 linux_py_38_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "009wyvzdlzghb39mmrv36fvjrrrbllyadny9jzb7ixzry4r07193";
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "04hrs1v50sp1bgr921xjsgslng3npnn6sq2f23xvfscdqd4aq8i8";
 };
 linux_py_39_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "0l1cwsfw91vfgx8xqwz7cdphj1dy6ppfifm7f7f0n0i6rda6l382";
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "0whwm93adgw2px8x678ik2nmsz8adi8vmj2np40jsbiq5y68pmkj";
 };
 linux_py_310_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "0dl3nvr4pk4zknx484qd2mqdkjkms6s4alqrxqkqv2hqa4l9sz9m";
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "0am36a7n744xjn2m8hkf2cnncczsxigwazmwqsgkj07qwagbdw78";
+};
+linux_py_311_gpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "09cczbh19mw44n526bqc3h83q5hcfdjwlp38mn3ngch22y86gvhr";
 };
 mac_py_38_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.12.0-cp38-cp38-macosx_10_15_x86_64.whl";
-  sha256 = "0jkxd9ccbq2czn16w3his6k1hxx0nhkrb56bkrskwzss9is4w6d7";
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp38-cp38-macosx_10_15_x86_64.whl";
+  sha256 = "1fk9ymlm1n8i48dm418g8r3ixw655vk2kms6jzcb6wivlash704l";
 };
 mac_py_39_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.12.0-cp39-cp39-macosx_10_15_x86_64.whl";
-  sha256 = "0n7rsrxlkn143y80579bm8wwsabg2a9x6sx1h7ksw3s2x4sjdz22";
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp39-cp39-macosx_10_15_x86_64.whl";
+  sha256 = "10pbhfhjzy7zfd85s18nsf0pnir77097hxkqm11bdmcfjgic023s";
 };
 mac_py_310_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.12.0-cp310-cp310-macosx_10_15_x86_64.whl";
-  sha256 = "18fj2jxl8b69jrzjkixhyyrml8qjwcid76y15ggzc5ksrkgw0jmy";
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp310-cp310-macosx_10_15_x86_64.whl";
+  sha256 = "009icsdwvhs2g3csx3jczprgf7rbmggjk8g4qicq0m4qx51m84l9";
+};
+mac_py_311_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp311-cp311-macosx_10_15_x86_64.whl";
+  sha256 = "0sjq82q7q7k80f35rrpkjbrm3fd25rfjfi6s6k3a91njc5k45zvg";
 };
 }
diff --git a/pkgs/development/python-modules/tensorflow/prefetcher.sh b/pkgs/development/python-modules/tensorflow/prefetcher.sh
index 8cdc11e11fd..35026dbc35e 100755
--- a/pkgs/development/python-modules/tensorflow/prefetcher.sh
+++ b/pkgs/development/python-modules/tensorflow/prefetcher.sh
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-version="2.12.0"
+version="2.13.0"
 
 bucket="https://storage.googleapis.com/tensorflow"
 
@@ -11,12 +11,15 @@ url_and_key_list=(
 "linux_py_38_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_39_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_310_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+"linux_py_311_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_38_gpu $bucket/linux/gpu/tensorflow-${version}-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_39_gpu $bucket/linux/gpu/tensorflow-${version}-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_310_gpu $bucket/linux/gpu/tensorflow-${version}-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+"linux_py_311_gpu $bucket/linux/gpu/tensorflow-${version}-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "mac_py_38_cpu $bucket/mac/cpu/tensorflow-${version}-cp38-cp38-macosx_10_15_x86_64.whl"
 "mac_py_39_cpu $bucket/mac/cpu/tensorflow-${version}-cp39-cp39-macosx_10_15_x86_64.whl"
 "mac_py_310_cpu $bucket/mac/cpu/tensorflow-${version}-cp310-cp310-macosx_10_15_x86_64.whl"
+"mac_py_311_cpu $bucket/mac/cpu/tensorflow-${version}-cp311-cp311-macosx_10_15_x86_64.whl"
 )
 
 hashfile=binary-hashes.nix
diff --git a/pkgs/development/python-modules/tokentrim/default.nix b/pkgs/development/python-modules/tokentrim/default.nix
new file mode 100644
index 00000000000..c830d29b8a9
--- /dev/null
+++ b/pkgs/development/python-modules/tokentrim/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, tiktoken
+}:
+
+buildPythonPackage {
+  pname = "tokentrim";
+  version = "unstable-2023-09-07";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "KillianLucas";
+    repo = "tokentrim";
+    rev = "e98ad3a2ca0e321a7347f76c30be584175495139";
+    hash = "sha256-95xitHnbFFaj0xPuLMWvIvuJzoCO3VSd592X1RI9h3A=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    tiktoken
+  ];
+
+  pythonImportsCheck = [ "tokentrim" ];
+
+  # tests connect to openai
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Easily trim 'messages' arrays for use with GPTs";
+    homepage = "https://github.com/KillianLucas/tokentrim";
+    license = licenses.mit;
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/development/python-modules/vg/default.nix b/pkgs/development/python-modules/vg/default.nix
new file mode 100644
index 00000000000..efda04f78b9
--- /dev/null
+++ b/pkgs/development/python-modules/vg/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, poetry-core
+, pythonOlder
+, pytestCheckHook
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "vg";
+  version = "2.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "lace";
+    repo = "vg";
+    rev = "refs/tags/${version}";
+    hash = "sha256-ZNUAfkhjmsxD8cH0fR8Htjs+/F/3R9xfe1XgRyndids=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'requires = ["setuptools", "poetry-core>=1.0.0"]' 'requires = ["poetry-core>=1.0.0"]'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "vg"
+  ];
+
+  meta = with lib; {
+    description = "Linear algebra for humans: a very good vector-geometry and linear-algebra toolbelt";
+    homepage = "https://github.com/lace/vg";
+    changelog = "https://github.com/lace/vg/blob/${version}/CHANGELOG.md";
+    license = with licenses; [ bsd2 ];
+    maintainers = with maintainers; [ clerie ];
+  };
+}
diff --git a/pkgs/development/tools/electron/binary/default.nix b/pkgs/development/tools/electron/binary/default.nix
index 29670a44bd9..eafa67cf337 100644
--- a/pkgs/development/tools/electron/binary/default.nix
+++ b/pkgs/development/tools/electron/binary/default.nix
@@ -26,15 +26,6 @@ rec {
 
   electron-bin = electron_26-bin;
 
-  electron_9-bin = mkElectron "9.4.4" {
-    x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450";
-    x86_64-darwin = "f41c0bf874ddbba00c3d6989d07f74155a236e2d5a3eaf3d1d19ef8d3eb2256c";
-    i686-linux = "40e37f8f908a81c9fac1073fe22309cd6df2d68e685f83274c6d2f0959004187";
-    armv7l-linux = "2dfe3e21d30526688cc3d3215d06dfddca597a2cb62ff0c9d0d5f33d3e464a33";
-    aarch64-linux = "f1145e9a1feb5f2955e5f5565962423ac3c52ffe45ccc3b96c6ca485fa35bf27";
-    headers = "0yx8mkrm15ha977hzh7g2sc5fab9sdvlk1bk3yxignhxrqqbw885";
-  };
-
   electron_10-bin = mkElectron "10.4.7" {
     x86_64-linux = "e3ea75fcedce588c6b59cfa3a6e46ba67b789e14dc2e5b9dfe1ddf3f82b0f995";
     x86_64-darwin = "8f01e020563b7fce68dc2e3d4bbf419320d13b088e89eb64f9645e9d73ad88fb";
diff --git a/pkgs/development/tools/language-servers/millet/Cargo.lock b/pkgs/development/tools/language-servers/millet/Cargo.lock
index d270627c0cd..d9be7414852 100644
--- a/pkgs/development/tools/language-servers/millet/Cargo.lock
+++ b/pkgs/development/tools/language-servers/millet/Cargo.lock
@@ -28,7 +28,7 @@ dependencies = [
 
 [[package]]
 name = "analysis"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "config",
  "diagnostic",
@@ -118,7 +118,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chain-map"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "fast-hash",
  "str-util",
@@ -131,7 +131,7 @@ source = "git+https://github.com/azdavis/language-util.git#5e9a78d6f82e6129a7847
 
 [[package]]
 name = "cm-syntax"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "lex-util",
  "paths",
@@ -160,7 +160,7 @@ dependencies = [
 
 [[package]]
 name = "config"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "fast-hash",
  "serde",
@@ -188,7 +188,7 @@ checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636"
 
 [[package]]
 name = "cov-mark"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "fast-hash",
  "once_cell",
@@ -427,7 +427,7 @@ dependencies = [
 
 [[package]]
 name = "input"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "cm-syntax",
  "config",
@@ -475,7 +475,7 @@ checksum = "3752f229dcc5a481d60f385fa479ff46818033d881d2d801aa27dffcfb5e8306"
 
 [[package]]
 name = "lang-srv"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "analysis",
  "anyhow",
@@ -503,7 +503,7 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "lex-util"
-version = "0.13.1"
+version = "0.13.2"
 
 [[package]]
 name = "libc"
@@ -575,7 +575,7 @@ dependencies = [
 
 [[package]]
 name = "millet-cli"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "analysis",
  "codespan-reporting",
@@ -593,7 +593,7 @@ dependencies = [
 
 [[package]]
 name = "millet-ls"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "anyhow",
  "env_logger",
@@ -613,7 +613,7 @@ dependencies = [
 
 [[package]]
 name = "mlb-hir"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "fast-hash",
  "paths",
@@ -624,7 +624,7 @@ dependencies = [
 
 [[package]]
 name = "mlb-statics"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "config",
  "diagnostic",
@@ -648,7 +648,7 @@ dependencies = [
 
 [[package]]
 name = "mlb-syntax"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "lex-util",
  "paths",
@@ -711,7 +711,7 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "panic-hook"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "better-panic",
 ]
@@ -924,7 +924,7 @@ dependencies = [
 
 [[package]]
 name = "slash-var-path"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "fast-hash",
  "str-util",
@@ -932,14 +932,14 @@ dependencies = [
 
 [[package]]
 name = "sml-comment"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "sml-syntax",
 ]
 
 [[package]]
 name = "sml-dynamics"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "fast-hash",
  "fmt-util",
@@ -950,7 +950,7 @@ dependencies = [
 
 [[package]]
 name = "sml-dynamics-tests"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "config",
  "pretty_assertions",
@@ -966,7 +966,7 @@ dependencies = [
 
 [[package]]
 name = "sml-file-syntax"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "config",
  "elapsed",
@@ -980,7 +980,7 @@ dependencies = [
 
 [[package]]
 name = "sml-fixity"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "fast-hash",
  "once_cell",
@@ -989,7 +989,7 @@ dependencies = [
 
 [[package]]
 name = "sml-hir"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "la-arena",
  "sml-lab",
@@ -1000,7 +1000,7 @@ dependencies = [
 
 [[package]]
 name = "sml-hir-lower"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "config",
  "cov-mark",
@@ -1015,14 +1015,14 @@ dependencies = [
 
 [[package]]
 name = "sml-lab"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "str-util",
 ]
 
 [[package]]
 name = "sml-lex"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "cov-mark",
  "diagnostic",
@@ -1037,7 +1037,7 @@ source = "git+https://github.com/azdavis/sml-libs.git#0d94e3ce13f2a489dff86151f7
 
 [[package]]
 name = "sml-naive-fmt"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "fast-hash",
  "sml-comment",
@@ -1046,11 +1046,11 @@ dependencies = [
 
 [[package]]
 name = "sml-namespace"
-version = "0.13.1"
+version = "0.13.2"
 
 [[package]]
 name = "sml-parse"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "diagnostic",
  "event-parse",
@@ -1062,14 +1062,14 @@ dependencies = [
 
 [[package]]
 name = "sml-path"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "str-util",
 ]
 
 [[package]]
 name = "sml-scon"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "num-bigint",
  "num-traits",
@@ -1078,7 +1078,7 @@ dependencies = [
 
 [[package]]
 name = "sml-statics"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "chain-map",
  "config",
@@ -1101,7 +1101,7 @@ dependencies = [
 
 [[package]]
 name = "sml-statics-types"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "chain-map",
  "code-h2-md-map",
@@ -1120,7 +1120,7 @@ dependencies = [
 
 [[package]]
 name = "sml-symbol-kind"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "sml-namespace",
  "sml-statics-types",
@@ -1128,7 +1128,7 @@ dependencies = [
 
 [[package]]
 name = "sml-syntax"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "code-h2-md-map",
  "fast-hash",
@@ -1139,7 +1139,7 @@ dependencies = [
 
 [[package]]
 name = "sml-ty-var-scope"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "fast-hash",
  "sml-hir",
@@ -1210,7 +1210,7 @@ dependencies = [
 
 [[package]]
 name = "tests"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "analysis",
  "cm-syntax",
@@ -1554,7 +1554,7 @@ dependencies = [
 
 [[package]]
 name = "xtask"
-version = "0.13.1"
+version = "0.13.2"
 dependencies = [
  "anyhow",
  "flate2",
diff --git a/pkgs/development/tools/language-servers/millet/default.nix b/pkgs/development/tools/language-servers/millet/default.nix
index 081333e8929..c0453143061 100644
--- a/pkgs/development/tools/language-servers/millet/default.nix
+++ b/pkgs/development/tools/language-servers/millet/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "millet";
-  version = "0.13.1";
+  version = "0.13.2";
 
   src = fetchFromGitHub {
     owner = "azdavis";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-qq4SACB0heCOB8rJha+9Xi/ZZuAbasOieWM9IdZqYUw=";
+    hash = "sha256-GiuP5Cx4Qx2LH34v6VeGyWgjJgPR8/qLUOZIrh9ES1U=";
   };
 
   cargoLock = {
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
index 6192322c2c3..4aa21d29761 100644
--- a/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.28811";
+  version = "0.1.28995";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HaBFKjVw6EzhH1oxSeKFmZUDZleFGrxjOegTVCGmrzI=";
+    sha256 = "sha256-+Gyv3GO6nOueswPAriUm7QkQgEkYEilnBT7hqmiqDW8=";
   };
 
   vendorHash = "sha256-OWdJ7nFR5hrKQf2H763ezjXkEh0PvtBcjjeSNvH+ca4=";
diff --git a/pkgs/development/tools/rust/cargo-zigbuild/default.nix b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
index cc625347de9..2b1e893fd0c 100644
--- a/pkgs/development/tools/rust/cargo-zigbuild/default.nix
+++ b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-zigbuild";
-  version = "0.17.2";
+  version = "0.17.3";
 
   src = fetchFromGitHub {
     owner = "messense";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-t71h+s97Ip3Gqs7oCzF8GWpTX0p0ltPt7JT61Gk8xF0=";
+    hash = "sha256-l9uPn5eLGfCq2E6gogXCefbhxro6iOOYraeIPj9/S50=";
   };
 
-  cargoHash = "sha256-oJ+zAtTwFSSzwq1gvkRloBj8g30G8Eq7dG2RoaX39lA=";
+  cargoHash = "sha256-2mbGwElBfo4L/iGZm3iRBR5UGeMFlfaSp79vVvCAIo0=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 37a58bd4052..2a002feb2aa 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2023-09-04";
-  cargoSha256 = "sha256-J8eEHv262v21b1rs3e2seTwaKtvoGne5hXqa2jgQmoY=";
+  version = "2023-09-11";
+  cargoSha256 = "sha256-bdF88QG++8ieFLG9H6D6nR6d9GHna36HMskp6TnTA4c=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-Mk35KaY7OkEKNoj3Q3NEJ0PjFhqUd9Ry+NSzd3K1QUw=";
+    sha256 = "sha256-6GjjGVCn0lNlGQifjM8AqRRMzVxf/KNyQqmAl8a9HME=";
   };
 
   cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index fdfad0cab2e..2bf239579e4 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -37,7 +37,7 @@
 
 let
   pname = "mindustry";
-  version = "145.1";
+  version = "146";
   buildVersion = makeBuildVersion version;
 
   selectedGlew = if enableWayland then glew-egl else glew;
@@ -46,13 +46,13 @@ let
     owner = "Anuken";
     repo = "Mindustry";
     rev = "v${version}";
-    hash = "sha256-xHF+3QIzP6Xekm1arXio4dAveOQpY9MXuiUC7OZFSUA=";
+    hash = "sha256-pJAJjb8rgDL5q2hfuXH2Cyb1Szu4GixeXoLMdnIAlno=";
   };
   Arc = fetchFromGitHub {
     owner = "Anuken";
     repo = "Arc";
     rev = "v${version}";
-    hash = "sha256-HkJoYdnC4rwTMEmSO0r82cuhY3ZT7Baj3pyqSbzJrQ4=";
+    hash = "sha256-L+5fshI1oo1lVdTMTBuPzqtEeR2dq1NORP84rZ83rT0=";
   };
   soloud = fetchFromGitHub {
     owner = "Anuken";
@@ -131,7 +131,7 @@ let
         | sh
     '';
     outputHashMode = "recursive";
-    outputHash = "sha256-tSQV9A4uxKUVEJuFRxCQVZNb+0wEQrZofQOluQe0cfA=";
+    outputHash = "sha256-hbWLsWorEo+1BBURvrFMXpxvZjJBZ1p7HVlJN5e5JZc=";
   };
 
 in
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index 00a8af6d8b7..4b38c86fbdc 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -70,6 +70,6 @@ stdenv.mkDerivation rec {
     homepage = "https://worldofgoo.com";
     license = licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = with maintainers; [ jcumming maxeaubrey ];
+    maintainers = with maintainers; [ jcumming amaxine ];
   };
 }
diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix
index bef36ac4a12..c85a75d1f17 100644
--- a/pkgs/os-specific/linux/ell/default.nix
+++ b/pkgs/os-specific/linux/ell/default.nix
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
     changelog = "https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ChangeLog?h=${version}";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ mic92 dtzWill maxeaubrey ];
+    maintainers = with maintainers; [ mic92 dtzWill amaxine ];
   };
 }
diff --git a/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix b/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
index 56001cb225a..a8adefc6346 100644
--- a/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://fwupd.org/";
-    maintainers = with maintainers; [ maxeaubrey ];
+    maintainers = with maintainers; [ amaxine ];
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index b808fb208c4..792fef69cbd 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -92,6 +92,6 @@ stdenv.mkDerivation rec {
     description = "Wireless daemon for Linux";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ dtzWill fpletz maxeaubrey ];
+    maintainers = with maintainers; [ dtzWill fpletz amaxine ];
   };
 }
diff --git a/pkgs/servers/fastnetmon-advanced/default.nix b/pkgs/servers/fastnetmon-advanced/default.nix
index 35c1707a2d5..e1422ed1379 100644
--- a/pkgs/servers/fastnetmon-advanced/default.nix
+++ b/pkgs/servers/fastnetmon-advanced/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     description = "A high performance DDoS detector / sensor - commercial edition";
     homepage = "https://fastnetmon.com";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    maintainers = with maintainers; [ yuka ];
+    maintainers = teams.wdz.members;
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 126f1cbf5fa..478be3129e4 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -16,20 +16,20 @@ let
 in
 python3.pkgs.buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.91.2";
+  version = "1.92.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    hash = "sha256-U9SyDmO34s9PjLPnT1QYemGeCmKdXRaQvEC8KKcFXOI=";
+    hash = "sha256-rCxoYtdvh+Gu0O2T3uu0k2FFFFc7m09LuKJvkSky3M4=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-q3uoT2O/oTVSg6olZohU8tiWahijyva+1tm4e1GWGj4=";
+    hash = "sha256-yZeCENWdPv80Na1++/IQFOrhah/VHWwJDNV2dI/yTHg=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/misc/irrd/default.nix b/pkgs/servers/misc/irrd/default.nix
index 1ba0c158331..aef559d4e22 100644
--- a/pkgs/servers/misc/irrd/default.nix
+++ b/pkgs/servers/misc/irrd/default.nix
@@ -153,7 +153,7 @@ py.pkgs.buildPythonPackage rec {
     description = "An Internet Routing Registry database server, processing IRR objects in the RPSL format";
     license = licenses.mit;
     homepage = "https://github.com/irrdnet/irrd";
-    maintainers = with maintainers; [ netali yuka ];
+    maintainers = teams.wdz.members;
   };
 }
 
diff --git a/pkgs/servers/monitoring/unpoller/default.nix b/pkgs/servers/monitoring/unpoller/default.nix
index 741142cf8fd..e471666e588 100644
--- a/pkgs/servers/monitoring/unpoller/default.nix
+++ b/pkgs/servers/monitoring/unpoller/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "unpoller";
-  version = "2.8.1";
+  version = "2.8.3";
 
   src = fetchFromGitHub {
     owner = "unpoller";
     repo = "unpoller";
     rev = "v${version}";
-    hash = "sha256-w0DcU27wrqzWxPwoY/as2vBtJQytz1482tNIXdyvHbY=";
+    hash = "sha256-ONr8xwvCXLnAlJKbgt/O+lCEKbV2SJXW/1oJPYRtQ3s=";
   };
 
-  vendorHash = "sha256-2uvQhEEtsnGPQxYnNND6kM1HeN3kFlHzUXiehM+GpMs=";
+  vendorHash = "sha256-eLHtSEINxrqjlPyJZJwfSGA0gVaxcIolhWnqJxLXkew=";
 
   ldflags = [
     "-w" "-s"
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index f85e29af194..37bf7697481 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -88,7 +88,7 @@ stdenv.mkDerivation rec {
       lnl7
       pjones
       thoughtpolice
-      maxeaubrey
+      amaxine
       MayNiklas
     ];
     description = "Media library streaming server";
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index 5b1253cd8c8..f42e5e7ccfc 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildGoModule, fetchFromGitHub, makeWrapper, iptables, iproute2, procps, shadow, getent }:
 
 let
-  version = "1.48.1";
+  version = "1.48.2";
 in
 buildGoModule {
   pname = "tailscale";
@@ -11,7 +11,7 @@ buildGoModule {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    hash = "sha256-jWnke49b6inybPmiZOkxI3C8VoYe4Syi84YhvL8zxeI=";
+    hash = "sha256-5Usi7W4y6JniyxBIfQid1XjDIZRS5oIw+KUMMiFRBwk=";
   };
   vendorHash = "sha256-Fr4VZcKrXnT1PZuEG110KBefjcZzRsQRBSvByELKAy4=";
 
diff --git a/pkgs/servers/web-apps/peering-manager/default.nix b/pkgs/servers/web-apps/peering-manager/default.nix
index eb07edabf4d..a16683572fa 100644
--- a/pkgs/servers/web-apps/peering-manager/default.nix
+++ b/pkgs/servers/web-apps/peering-manager/default.nix
@@ -99,7 +99,7 @@ in py.pkgs.buildPythonApplication rec {
     homepage = "https://peering-manager.net/";
     license = licenses.asl20;
     description = "BGP sessions management tool";
-    maintainers = with maintainers; [ yuka ];
+    maintainers = teams.wdz.members;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/test/nixpkgs-check-by-name/default.nix b/pkgs/test/nixpkgs-check-by-name/default.nix
index a997fc8612c..cb8a672bc99 100644
--- a/pkgs/test/nixpkgs-check-by-name/default.nix
+++ b/pkgs/test/nixpkgs-check-by-name/default.nix
@@ -25,6 +25,10 @@ let
         export NIX_LOG_DIR=$TEST_ROOT/var/log/nix
         export NIX_STATE_DIR=$TEST_ROOT/var/nix
         export NIX_STORE_DIR=$TEST_ROOT/store
+
+        # cargo tests run in parallel by default, which would then run into
+        # https://github.com/NixOS/nix/issues/2706 unless the store is initialised first
+        nix-store --init
       '';
       postCheck = ''
         cargo fmt --check
diff --git a/pkgs/test/nixpkgs-check-by-name/src/eval.rs b/pkgs/test/nixpkgs-check-by-name/src/eval.rs
index d084642ffe7..17e22495b22 100644
--- a/pkgs/test/nixpkgs-check-by-name/src/eval.rs
+++ b/pkgs/test/nixpkgs-check-by-name/src/eval.rs
@@ -30,9 +30,15 @@ pub fn check_values<W: io::Write>(
     // Write the list of packages we need to check into a temporary JSON file.
     // This can then get read by the Nix evaluation.
     let attrs_file = NamedTempFile::new().context("Failed to create a temporary file")?;
+    // We need to canonicalise this path because if it's a symlink (which can be the case on
+    // Darwin), Nix would need to read both the symlink and the target path, therefore need 2
+    // NIX_PATH entries for restrict-eval. But if we resolve the symlinks then only one predictable
+    // entry is needed.
+    let attrs_file_path = attrs_file.path().canonicalize()?;
+
     serde_json::to_writer(&attrs_file, &nixpkgs.package_names).context(format!(
         "Failed to serialise the package names to the temporary path {}",
-        attrs_file.path().display()
+        attrs_file_path.display()
     ))?;
 
     // With restrict-eval, only paths in NIX_PATH can be accessed, so we explicitly specify the
@@ -57,9 +63,9 @@ pub fn check_values<W: io::Write>(
         // Pass the path to the attrs_file as an argument and add it to the NIX_PATH so it can be
         // accessed in restrict-eval mode
         .args(["--arg", "attrsPath"])
-        .arg(attrs_file.path())
+        .arg(&attrs_file_path)
         .arg("-I")
-        .arg(attrs_file.path())
+        .arg(&attrs_file_path)
         // Same for the nixpkgs to test
         .args(["--arg", "nixpkgsPath"])
         .arg(&nixpkgs.path)
diff --git a/pkgs/test/nixpkgs-check-by-name/src/main.rs b/pkgs/test/nixpkgs-check-by-name/src/main.rs
index db22e524553..751b5dbd024 100644
--- a/pkgs/test/nixpkgs-check-by-name/src/main.rs
+++ b/pkgs/test/nixpkgs-check-by-name/src/main.rs
@@ -140,6 +140,42 @@ mod tests {
         Ok(())
     }
 
+    /// Tests symlinked temporary directories.
+    /// This is needed because on darwin, `/tmp` is a symlink to `/private/tmp`, and Nix's
+    /// restrict-eval doesn't also allow access to the canonical path when you allow the
+    /// non-canonical one.
+    ///
+    /// The error if we didn't do this would look like this:
+    /// error: access to canonical path '/private/var/folders/[...]/.tmpFbcNO0' is forbidden in restricted mode
+    #[test]
+    fn test_symlinked_tmpdir() -> anyhow::Result<()> {
+        // Create a directory with two entries:
+        // - actual (dir)
+        // - symlinked -> actual (symlink)
+        let temp_root = tempdir()?;
+        fs::create_dir(temp_root.path().join("actual"))?;
+        std::os::unix::fs::symlink("actual", temp_root.path().join("symlinked"))?;
+        let tmpdir = temp_root.path().join("symlinked");
+
+        // Then set TMPDIR to the symlinked directory
+        // Make sure to persist the old value so we can undo this later
+        let old_tmpdir = env::var("TMPDIR").ok();
+        env::set_var("TMPDIR", &tmpdir);
+
+        // Then run a simple test with this symlinked temporary directory
+        // This should be successful
+        test_nixpkgs("symlinked_tmpdir", Path::new("tests/success"), "")?;
+
+        // Undo the env variable change
+        if let Some(old) = old_tmpdir {
+            env::set_var("TMPDIR", old);
+        } else {
+            env::remove_var("TMPDIR");
+        }
+
+        Ok(())
+    }
+
     fn test_nixpkgs(name: &str, path: &Path, expected_errors: &str) -> anyhow::Result<()> {
         let extra_nix_path = Path::new("tests/mock-nixpkgs.nix");
 
diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix
index ff38638d5bc..5307b38a108 100644
--- a/pkgs/tools/admin/aliyun-cli/default.nix
+++ b/pkgs/tools/admin/aliyun-cli/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "aliyun-cli";
-  version = "3.0.180";
+  version = "3.0.181";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aliyun";
     repo = pname;
     fetchSubmodules = true;
-    sha256 = "sha256-w1t1sx7Pcv444x3YPNSg3fRQdPga2Q9Z1+Iad7OTjOM=";
+    sha256 = "sha256-xjOoWQyQCVoCDJMXboxFAyil7jRCWU6oIEt7gcPkIPo=";
   };
 
-  vendorHash = "sha256-bL1S6GML7XuLraVXcd6NcC3VSYAd05F2ktzI0KF3G8A=";
+  vendorHash = "sha256-S8Nthnr3wASvRyZS5UTHILPnUA+FeZJEwIvT0O39U3I=";
 
   subPackages = [ "main" ];
 
diff --git a/pkgs/tools/graphics/textplots/default.nix b/pkgs/tools/graphics/textplots/default.nix
index 689758de203..041a9fc5990 100644
--- a/pkgs/tools/graphics/textplots/default.nix
+++ b/pkgs/tools/graphics/textplots/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "textplots";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-NBUp5kFiODqoJrg/JBPhtaVsOikppqt2jbd3C3RQ7qg=";
+    hash = "sha256-rYUo8A5jasGQb9CjW5u5kM7PIocq353R6v+Z7OhzVUg=";
   };
 
-  cargoHash = "sha256-hHj3Da399gbRbgHgHcBE53HJusWoPbRA184tcCSJ4fc=";
+  cargoHash = "sha256-1Z+Og3n9/LUzfBoWNXjvNfuQByEq3vtXhGzi6X961w0=";
 
   meta = with lib; {
     description = "Terminal plotting written in Rust";
diff --git a/pkgs/tools/llm/open-interpreter/default.nix b/pkgs/tools/llm/open-interpreter/default.nix
new file mode 100644
index 00000000000..281f77bf2a5
--- /dev/null
+++ b/pkgs/tools/llm/open-interpreter/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+let
+  version = "0.1.3";
+in
+python3.pkgs.buildPythonApplication {
+  pname = "open-interpreter";
+  format = "pyproject";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "KillianLucas";
+    repo = "open-interpreter";
+    rev = "v${version}";
+    hash = "sha256-xmmyDIshEYql41k/7gF+ay7s3mI+iGCjr5gDfLkqLU0=";
+  };
+
+  nativeBuildInputs = [
+    python3.pkgs.poetry-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    appdirs
+    astor
+    gitpython
+    huggingface-hub
+    inquirer
+    litellm
+    openai
+    # pyreadline3 # this is a windows deps
+    python-dotenv
+    rich
+    six
+    tiktoken
+    tokentrim
+    wget
+  ];
+
+  # the import check phase fails trying to do a network request to openai
+  # because of litellm
+  # pythonImportsCheck = [ "interpreter" ];
+
+  meta = with lib; {
+    description = "OpenAI's Code Interpreter in your terminal, running locally";
+    homepage = "https://github.com/KillianLucas/open-interpreter";
+    license = licenses.mit;
+    changelog = "https://github.com/KillianLucas/open-interpreter/releases/tag/v${version}";
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/tools/misc/flexoptix-app/default.nix b/pkgs/tools/misc/flexoptix-app/default.nix
index 6fb4c5df775..1e9b16a8485 100644
--- a/pkgs/tools/misc/flexoptix-app/default.nix
+++ b/pkgs/tools/misc/flexoptix-app/default.nix
@@ -1,11 +1,11 @@
 { lib, appimageTools, fetchurl, asar }: let
   pname = "flexoptix-app";
-  version = "5.13.4";
+  version = "5.16.0-latest";
 
   src = fetchurl {
     name = "${pname}-${version}.AppImage";
     url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage";
-    hash = "sha256-W+9KmKZ1bPfQfv1DXCJrIswriw4ivBVZPW81tfvRBc0=";
+    hash = "sha256-A10r8IUB3zWKWmjen90vLXPF7V/Cgo+DhFn/Hsc1Nhg=";
   };
 
   udevRules = fetchurl {
diff --git a/pkgs/tools/misc/near-cli/default.nix b/pkgs/tools/misc/near-cli/default.nix
new file mode 100644
index 00000000000..8741f694782
--- /dev/null
+++ b/pkgs/tools/misc/near-cli/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, mkYarnPackage
+, fetchFromGitHub
+, fetchYarnDeps
+}:
+
+mkYarnPackage rec {
+  pname = "near-cli";
+  version = "3.4.2";
+
+  src = fetchFromGitHub {
+    owner = "near";
+    repo = "near-cli";
+    rev = "v${version}";
+    hash = "sha256-C+viNYk+6BA11cdi5GqARU3QTTONTR2B2VEZf/SeeSQ=";
+  };
+
+  packageJSON = ./package.json;
+
+  offlineCache = fetchYarnDeps {
+    yarnLock = "${src}/yarn.lock";
+    hash = "sha256-G/Y8xGGOlXH37Bup7mKhEaNh05GTP5CC9e/Xw4TBNMU=";
+  };
+
+  doDist = false;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/lib/node_modules"
+    mv deps/near-cli "$out/lib/node_modules"
+    rm "$out/lib/node_modules/near-cli/node_modules"
+    mv node_modules "$out/lib/node_modules/near-cli"
+
+    mkdir -p "$out/bin"
+    ln -s "$out/lib/node_modules/near-cli/bin/near" "$out/bin"
+
+    runHook postInstall
+  '';
+
+  meta = {
+    changelog = "https://github.com/near/near-cli/blob/${src.rev}/CHANGELOG.md";
+    description = "General purpose command line tools for interacting with NEAR Protocol";
+    homepage = "https://github.com/near/near-cli";
+    license = with lib.licenses; [ asl20 mit ];
+    mainProgram = "near";
+    maintainers = with lib.maintainers; [ ekleog ];
+  };
+}
diff --git a/pkgs/tools/misc/near-cli/package.json b/pkgs/tools/misc/near-cli/package.json
new file mode 100644
index 00000000000..a6b794a9911
--- /dev/null
+++ b/pkgs/tools/misc/near-cli/package.json
@@ -0,0 +1,83 @@
+{
+  "name": "near-cli",
+  "version": "3.4.2",
+  "description": "General purpose command line tools for interacting with NEAR Protocol",
+  "engines": {
+    "node": ">= 12"
+  },
+  "main": "index.js",
+  "scripts": {
+    "pretest": "rm -rf tmp-project",
+    "test": "npm run test:unit && npm run test:integration",
+    "test:unit": "jest",
+    "test:integration": "bash ./test/index.sh",
+    "lint": "eslint .",
+    "fix": "eslint . --fix"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/near/near-cli.git"
+  },
+  "author": "Jane Degtiareva",
+  "license": "(MIT AND Apache-2.0)",
+  "bugs": {
+    "url": "https://github.com/near/near-cli/issues"
+  },
+  "homepage": "https://github.com/near/near-cli#readme",
+  "bin": {
+    "near": "bin/near"
+  },
+  "devDependencies": {
+    "danger": "^10.6.6",
+    "lodash": "^4.17.21",
+    "eslint": "^7.0.0",
+    "jest": "^26.1.0",
+    "strip-ansi": "^7.0.0",
+    "strip-ansi-cli": "^3.0.0",
+    "ts-node": "^10.4.0",
+    "typescript": "^4.5.4"
+  },
+  "dependencies": {
+    "analytics-node": "^6.1.0",
+    "ascii-table": "0.0.9",
+    "bn.js": "^5.1.1",
+    "bs58": "^4.0.1",
+    "chalk": "^4.0.0",
+    "flagged-respawn": "^1.0.1",
+    "is-ci": "^2.0.0",
+    "jest-environment-node": "^27.0.6",
+    "ncp": "^2.0.0",
+    "near-api-js": "^0.44.2",
+    "near-seed-phrase": "^0.2.0",
+    "open": "^8.0.7",
+    "rimraf": "^3.0.0",
+    "stoppable": "^1.1.0",
+    "tcp-port-used": "^1.0.1",
+    "update-notifier": "^5.0.0",
+    "uuid": "^8.0.0",
+    "v8flags": "^3.1.3",
+    "yargs": "^16.0.3"
+  },
+  "optionalDependencies": {
+    "@ledgerhq/hw-transport-node-hid": "^6.1.0",
+    "near-ledger-js": "^0.2.0"
+  },
+  "keywords": [
+    "blockchain",
+    "crypto",
+    "dapps",
+    "distributed",
+    "applications",
+    "distributed applications"
+  ],
+  "files": [
+    "bin",
+    "commands",
+    "middleware",
+    "utils",
+    "config.js",
+    "get-config.js",
+    "test_environment.js",
+    "context"
+  ]
+}
diff --git a/pkgs/tools/networking/grpc_cli/default.nix b/pkgs/tools/networking/grpc_cli/default.nix
index 9cd4d34876c..b2b84ea53e6 100644
--- a/pkgs/tools/networking/grpc_cli/default.nix
+++ b/pkgs/tools/networking/grpc_cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc_cli";
-  version = "1.57.0";
+  version = "1.58.0";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    hash = "sha256-ZPhPi4ODAAohCySVKeypaDID4ZUXvnfidOGK5EMXvh4=";
+    hash = "sha256-JxkQZSmI3FSAoSd45uciCpsTeGuAvRhG/BGyC4NKOjo=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ automake cmake autoconf ];
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index bf324c57d49..c586d6a75ef 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchpatch
 , autoreconfHook
 , pkg-config
 , libcap
@@ -21,6 +22,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-f5bL3IdXibIc1xXCuZHwcEV5vhypRE2mLsS3A8HW2QM=";
   };
 
+  patches = [ (fetchpatch { # https://github.com/traviscross/mtr/pull/468
+                url = "https://github.com/traviscross/mtr/commit/5908af4c19188cb17b62f23368b6ef462831a0cb.patch";
+                hash = "sha256-rTydtU8+Wc4nGEKh1GOkhcpgME4hwsACy82gKPaIe64=";
+              }) ];
+
   # we need this before autoreconfHook does its thing
   postPatch = ''
     echo ${version} > .tarball-version
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index 4983c30ab00..74fb6508794 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -209,7 +209,7 @@ stdenv.mkDerivation rec {
     description = "Network configuration and management tool";
     license = licenses.gpl2Plus;
     changelog = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/raw/${version}/NEWS";
-    maintainers = teams.freedesktop.members ++ (with maintainers; [ domenkozar obadz maxeaubrey ]);
+    maintainers = teams.freedesktop.members ++ (with maintainers; [ domenkozar obadz amaxine ]);
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
index 7eaa8c24c52..6cd2ee26959 100644
--- a/pkgs/tools/networking/subfinder/default.nix
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "subfinder";
-  version = "2.6.2";
+  version = "2.6.3";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KyceWyVIgIPx4zw7pUCY2IC9PfbSYzwoDEbw80VhI+s=";
+    hash = "sha256-X1Ow11ECwu2a/VzimrKGRJKCnZWL8KJ5Gii+pjP5b9E=";
   };
 
-  vendorHash = "sha256-vvgXlVPQPH6hO4yA3HYB0C6mva9eI2zMIlBhjtZXOTI=";
+  vendorHash = "sha256-T1xrJ44xB95+ZhQPCYlcbH1gIQm7ETtTnQLl/+TRxVA=";
 
   modRoot = "./v2";
 
diff --git a/pkgs/tools/text/gjo/default.nix b/pkgs/tools/text/gjo/default.nix
index da8fa212940..99d988797bf 100644
--- a/pkgs/tools/text/gjo/default.nix
+++ b/pkgs/tools/text/gjo/default.nix
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "skanehira";
     repo = "gjo";
     rev = version;
-    sha256 = "07halr0jzds4rya6hlvp45bjf7vg4yf49w5q60mch05hk8qkjjdw";
+    hash = "sha256-vEk5MZqwAMgqMLjwRJwnbx8nVyF3U2iUz0S3L0GmCh4=";
   };
 
-  vendorSha256 = null;
+  vendorHash = null;
 
   meta = with lib; {
     description = "Small utility to create JSON objects";
diff --git a/pkgs/tools/typesetting/typstfmt/Cargo.lock b/pkgs/tools/typesetting/typstfmt/Cargo.lock
index c4123f470f4..af461f991de 100644
--- a/pkgs/tools/typesetting/typstfmt/Cargo.lock
+++ b/pkgs/tools/typesetting/typstfmt/Cargo.lock
@@ -198,9 +198,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "memchr"
-version = "2.6.2"
+version = "2.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486aed0026218e61b8a01d5fbd5a0a134649abb71a0e53b7bc088529dced86e"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 
 [[package]]
 name = "nu-ansi-term"
@@ -250,13 +250,13 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.9.4"
+version = "1.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.3.7",
+ "regex-automata 0.3.8",
  "regex-syntax",
 ]
 
@@ -268,9 +268,9 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
 
 [[package]]
 name = "regex-automata"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -309,7 +309,7 @@ checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.32",
 ]
 
 [[package]]
@@ -375,9 +375,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.29"
+version = "2.0.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
+checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -396,9 +396,9 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.7.6"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
+checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
 dependencies = [
  "serde",
  "serde_spanned",
@@ -417,9 +417,9 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.19.14"
+version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
  "indexmap",
  "serde",
@@ -448,7 +448,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.32",
 ]
 
 [[package]]
@@ -504,7 +504,7 @@ dependencies = [
 
 [[package]]
 name = "typstfmt"
-version = "0.2.2"
+version = "0.2.3"
 dependencies = [
  "lexopt",
  "typstfmt_lib",
@@ -512,7 +512,7 @@ dependencies = [
 
 [[package]]
 name = "typstfmt_lib"
-version = "0.2.2"
+version = "0.2.3"
 dependencies = [
  "globmatch",
  "insta",
@@ -559,9 +559,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
 
 [[package]]
 name = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
  "winapi-util",
diff --git a/pkgs/tools/typesetting/typstfmt/default.nix b/pkgs/tools/typesetting/typstfmt/default.nix
index 46298a0761e..bb5495e83e4 100644
--- a/pkgs/tools/typesetting/typstfmt/default.nix
+++ b/pkgs/tools/typesetting/typstfmt/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typstfmt";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "astrale-sharp";
     repo = "typstfmt";
     rev = version;
-    hash = "sha256-y6uXWKG3npgxIfZeou7Xs8/zqjIFB4BvciDmAJIXw78=";
+    hash = "sha256-DipssOPbu7rSyfhqpuOqS7Ih+/PlK+/BT+R1Sm4mFPk=";
   };
 
   cargoLock = {
diff --git a/pkgs/tools/wayland/way-displays/default.nix b/pkgs/tools/wayland/way-displays/default.nix
index ea94ece408c..bac42d39fd1 100644
--- a/pkgs/tools/wayland/way-displays/default.nix
+++ b/pkgs/tools/wayland/way-displays/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "way-displays";
-  version = "1.8.1";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "alex-courtis";
     repo = "way-displays";
     rev = version;
-    sha256 = "sha256-rR181sxaddtn3yFtF1exSGPBU0Yp3VBRyucfuxyXI+Q=";
+    sha256 = "sha256-X+/aM+/2pO1FbHGwEiC2w9AxPXHf1EVZkyr+CXtprLk=";
   };
 
   strictDeps = true;
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index c33688f8483..5a0c32b6b14 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -157,7 +157,7 @@ mapAliases ({
   digibyted = throw "digibyted has been removed since it's unnmaintained: https://github.com/digibyte/digibyte/graphs/code-frequency"; # Added 2022-11-24
   bitsnbots = throw "bitsnbots has been removed because it was broken and upstream missing"; # Added 2021-08-22
   blastem = throw "blastem has been removed from nixpkgs as it would still require python2"; # Added 2022-01-01
-  bluezFull = bluez; # Added 2019-12-03
+  bluezFull = throw "'bluezFull' has been renamed to/replaced by 'bluez'"; # Converted to throw 2023-09-10
   bomi = throw "bomi has been removed from nixpkgs since it was broken and abandoned upstream"; # Added 2020-12-10
   boost159 = throw "boost159 has been deprecated in favor of the latest version"; # Added 2023-01-01
   boost15x = throw "boost15x has been deprecated in favor of the latest version"; # Added 2023-01-01
@@ -176,7 +176,7 @@ mapAliases ({
   bpytop = throw "bpytop has been deprecated by btop"; # Added 2023-02-16
   brackets = throw "brackets has been removed, it was unmaintained and had open vulnerabilities"; # Added 2021-01-24
   bridge_utils = throw "'bridge_utils' has been renamed to/replaced by 'bridge-utils'"; # Converted to throw 2022-02-22
-  bro = zeek; # Added 2019-09-29
+  bro = throw "'bro' has been renamed to/replaced by 'zeek'"; # Converted to throw 2023-09-10
   btops = throw "btops has been dropped due to the lack of maintenance from upstream since 2017"; # Added 2022-06-02
   btrfsProgs = throw "'btrfsProgs' has been renamed to/replaced by 'btrfs-progs'"; # Converted to throw 2022-02-22
   bud = throw "bud has been removed: abandoned by upstream"; # Added 2022-03-14
@@ -223,7 +223,7 @@ mapAliases ({
   casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken";
   cassandra_2_1 = throw "cassandra_2_1 has been removed, please use cassandra_3_11 instead"; # Added 2022-10-29
   cassandra_2_2 = throw "cassandra_2_2 has been removed, please use cassandra_3_11 instead"; # Added 2022-10-29
-  catfish = xfce.catfish; # Added 2019-12-22
+  catfish = throw "'catfish' has been renamed to/replaced by 'xfce.catfish'"; # Converted to throw 2023-09-10
   cawbird = throw "cawbird has been abandoned upstream and is broken anyways due to Twitter closing its API";
   ccloud-cli = throw "ccloud-cli has been removed, please use confluent-cli instead"; # Added 2023-06-09
   ccnet = throw "ccnet has been removed because seafile does not depend on it anymore"; # Added 2021-03-25
@@ -272,7 +272,7 @@ mapAliases ({
   cmakeWithQt4Gui = throw "cmakeWithQt4Gui has been removed in favor of cmakeWithGui (Qt 5)"; # Added 2021-05
   codimd = hedgedoc; # Added 2020-11-29
   inherit (libsForQt5.mauiPackages) communicator; # added 2022-05-17
-  compton = picom; # Added 2019-12-02
+  compton = throw "'compton' has been renamed to/replaced by 'picom'"; # Converted to throw 2023-09-10
   compton-git = throw "'compton-git' has been renamed to/replaced by 'compton'"; # Converted to throw 2022-02-22
   concurrencykit = libck; # Added 2021-03
   conntrack_tools = throw "'conntrack_tools' has been renamed to/replaced by 'conntrack-tools'"; # Converted to throw 2022-02-22
@@ -459,6 +459,7 @@ mapAliases ({
   electron_6 = throw "electron_6 has been removed in favor of newer versions"; # added 2022-01-06
   electron_7 = throw "electron_7 has been removed in favor of newer versions"; # added 2022-02-08
   electron_8 = throw "electron_8 has been removed in favor of newer versions"; # added 2022-02-08
+  electron_9 = throw "electron_9 has been removed in favor of newer versions"; # added 2023-09-11
 
   electrum-dash = throw "electrum-dash has been removed from nixpkgs as the project is abandoned"; # Added 2022-01-01
   elementary-planner = throw "elementary-planner has been renamed to planify"; # Added 2023-06-24
@@ -472,8 +473,8 @@ mapAliases ({
   emacsMacport = emacs-macport; # Added 2023-08-10
   emacsNativeComp = emacs28NativeComp; # Added 2022-06-08
   emacsPackagesGen = throw "'emacsPackagesGen' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2022-02-22
-  emacsPackagesNg = emacs.pkgs; # Added 2019-08-07
-  emacsPackagesNgFor = emacsPackagesFor; # Added 2019-08-07
+  emacsPackagesNg = throw "'emacsPackagesNg' has been renamed to/replaced by 'emacs.pkgs'"; # Converted to throw 2023-09-10
+  emacsPackagesNgFor = throw "'emacsPackagesNgFor' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2023-09-10
   emacsPackagesNgGen = throw "'emacsPackagesNgGen' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2022-02-22
   emacsWithPackages = emacs.pkgs.withPackages; # Added 2020-12-18
 
@@ -627,10 +628,10 @@ mapAliases ({
   gnome-breeze = throw "gnome-breeze has been removed, use libsForQt5.breeze-gtk instead"; # Added 2022-04-22
   gnome-firmware-updater = gnome-firmware; # added 2022-04-14
   gnome-passwordsafe = gnome-secrets; # added 2022-01-30
-  gnome-mpv = celluloid; # Added 2019-08-22
+  gnome-mpv = throw "'gnome-mpv' has been renamed to/replaced by 'celluloid'"; # Converted to throw 2023-09-10
   gnome-sharp = throw "gnome-sharp has been removed from nixpkgs"; # Added 2022-01-15
   gnome-themes-standard = throw "'gnome-themes-standard' has been renamed to/replaced by 'gnome-themes-extra'"; # Converted to throw 2022-02-22
-  gnome_user_docs = gnome-user-docs; # Added 2019-11-20
+  gnome_user_docs = throw "'gnome_user_docs' has been renamed to/replaced by 'gnome-user-docs'"; # Converted to throw 2023-09-10
   gnome_doc_utils = throw "'gnome_doc_utils' has been renamed to/replaced by 'gnome-doc-utils'"; # Converted to throw 2022-02-22
   gnome_themes_standard = throw "'gnome_themes_standard' has been renamed to/replaced by 'gnome-themes-standard'"; # Converted to throw 2022-02-22
 
@@ -645,12 +646,12 @@ mapAliases ({
   gnome3 = gnome; # Added 2021-05-07
   gnupg20 = throw "gnupg20 has been removed from nixpkgs as upstream dropped support on 2017-12-31";# Added 2020-07-12
   gnuradio3_7 = throw "gnuradio3_7 has been removed because it required Python 2"; # Added 2022-01-16
-  gnuradio-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16
-  gnuradio-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16
-  gnuradio-limesdr = gnuradio3_7.pkgs.limesdr; # Added 2019-05-27, changed 2020-10-16
-  gnuradio-nacl = gnuradio3_7.pkgs.nacl; # Added 2019-05-27, changed 2020-10-16
-  gnuradio-osmosdr = gnuradio3_7.pkgs.osmosdr; # Added 2019-05-27, changed 2020-10-16
-  gnuradio-rds = gnuradio3_7.pkgs.rds; # Added 2019-05-27, changed 2020-10-16
+  gnuradio-ais = throw "'gnuradio-ais' has been renamed to/replaced by 'gnuradio3_7.pkgs.ais'"; # Converted to throw 2023-09-10
+  gnuradio-gsm = throw "'gnuradio-gsm' has been renamed to/replaced by 'gnuradio3_7.pkgs.gsm'"; # Converted to throw 2023-09-10
+  gnuradio-limesdr = throw "'gnuradio-limesdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.limesdr'"; # Converted to throw 2023-09-10
+  gnuradio-nacl = throw "'gnuradio-nacl' has been renamed to/replaced by 'gnuradio3_7.pkgs.nacl'"; # Converted to throw 2023-09-10
+  gnuradio-osmosdr = throw "'gnuradio-osmosdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.osmosdr'"; # Converted to throw 2023-09-10
+  gnuradio-rds = throw "'gnuradio-rds' has been renamed to/replaced by 'gnuradio3_7.pkgs.rds'"; # Converted to throw 2023-09-10
   gnustep-make = throw "'gnustep-make' has been renamed to/replaced by 'gnustep.make'"; # Converted to throw 2022-02-22
   gnuvd = throw "gnuvd was removed because the backend service is missing"; # Added 2020-01-14
   gobby5 = gobby; # Added 2021-02-01
@@ -669,7 +670,7 @@ mapAliases ({
   gometalinter = throw "gometalinter was abandoned by upstream. Consider switching to golangci-lint instead"; # Added 2020-04-23
   googleAuthenticator = throw "'googleAuthenticator' has been renamed to/replaced by 'google-authenticator'"; # Converted to throw 2022-02-22
   googleearth = throw "the non-pro version of Google Earth was removed because it was discontinued and downloading it isn't possible anymore"; # Added 2022-01-22
-  google-gflags = gflags; # Added 2019-07-25
+  google-gflags = throw "'google-gflags' has been renamed to/replaced by 'gflags'"; # Converted to throw 2023-09-10
   google-musicmanager = throw "google-musicmanager has been removed because Google Play Music was discontinued"; # Added 2021-03-07
   google-music-scripts = throw "google-music-scripts has been removed because Google Play Music was discontinued"; # Added 2021-03-07
   gosca = throw "gosca has been dropped due to the lack of maintenance from upstream since 2018"; # Added 2022-06-30
@@ -691,16 +692,16 @@ mapAliases ({
   gradle_4 = throw "gradle_4 has been removed because it's no longer being updated"; # Added 2023-01-17
   gradle_5 = throw "gradle_5 has been removed because it's no longer being updated"; # Added 2023-01-17
   grafana-mimir = throw "'grafana-mimir' has been renamed to/replaced by 'mimir'"; # Added 2022-06-07
-  gr-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16
+  gr-ais = throw "'gr-ais' has been renamed to/replaced by 'gnuradio3_7.pkgs.ais'"; # Converted to throw 2023-09-10
   grantlee5 = throw "'grantlee5' has been renamed to/replaced by 'libsForQt5.grantlee'"; # Converted to throw 2022-02-22
   graylog = throw "graylog is now available in versions 3.3 up to 5.0. Please mind the upgrade path and choose the appropriate version. Direct upgrading from 3.3 to 4.3 or above is not supported"; # Added 2023-04-24
-  gr-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16
+  gr-gsm = throw "'gr-gsm' has been renamed to/replaced by 'gnuradio3_7.pkgs.gsm'"; # Converted to throw 2023-09-10
   grib-api = throw "grib-api has been replaced by ecCodes => https://confluence.ecmwf.int/display/ECC/GRIB-API+migration"; # Added 2022-01-05
   gringo = clingo; # added 2022-11-27
-  gr-limesdr = gnuradio3_7.pkgs.limesdr; # Added 2019-05-27, changed 2020-10-16
-  gr-nacl = gnuradio3_7.pkgs.nacl; # Added 2019-05-27, changed 2020-10-16
-  gr-osmosdr = gnuradio3_7.pkgs.osmosdr; # Added 2019-05-27, changed 2020-10-16
-  gr-rds = gnuradio3_7.pkgs.rds; # Added 2019-05-27, changed 2020-10-16
+  gr-limesdr = throw "'gr-limesdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.limesdr'"; # Converted to throw 2023-09-10
+  gr-nacl = throw "'gr-nacl' has been renamed to/replaced by 'gnuradio3_7.pkgs.nacl'"; # Converted to throw 2023-09-10
+  gr-osmosdr = throw "'gr-osmosdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.osmosdr'"; # Converted to throw 2023-09-10
+  gr-rds = throw "'gr-rds' has been renamed to/replaced by 'gnuradio3_7.pkgs.rds'"; # Converted to throw 2023-09-10
   grub2_full = grub2; # Added 2022-11-18
   grub = throw "grub1 was removed after not being maintained upstream for a decade. Please switch to another bootloader"; # Added 2023-04-11
   grv = throw "grv has been dropped due to the lack of maintenance from upstream since 2019"; # Added 2022-06-01
@@ -736,7 +737,7 @@ mapAliases ({
   heartbeat6 = throw "heartbeat6 has been removed because it reached end of life"; # Added 2022-10-04
   heimdalFull = throw "'heimdalFull' has been renamed to/replaced by 'heimdal'"; # Converted to throw 2022-02-22
   heme = throw "heme has been removed: upstream is gone"; # added 2022-02-06
-  hepmc = hepmc2; # Added 2019-08-05
+  hepmc = throw "'hepmc' has been renamed to/replaced by 'hepmc2'"; # Converted to throw 2023-09-10
   hicolor_icon_theme = throw "'hicolor_icon_theme' has been renamed to/replaced by 'hicolor-icon-theme'"; # Converted to throw 2022-02-22
   holdingnuts = throw "holdingnuts was removed from nixpkgs, as the project is no longer developed"; # Added 2022-05-10
   holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
@@ -756,8 +757,8 @@ mapAliases ({
   ibus-qt = throw "ibus-qt has been removed, because it depended on qt4"; # Added 2022-06-09
   ical2org = throw "ical2org has been dropped due to the lack of maintanence from upstream since 2018"; # Added 2022-06-02
   icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream"; # Added 2022-02-15
-  icedtea8_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
-  icedtea_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
+  icedtea8_web = throw "'icedtea8_web' has been renamed to/replaced by 'adoptopenjdk-icedtea-web'"; # Converted to throw 2023-09-10
+  icedtea_web = throw "'icedtea_web' has been renamed to/replaced by 'adoptopenjdk-icedtea-web'"; # Converted to throw 2023-09-10
   icu59 = throw "icu59 has been removed, use a more recent version instead"; # Added 2022-05-14
   icu65 = throw "icu65 has been removed, use a more recent version instead"; # Added 2022-05-14
   idea = throw "'idea' has been renamed to/replaced by 'jetbrains'"; # Converted to throw 2022-02-22
@@ -774,7 +775,7 @@ mapAliases ({
   i-score = throw "i-score has been removed: abandoned upstream"; # Added 2020-11-21
   inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped";
   index-fm = libsForQt5.mauiPackages.index; # added 2022-05-17
-  infiniband-diags = rdma-core; # Added 2019-08-09
+  infiniband-diags = throw "'infiniband-diags' has been renamed to/replaced by 'rdma-core'"; # Converted to throw 2023-09-10
   ino = throw "ino has been removed from nixpkgs, the project is stuck on python2 and upstream has archived the project"; # Added 2022-01-12
   inotifyTools = inotify-tools;
   intecture-agent = throw "intecture-agent has been removed, because it was no longer maintained upstream"; # added 2021-12-15
@@ -853,7 +854,7 @@ mapAliases ({
   kfctl = throw "kfctl is broken and has been archived by upstream" ; # Added 2023-08-21
   kgx = gnome-console; # Added 2022-02-19
   kibana7-oss = throw "kibana7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # Added 2021-06-09
-  kicad-with-packages3d = kicad; # Added 2019-11-25
+  kicad-with-packages3d = throw "'kicad-with-packages3d' has been renamed to/replaced by 'kicad'"; # Converted to throw 2023-09-10
   kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download"; # Added 2021-03-09
   kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned"; # Added 2020-04-28
   kino = throw "kino has been removed because it was broken and abandoned"; # Added 2021-04-25
@@ -895,7 +896,7 @@ mapAliases ({
   libcanberra_gtk2 = throw "'libcanberra_gtk2' has been renamed to/replaced by 'libcanberra-gtk2'"; # Converted to throw 2022-02-22
   libcanberra_gtk3 = throw "'libcanberra_gtk3' has been renamed to/replaced by 'libcanberra-gtk3'"; # Converted to throw 2022-02-22
   libcap_manpages = throw "'libcap_manpages' has been renamed to/replaced by 'libcap.doc'"; # Converted to throw 2022-02-22
-  libcap_pam = if stdenv.isLinux then libcap.pam else null; # Added 2016-04-29
+  libcap_pam = throw "'libcap_pam' has been replaced with 'libcap'"; # Converted to throw 2023-09-10
   libcap_progs = throw "'libcap_progs' has been renamed to/replaced by 'libcap.out'"; # Converted to throw 2022-02-22
   libco-canonical = throw "libco-canonical: Canonical deleted the repo, libco-canonical is not used anymore"; # Added 2021-05-16
   libcroco = throw "libcroco has been removed as it's no longer used in any derivations"; # Added 2020-03-04
@@ -914,7 +915,7 @@ mapAliases ({
   libgroove = throw "libgroove has been removed, because it depends on an outdated and insecure version of ffmpeg"; # Added 2022-01-21
   libgumbo = throw "'libgumbo' has been renamed to/replaced by 'gumbo'"; # Converted to throw 2022-02-22
   libheimdal = heimdal; # Added 2022-11-18
-  libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # Added 2018-03-14
+  libintlOrEmpty = throw "'libintlOrEmpty' has been replaced by gettext"; # Converted to throw 2023-09-10
   libixp_hg = libixp;
   libjpeg_drop = libjpeg_original; # Added 2020-06-05
   libjreen = throw "libjreen has been removed, because it did not support a recent version of qt5"; # Added 2022-06-12
@@ -1087,6 +1088,7 @@ mapAliases ({
   mariadb_109 = throw "mariadb_109 has been removed from nixpkgs, please switch to another version like mariadb_1010"; # Added 2022-05-10
   mariadb-client = hiPrio mariadb.client; #added 2019.07.28
   markdown-pp = throw "markdown-pp was removed from nixpkgs, because the upstream archived it on 2021-09-02"; # Added 2023-07-22
+  markmind = throw "markmind has been removed from nixpkgs, because it depended on an old version of electron"; # Added 2023-09-12
   marp = throw "marp has been removed from nixpkgs, as it's unmaintained and has security issues"; # Added 2022-06-04
   matcha = throw "matcha was renamed to matcha-gtk-theme"; # added 2020-05-09
   mathics = throw "mathics has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
@@ -1101,7 +1103,7 @@ mapAliases ({
   memtest86 = throw "'memtest86' has been renamed to/replaced by 'memtest86plus'"; # Converted to throw 2022-02-22
   mercurial_4 = throw "mercurial_4 has been removed as it's unmaintained"; # Added 2021-10-18
   mesos = throw "mesos has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
-  mess = mame; # Added 2019-10-30
+  mess = throw "'mess' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
   metal = throw "metal has been removed due to lack of maintainers";
   metricbeat6 = throw "metricbeat6 has been removed because it reached end of life"; # Added 2022-10-04
   microsoft_gsl = microsoft-gsl; # Added 2023-05-26
@@ -1135,8 +1137,8 @@ mapAliases ({
 
   morituri = throw "'morituri' has been renamed to/replaced by 'whipper'"; # Converted to throw 2022-02-22
   moz-phab = mozphab; # Added 2022-08-09
-  mozart-binary = mozart2-binary; # Added 2019-09-23
-  mozart = mozart2-binary; # Added 2019-09-23
+  mozart-binary = throw "'mozart-binary' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10
+  mozart = throw "'mozart' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10
   mpc_cli = mpc-cli; # moved from top-level 2022-01-24
   mpd_clientlib = libmpdclient; # Added 2021-02-11
   mpich2 = throw "'mpich2' has been renamed to/replaced by 'mpich'"; # Converted to throw 2022-02-22
@@ -1144,8 +1146,8 @@ mapAliases ({
   mqtt-bench = throw "mqtt-bench has been dropped due to the lack of maintenance from upstream since 2017"; # Added 2022-06-02
   msf = throw "'msf' has been renamed to/replaced by 'metasploit'"; # Converted to throw 2022-02-22
   multimc = throw "multimc was removed from nixpkgs; use prismlauncher instead (see https://github.com/NixOS/nixpkgs/pull/154051 for more information)"; # Added 2022-01-08
-  mumble_git = pkgs.mumble; # Added 2019-08-01
-  murmur_git = pkgs.murmur; # Added 2019-08-01
+  mumble_git = throw "'mumble_git' has been renamed to/replaced by 'pkgs.mumble'"; # Converted to throw 2023-09-10
+  murmur_git = throw "'murmur_git' has been renamed to/replaced by 'pkgs.murmur'"; # Converted to throw 2023-09-10
   mutt-with-sidebar = mutt; # Added 2022-09-17
   mysql-client = hiPrio mariadb.client;
   mysql = mariadb; # moved from top-level 2021-03-14
@@ -1175,7 +1177,7 @@ mapAliases ({
   nccl_cudatoolkit_10 = throw "nccl_cudatoolkit_10 has been renamed to cudaPackages_10.nccl"; # Added 2022-04-04
   nccl_cudatoolkit_11 = throw "nccl_cudatoolkit_11 has been renamed to cudaPackages_11.nccl"; # Added 2022-04-04
 
-  net_snmp = net-snmp; # Added 2019-12-21
+  net_snmp = throw "'net_snmp' has been renamed to/replaced by 'net-snmp'"; # Converted to throw 2023-09-10
   nagiosPluginsOfficial = monitoring-plugins;
   navit = throw "navit has been removed from nixpkgs, due to being unmaintained"; # Added 2021-06-07
   ncat = throw "'ncat' has been renamed to/replaced by 'nmap'"; # Converted to throw 2022-02-22
@@ -1196,7 +1198,7 @@ mapAliases ({
   nilfs_utils = throw "'nilfs_utils' has been renamed to/replaced by 'nilfs-utils'"; # Converted to throw 2022-02-22
   nitrokey-udev-rules = libnitrokey; # Added 2023-03-25
   nix-direnv-flakes = nix-direnv;
-  nix-review = nixpkgs-review; # Added 2019-12-22
+  nix-review = throw "'nix-review' has been renamed to/replaced by 'nixpkgs-review'"; # Converted to throw 2023-09-10
   nixFlakes = nixVersions.stable; # Added 2021-05-21
   nixStable = nixVersions.stable; # Added 2022-01-24
   nixUnstable = nixVersions.unstable; # Added 2022-01-26
@@ -1227,6 +1229,7 @@ mapAliases ({
   nomad_1_3 = throw "nomad_1_3 has been removed because it's outdated. Use a a newer version instead"; # Added 2023-09-02
   nordic-polar = throw "nordic-polar was removed on 2021-05-27, now integrated in nordic"; # Added 2021-05-27
   noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16
+  noto-fonts-emoji = noto-fonts-color-emoji; # Added 2023-09-09
   noto-fonts-extra = noto-fonts; # Added 2023-04-08
   nottetris2 = throw "nottetris2 was removed because it is unmaintained by upstream and broken"; # Added 2022-01-15
   now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # Added 2021-08-05
@@ -1399,7 +1402,7 @@ mapAliases ({
   pipewire-media-session = throw "pipewire-media-session is no longer maintained and has been removed. Please use Wireplumber instead.";
   piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22
   pixie = throw "pixie has been removed: abandoned by upstream"; # Added 2022-04-21
-  pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18
+  pkgconfig = throw "'pkgconfig' has been renamed to/replaced by 'pkg-config'"; # Converted to throw 2023-09-10
   pkgconfigUpstream = throw "'pkgconfigUpstream' has been renamed to/replaced by 'pkg-configUpstream'"; # Converted to throw 2022-02-22
   pleroma-otp = pleroma; # Added 2021-07-10
   plexpy = throw "'plexpy' has been renamed to/replaced by 'tautulli'"; # Converted to throw 2022-02-22
@@ -1410,6 +1413,7 @@ mapAliases ({
   polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
   polymc = throw "PolyMC has been removed from nixpkgs due to a hostile takeover by a rogue maintainer. The rest of the maintainers have made a fork which is packaged as 'prismlauncher'"; # Added 2022-10-18
   polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
+  pomotroid = throw "pomotroid has been removed from nixpkgs, because it depended on an insecure version of electron"; # Added 2023-09-12
   pond = throw "pond has been dropped due to the lack of maintenance from upstream since 2016"; # Added 2022-06-02
   poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
   powerdns = pdns; # Added 2022-03-28
@@ -1438,16 +1442,16 @@ mapAliases ({
   tlauncher = throw "tlauncher has been removed because there questionable practices and legality concerns";
   tsearch_extras = postgresqlPackages.tsearch_extras;
 
-  pinentry_curses = pinentry-curses; # Added 2019-10-14
-  pinentry_emacs = pinentry-emacs; # Added 2019-10-14
-  pinentry_gnome = pinentry-gnome; # Added 2019-10-14
-  pinentry_gtk2 = pinentry-gtk2; # Added 2019-10-14
-  pinentry_qt = pinentry-qt; # Added 2019-10-14
+  pinentry_curses = throw "'pinentry_curses' has been renamed to/replaced by 'pinentry-curses'"; # Converted to throw 2023-09-10
+  pinentry_emacs = throw "'pinentry_emacs' has been renamed to/replaced by 'pinentry-emacs'"; # Converted to throw 2023-09-10
+  pinentry_gnome = throw "'pinentry_gnome' has been renamed to/replaced by 'pinentry-gnome'"; # Converted to throw 2023-09-10
+  pinentry_gtk2 = throw "'pinentry_gtk2' has been renamed to/replaced by 'pinentry-gtk2'"; # Converted to throw 2023-09-10
+  pinentry_qt = throw "'pinentry_qt' has been renamed to/replaced by 'pinentry-qt'"; # Converted to throw 2023-09-10
   pinentry_qt5 = pinentry-qt; # Added 2020-02-11
   prboom = throw "prboom was removed because it was abandoned by upstream, use prboom-plus instead"; # Added 2022-04-24
   privateer = throw "privateer was removed because it was broken"; # Added 2021-05-18
   probe-rs-cli = throw "probe-rs-cli is now part of the probe-rs package"; # Added 2023-07-03
-  processing3 = processing; # Added 2019-08-16
+  processing3 = throw "'processing3' has been renamed to/replaced by 'processing'"; # Converted to throw 2023-09-10
   procps-ng = throw "'procps-ng' has been renamed to/replaced by 'procps'"; # Converted to throw 2022-02-22
   proglodyte-wasm = throw "proglodyte-wasm has been removed from nixpkgs, because it is unmaintained since 5 years with zero github stars"; # Added 2021-06-30
   proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead"; # Added 2021-04-12
@@ -1477,7 +1481,7 @@ mapAliases ({
   pybind11 = throw "pybind11 was removed because pythonPackages.pybind11 for the appropriate version of Python should be used"; # Added 2021-05-14
   pybitmessage = throw "pybitmessage was removed from nixpkgs as it is stuck on python2"; # Added 2022-01-01
   pyext = throw "pyext was removed because it does not support python 3.11, is upstream unmaintained and was unused"; # Added 2022-11-21
-  pygmentex = texlive.bin.pygmentex; # Added 2019-12-15
+  pygmentex = throw "'pygmentex' has been renamed to/replaced by 'texlive.bin.pygmentex'"; # Converted to throw 2023-09-10
   pyload = throw "pyload has been removed from nixpkgs. Use pyload-ng instead."; # Added 2021-03-21
   pynagsystemd = throw "pynagsystemd was removed as it was unmaintained and incompatible with recent systemd versions. Instead use its fork check_systemd"; # Added 2020-10-24
   pyo3-pack = maturin;
@@ -1614,7 +1618,7 @@ mapAliases ({
   scribusUnstable = throw "'scribusUnstable' has been renamed to 'scribus'"; # Added 2022-05-13
   scrollkeeper = throw "'scrollkeeper' has been removed due to deprecated LibXML2 headers"; # Added 2022-11-08
   scyther = throw "scyther has been removed since it currently only supports Python 2, see https://github.com/cascremers/scyther/issues/20"; # Added 2021-10-07
-  sdlmame = mame; # Added 2019-10-30
+  sdlmame = throw "'sdlmame' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
   seeks = throw "seeks has been removed from nixpkgs, as it was unmaintained"; # Added 2020-06-21
   sepolgen = throw "sepolgen was merged into selinux-python"; # Added 2021-11-11
   session-desktop-appimage = session-desktop;
@@ -1700,7 +1704,7 @@ mapAliases ({
   sqlite-replication = throw "'sqlite-replication' has been removed since it is no longer required by lxd and is not maintained."; # throw 2022-12-26
   sqliteInteractive = throw "'sqliteInteractive' has been renamed to/replaced by 'sqlite-interactive'"; # Converted to throw 2022-02-22
   sqliteman = throw "sqliteman has been removed, because it was unmaintained"; # Added 2022-05-26
-  squid4 = squid;  # added 2019-08-22
+  squid4 = throw "'squid4' has been renamed to/replaced by 'squid'"; # Converted to throw 2023-09-10
   srcml = throw "'srcml' has been removed: abandoned by upstream"; # Added 2022-07-21
   sshfsFuse = throw "'sshfsFuse' has been renamed to/replaced by 'sshfs-fuse'"; # Converted to throw 2022-02-22
   ssmtp = throw "'ssmtp' has been removed due to the software being unmaintained. 'msmtp' can be used as a replacement"; # Added 2022-04-17
@@ -1831,13 +1835,13 @@ mapAliases ({
   urxvt_theme_switch = rxvt-unicode-plugins.theme-switch; # Added 2020-02-02
   urxvt_vtwheel = rxvt-unicode-plugins.vtwheel; # Added 2020-02-02
   usb_modeswitch = throw "'usb_modeswitch' has been renamed to/replaced by 'usb-modeswitch'"; # Converted to throw 2022-02-22
-  usbguard-nox = usbguard; # Added 2019-09-04
+  usbguard-nox = throw "'usbguard-nox' has been renamed to/replaced by 'usbguard'"; # Converted to throw 2023-09-10
   util-linuxCurses = util-linux; # Added 2022-04-12
   utillinux = util-linux; # Added 2020-11-24
 
   ### V ###
 
-  v4l_utils = v4l-utils; # Added 2019-08-07
+  v4l_utils = throw "'v4l_utils' has been renamed to/replaced by 'v4l-utils'"; # Converted to throw 2023-09-10
   valkyrie = throw "valkyrie was removed from nixpkgs, because it is unmaintained upstream"; # Added 2022-05-10
   vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
   vaapiIntel = intel-vaapi-driver; # Added 2023-05-31
@@ -1858,8 +1862,8 @@ mapAliases ({
   vimbWrapper = throw "'vimbWrapper' has been renamed to/replaced by 'vimb'"; # Converted to throw 2022-02-22
   virtinst = throw "virtinst has been removed, as it's included in virt-manager"; # Added 2021-07-21
   virtuoso = throw "virtuoso has been removed, because it was unmaintained in nixpkgs"; # added 2021-12-15
-  virtmanager = virt-manager; # Added 2019-10-29
-  virtmanager-qt = virt-manager-qt; # Added 2019-10-29
+  virtmanager = throw "'virtmanager' has been renamed to/replaced by 'virt-manager'"; # Converted to throw 2023-09-10
+  virtmanager-qt = throw "'virtmanager-qt' has been renamed to/replaced by 'virt-manager-qt'"; # Converted to throw 2023-09-10
   virtviewer = throw "'virtviewer' has been renamed to/replaced by 'virt-viewer'"; # Converted to throw 2022-02-22
   vivaldi-widevine = throw "'vivaldi-widevine' has been renamed to/replaced by 'widevine-cdm'"; # Added 2023-02-25
   vkBasalt = vkbasalt; # Added 2022-11-22
@@ -1995,8 +1999,7 @@ mapAliases ({
     https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500
   ''; # Added 2020-08-17
 
-  # Added 2019-09-06
-  zeroc_ice = pkgs.zeroc-ice;
+  zeroc_ice = throw "'zeroc_ice' has been renamed to/replaced by 'zeroc-ice'"; # Converted to throw 2023-09-10
 
   # Added 2020-06-22
   zeromq3 = throw "zeromq3 has been deprecated by zeromq4";
@@ -2006,7 +2009,7 @@ mapAliases ({
   dina-font-pcf = dina-font; # Added 2020-02-09
   dnscrypt-proxy2 = dnscrypt-proxy; # Added 2023-02-02
   gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7";
-  gnatsd = nats-server; # Added 2019-10-28
+  gnatsd = throw "'gnatsd' has been renamed to/replaced by 'nats-server'"; # Converted to throw 2023-09-10
 
   obs-gstreamer = throw ''
     obs-gstreamer has been converted into a plugin for use with wrapOBS.
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1c0c457764e..8daf93956be 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1919,6 +1919,8 @@ with pkgs;
 
   mymcplus = python3Packages.callPackage ../tools/games/mymcplus { };
 
+  near-cli = callPackage ../tools/misc/near-cli { };
+
   networkd-notify = python3Packages.callPackage ../tools/networking/networkd-notify {
     systemd = pkgs.systemd;
   };
@@ -11552,6 +11554,8 @@ with pkgs;
 
   open-ecard = callPackage ../tools/security/open-ecard { };
 
+  open-interpreter = callPackage ../tools/llm/open-interpreter { };
+
   openjade = callPackage ../tools/text/sgml/openjade { };
 
   openhantek6022 = libsForQt5.callPackage ../applications/science/electronics/openhantek6022 { };
@@ -18681,7 +18685,6 @@ with pkgs;
 
   inherit (callPackages ../development/tools/electron/binary { })
     electron-bin
-    electron_9-bin
     electron_10-bin
     electron_11-bin
     electron_12-bin
@@ -18701,7 +18704,6 @@ with pkgs;
     electron_26-bin;
 
   electron = electron-bin;
-  electron_9 = electron_9-bin;
   electron_10 = electron_10-bin;
   electron_11 = electron_11-bin;
   electron_12 = electron_12-bin;
@@ -29940,8 +29942,10 @@ with pkgs;
     noto-fonts-lgc-plus
     noto-fonts-cjk-sans
     noto-fonts-cjk-serif
-    noto-fonts-emoji
-    noto-fonts-emoji-blob-bin;
+    noto-fonts-color-emoji
+    noto-fonts-emoji-blob-bin
+    noto-fonts-monochrome-emoji
+    ;
 
   nuclear = callPackage ../applications/audio/nuclear { };
 
@@ -31391,6 +31395,8 @@ with pkgs;
   docker-buildx = callPackage ../applications/virtualization/docker/buildx.nix { };
   docker-compose = callPackage ../applications/virtualization/docker/compose.nix { };
   docker-compose_1 = python3Packages.callPackage ../applications/virtualization/docker/compose_1.nix { };
+  docker-sbom = callPackage ../applications/virtualization/docker/sbom.nix { };
+
 
   amazon-ecr-credential-helper = callPackage ../tools/admin/amazon-ecr-credential-helper { };
 
@@ -33796,10 +33802,6 @@ with pkgs;
 
   markets = callPackage ../applications/misc/markets { };
 
-  markmind = callPackage ../applications/misc/markmind {
-    electron = electron_9;
-  };
-
   markscribe = callPackage ../tools/text/markscribe { };
 
   magnetico = callPackage ../applications/networking/p2p/magnetico { };
@@ -35019,10 +35021,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Foundation;
   };
 
-  pomotroid = callPackage ../applications/misc/pomotroid {
-    electron = electron_9;
-  };
-
   ponymix = callPackage ../applications/audio/ponymix { };
 
   pop-launcher = callPackage ../applications/misc/pop-launcher { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5cffc30590b..e9ca5d7f3c6 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6198,6 +6198,8 @@ self: super: with self; {
 
   lit = callPackage ../development/python-modules/lit { };
 
+  litellm = callPackage ../development/python-modules/litellm { };
+
   litemapy = callPackage ../development/python-modules/litemapy { };
 
   littleutils = callPackage ../development/python-modules/littleutils { };
@@ -12957,6 +12959,8 @@ self: super: with self; {
 
   tokenlib = callPackage ../development/python-modules/tokenlib { };
 
+  tokentrim = callPackage ../development/python-modules/tokentrim { };
+
   tololib = callPackage ../development/python-modules/tololib { };
 
   toml = callPackage ../development/python-modules/toml { };
@@ -13604,6 +13608,8 @@ self: super: with self; {
 
   veryprettytable = callPackage ../development/python-modules/veryprettytable { };
 
+  vg = callPackage ../development/python-modules/vg { };
+
   videocr = callPackage ../development/python-modules/videocr { };
 
   vidstab = callPackage ../development/python-modules/vidstab { };