summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/nim.section.md1
-rw-r--r--lib/licenses.nix5
-rw-r--r--lib/systems/default.nix33
-rw-r--r--lib/tests/release.nix3
-rw-r--r--lib/tests/systems.nix61
-rw-r--r--maintainers/maintainer-list.nix52
-rw-r--r--maintainers/team-list.nix8
-rw-r--r--nixos/lib/test-driver/test_driver/machine.py4
-rw-r--r--nixos/modules/programs/cfs-zen-tweaks.nix8
-rw-r--r--nixos/modules/programs/nix-ld.nix18
-rw-r--r--nixos/modules/services/web-apps/lemmy.nix37
-rw-r--r--nixos/modules/services/x11/desktop-managers/cinnamon.nix6
-rw-r--r--nixos/tests/nix-ld.nix3
-rw-r--r--nixos/tests/systemd-initrd-vconsole.nix17
-rw-r--r--pkgs/applications/audio/faust/faust2sc.nix8
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix4
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix193
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/emacs2nix.nix4
-rwxr-xr-xpkgs/applications/editors/kakoune/plugins/update.py5
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix4
-rw-r--r--pkgs/applications/editors/xed-editor/default.nix4
-rw-r--r--pkgs/applications/file-managers/browsr/default.nix1
-rw-r--r--pkgs/applications/misc/1password-gui/linux.nix8
-rw-r--r--pkgs/applications/misc/klayout/default.nix4
-rw-r--r--pkgs/applications/misc/mkgmap/default.nix4
-rw-r--r--pkgs/applications/misc/whalebird/default.nix30
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json10
-rw-r--r--pkgs/applications/networking/cluster/kfilt/default.nix31
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json40
-rw-r--r--pkgs/applications/office/zim/default.nix14
-rw-r--r--pkgs/applications/science/math/calc/default.nix8
-rw-r--r--pkgs/applications/video/hypnotix/default.nix4
-rw-r--r--pkgs/data/themes/flat-remix-gnome/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-common/default.nix5
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-common/libdir.patch1
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-control-center/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-desktop/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-menus/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-session/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix5
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-settings-daemon/use-sane-install-dir.patch27
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-translations/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cjs/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/folder-color-switcher/default.nix22
-rw-r--r--pkgs/desktops/cinnamon/mint-artwork/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/mint-themes/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/mint-x-icons/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/mint-y-icons/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/muffin/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/nemo-extensions/nemo-emblems/default.nix12
-rw-r--r--pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix12
-rw-r--r--pkgs/desktops/cinnamon/nemo-extensions/nemo-python/default.nix12
-rw-r--r--pkgs/desktops/cinnamon/nemo-extensions/srcs.nix15
-rw-r--r--pkgs/desktops/cinnamon/nemo/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/pix/default.nix103
-rw-r--r--pkgs/desktops/cinnamon/xapp/default.nix14
-rw-r--r--pkgs/desktops/cinnamon/xreader/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/xviewer/default.nix4
-rw-r--r--pkgs/development/compilers/opensmalltalk-vm/default.nix184
-rw-r--r--pkgs/development/compilers/p4c/default.nix4
-rw-r--r--pkgs/development/coq-modules/itauto/default.nix13
-rw-r--r--pkgs/development/coq-modules/itauto/test.nix27
-rw-r--r--pkgs/development/coq-modules/reglang/default.nix3
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix4
-rw-r--r--pkgs/development/libraries/capstone/default.nix24
-rw-r--r--pkgs/development/libraries/hunspell/dictionaries.nix10
-rw-r--r--pkgs/development/libraries/libraspberrypi/default.nix12
-rw-r--r--pkgs/development/libraries/libsciter/default.nix3
-rw-r--r--pkgs/development/libraries/libuv/default.nix14
-rw-r--r--pkgs/development/libraries/libvgm/default.nix6
-rw-r--r--pkgs/development/libraries/oneDNN/default.nix2
-rw-r--r--pkgs/development/libraries/science/astronomy/libxisf/0001-Fix-pkg-config-paths.patch23
-rw-r--r--pkgs/development/libraries/science/astronomy/libxisf/default.nix8
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix11
-rw-r--r--pkgs/development/nim-packages/asciigraph/default.nix1
-rw-r--r--pkgs/development/nim-packages/base32/default.nix1
-rw-r--r--pkgs/development/nim-packages/base45/default.nix1
-rw-r--r--pkgs/development/nim-packages/build-nim-package/default.nix3
-rw-r--r--pkgs/development/nim-packages/bumpy/default.nix1
-rw-r--r--pkgs/development/nim-packages/cbor/default.nix1
-rw-r--r--pkgs/development/nim-packages/flatty/default.nix1
-rw-r--r--pkgs/development/nim-packages/freedesktop_org/default.nix2
-rw-r--r--pkgs/development/nim-packages/getdns/default.nix1
-rw-r--r--pkgs/development/nim-packages/hts-nim/default.nix1
-rw-r--r--pkgs/development/nim-packages/illwillwidgets/default.nix5
-rw-r--r--pkgs/development/nim-packages/jsony/default.nix1
-rw-r--r--pkgs/development/nim-packages/nimSHA2/default.nix1
-rw-r--r--pkgs/development/nim-packages/nimraylib-now/default.nix6
-rw-r--r--pkgs/development/nim-packages/npeg/default.nix1
-rw-r--r--pkgs/development/nim-packages/parsetoml/default.nix1
-rw-r--r--pkgs/development/nim-packages/pixie/default.nix1
-rw-r--r--pkgs/development/nim-packages/safeset/default.nix1
-rw-r--r--pkgs/development/nim-packages/sdl2/default.nix1
-rw-r--r--pkgs/development/nim-packages/snappy/config.patch7
-rw-r--r--pkgs/development/nim-packages/snappy/default.nix6
-rw-r--r--pkgs/development/nim-packages/spry/default.nix1
-rw-r--r--pkgs/development/nim-packages/spryvm/default.nix1
-rw-r--r--pkgs/development/nim-packages/syndicate/default.nix1
-rw-r--r--pkgs/development/nim-packages/tkrzw/default.nix1
-rw-r--r--pkgs/development/nim-packages/ui/default.nix1
-rw-r--r--pkgs/development/nim-packages/x11/default.nix2
-rw-r--r--pkgs/development/nim-packages/zippy/default.nix2
-rw-r--r--pkgs/development/node-packages/aliases.nix1
-rw-r--r--pkgs/development/node-packages/node-packages.json1
-rw-r--r--pkgs/development/node-packages/node-packages.nix50
-rw-r--r--pkgs/development/ocaml-modules/cohttp/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/github/unix.nix4
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/art/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-securitycenter/default.nix4
-rw-r--r--pkgs/development/python-modules/gudhi/default.nix4
-rw-r--r--pkgs/development/python-modules/gudhi/remove_explicit_PYTHONPATH.patch195
-rw-r--r--pkgs/development/python-modules/hcloud/default.nix4
-rw-r--r--pkgs/development/python-modules/httpx-socks/default.nix15
-rw-r--r--pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix4
-rw-r--r--pkgs/development/python-modules/logical-unification/default.nix6
-rw-r--r--pkgs/development/python-modules/oci/default.nix4
-rw-r--r--pkgs/development/python-modules/openhomedevice/default.nix20
-rw-r--r--pkgs/development/python-modules/pycm/default.nix4
-rw-r--r--pkgs/development/python-modules/pymupdf/default.nix4
-rw-r--r--pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--pkgs/development/python-modules/python-lsp-black/default.nix6
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/regenmaschine/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/tiny-proxy/default.nix45
-rw-r--r--pkgs/development/python-modules/west/default.nix4
-rw-r--r--pkgs/development/python-modules/xmodem/default.nix6
-rw-r--r--pkgs/development/python-modules/yaramod/default.nix4
-rw-r--r--pkgs/development/python-modules/z3c-checkversions/default.nix4
-rw-r--r--pkgs/development/tools/database/surrealdb-migrations/Cargo.lock2
-rw-r--r--pkgs/development/tools/database/surrealdb-migrations/default.nix4
-rw-r--r--pkgs/development/tools/electron/binary/default.nix68
-rw-r--r--pkgs/development/tools/language-servers/nixd/default.nix81
-rw-r--r--pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix38
-rw-r--r--pkgs/development/tools/misc/dart-sass/default.nix27
-rw-r--r--pkgs/development/tools/misc/dart-sass/pubspec.lock172
-rw-r--r--pkgs/development/tools/misc/nimlsp/default.nix2
-rw-r--r--pkgs/development/tools/misc/sqitch/default.nix2
-rw-r--r--pkgs/development/tools/refmt/default.nix22
-rw-r--r--pkgs/development/tools/rust/tauri-mobile/default.nix22
-rw-r--r--pkgs/development/web/postman/darwin.nix4
-rw-r--r--pkgs/development/web/postman/default.nix2
-rw-r--r--pkgs/development/web/postman/linux.nix4
-rw-r--r--pkgs/games/r2modman/default.nix113
-rw-r--r--pkgs/misc/documentation-highlighter/default.nix12
-rw-r--r--pkgs/os-specific/linux/cfs-zen-tweaks/default.nix15
-rw-r--r--pkgs/os-specific/linux/hostapd/default.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix4
-rw-r--r--pkgs/os-specific/linux/nix-ld/default.nix4
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix14
-rw-r--r--pkgs/os-specific/linux/sch_cake/default.nix34
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix1
-rw-r--r--pkgs/servers/code-server/build-vscode-nogit.patch18
-rw-r--r--pkgs/servers/code-server/default.nix32
-rw-r--r--pkgs/servers/mail/sympa/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/tools/synadm.nix4
-rwxr-xr-xpkgs/servers/web-apps/lemmy/update.sh8
-rw-r--r--pkgs/tools/admin/netbox2netshot/default.nix40
-rw-r--r--pkgs/tools/audio/mpd-discord-rpc/Cargo.lock180
-rw-r--r--pkgs/tools/audio/mpd-discord-rpc/default.nix4
-rw-r--r--pkgs/tools/filesystems/cryfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/ssdfs-utils/default.nix47
-rwxr-xr-xpkgs/tools/filesystems/ssdfs-utils/update.sh14
-rw-r--r--pkgs/tools/graphics/zbar/default.nix1
-rwxr-xr-xpkgs/tools/inputmethods/fcitx5/update.py2
-rw-r--r--pkgs/tools/misc/fzf/default.nix13
-rw-r--r--pkgs/tools/misc/ondir/default.nix44
-rw-r--r--pkgs/tools/misc/pre-commit/default.nix4
-rw-r--r--pkgs/tools/misc/shopware-cli/default.nix10
-rw-r--r--pkgs/tools/networking/easyrsa/default.nix4
-rw-r--r--pkgs/tools/networking/polygon-cli/default.nix33
-rw-r--r--pkgs/tools/security/age-plugin-tpm/default.nix41
-rw-r--r--pkgs/tools/system/lact/default.nix80
-rw-r--r--pkgs/tools/system/lact/pci-ids.patch10
-rw-r--r--pkgs/tools/system/tree/default.nix6
-rw-r--r--pkgs/tools/text/rare-regex/default.nix4
-rw-r--r--pkgs/tools/virtualization/vpsfree-client/Gemfile2
-rw-r--r--pkgs/tools/virtualization/vpsfree-client/Gemfile.lock77
-rw-r--r--pkgs/tools/virtualization/vpsfree-client/default.nix2
-rw-r--r--pkgs/tools/virtualization/vpsfree-client/gemset.nix169
-rw-r--r--pkgs/top-level/all-packages.nix32
-rw-r--r--pkgs/top-level/linux-kernels.nix3
-rw-r--r--pkgs/top-level/perl-packages.nix15
-rw-r--r--pkgs/top-level/python-packages.nix2
193 files changed, 2273 insertions, 1073 deletions
diff --git a/doc/languages-frameworks/nim.section.md b/doc/languages-frameworks/nim.section.md
index 16ce9c591690d..6b0fb3df03115 100644
--- a/doc/languages-frameworks/nim.section.md
+++ b/doc/languages-frameworks/nim.section.md
@@ -59,7 +59,6 @@ buildNimPackage (finalAttrs: {
     hash = "sha256-Vtcj8goI4zZPQs2TbFoBFlcR5UqDtOldaXSH/+/xULk=";
   };
   propagatedBuildInputs = [ SDL2 ];
-  doCheck = true;
 })
 ```
 
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 1d2565fba6c05..227bf6d0a3f43 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -178,6 +178,11 @@ in mkLicense lset) ({
     fullName = ''BSD 3-clause "New" or "Revised" License'';
   };
 
+  bsd3Clear = {
+    spdxId = "BSD-3-Clause-Clear";
+    fullName = "BSD 3-Clause Clear License";
+  };
+
   bsdOriginal = {
     spdxId = "BSD-4-Clause";
     fullName = ''BSD 4-clause "Original" or "Old" License'';
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index f4784c61c6752..3558ce32fc8cb 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -9,6 +9,39 @@ rec {
   examples = import ./examples.nix { inherit lib; };
   architectures = import ./architectures.nix { inherit lib; };
 
+  /*
+    Elaborated systems contain functions, which means that they don't satisfy
+    `==` for a lack of reflexivity.
+
+    They might *appear* to satisfy `==` reflexivity when the same exact value is
+    compared to itself, because object identity is used as an "optimization";
+    compare the value with a reconstruction of itself, e.g. with `f == a: f a`,
+    or perhaps calling `elaborate` twice, and one will see reflexivity fail as described.
+
+    Hence a custom equality test.
+
+    Note that this does not canonicalize the systems, so you'll want to make sure
+    both arguments have been `elaborate`-d.
+  */
+  equals =
+    let removeFunctions = a: lib.filterAttrs (_: v: !builtins.isFunction v) a;
+    in a: b: removeFunctions a == removeFunctions b;
+
+  /*
+    Try to convert an elaborated system back to a simple string. If not possible,
+    return null. So we have the property:
+
+        sys: _valid_ sys ->
+          sys == elaborate (toLosslessStringMaybe sys)
+
+    NOTE: This property is not guaranteed when `sys` was elaborated by a different
+          version of Nixpkgs.
+  */
+  toLosslessStringMaybe = sys:
+    if lib.isString sys then sys
+    else if equals sys (elaborate sys.system) then sys.system
+    else null;
+
   /* List of all Nix system doubles the nixpkgs flake will expose the package set
      for. All systems listed here must be supported by nixpkgs as `localSystem`.
 
diff --git a/lib/tests/release.nix b/lib/tests/release.nix
index c3bf58db241f8..5bade7112f19e 100644
--- a/lib/tests/release.nix
+++ b/lib/tests/release.nix
@@ -53,6 +53,9 @@ let
       echo "Running lib/tests/sources.sh"
       TEST_LIB=$PWD/lib bash lib/tests/sources.sh
 
+      echo "Running lib/tests/systems.nix"
+      [[ $(nix-instantiate --eval --strict lib/tests/systems.nix | tee /dev/stderr) == '[ ]' ]];
+
       mkdir $out
       echo success > $out/${nix.version}
     '';
diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix
index 2afe128c4208a..862496313e902 100644
--- a/lib/tests/systems.nix
+++ b/lib/tests/systems.nix
@@ -1,10 +1,8 @@
-# We assert that the new algorithmic way of generating these lists matches the
-# way they were hard-coded before.
+# Run:
+# [nixpkgs]$ nix-instantiate --eval --strict lib/tests/systems.nix
+# Expected output: [], or the failed cases
 #
-# One might think "if we exhaustively test, what's the point of procedurally
-# calculating the lists anyway?". The answer is one can mindlessly update these
-# tests as new platforms become supported, and then just give the diff a quick
-# sanity check before committing :).
+# OfBorg runs (approximately) nix-build lib/tests/release.nix
 let
   lib = import ../default.nix;
   mseteq = x: y: {
@@ -12,7 +10,16 @@ let
     expected = lib.sort lib.lessThan y;
   };
 in
-with lib.systems.doubles; lib.runTests {
+lib.runTests (
+# We assert that the new algorithmic way of generating these lists matches the
+# way they were hard-coded before.
+#
+# One might think "if we exhaustively test, what's the point of procedurally
+# calculating the lists anyway?". The answer is one can mindlessly update these
+# tests as new platforms become supported, and then just give the diff a quick
+# sanity check before committing :).
+
+(with lib.systems.doubles; {
   testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded ++ mmix ++ js ++ genode ++ redox);
 
   testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv6l-netbsd" "armv6l-none" "armv7a-linux" "armv7a-netbsd" "armv7l-linux" "armv7l-netbsd" "arm-none" "armv7a-darwin" ];
@@ -39,4 +46,44 @@ with lib.systems.doubles; lib.runTests {
   testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ];
   testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
   testunix = mseteq unix (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ cygwin ++ redox);
+})
+
+// {
+  test_equals_example_x86_64-linux = {
+    expr = lib.systems.equals (lib.systems.elaborate "x86_64-linux") (lib.systems.elaborate "x86_64-linux");
+    expected = true;
+  };
+
+  test_toLosslessStringMaybe_example_x86_64-linux = {
+    expr = lib.systems.toLosslessStringMaybe (lib.systems.elaborate "x86_64-linux");
+    expected = "x86_64-linux";
+  };
+  test_toLosslessStringMaybe_fail = {
+    expr = lib.systems.toLosslessStringMaybe (lib.systems.elaborate "x86_64-linux" // { something = "extra"; });
+    expected = null;
+  };
 }
+
+# Generate test cases to assert that a change in any non-function attribute makes a platform unequal
+// lib.concatMapAttrs (platformAttrName: origValue: {
+
+  ${"test_equals_unequal_${platformAttrName}"} =
+    let modified =
+          assert origValue != arbitraryValue;
+          lib.systems.elaborate "x86_64-linux" // { ${platformAttrName} = arbitraryValue; };
+        arbitraryValue = x: "<<modified>>";
+    in {
+      expr = lib.systems.equals (lib.systems.elaborate "x86_64-linux") modified;
+      expected = {
+        # Changes in these attrs are not detectable because they're function.
+        # The functions should be derived from the data, so this is not a problem.
+        canExecute = null;
+        emulator = null;
+        emulatorAvailable = null;
+        isCompatible = null;
+      }?${platformAttrName};
+    };
+
+}) (lib.systems.elaborate "x86_64-linux" /* arbitrary choice, just to get all the elaborated attrNames */)
+
+)
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 6b088a78d8a79..33a76819b8e98 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3098,6 +3098,15 @@
     githubId = 34317;
     name = "Corey O'Connor";
   };
+  code-asher = {
+    email = "ash@coder.com";
+    github = "code-asher";
+    githubId = 45609798;
+    name = "Asher";
+    keys = [{
+      fingerprint = "6E3A FA6D 915C C2A4 D26F  C53E 7BB4 BA9C 783D 2BBC";
+    }];
+  };
   CodeLongAndProsper90 = {
     github = "CodeLongAndProsper90";
     githubId = 50145141;
@@ -3764,6 +3773,12 @@
       fingerprint = "9B43 6B14 77A8 79C2 6CDB  6604 C171 2510 02C2 00F2";
     }];
   };
+  deemp = {
+    email = "deempleton@gmail.com";
+    github = "deemp";
+    githubId = 48378098;
+    name = "Danila Danko";
+  };
   deepfire = {
     email = "_deepfire@feelingofgreen.ru";
     github = "deepfire";
@@ -8369,6 +8384,12 @@
     githubId = 546087;
     name = "Kristoffer K. Føllesdal";
   };
+  khaser = {
+    email = "a-horohorin@mail.ru";
+    github = "khaser";
+    githubId = 59027018;
+    name = "Andrey Khorokhorin";
+  };
   kho-dialga = {
     email = "ivandashenyou@gmail.com";
     github = "Kho-Dialga";
@@ -9326,6 +9347,12 @@
     githubId = 5624721;
     name = "Ben Wolsieffer";
   };
+  lord-valen = {
+    name = "Lord Valen";
+    matrix = "@lord-valen:matrix.org";
+    github = "Lord-Valen";
+    githubId = 46138807;
+  };
   lorenz = {
     name = "Lorenz Brun";
     email = "lorenz@brun.one";
@@ -10427,6 +10454,12 @@
     github = "michaelBelsanti";
     githubId = 62124625;
   };
+  michaelCTS = {
+    email = "michael.vogel@cts.co";
+    name = "Michael Vogel";
+    github = "michaelCTS";
+    githubId = 132582212;
+  };
   michaelgrahamevans = {
     email = "michaelgrahamevans@gmail.com";
     name = "Michael Evans";
@@ -14025,6 +14058,15 @@
     githubId = 889991;
     name = "Ryan Artecona";
   };
+  ryane = {
+    email = "ryanesc@gmail.com";
+    github = "ryane";
+    githubId = 7346;
+    name = "Ryan Eschinger";
+    keys = [{
+      fingerprint = "E4F4 1EAB BF0F C785 06D8  62EF EF68 CF41 D42A 593D";
+    }];
+  };
   ryanorendorff = {
     github = "ryanorendorff";
     githubId = 12442942;
@@ -17100,6 +17142,16 @@
     github = "wdavidw";
     githubId = 46896;
   };
+  weathercold = {
+    name = "Weathercold";
+    email = "weathercold.scr@gmail.com";
+    matrix = "@weathercold:matrix.org";
+    github = "Weathercold";
+    githubId = 49368953;
+    keys = [{
+      fingerprint = "D20F C904 A145 8B28 53D8  FBA0 0422 0096 01E4 87FC";
+    }];
+  };
   wegank = {
     name = "Weijia Wang";
     email = "contact@weijia.wang";
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 5abb62d85325c..6e699d3398609 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -272,6 +272,14 @@ with lib.maintainers; {
     enableFeatureFreezePing = true;
   };
 
+  flutter = {
+    members = [ gilice mkg20001 RossComputerGuy FlafyDev hacker1024 ];
+    scope = "Maintain Flutter and Dart-related packages and build tools";
+    shortName = "flutter";
+    enableFeatureFreezePing = false;
+    githubTeams = [ "flutter" ];
+  };
+
   freedesktop = {
     members = [ jtojnar ];
     scope = "Maintain Freedesktop.org packages for graphical desktop.";
diff --git a/nixos/lib/test-driver/test_driver/machine.py b/nixos/lib/test-driver/test_driver/machine.py
index ff2cbe4109bcb..81d3e19084ed5 100644
--- a/nixos/lib/test-driver/test_driver/machine.py
+++ b/nixos/lib/test-driver/test_driver/machine.py
@@ -868,7 +868,7 @@ class Machine:
         # to match multiline regexes.
         console = io.StringIO()
 
-        def console_matches() -> bool:
+        def console_matches(_: Any) -> bool:
             nonlocal console
             try:
                 # This will return as soon as possible and
@@ -884,7 +884,7 @@ class Machine:
             if timeout is not None:
                 retry(console_matches, timeout)
             else:
-                while not console_matches():
+                while not console_matches(False):
                     pass
 
     def send_key(
diff --git a/nixos/modules/programs/cfs-zen-tweaks.nix b/nixos/modules/programs/cfs-zen-tweaks.nix
index 97c2570475c4d..fc05bcd11ecbb 100644
--- a/nixos/modules/programs/cfs-zen-tweaks.nix
+++ b/nixos/modules/programs/cfs-zen-tweaks.nix
@@ -23,6 +23,12 @@ in
   config = mkIf cfg.enable {
     systemd.packages = [ pkgs.cfs-zen-tweaks ];
 
-    systemd.services.set-cfs-tweak.wantedBy = [ "multi-user.target" "suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target" ];
+    systemd.services.set-cfs-tweaks.wantedBy = [
+      "multi-user.target"
+      "suspend.target"
+      "hibernate.target"
+      "hybrid-sleep.target"
+      "suspend-then-hibernate.target"
+    ];
   };
 }
diff --git a/nixos/modules/programs/nix-ld.nix b/nixos/modules/programs/nix-ld.nix
index f0c265f0e5a31..d54b3917f89a8 100644
--- a/nixos/modules/programs/nix-ld.nix
+++ b/nixos/modules/programs/nix-ld.nix
@@ -2,15 +2,14 @@
 let
   cfg = config.programs.nix-ld;
 
-  # TODO make glibc here configurable?
-  nix-ld-so = pkgs.runCommand "ld.so" {} ''
-    ln -s "$(cat '${pkgs.stdenv.cc}/nix-support/dynamic-linker')" $out
-  '';
-
   nix-ld-libraries = pkgs.buildEnv {
     name = "lb-library-path";
     pathsToLink = [ "/lib" ];
     paths = map lib.getLib cfg.libraries;
+    # TODO make glibc here configurable?
+    postBuild = ''
+      ln -s ${pkgs.stdenv.cc.bintools.dynamicLinker} $out/share/nix-ld/lib/ld.so
+    '';
     extraPrefix = "/share/nix-ld";
     ignoreCollisions = true;
   };
@@ -38,12 +37,7 @@ in
   meta.maintainers = [ lib.maintainers.mic92 ];
   options.programs.nix-ld = {
     enable = lib.mkEnableOption (lib.mdDoc ''nix-ld, Documentation: <https://github.com/Mic92/nix-ld>'');
-    package = lib.mkOption {
-      type = lib.types.package;
-      description = lib.mdDoc "Which package to use for the nix-ld.";
-      default = pkgs.nix-ld;
-      defaultText = lib.literalExpression "pkgs.nix-ld";
-    };
+    package = lib.mkPackageOptionMD pkgs "nix-ld" { };
     libraries = lib.mkOption {
       type = lib.types.listOf lib.types.package;
       description = lib.mdDoc "Libraries that automatically become available to all programs. The default set includes common libraries.";
@@ -60,7 +54,7 @@ in
     environment.pathsToLink = [ "/share/nix-ld" ];
 
     environment.variables = {
-      NIX_LD = toString nix-ld-so;
+      NIX_LD = "/run/current-system/sw/share/nix-ld/lib/ld.so";
       NIX_LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib";
     };
   };
diff --git a/nixos/modules/services/web-apps/lemmy.nix b/nixos/modules/services/web-apps/lemmy.nix
index 97be4a96f2198..844855d8286c5 100644
--- a/nixos/modules/services/web-apps/lemmy.nix
+++ b/nixos/modules/services/web-apps/lemmy.nix
@@ -16,7 +16,13 @@ in
 
     enable = mkEnableOption (lib.mdDoc "lemmy a federated alternative to reddit in rust");
 
+    server = {
+      package = mkPackageOptionMD pkgs "lemmy-server" {};
+    };
+
     ui = {
+      package = mkPackageOptionMD pkgs "lemmy-ui" {};
+
       port = mkOption {
         type = types.port;
         default = 1234;
@@ -27,7 +33,15 @@ in
     caddy.enable = mkEnableOption (lib.mdDoc "exposing lemmy with the caddy reverse proxy");
     nginx.enable = mkEnableOption (lib.mdDoc "exposing lemmy with the nginx reverse proxy");
 
-    database.createLocally = mkEnableOption (lib.mdDoc "creation of database on the instance");
+    database = {
+      createLocally = mkEnableOption (lib.mdDoc "creation of database on the instance");
+
+      uri = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        description = lib.mdDoc "The connection URI to use. Takes priority over the configuration file if set.";
+      };
+    };
 
     settings = mkOption {
       default = { };
@@ -49,7 +63,7 @@ in
         };
 
         options.federation = {
-          enabled = mkEnableOption (lib.mdDoc "activitypub federation");
+          enabled = (mkEnableOption (lib.mdDoc "activitypub federation")) // { visible = false; };
         };
 
         options.captcha = {
@@ -71,6 +85,10 @@ in
 
   config =
     lib.mkIf cfg.enable {
+      warnings = lib.optional (cfg.settings.federation.enabled) ''
+        This option was removed in 0.17.0 and no longer has any effect.
+      '';
+
       services.lemmy.settings = (mapAttrs (name: mkDefault)
         {
           bind = "127.0.0.1";
@@ -112,7 +130,7 @@ in
         virtualHosts."${cfg.settings.hostname}" = {
           extraConfig = ''
             handle_path /static/* {
-              root * ${pkgs.lemmy-ui}/dist
+              root * ${cfg.ui.package}/dist
               file_server
             }
             @for_backend {
@@ -185,10 +203,8 @@ in
         description = "Lemmy server";
 
         environment = {
-          LEMMY_CONFIG_LOCATION = "/run/lemmy/config.hjson";
-
-          # Verify how this is used, and don't put the password in the nix store
-          LEMMY_DATABASE_URL = with cfg.settings.database;"postgres:///${database}?host=${host}";
+          LEMMY_CONFIG_LOCATION = "${settingsFormat.generate "config.hjson" cfg.settings}";
+          LEMMY_DATABASE_URL = mkIf (cfg.database.uri != null) cfg.database.uri;
         };
 
         documentation = [
@@ -205,8 +221,7 @@ in
         serviceConfig = {
           DynamicUser = true;
           RuntimeDirectory = "lemmy";
-          ExecStartPre = "${pkgs.coreutils}/bin/install -m 600 ${settingsFormat.generate "config.hjson" cfg.settings} /run/lemmy/config.hjson";
-          ExecStart = "${pkgs.lemmy-server}/bin/lemmy_server";
+          ExecStart = "${cfg.server.package}/bin/lemmy_server";
         };
       };
 
@@ -233,8 +248,8 @@ in
 
         serviceConfig = {
           DynamicUser = true;
-          WorkingDirectory = "${pkgs.lemmy-ui}";
-          ExecStart = "${pkgs.nodejs}/bin/node ${pkgs.lemmy-ui}/dist/js/server.js";
+          WorkingDirectory = "${cfg.ui.package}";
+          ExecStart = "${pkgs.nodejs}/bin/node ${cfg.ui.package}/dist/js/server.js";
         };
       };
     };
diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
index 7ced5b63c839e..c7755aca4bb57 100644
--- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix
+++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
@@ -71,7 +71,7 @@ in
           package = mkDefault pkgs.cinnamon.mint-themes;
         };
         iconTheme = mkIf (notExcluded pkgs.cinnamon.mint-y-icons) {
-          name = mkDefault "Mint-Y-Aqua";
+          name = mkDefault "Mint-Y-Sand";
           package = mkDefault pkgs.cinnamon.mint-y-icons;
         };
         cursorTheme = mkIf (notExcluded pkgs.cinnamon.mint-cursor-themes) {
@@ -113,6 +113,8 @@ in
       services.gnome.glib-networking.enable = true;
       services.gnome.gnome-keyring.enable = true;
       services.gvfs.enable = true;
+      services.switcherooControl.enable = mkDefault true; # xapp-gpu-offload-helper
+      services.touchegg.enable = mkDefault true;
       services.udisks2.enable = true;
       services.upower.enable = mkDefault config.powerManagement.enable;
       services.xserver.libinput.enable = mkDefault true;
@@ -178,6 +180,8 @@ in
         nixos-artwork.wallpapers.simple-dark-gray
         mint-artwork
         mint-cursor-themes
+        mint-l-icons
+        mint-l-theme
         mint-themes
         mint-x-icons
         mint-y-icons
diff --git a/nixos/tests/nix-ld.nix b/nixos/tests/nix-ld.nix
index 8733f5b0c3978..c62c0437e04ec 100644
--- a/nixos/tests/nix-ld.nix
+++ b/nixos/tests/nix-ld.nix
@@ -13,5 +13,8 @@ import ./make-test-python.nix ({ lib, pkgs, ...} :
   testScript = ''
     start_all()
     machine.succeed("hello")
+
+    # test fallback if NIX_LD is not set
+    machine.succeed("unset NIX_LD; unset NIX_LD_LIBRARY_PATH; hello")
  '';
 })
diff --git a/nixos/tests/systemd-initrd-vconsole.nix b/nixos/tests/systemd-initrd-vconsole.nix
index b74df410c4224..d4c2a57680c15 100644
--- a/nixos/tests/systemd-initrd-vconsole.nix
+++ b/nixos/tests/systemd-initrd-vconsole.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
   name = "systemd-initrd-vconsole";
 
   nodes.machine = { pkgs, ... }: {
-    boot.kernelParams = [ "rd.systemd.unit=rescue.target" ];
+    boot.kernelParams = lib.mkAfter [ "rd.systemd.unit=rescue.target" "loglevel=3" "udev.log_level=3" "systemd.log_level=warning" ];
 
     boot.initrd.systemd = {
       enable = true;
@@ -20,14 +20,23 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
     machine.start()
     machine.wait_for_console_text("Press Enter for maintenance")
     machine.send_console("\n")
-    machine.wait_for_console_text("Logging in with home")
+
+    # Wait for shell to become ready
+    for _ in range(300):
+      machine.send_console("printf '%s to receive commands:\\n' Ready\n")
+      try:
+        machine.wait_for_console_text("Ready to receive commands:", timeout=1)
+        break
+      except Exception:
+        continue
+    else:
+      raise RuntimeError("Rescue shell never became ready")
 
     # Check keymap
-    machine.send_console("(printf '%s to receive text: \\n' Ready && read text && echo \"$text\") </dev/tty1\n")
+    machine.send_console("(printf '%s to receive text:\\n' Ready && read text && echo \"$text\") </dev/tty1\n")
     machine.wait_for_console_text("Ready to receive text:")
     for key in "asdfjkl;\n":
       machine.send_key(key)
     machine.wait_for_console_text("arstneio")
-    machine.send_console("systemctl poweroff\n")
   '';
 })
diff --git a/pkgs/applications/audio/faust/faust2sc.nix b/pkgs/applications/audio/faust/faust2sc.nix
index 02844773d4229..acdc54434dc68 100644
--- a/pkgs/applications/audio/faust/faust2sc.nix
+++ b/pkgs/applications/audio/faust/faust2sc.nix
@@ -22,17 +22,11 @@ stdenv.mkDerivation (faustDefaults // {
   '';
 
   postFixup = ''
-    # export parts of the build environment
-    mkdir "$out"/include
-    # until pr #887 is merged and released in faust we need to link the header folders
-    ln -s "${supercollider}"/include/SuperCollider/plugin_interface "$out"/include/plugin_interface
-    ln -s "${supercollider}"/include/SuperCollider/common "$out"/include/common
-    ln -s "${supercollider}"/include/SuperCollider/server "$out"/include/server
     wrapProgram "$out"/bin/${baseName} \
       --append-flags "--import-dir ${faust}/share/faust" \
       --append-flags "--architecture-dir ${faust}/share/faust" \
       --append-flags "--architecture-dir ${faust}/include" \
-      --append-flags "-p $out" \
+      --append-flags "-p ${supercollider}" \
       --prefix PATH : "$PATH"
   '';
 })
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index 61cc703bb0ce5..6eb290ef7a5ad 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pt2-clone";
-  version = "1.58";
+  version = "1.59";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${version}";
-    sha256 = "sha256-5i892C5aJWgouIgD3FkojJfEhN08Jf1d7HDMvdT82aU=";
+    sha256 = "sha256-Hv2ZM01aDyBcmdbK+7C20zncvCeZSQ61BJ7zTSM/OA8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix
index dea02c1d79f01..23a668fa4a754 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix
@@ -1283,10 +1283,10 @@
       elpaBuild {
         pname = "denote";
         ename = "denote";
-        version = "1.2.0.0.20230605.73117";
+        version = "1.2.0.0.20230611.160303";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/denote-1.2.0.0.20230605.73117.tar";
-          sha256 = "1rj7gaqxliyah72q485hx1gm474xs391zi34hdpdz3l87bd57n6a";
+          url = "https://elpa.gnu.org/devel/denote-1.2.0.0.20230611.160303.tar";
+          sha256 = "13xb6h6ww12j301zkjvw8kb702cxz3xj7blj6qhw6bs5i7qs90vy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1809,10 +1809,10 @@
       elpaBuild {
         pname = "emacs-gc-stats";
         ename = "emacs-gc-stats";
-        version = "1.0.0.20230414.170313";
+        version = "1.1.0.20230611.93624";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/emacs-gc-stats-1.0.0.20230414.170313.tar";
-          sha256 = "17jmxhxym6n3n61vf0my7c98pzx6d7gxfc8qb7k0yhac1b8s9fg3";
+          url = "https://elpa.gnu.org/devel/emacs-gc-stats-1.1.0.20230611.93624.tar";
+          sha256 = "0ybipxwdzfzmx6k2a20q9gb8ymb4pwbkk0qxic34g2czq8kba79k";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1820,18 +1820,14 @@
           license = lib.licenses.free;
         };
       }) {};
-    embark = callPackage ({ compat
-                          , elpaBuild
-                          , emacs
-                          , fetchurl
-                          , lib }:
+    embark = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "embark";
         ename = "embark";
-        version = "0.22.1.0.20230604.235020";
+        version = "0.22.1.0.20230613.15430";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/embark-0.22.1.0.20230604.235020.tar";
-          sha256 = "0yb3g3yp4vd9w6bclmff1qgqryj1hz9xf187yfrnqv3viv924454";
+          url = "https://elpa.gnu.org/devel/embark-0.22.1.0.20230613.15430.tar";
+          sha256 = "099ja8d1h7282vwbijagh7n0fign6i21i8mz90wcw4ykwqqij5i5";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1848,10 +1844,10 @@
       elpaBuild {
         pname = "embark-consult";
         ename = "embark-consult";
-        version = "0.7.0.20230604.235020";
+        version = "0.7.0.20230613.15430";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/embark-consult-0.7.0.20230604.235020.tar";
-          sha256 = "1982pcvf2crwmind8ykx5i30dvyd63pfljnrsjgnb4ws7nglbrbi";
+          url = "https://elpa.gnu.org/devel/embark-consult-0.7.0.20230613.15430.tar";
+          sha256 = "0nv4wd2r2v7a8i7mn3pp70hba1664vp7ccix6ws2h8aflmqxc405";
         };
         packageRequires = [ consult emacs embark ];
         meta = {
@@ -1859,6 +1855,40 @@
           license = lib.licenses.free;
         };
       }) {};
+    ement = callPackage ({ elpaBuild
+                         , emacs
+                         , fetchurl
+                         , lib
+                         , map
+                         , persist
+                         , plz
+                         , svg-lib
+                         , taxy
+                         , taxy-magit-section
+                         , transient }:
+      elpaBuild {
+        pname = "ement";
+        ename = "ement";
+        version = "0.10pre0.20230609.233956";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/ement-0.10pre0.20230609.233956.tar";
+          sha256 = "110hj66w821fdb8fbqsmzxy4ypz14g55c6qvy6mkad39qbync1nw";
+        };
+        packageRequires = [
+          emacs
+          map
+          persist
+          plz
+          svg-lib
+          taxy
+          taxy-magit-section
+          transient
+        ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/ement.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     emms = callPackage ({ cl-lib ? null
                         , elpaBuild
                         , fetchurl
@@ -1929,6 +1959,25 @@
           license = lib.licenses.free;
         };
       }) {};
+    erc = callPackage ({ compat
+                       , elpaBuild
+                       , emacs
+                       , fetchurl
+                       , lib }:
+      elpaBuild {
+        pname = "erc";
+        ename = "erc";
+        version = "5.6snapshot0.20230611.202407";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/erc-5.6snapshot0.20230611.202407.tar";
+          sha256 = "195ywapyvw79x8mbs45dc9mkskwy7l3qvrinw0jw0lj081ql4n6d";
+        };
+        packageRequires = [ compat emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/erc.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     ergoemacs-mode = callPackage ({ cl-lib ? null
                                   , elpaBuild
                                   , emacs
@@ -1949,6 +1998,24 @@
           license = lib.licenses.free;
         };
       }) {};
+    ess = callPackage ({ elpaBuild
+                       , emacs
+                       , fetchurl
+                       , lib }:
+      elpaBuild {
+        pname = "ess";
+        ename = "ess";
+        version = "18.10.3snapshot0.20230419.152710";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/ess-18.10.3snapshot0.20230419.152710.tar";
+          sha256 = "04mbnx6mlkpkdh700x0xdfyw31idgypcmag2sdk29dgqza761b9r";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/ess.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     excorporate = callPackage ({ cl-lib ? null
                                , elpaBuild
                                , emacs
@@ -2676,6 +2743,24 @@
           license = lib.licenses.free;
         };
       }) {};
+    hyperbole = callPackage ({ elpaBuild
+                             , emacs
+                             , fetchurl
+                             , lib }:
+      elpaBuild {
+        pname = "hyperbole";
+        ename = "hyperbole";
+        version = "8.0.1pre0.20230611.151720";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/hyperbole-8.0.1pre0.20230611.151720.tar";
+          sha256 = "126kzbyky9qjp5lplygkxb53dxq3wis9b1pyl0xfhmvwipbs31s0";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/hyperbole.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     ilist = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "ilist";
@@ -3914,6 +3999,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    org = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "org";
+        ename = "org";
+        version = "9.7pre0.20230613.100848";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/org-9.7pre0.20230613.100848.tar";
+          sha256 = "164ndywr9rgls1yzn1p1gkmszqr3rqzd10k9rjqairvsl2i1r68w";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/org.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-contacts = callPackage ({ elpaBuild
                                 , emacs
                                 , fetchurl
@@ -4308,6 +4408,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    plz = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "plz";
+        ename = "plz";
+        version = "0.6pre0.20230530.113949";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/plz-0.6pre0.20230530.113949.tar";
+          sha256 = "1k96pibm5c5sl6b8cw5w4n8x33dhf1zc8ik64y0m03sj70h20j9l";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/plz.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     poke = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "poke";
@@ -4831,10 +4946,10 @@
       elpaBuild {
         pname = "relint";
         ename = "relint";
-        version = "1.22.0.20230326.142643";
+        version = "1.22.0.20230612.102749";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/relint-1.22.0.20230326.142643.tar";
-          sha256 = "0ac7rckvvccvnlm52dw5dl83g5ywzziwkw6mnkgs27017mn3dlfh";
+          url = "https://elpa.gnu.org/devel/relint-1.22.0.20230612.102749.tar";
+          sha256 = "08q5y03lf9r5an6sw4gw6fkn0vcy0yhy43bfx1pag8d55x1h42ny";
         };
         packageRequires = [ emacs xr ];
         meta = {
@@ -5970,14 +6085,18 @@
           license = lib.licenses.free;
         };
       }) {};
-    triples = callPackage ({ elpaBuild, emacs, fetchurl, lib, seq }:
+    triples = callPackage ({ elpaBuild
+                           , emacs
+                           , fetchurl
+                           , lib
+                           , seq }:
       elpaBuild {
         pname = "triples";
         ename = "triples";
-        version = "0.3.0.20230610.100448";
+        version = "0.3.2.0.20230613.212718";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/triples-0.3.0.20230610.100448.tar";
-          sha256 = "08bz6ypg6grp9vz12kr0bp7m8v3vc22klc0x1aiv3f7wgy451snk";
+          url = "https://elpa.gnu.org/devel/triples-0.3.2.0.20230613.212718.tar";
+          sha256 = "0c5kv3phzxf56v7gzgarpymj2y8qz9y2f9bzy7fxifg4921y02np";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -6072,6 +6191,26 @@
           license = lib.licenses.free;
         };
       }) {};
+    urgrep = callPackage ({ compat
+                          , elpaBuild
+                          , emacs
+                          , fetchurl
+                          , lib
+                          , project }:
+      elpaBuild {
+        pname = "urgrep";
+        ename = "urgrep";
+        version = "0.2.0snapshot0.20230610.165543";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/urgrep-0.2.0snapshot0.20230610.165543.tar";
+          sha256 = "09j6wkr77xl87jjpjs9msjad1fmdag77dkqgz1ad3z5f02sav0nn";
+        };
+        packageRequires = [ compat emacs project ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/urgrep.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     url-http-ntlm = callPackage ({ cl-lib ? null
                                  , elpaBuild
                                  , fetchurl
@@ -6395,10 +6534,10 @@
       elpaBuild {
         pname = "vundo";
         ename = "vundo";
-        version = "2.1.0.0.20230510.170718";
+        version = "2.1.0.0.20230612.40515";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/vundo-2.1.0.0.20230510.170718.tar";
-          sha256 = "0q48bwaxz39w8gppsmr32rk04zh50cfz4g2rlxf5bkziqgja0yyl";
+          url = "https://elpa.gnu.org/devel/vundo-2.1.0.0.20230612.40515.tar";
+          sha256 = "1dbzf9dnvyjikn5z256yrqy5i215vxby3ndg7i0i0pdzg3pjkj39";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/emacs2nix.nix b/pkgs/applications/editors/emacs/elisp-packages/emacs2nix.nix
index 510c532e0589f..6875030b24942 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/emacs2nix.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/emacs2nix.nix
@@ -4,8 +4,8 @@ let
   src = pkgs.fetchFromGitHub {
     owner = "nix-community";
     repo = "emacs2nix";
-    rev = "7f07ac3c3f175630de68153d98a93b9fa24d1eb3";
-    sha256 = "sha256-Mh9G8LH3n1ccg+shBoWQRk67yAA+GEYGkk8tjM7W02Y=";
+    rev = "e5389c3d7be9c3af135f022d86c61767d41c364f";
+    sha256 = "sha256-mueyrGXgbjvmXQqPRuLUJdJuB5dqiGGdzCQ74Ud+Z9Y=";
     fetchSubmodules = true;
   };
 in
diff --git a/pkgs/applications/editors/kakoune/plugins/update.py b/pkgs/applications/editors/kakoune/plugins/update.py
index ab5aa9242839c..5ce54c834f084 100755
--- a/pkgs/applications/editors/kakoune/plugins/update.py
+++ b/pkgs/applications/editors/kakoune/plugins/update.py
@@ -55,11 +55,6 @@ packages = ( self:
 {"""
             )
             for pluginDesc, plugin in sorted_plugins:
-                if plugin.has_submodules:
-                    submodule_attr = "\n      fetchSubmodules = true;"
-                else:
-                    submodule_attr = ""
-
                 f.write(
                     f"""
   {plugin.normalized_name} = buildKakounePluginFrom2Nix {{
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 25d7012651dff..426ae88e976fc 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -847,8 +847,8 @@ let
         mktplcRef = {
           name = "vscode-markdownlint";
           publisher = "DavidAnson";
-          version = "0.50.0";
-          sha256 = "sha256-F+lryIhSudDz68t1eGrfqI8EuoUUOWU5LfWj0IRCQyY=";
+          version = "0.51.0";
+          sha256 = "sha256-Xtr8cqcPrcrKpJBxQcY1j9Gl4CC6U3ZazS4bdBtdzUk=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
diff --git a/pkgs/applications/editors/xed-editor/default.nix b/pkgs/applications/editors/xed-editor/default.nix
index 0796dbe72185b..a1508e7a3b625 100644
--- a/pkgs/applications/editors/xed-editor/default.nix
+++ b/pkgs/applications/editors/xed-editor/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xed-editor";
-  version = "3.2.8";
+  version = "3.4.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "xed";
     rev = version;
-    sha256 = "sha256-ax769qjV0oZ6tnEE5FsXNbHETI6KNgvh0WviBsPs9j8=";
+    sha256 = "sha256-fBwxc6n4sNNRiKcax96Tl3cFD+Ryvmj+XizB3z2s4+Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/file-managers/browsr/default.nix b/pkgs/applications/file-managers/browsr/default.nix
index 58342979fcb91..97b14563c97e0 100644
--- a/pkgs/applications/file-managers/browsr/default.nix
+++ b/pkgs/applications/file-managers/browsr/default.nix
@@ -60,6 +60,7 @@ python3.pkgs.buildPythonApplication rec {
   };
 
   pythonRelaxDeps = [
+    "art"
     "fsspec"
     "pymupdf"
     "rich-click"
diff --git a/pkgs/applications/misc/1password-gui/linux.nix b/pkgs/applications/misc/1password-gui/linux.nix
index 86c66a53373f3..751e94c38f7fc 100644
--- a/pkgs/applications/misc/1password-gui/linux.nix
+++ b/pkgs/applications/misc/1password-gui/linux.nix
@@ -131,7 +131,11 @@ in stdenv.mkDerivation {
     makeShellWrapper $out/share/1password/1password $out/bin/1password \
       "''${gappsWrapperArgs[@]}" \
       --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]} \
-      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]}
+      # Currently half broken on wayland (e.g. no copy functionality)
+      # See: https://github.com/NixOS/nixpkgs/pull/232718#issuecomment-1582123406
+      # Remove this comment when upstream fixes:
+      # https://1password.community/discussion/comment/624011/#Comment_624011
+      #--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
   '';
 }
diff --git a/pkgs/applications/misc/klayout/default.nix b/pkgs/applications/misc/klayout/default.nix
index 76cc302f358ab..a3166862f27dc 100644
--- a/pkgs/applications/misc/klayout/default.nix
+++ b/pkgs/applications/misc/klayout/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "klayout";
-  version = "0.28.8";
+  version = "0.28.9-2";
 
   src = fetchFromGitHub {
     owner = "KLayout";
     repo = "klayout";
     rev = "v${version}";
-    hash = "sha256-xM9bAy+HurJor6v2eVPN9gvUxDkyjKRO8kv4zzv9u7o=";
+    hash = "sha256-yBBzJceYHuqYhYvZHpL22uFsOz1TKZFwdzuUQOC4wQw=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix
index 4c2527cad1f2b..45fe2e1395bca 100644
--- a/pkgs/applications/misc/mkgmap/default.nix
+++ b/pkgs/applications/misc/mkgmap/default.nix
@@ -15,12 +15,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkgmap";
-  version = "4907";
+  version = "4909";
 
   src = fetchsvn {
     url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
     rev = version;
-    sha256 = "sha256-2DwIH6GNsK2XwaVxzPvN1qt4XRSi5fCQDwltBCBg4gI=";
+    sha256 = "sha256-B3G1xpDZtJqkjyufLwYnJQlXREvN6OrJEjHWWP05jDM=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/whalebird/default.nix b/pkgs/applications/misc/whalebird/default.nix
index 472f7ad42a506..36868690d81d8 100644
--- a/pkgs/applications/misc/whalebird/default.nix
+++ b/pkgs/applications/misc/whalebird/default.nix
@@ -1,22 +1,24 @@
-{ lib, stdenv, fetchurl, autoPatchelfHook, makeDesktopItem, copyDesktopItems, makeWrapper, electron
-, nodePackages, alsa-lib, gtk3, libdbusmenu, libxshmfence, mesa, nss }:
+{ lib, stdenv, fetchurl
+, autoPatchelfHook, makeDesktopItem, copyDesktopItems, makeWrapper, gnugrep, nodePackages
+, electron, python3, alsa-lib, gtk3, libdbusmenu, libxshmfence, mesa, nss
+}:
 
 stdenv.mkDerivation rec {
   pname = "whalebird";
-  version = "4.7.4";
+  version = "5.0.7";
 
   src = let
-    downloads = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}";
+    downloads = "https://github.com/h3poteto/whalebird-desktop/releases/download/v${version}";
   in
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = downloads + "/Whalebird-${version}-linux-x64.tar.bz2";
-        sha256 = "sha256-jRtlnKlrh6If9wy3FqVBtctQO3rZJRwceUWAPmieT4A=";
+        hash = "sha256-eufP038REwF2VwAxxI8R0S3fE8oJ+SX/CES5ozuut2w=";
       }
     else if stdenv.system == "aarch64-linux" then
       fetchurl {
         url = downloads + "/Whalebird-${version}-linux-arm64.tar.bz2";
-        sha256 = "sha256-gWCBH2zfhJdJ3XUAxvZ0+gBHye5uYCUgX1BDEoaruxY=";
+        hash = "sha256-U0xVTUUm6wsRxYc1w4vfNtVE6o8dNzXTSi+IX4mgDEE=";
       }
     else
       throw "Whalebird is not supported for ${stdenv.system}";
@@ -25,6 +27,7 @@ stdenv.mkDerivation rec {
     autoPatchelfHook
     makeWrapper
     copyDesktopItems
+    gnugrep
     nodePackages.asar
   ];
 
@@ -52,9 +55,16 @@ stdenv.mkDerivation rec {
     runHook preBuild
 
     # Necessary steps to find the tray icon
+    # For aarch64-linux, we need to overwrite this symlink first as it points to
+    # /usr/bin/python3
+    if [ "${stdenv.system}" = "aarch64-linux" ]
+    then ln -sf ${python3}/bin/python3 \
+      opt/Whalebird/resources/app.asar.unpacked/node_modules/better-sqlite3/build/node_gyp_bins/python3
+    fi
     asar extract opt/Whalebird/resources/app.asar "$TMP/work"
-    substituteInPlace $TMP/work/dist/electron/main.js \
-      --replace "qt,\"tray_icon.png\"" "\"$out/opt/Whalebird/resources/build/icons/tray_icon.png\""
+    substituteInPlace "$TMP/work/dist/electron/main.js" \
+      --replace "$(grep -oE '.{2},"tray_icon.png"' "$TMP/work/dist/electron/main.js")" \
+        "\"$out/opt/Whalebird/resources/build/icons/tray_icon.png\""
     asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" opt/Whalebird/resources/app.asar
 
     runHook postBuild
@@ -83,8 +93,8 @@ stdenv.mkDerivation rec {
     description = "Electron based Mastodon, Pleroma and Misskey client for Windows, Mac and Linux";
     homepage = "https://whalebird.social";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.mit;
-    maintainers = with maintainers; [ wolfangaukang colinsane ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ wolfangaukang colinsane weathercold ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index ac5cdd4ddfa1b..af0691c415da0 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -45,9 +45,9 @@
     }
   },
   "ungoogled-chromium": {
-    "version": "114.0.5735.106",
-    "sha256": "0jihf4gv7n2kkp78n42ha4ick8mzixb4xrfdk84iqazmifrb066z",
-    "sha256bin64": "1zlw9gjb2fmjf1d952adqg07cyq60yck0aarz20lcvv2jzb7s46i",
+    "version": "114.0.5735.133",
+    "sha256": "0qnj4gr4b9gmla1hbz1ir64hfmpc45vzkg0hmw9h6m72r4gfr2c2",
+    "sha256bin64": "0gk9l1xspbqdxv9q16zdcrrr6bxx677cnz7vv4pgg85k1pwhyw3g",
     "deps": {
       "gn": {
         "version": "2023-04-19",
@@ -56,8 +56,8 @@
         "sha256": "01xrh9m9m6x8lz0vxwdw2mrhrvnw93zpg09hwdhqakj06agf4jjk"
       },
       "ungoogled-patches": {
-        "rev": "114.0.5735.106-1",
-        "sha256": "1aac1711mbr3jwxbnjkl5kxvb64bhwnw0ls1wj7w7pmka5gmardv"
+        "rev": "114.0.5735.133-1",
+        "sha256": "1i9ql4b2rn9jryyc3hfr9kh8ccf5a4gvpwsp9lnp9jc2gryrv70y"
       }
     }
   }
diff --git a/pkgs/applications/networking/cluster/kfilt/default.nix b/pkgs/applications/networking/cluster/kfilt/default.nix
new file mode 100644
index 0000000000000..dd85bd8bbddc2
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kfilt/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kfilt";
+  version = "0.0.8";
+
+  src = fetchFromGitHub {
+    owner = "ryane";
+    repo = "kfilt";
+    rev = "v${version}";
+    hash = "sha256-TUhZKf4fJyJF/qDmvs4jqAMVTXN4MXE+YLc4FcOVlwo=";
+  };
+
+  vendorHash = "sha256-c77CzpE9cPyobt87uO0QlkKD+xC/tM7wOy4orM62tnI=";
+
+  subPackages = [ "." ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/ryane/kfilt/cmd.Version=${version}"
+    "-X github.com/ryane/kfilt/cmd.GitCommit=${src.rev}"
+  ];
+
+  meta = {
+    description = "Command-line tool that filters Kubernetes resources";
+    homepage = "https://github.com/ryane/kfilt";
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.ryane ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index b0b4573c112c7..148d9624c3220 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -28,13 +28,13 @@
     "vendorHash": "sha256-jK7JuARpoxq7hvq5+vTtUwcYot0YqlOZdtDwq4IqKvk="
   },
   "aiven": {
-    "hash": "sha256-kHCgl4osr0L9GR9Fv3u8dUs+ko82vxjE6dmJ9QZoQsE=",
+    "hash": "sha256-wXNCEaLfZAEX1ExnUjUkkGwwD/YDSD6dzj2unNWVZbU=",
     "homepage": "https://registry.terraform.io/providers/aiven/aiven",
     "owner": "aiven",
     "repo": "terraform-provider-aiven",
-    "rev": "v4.4.1",
+    "rev": "v4.5.0",
     "spdx": "MIT",
-    "vendorHash": "sha256-phcV7ZQ/7umtJMp0ozGV0jpYizlvmNq3Eo/wZ7tfNec="
+    "vendorHash": "sha256-9DCu0qqQl4qnnyp+KvuAuJMRjtiejpkyiBxkKUBpoGg="
   },
   "akamai": {
     "hash": "sha256-RIJarmJZHDl5XhXLnr1igiBq9Uu9/2N+vhosPFTs2tg=",
@@ -82,13 +82,13 @@
     "vendorHash": "sha256-4b96zHSdokE/MiVtdRCNosFhJJ6L5sOlHRRMBqJ4n4M="
   },
   "auth0": {
-    "hash": "sha256-6wJvBwZ7PY1Jqx/r5YrZ0P4uHLiMvrFvsm3OEByrYyQ=",
+    "hash": "sha256-+zhlIL/se0TWiZrpNs7kEgVZtwBSI5G0r3edWn9LeUw=",
     "homepage": "https://registry.terraform.io/providers/auth0/auth0",
     "owner": "auth0",
     "repo": "terraform-provider-auth0",
-    "rev": "v0.48.0",
+    "rev": "v0.49.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-bFnvZARj2WfZpftus2PTlrxAFdrrgk9N0UZfzhQ6DmI="
+    "vendorHash": "sha256-qm8rFZZtltC9IV47QzmoQa0kpKp4vn3eHj5kKMIEb+4="
   },
   "avi": {
     "hash": "sha256-mBLdIL4mUI4zA3c9gB4DL1QY0xHW15Q1rO/v1gVYKYU=",
@@ -218,13 +218,13 @@
     "vendorHash": "sha256-qIgr+ynaNSfNx1iW5RJrNHvEnlr46dBzIi+5IXYn+3Q="
   },
   "cloudflare": {
-    "hash": "sha256-+tTBNPTZjzvI1XYo8sPQumSJftvRkh+CRCr+S+Z4HNM=",
+    "hash": "sha256-bunkrh9m7w47704G8Pq6S7bmhhcVIVP1yk+/AGG28Wg=",
     "homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
     "owner": "cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v4.7.1",
+    "rev": "v4.8.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-jAdeCVr1hWVPwWFbxiaVP1aF8LeJFi2ua2vM9r65mKI="
+    "vendorHash": "sha256-xqVaZj0NEtcT64TThkFh2AJ03wiXCAhgYSddaUBlGAc="
   },
   "cloudfoundry": {
     "hash": "sha256-SFA0rG80BWaJHwvAWEugdVd3nR+YGflyYONOuoS++P8=",
@@ -801,20 +801,20 @@
   },
   "nutanix": {
     "deleteVendor": true,
-    "hash": "sha256-kxLsQeseSncGRJCeh/1yD7oouS5OYwo5N5YorzwQdBs=",
+    "hash": "sha256-c2+3nAwbFL3DWQW6OqAweTMmg8nZER4CaHGeGrh1/Tg=",
     "homepage": "https://registry.terraform.io/providers/nutanix/nutanix",
     "owner": "nutanix",
     "repo": "terraform-provider-nutanix",
-    "rev": "v1.9.0",
+    "rev": "v1.9.1",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
   },
   "oci": {
-    "hash": "sha256-Sd8okjpxx1rQRmlql5HQ1wjWligZTArJ2unT3Tv02m8=",
+    "hash": "sha256-fUAPXCxE6Xovsnrz0RY2MyJFxozxjpNBCduPMJNkQBQ=",
     "homepage": "https://registry.terraform.io/providers/oracle/oci",
     "owner": "oracle",
     "repo": "terraform-provider-oci",
-    "rev": "v5.0.0",
+    "rev": "v5.1.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -1044,11 +1044,11 @@
     "vendorHash": "sha256-NO1r/EWLgH1Gogru+qPeZ4sW7FuDENxzNnpLSKstnE8="
   },
   "spotinst": {
-    "hash": "sha256-NFmyz5CdZoSucKib5SUVNc+m5yXUUNxO7LSMXJtFRJk=",
+    "hash": "sha256-0FoSfllKpv+k3s9g4z4vd/mBMpsC94YTzbvOvqI8qDc=",
     "homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
     "owner": "spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.122.1",
+    "rev": "v1.122.2",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-hfg3XyBf5V+NJTzCoHbnTU4HkEdQsllqcH2NjeTmlf0="
   },
@@ -1098,11 +1098,11 @@
     "vendorHash": "sha256-GNSKSlaFBj2P+z40U+0uwPSOuQBy+9vOVFfPe8p0A24="
   },
   "tencentcloud": {
-    "hash": "sha256-vnUPxI3H3bD3kQgNXapOaNPZxn6+1O+LcW41REbaC3k=",
+    "hash": "sha256-cxVBEpKyYxwuuLqStB1ffOuloqqkAx7bQlEqEES8sPQ=",
     "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
     "owner": "tencentcloudstack",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.81.6",
+    "rev": "v1.81.7",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -1253,13 +1253,13 @@
     "vendorHash": "sha256-itSr5HHjus6G0t5/KFs0sNiredH9m3JnQ3siLtm+NHs="
   },
   "yandex": {
-    "hash": "sha256-vBTHtVmQxImTNkS2KVVIoPadYsPK3PL8ADx4L4Vyah8=",
+    "hash": "sha256-qB+Jc8oO4Hr1gqBV/jRriWJ/qFpBAs1IpwrCpAf7+wk=",
     "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
     "owner": "yandex-cloud",
     "proxyVendor": true,
     "repo": "terraform-provider-yandex",
-    "rev": "v0.92.0",
+    "rev": "v0.93.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-2KaVZ1k1IEUFWakh16DXFyorqg1PqBQapWUay49LPMk="
+    "vendorHash": "sha256-shdf+al8BKfdvlVYPLqTAapa8A3V3DGYIhfyPv8zkVI="
   }
 }
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index c20c9449ae842..c9e787f6d9a71 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -27,6 +27,20 @@ python3Packages.buildPythonApplication rec {
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
 
+  postInstall = ''
+    (
+      cd icons
+      for img in *.{png,svg}; do
+        size=''${img#zim}
+        size=''${size%.png}
+        size=''${size%.svg}
+        dimensions="''${size}x''${size}"
+        mkdir -p $out/share/icons/hicolor/$dimensions/apps
+        cp $img $out/share/icons/hicolor/$dimensions/apps/${pname}.png
+      done
+    )
+  '';
+
   # RuntimeError: could not create GtkClipboard object
   doCheck = false;
 
diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix
index 4f216a8aa3ac8..2ece6295b48e1 100644
--- a/pkgs/applications/science/math/calc/default.nix
+++ b/pkgs/applications/science/math/calc/default.nix
@@ -4,7 +4,7 @@
 , makeWrapper
 , ncurses
 , readline
-, util-linux
+, unixtools
 , enableReadline ? true
 }:
 
@@ -28,12 +28,10 @@ stdenv.mkDerivation (finalAttrs: {
 
   nativeBuildInputs = [
     makeWrapper
+    unixtools.col
   ];
 
-  buildInputs = [
-    util-linux
-  ]
-  ++ lib.optionals enableReadline [
+  buildInputs = lib.optionals enableReadline [
     ncurses
     readline
   ];
diff --git a/pkgs/applications/video/hypnotix/default.nix b/pkgs/applications/video/hypnotix/default.nix
index ee62a711398bd..a78f04ec01c78 100644
--- a/pkgs/applications/video/hypnotix/default.nix
+++ b/pkgs/applications/video/hypnotix/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hypnotix";
-  version = "3.2";
+  version = "3.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "hypnotix";
     rev = version;
-    hash = "sha256-R9bp1RQHHCrIE/3rIAHzWHXpXBUDUpJTkO53n+xZw3Q=";
+    hash = "sha256-Oxv70bFheKhlYyLdGcn0Hja+LAmn6RHfAh5FIjghD9o=";
   };
 
   patches = [
diff --git a/pkgs/data/themes/flat-remix-gnome/default.nix b/pkgs/data/themes/flat-remix-gnome/default.nix
index 54fa01cf40bda..f05b3aafd9d28 100644
--- a/pkgs/data/themes/flat-remix-gnome/default.nix
+++ b/pkgs/data/themes/flat-remix-gnome/default.nix
@@ -7,25 +7,25 @@
 let
   # make install will use dconf to find desktop background file uri.
   # consider adding an args to allow specify pictures manually.
-  # https://github.com/daniruiz/flat-remix-gnome/blob/20221107/Makefile#L38
+  # https://github.com/daniruiz/flat-remix-gnome/blob/20230508/Makefile#L38
   fake-dconf = writeScriptBin "dconf" "echo -n";
 in
 stdenv.mkDerivation rec {
   pname = "flat-remix-gnome";
-  version = "20221107";
+  version = "20230508";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = pname;
     rev = version;
-    hash = "sha256-5V3ECbQe3/5bhHnMR1pzvehs1eh0u9U7E1voDiqo9cY=";
+    hash = "sha256-MMWLSpGMvHFu3gZzU3IlfNxLY6ItMtxGLZltTJZXYaw=";
   };
 
   nativeBuildInputs = [ glib fake-dconf ];
   makeFlags = [ "PREFIX=$(out)" ];
 
   # make install will back up this file, it will fail if the file doesn't exist.
-  # https://github.com/daniruiz/flat-remix-gnome/blob/20221107/Makefile#L56
+  # https://github.com/daniruiz/flat-remix-gnome/blob/20230508/Makefile#L56
   preInstall = ''
     mkdir -p $out/share/gnome-shell/
     touch $out/share/gnome-shell/gnome-shell-theme.gresource
diff --git a/pkgs/desktops/cinnamon/cinnamon-common/default.nix b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
index 0e33b9887ede3..417cd6b717f63 100644
--- a/pkgs/desktops/cinnamon/cinnamon-common/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
@@ -72,13 +72,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cinnamon-common";
-  version = "5.6.8";
+  version = "5.8.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cinnamon";
     rev = version;
-    hash = "sha256-qL8GaEH/0d4yEwwdaR55fTp0RitbyptoxKOBO3nmbic=";
+    hash = "sha256-KY5ctByMYKxigiZ0X/blaHJuyiAUNB6B2gpGtC/k100=";
   };
 
   patches = [
@@ -166,6 +166,7 @@ stdenv.mkDerivation rec {
       substituteInPlace ./bin/SettingsWidgets.py          --replace "/usr/share/sounds" "/run/current-system/sw/share/sounds"
       substituteInPlace ./bin/Spices.py                   --replace "msgfmt" "${gettext}/bin/msgfmt"
       substituteInPlace ./modules/cs_info.py              --replace "lspci" "${pciutils}/bin/lspci"
+      substituteInPlace ./modules/cs_themes.py            --replace "$out/share/cinnamon/styles.d" "/run/current-system/sw/share/cinnamon/styles.d"
     popd
 
     sed "s| cinnamon-session| ${cinnamon-session}/bin/cinnamon-session|g" -i ./files/usr/bin/cinnamon-session-{cinnamon,cinnamon2d}
diff --git a/pkgs/desktops/cinnamon/cinnamon-common/libdir.patch b/pkgs/desktops/cinnamon/cinnamon-common/libdir.patch
index 7783d0b3ad125..bd15d658d81dd 100644
--- a/pkgs/desktops/cinnamon/cinnamon-common/libdir.patch
+++ b/pkgs/desktops/cinnamon/cinnamon-common/libdir.patch
@@ -17,6 +17,7 @@ index 3c1e9a4f..a77d9b3c 100644
  schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
 -pkglibdir = join_paths(libdir, meson.project_name().to_lower())
 +pkglibdir = libdir
+ girdir = join_paths(datadir, 'gir-1.0')
  servicedir = join_paths(datadir, 'dbus-1', 'services')
  pkgdatadir = join_paths(datadir, meson.project_name().to_lower())
  po_dir = join_paths(meson.source_root(), 'po')
diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
index b3a16ed3fc35f..fa282f0937ae1 100644
--- a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
@@ -35,13 +35,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-control-center";
-  version = "5.6.1";
+  version = "5.8.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-rp3K7SqGw8da2U61VjKiqUyT5vCUVk4XZdRYtLwRtfQ=";
+    hash = "sha256-tRLUdwEptLNngVq+qOPilGQipVXNeDlzohgu3VlVciI=";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
index f5dfa0e369399..5e736ea1fdc85 100644
--- a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-desktop";
-  version = "5.6.2";
+  version = "5.8.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-X4jf7+QFjoev1K6ywxN0n9MYUv7xI1/su+hHeesG02Y=";
+    hash = "sha256-rYTWtdYfMow3cIPhJdcmhyaIIU7fgVecWigbsCW0Piw=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
index 599e580a5bab0..1b5dbeb8d0853 100644
--- a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-menus";
-  version = "5.6.0";
+  version = "5.8.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-6IOlXQhAy6YrSqybfGFUyn3Q2COvzwpj67y/k/YLNhU=";
+    hash = "sha256-AgA/DA7I9/0AJhlmgk0yAOJaZzpiQV1vM949Y6EOWVg=";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
index e6a615bb12af1..c4cd8d9db02fb 100644
--- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-screensaver";
-  version = "5.6.3";
+  version = "5.8.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-S4+9ZTpDwwvYTc3gz0YQBYjgygp8KP94azkiJcH6xCk=";
+    hash = "sha256-Y1veBgWTCs7HRBuMwN+eHu4oygGYIanaQigMGVfkSuI=";
   };
 
   nativeBuildInputs = [
@@ -89,8 +89,6 @@ stdenv.mkDerivation rec {
       -e s,/usr/share/cinnamon-screensaver,$out/share,g \
       -e s,/usr/share/iso-flag-png,${iso-flags-png-320x420}/share/iso-flags-png,g \
       {} +
-
-    sed "s|/usr/share/locale|/run/current-system/sw/share/locale|g" -i ./src/cinnamon-screensaver-main.py
   '';
 
   preFixup = ''
diff --git a/pkgs/desktops/cinnamon/cinnamon-session/default.nix b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
index 90f760051bd53..51fa5bca3dd60 100644
--- a/pkgs/desktops/cinnamon/cinnamon-session/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-session";
-  version = "5.6.0";
+  version = "5.8.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-lyASp0jFwaPLPQ3Jnow6eTpUBybwhSEmQUK/20fsh7I=";
+    hash = "sha256-NVoP1KYh/z96NKMi9LjL4RgkjJg32oSy5WHJ91+70DI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
index 5f7ad87d83cbe..9eb2d743d8e4a 100644
--- a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
@@ -32,18 +32,17 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-settings-daemon";
-  version = "5.6.2";
+  version = "5.8.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-IqYfHMjKe7gVsM6HgihQMNkcXSYBOft1lamXOLa1Y8k=";
+    hash = "sha256-2ObfUdrCuvyhtpoxNzoH8tsFQLxNkMLQPFfJajXEsXU=";
   };
 
   patches = [
     ./csd-backlight-helper-fix.patch
-    ./use-sane-install-dir.patch
   ];
 
   buildInputs = [
diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/use-sane-install-dir.patch b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/use-sane-install-dir.patch
deleted file mode 100644
index d980431f81b9b..0000000000000
--- a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/use-sane-install-dir.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From be57c01e6595a8e08ecc17de298e30640b532f11 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
-Date: Sat, 6 Feb 2021 13:55:03 +0100
-Subject: [PATCH] use sane install-dir
-
----
- meson.build | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 0e11d50..54f4637 100644
---- a/meson.build
-+++ b/meson.build
-@@ -156,8 +156,8 @@ subdir('cinnamon-settings-daemon')
- subdir('plugins')
- 
- install_subdir(
--    'files',
--    install_dir: '/',
-+    'files/usr',
-+    install_dir: get_option('prefix'),
-     strip_directory: true,
- )
- 
--- 
-2.30.0
-
diff --git a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
index 09bf133a92a3a..bbc098da85601 100644
--- a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-translations";
-  version = "5.6.1";
+  version = "5.8.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-567xkQGLLhZtjAWXzW/MRiD14rrWeg0yvx97jtukRvc=";
+    hash = "sha256-QwLb8dxyub3W5KlYP1HinC07bTJ6f+/t07k3OWX9Qlg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix
index 167924fe6d150..0c07b46822a73 100644
--- a/pkgs/desktops/cinnamon/cjs/default.nix
+++ b/pkgs/desktops/cinnamon/cjs/default.nix
@@ -6,7 +6,7 @@
 , cairo
 , glib
 , readline
-, spidermonkey_78
+, spidermonkey_102
 , meson
 , dbus
 , ninja
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cjs";
-  version = "5.6.1";
+  version = "5.8.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cjs";
     rev = version;
-    hash = "sha256-f9esbQi5WWSMAGlEs9HJFToOvmOrbP2lDW1gGh/48gw=";
+    hash = "sha256-DKCe8dKdYfdeWQ9Iqr0AmDU7YDN9QrQGdTkrBV/ywV0=";
   };
 
   outputs = [ "out" "dev" ];
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     gobject-introspection
     cairo
     readline
-    spidermonkey_78
+    spidermonkey_102
     dbus # for dbus-run-session
   ];
 
diff --git a/pkgs/desktops/cinnamon/folder-color-switcher/default.nix b/pkgs/desktops/cinnamon/folder-color-switcher/default.nix
index a3909b820ba92..cc7f7e7cdcf6f 100644
--- a/pkgs/desktops/cinnamon/folder-color-switcher/default.nix
+++ b/pkgs/desktops/cinnamon/folder-color-switcher/default.nix
@@ -2,27 +2,34 @@
 , lib
 , fetchFromGitHub
 , gettext
+, python3
 }:
 
 stdenvNoCC.mkDerivation rec {
   pname = "folder-color-switcher";
-  version = "1.5.5";
+  version = "1.5.7";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     # They don't really do tags, this is just a named commit.
-    rev = "5e0b768b3a5bf88a828a2489b9428997b797c1ed";
-    sha256 = "sha256-DU75LM5v2/E/ZmqQgyiPsOOEUw9QQ/NXNtGDFzzYvyY=";
+    rev = "03311d62a62e2cd7d0592b241c287091161ec6b6";
+    sha256 = "sha256-HQv9vSpRSBjqbncGFv+O5XQtRJ+4Cq0aWZHoj5BhKYE=";
   };
 
   nativeBuildInputs = [
     gettext
+    python3.pkgs.wrapPython
   ];
 
   postPatch = ''
     substituteInPlace usr/share/nemo-python/extensions/nemo-folder-color-switcher.py \
-      --replace "/usr/share" "$out/share"
+      --replace "/usr/share/locale" "$out/share" \
+      --replace "/usr/share/folder-color-switcher/colors.d" "/run/current-system/sw/share/folder-color-switcher/colors.d" \
+      --replace "/usr/share/folder-color-switcher/color.svg" "$out/share/folder-color-switcher/color.svg"
+
+    substituteInPlace usr/share/caja-python/extensions/caja-folder-color-switcher.py \
+      --replace "/usr/share/folder-color-switcher/colors.d" "/run/current-system/sw/share/folder-color-switcher/colors.d"
   '';
 
   installPhase = ''
@@ -34,6 +41,13 @@ stdenvNoCC.mkDerivation rec {
     runHook postInstall
   '';
 
+  preFixup = ''
+    # For Gdk.cairo_surface_create_from_pixbuf()
+    # TypeError: Couldn't find foreign struct converter for 'cairo.Surface'
+    buildPythonPath ${python3.pkgs.pycairo}
+    patchPythonScript $out/share/nemo-python/extensions/nemo-folder-color-switcher.py
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/linuxmint/folder-color-switcher";
     description = "Change folder colors for Nemo and Caja";
diff --git a/pkgs/desktops/cinnamon/mint-artwork/default.nix b/pkgs/desktops/cinnamon/mint-artwork/default.nix
index 490c4fa068f32..22dd4d15a266a 100644
--- a/pkgs/desktops/cinnamon/mint-artwork/default.nix
+++ b/pkgs/desktops/cinnamon/mint-artwork/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mint-artwork";
-  version = "1.7.3";
+  version = "1.7.5";
 
   src = fetchurl {
     urls = [
       "http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz"
-      "https://web.archive.org/web/20221206154838/http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz"
+      "https://web.archive.org/web/20230601120342/http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz"
     ];
-    hash = "sha256-lusYlmTL71VTGSJFssuIZVu7xJMuZQ7wj2rMtO1lhZ8=";
+    hash = "sha256-yd2FyGAznXGnHJLkMsSNqIx0sbKHl3cNMr7tpue7BlA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/mint-themes/default.nix b/pkgs/desktops/cinnamon/mint-themes/default.nix
index 4fa869a5ef319..ed7d011bc4f72 100644
--- a/pkgs/desktops/cinnamon/mint-themes/default.nix
+++ b/pkgs/desktops/cinnamon/mint-themes/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mint-themes";
-  version = "2.0.9";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-FvX4r7AZgSq52T9CKE9RagsKgQXExTYPptQBXadA3eI=";
+    hash = "sha256-Y+KmSKuREn2E3FySsScjL+oSpSFnyEqhoXQfU++86JY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/mint-x-icons/default.nix b/pkgs/desktops/cinnamon/mint-x-icons/default.nix
index ada385afcea29..595fca6612fd5 100644
--- a/pkgs/desktops/cinnamon/mint-x-icons/default.nix
+++ b/pkgs/desktops/cinnamon/mint-x-icons/default.nix
@@ -11,13 +11,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mint-x-icons";
-  version = "1.6.4";
+  version = "1.6.5";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-cPRae3EjzVtAL1Ei2LB4UNUU/m87mFT94xY/NnNR6JM=";
+    hash = "sha256-Z07475Uiv4GKCOrKhDBXPZVBGpxdjN7vn2y0rRAZVm0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/mint-y-icons/default.nix b/pkgs/desktops/cinnamon/mint-y-icons/default.nix
index b9d18280783e2..01374a6f7ef63 100644
--- a/pkgs/desktops/cinnamon/mint-y-icons/default.nix
+++ b/pkgs/desktops/cinnamon/mint-y-icons/default.nix
@@ -9,13 +9,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mint-y-icons";
-  version = "1.6.5";
+  version = "1.6.6";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-XnQcVlN4xtZQDjijNV09m2m0ODYfFbrQaNd8ZQVToIw=";
+    hash = "sha256-yLsFEd4QyeEBA4IrYiy0sgNv0kG9WxjFsJQteoJc+YM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/muffin/default.nix b/pkgs/desktops/cinnamon/muffin/default.nix
index ba4eb95a5e951..20a350cb525da 100644
--- a/pkgs/desktops/cinnamon/muffin/default.nix
+++ b/pkgs/desktops/cinnamon/muffin/default.nix
@@ -35,7 +35,7 @@
 
 stdenv.mkDerivation rec {
   pname = "muffin";
-  version = "5.6.4";
+  version = "5.8.0";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-NnQ7KF979HnsEc4X/Wf1YOfUvByHvVIdTAcJyUjhsp8=";
+    hash = "sha256-2pF6mKSSW4S0mfb4iBfZKBIVXKzrVyPeftcVrWSWzhc=";
   };
 
   patches = [
diff --git a/pkgs/desktops/cinnamon/nemo-extensions/nemo-emblems/default.nix b/pkgs/desktops/cinnamon/nemo-extensions/nemo-emblems/default.nix
index 33acf3e897536..d298827487e95 100644
--- a/pkgs/desktops/cinnamon/nemo-extensions/nemo-emblems/default.nix
+++ b/pkgs/desktops/cinnamon/nemo-extensions/nemo-emblems/default.nix
@@ -3,19 +3,15 @@
 , fetchFromGitHub
 }:
 
+let
+  srcs = import ../srcs.nix { inherit fetchFromGitHub; };
+in
 python3.pkgs.buildPythonApplication rec {
   pname = "nemo-emblems";
-  version = "5.6.0";
+  inherit (srcs) version src;
 
   format = "setuptools";
 
-  src = fetchFromGitHub {
-    owner = "linuxmint";
-    repo = "nemo-extensions";
-    rev = version;
-    sha256 = "sha256-cxutiz5bc/dZ9D7XzvMWodWNYvNJPj+5IhJDPJwnb5I=";
-  };
-
   sourceRoot = "${src.name}/nemo-emblems";
 
   postPatch = ''
diff --git a/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix b/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix
index 7153ec0865c50..71c61db992a8e 100644
--- a/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix
+++ b/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix
@@ -10,16 +10,12 @@
 , gnome
 }:
 
+let
+  srcs = import ../srcs.nix { inherit fetchFromGitHub; };
+in
 stdenv.mkDerivation rec {
   pname = "nemo-fileroller";
-  version = "5.6.1";
-
-  src = fetchFromGitHub {
-    owner = "linuxmint";
-    repo = "nemo-extensions";
-    rev = "nemo-fileroller-${version}";
-    sha256 = "sha256-dPmAHuJ0ZRTAwhnMMZEu1e9+qZRYCnlaaoCdUP45W+s=";
-  };
+  inherit (srcs) version src;
 
   sourceRoot = "${src.name}/nemo-fileroller";
 
diff --git a/pkgs/desktops/cinnamon/nemo-extensions/nemo-python/default.nix b/pkgs/desktops/cinnamon/nemo-extensions/nemo-python/default.nix
index bc43f2aa08489..8b6f5f07a1c35 100644
--- a/pkgs/desktops/cinnamon/nemo-extensions/nemo-python/default.nix
+++ b/pkgs/desktops/cinnamon/nemo-extensions/nemo-python/default.nix
@@ -11,16 +11,12 @@
 , substituteAll
 }:
 
+let
+  srcs = import ../srcs.nix { inherit fetchFromGitHub; };
+in
 stdenv.mkDerivation rec {
   pname = "nemo-python";
-  version = "5.6.0";
-
-  src = fetchFromGitHub {
-    owner = "linuxmint";
-    repo = "nemo-extensions";
-    rev = version;
-    sha256 = "sha256-cxutiz5bc/dZ9D7XzvMWodWNYvNJPj+5IhJDPJwnb5I=";
-  };
+  inherit (srcs) version src;
 
   sourceRoot = "${src.name}/nemo-python";
 
diff --git a/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix
new file mode 100644
index 0000000000000..491373f5ea5f4
--- /dev/null
+++ b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix
@@ -0,0 +1,15 @@
+{ fetchFromGitHub }:
+
+rec {
+  # When you bump this, you should make sure all nemo-extensions
+  # are actually using this file since we try to deal with tags
+  # like nemo-fileroller-5.6.1 according to upstream's wishes.
+  version = "5.8.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = "nemo-extensions";
+    rev = version;
+    sha256 = "sha256-tyRYPWJa93w05a0PcYvz1GA8/xX2kHLdIzz4tCcppiY=";
+  };
+}
diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix
index 37da2ab231a02..18b2aff557ffa 100644
--- a/pkgs/desktops/cinnamon/nemo/default.nix
+++ b/pkgs/desktops/cinnamon/nemo/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nemo";
-  version = "5.6.5";
+  version = "5.8.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-HdDe2VE9LQqiwFrUSIctOi/ffNOmLy6SyG30EL8UA5Q=";
+    sha256 = "sha256-Be67TOA1gLwSYx8y2iyfvY0QCpWOFutpXMDaPiTRQGg=";
   };
 
   patches = [
diff --git a/pkgs/desktops/cinnamon/pix/default.nix b/pkgs/desktops/cinnamon/pix/default.nix
index 0b02806e0579b..0471a177a56e8 100644
--- a/pkgs/desktops/cinnamon/pix/default.nix
+++ b/pkgs/desktops/cinnamon/pix/default.nix
@@ -1,70 +1,99 @@
 { stdenv
 , lib
+, fetchurl
 , fetchFromGitHub
-, autoreconfHook
-, cinnamon-desktop
-, file
-, gdk-pixbuf
-, glib
-, gobject-introspection
-, gtk-doc
-, gtk3
-, intltool
-, itstool
-, libtool
-, libxml2
 , pkg-config
-, shared-mime-info
-, wrapGAppsHook
-, xapp
-, yelp-tools
+, meson
+, ninja
+, exiv2
+, libheif
+, libjpeg
+, libtiff
+, gst_all_1
+, libraw
+, libsoup
 , libsecret
-, webkitgtk
-, libwebp
+, glib
+, gtk3
+, gsettings-desktop-schemas
 , librsvg
+, libwebp
 , json-glib
-, gnome
-, clutter
+, webkitgtk
+, lcms2
+, bison
+, flex
+, clutter-gtk
+, wrapGAppsHook
+, shared-mime-info
+, python3
+, desktop-file-utils
+, itstool
+, xapp
 }:
 
 stdenv.mkDerivation rec {
   pname = "pix";
-  version = "2.8.9";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-7g0j1cWgNtWlqKWzBnngUA2WNr8Zh8YO/jJ8OdTII7Y=";
+    sha256 = "sha256-sKmdJOuT4Ioy5DmWN9ly+9bqSn4frcVPD5qMTKtxtiQ=";
   };
 
   nativeBuildInputs = [
-    wrapGAppsHook
-    autoreconfHook
-    cinnamon-desktop
-    gdk-pixbuf
-    gnome.gnome-common
-    gobject-introspection
-    gtk-doc
-    intltool
+    bison
+    desktop-file-utils
+    flex
     itstool
-    libtool
+    meson
+    ninja
     pkg-config
-    yelp-tools
+    python3
+    wrapGAppsHook
   ];
 
   buildInputs = [
+    clutter-gtk
+    exiv2
     glib
+    gsettings-desktop-schemas
+    gst_all_1.gst-plugins-base
+    (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
+    gst_all_1.gst-libav
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-ugly
     gtk3
-    xapp
+    json-glib
+    lcms2
+    libheif
+    libjpeg
+    libraw
+    librsvg
     libsecret
-    webkitgtk
+    libsoup
+    libtiff
     libwebp
-    librsvg
-    json-glib
-    clutter
+    webkitgtk
+    xapp
   ];
 
+  postPatch = ''
+    chmod +x pix/make-pix-h.py
+
+    patchShebangs data/gschemas/make-enums.py \
+      pix/make-pix-h.py \
+      po/make-potfiles-in.py \
+      postinstall.py \
+      pix/make-authors-tab.py
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
+  '';
+
   meta = with lib; {
     description = "A generic image viewer from Linux Mint";
     homepage = "https://github.com/linuxmint/pix";
diff --git a/pkgs/desktops/cinnamon/xapp/default.nix b/pkgs/desktops/cinnamon/xapp/default.nix
index e099124784293..7139dce15c79e 100644
--- a/pkgs/desktops/cinnamon/xapp/default.nix
+++ b/pkgs/desktops/cinnamon/xapp/default.nix
@@ -22,7 +22,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xapp";
-  version = "2.4.3";
+  version = "2.6.1";
 
   outputs = [ "out" "dev" ];
 
@@ -30,9 +30,13 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-j04vy/uVWY08Xdxqfo2MMUAlqsUMJTsAt67+XjkdhFg=";
+    hash = "sha256-ZxIPiDLcMHEmlnrImctI2ZfH3AIOjB4m/RPGipJ7koM=";
   };
 
+  # Recommended by upstream, which enables the build of xapp-debug.
+  # https://github.com/linuxmint/xapp/issues/169#issuecomment-1574962071
+  mesonBuildType = "debugoptimized";
+
   nativeBuildInputs = [
     meson
     ninja
@@ -70,11 +74,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     chmod +x schemas/meson_install_schemas.py # patchShebangs requires executable file
-
-    patchShebangs \
-      libxapp/g-codegen.py \
-      meson-scripts/g-codegen.py \
-      schemas/meson_install_schemas.py
+    patchShebangs schemas/meson_install_schemas.py
 
     # Patch pastebin & inxi location
     sed "s|/usr/bin/pastebin|$out/bin/pastebin|" -i scripts/upload-system-info
diff --git a/pkgs/desktops/cinnamon/xreader/default.nix b/pkgs/desktops/cinnamon/xreader/default.nix
index eea8ead9ac760..b56c5a037e09a 100644
--- a/pkgs/desktops/cinnamon/xreader/default.nix
+++ b/pkgs/desktops/cinnamon/xreader/default.nix
@@ -16,7 +16,7 @@
 , poppler
 , libspectre
 , libgxps
-, webkitgtk
+, webkitgtk_4_1
 , nodePackages
 , ninja
 , gsettings-desktop-schemas
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xreader";
-  version = "3.6.3";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-KuCcOnhM8AzKC8hfBpdcnC/ubDVsElKMZuxEnTcJLn0=";
+    sha256 = "sha256-ZmaY9FlDIJNQ9jYkUJDnKAgwn5wlQY89eWx3/RJZA7E=";
   };
 
   nativeBuildInputs = [
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     poppler
     libspectre
     libgxps
-    webkitgtk
+    webkitgtk_4_1
     nodePackages.mathjax
     djvulibre
   ];
diff --git a/pkgs/desktops/cinnamon/xviewer/default.nix b/pkgs/desktops/cinnamon/xviewer/default.nix
index 9002c10e6120c..c03ba5145b5ef 100644
--- a/pkgs/desktops/cinnamon/xviewer/default.nix
+++ b/pkgs/desktops/cinnamon/xviewer/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xviewer";
-  version = "3.2.12";
+  version = "3.4.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tiZeC862gHbZt76sbxseUu9vWN+1huftXpE7lQLkGKU=";
+    sha256 = "sha256-HVxCBqaKtsEGhGAB+dBCOnjAjLZHv0XqTifPrvoYdj8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/opensmalltalk-vm/default.nix b/pkgs/development/compilers/opensmalltalk-vm/default.nix
new file mode 100644
index 0000000000000..1f392075b94a8
--- /dev/null
+++ b/pkgs/development/compilers/opensmalltalk-vm/default.nix
@@ -0,0 +1,184 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchurl
+, alsa-lib
+, coreutils
+, file
+, freetype
+, gnugrep
+, libpulseaudio
+, libtool
+, libuuid
+, openssl
+, pango
+, pkg-config
+, xorg
+}:
+let
+  buildVM =
+    {
+      # VM-specific information, manually extracted from building/<platformDir>/<vmName>/build/mvm
+      platformDir
+    , vmName
+    , scriptName
+    , configureFlagsArray
+    , configureFlags
+    }:
+    let
+      src = fetchFromGitHub {
+        owner = "OpenSmalltalk";
+        repo = "opensmalltalk-vm";
+        rev = "202206021410";
+        hash = "sha256-QqElPiJuqD5svFjWrLz1zL0Tf+pHxQ2fPvkVRn2lyBI=";
+      };
+    in
+    stdenv.mkDerivation {
+      pname =
+        let vmNameNoDots = builtins.replaceStrings [ "." ] [ "-" ] vmName;
+        in "opensmalltalk-vm-${platformDir}-${vmNameNoDots}";
+      version = src.rev;
+
+      inherit src;
+
+      postPatch =
+        ''
+          vmVersionFiles=$(sed -n 's/^versionfiles="\(.*\)"/\1/p' ./scripts/updateSCCSVersions)
+          for vmVersionFile in $vmVersionFiles; do
+            substituteInPlace "$vmVersionFile" \
+              --replace "\$Date\$" "\$Date: Thu Jan 1 00:00:00 1970 +0000 \$" \
+              --replace "\$URL\$" "\$URL: ${src.url} \$" \
+              --replace "\$Rev\$" "\$Rev: ${src.rev} \$" \
+              --replace "\$CommitHash\$" "\$CommitHash: 000000000000 \$"
+          done
+          patchShebangs --build ./building/${platformDir} scripts
+          substituteInPlace ./platforms/unix/config/mkmf \
+            --replace "/bin/rm" "rm"
+          substituteInPlace ./platforms/unix/config/configure \
+            --replace "/usr/bin/file" "file" \
+            --replace "/usr/bin/pkg-config" "pkg-config" \
+        '';
+
+      preConfigure = ''
+        cd building/${platformDir}/${vmName}/build
+        # Exits with non-zero code if the check fails, counterintuitively
+        ../../../../scripts/checkSCCSversion && exit 1
+        cp ../plugins.int ../plugins.ext .
+        configureFlagsArray=${configureFlagsArray}
+      '';
+
+      configureScript = "../../../../platforms/unix/config/configure";
+
+      configureFlags = [ "--with-scriptname=${scriptName}" ] ++ configureFlags;
+
+      buildFlags = "all";
+
+      enableParallelBuilding = true;
+
+      nativeBuildInputs = [
+        file
+        pkg-config
+      ];
+
+      buildInputs = [
+        alsa-lib
+        freetype
+        libpulseaudio
+        libtool
+        libuuid
+        openssl
+        pango
+        xorg.libX11
+        xorg.libXrandr
+      ];
+
+      postInstall = ''
+        rm "$out/squeak"
+        cd "$out/bin"
+        BIN="$(find ../lib -type f -name squeak)"
+        for f in $(find . -type f); do
+          rm "$f"
+          ln -s "$BIN" "$f"
+        done
+      '';
+
+      meta = {
+        description = "The cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.";
+        mainProgram = scriptName;
+        homepage = "https://opensmalltalk.org/";
+        license = with lib.licenses; [ mit ];
+        maintainers = with lib.maintainers; [ jakewaksbaum ];
+        platforms = [ stdenv.targetPlatform.system ];
+      };
+    };
+
+  vmsByPlatform = {
+    "aarch64-linux" = {
+      "squeak-cog-spur" = buildVM {
+        platformDir = "linux64ARMv8";
+        vmName = "squeak.cog.spur";
+        scriptName = "squeak";
+        configureFlagsArray = ''(
+          CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -DCOGMTVM=0 -DDUAL_MAPPED_CODE_ZONE=1"
+          LIBS="-lrt"
+        )'';
+        configureFlags = [
+          "--with-vmversion=5.0"
+          "--with-src=src/spur64.cog"
+          "--without-npsqueak"
+          "--enable-fast-bitblt"
+        ];
+      };
+
+      "squeak-stack-spur" = buildVM {
+        platformDir = "linux64ARMv8";
+        vmName = "squeak.stack.spur";
+        scriptName = "squeak";
+        configureFlagsArray = ''(
+          CFLAGS="-DNDEBUG -DDEBUGVM=0 -DMUSL -D_GNU_SOURCE -DUSEEVDEV -D__ARM_ARCH_ISA_A64 -DARM64 -D__arm__ -D__arm64__ -D__aarch64__"
+        )'';
+        configureFlags = [
+          "--with-vmversion=5.0"
+          "--with-src=src/spur64.stack"
+          "--disable-cogit"
+          "--without-npsqueak"
+        ];
+      };
+    };
+
+    "x86_64-linux" = {
+      "newspeak-cog-spur" = buildVM {
+        platformDir = "linux64x64";
+        vmName = "newspeak.cog.spur";
+        scriptName = "newspeak";
+        configureFlagsArray = ''(
+          CFLAGS="-DNDEBUG -DDEBUGVM=0"
+        )'';
+        configureFlags = [
+          "--with-vmversion=5.0"
+          "--with-src=src/spur64.cog.newspeak"
+          "--without-vm-display-fbdev"
+          "--without-npsqueak"
+        ];
+      };
+
+      "squeak-cog-spur" = buildVM {
+        platformDir = "linux64x64";
+        vmName = "squeak.cog.spur";
+        scriptName = "squeak";
+        configureFlagsArray = ''(
+          CFLAGS="-DNDEBUG -DDEBUGVM=0 -DCOGMTVM=0"
+        )'';
+        configureFlags = [
+          "--with-vmversion=5.0"
+          "--with-src=src/spur64.cog"
+          "--without-npsqueak"
+        ];
+      };
+    };
+  };
+
+  platform = stdenv.targetPlatform.system;
+in
+  vmsByPlatform.${platform} or
+    (throw "Unsupported platform ${platform}: only the following platforms are supported: ${builtins.attrNames vmsByPlatform}")
diff --git a/pkgs/development/compilers/p4c/default.nix b/pkgs/development/compilers/p4c/default.nix
index ddf0c112f8ffd..5c27ac26d6cb7 100644
--- a/pkgs/development/compilers/p4c/default.nix
+++ b/pkgs/development/compilers/p4c/default.nix
@@ -27,13 +27,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "p4c";
-  version = "1.2.3.9";
+  version = "1.2.4.0";
 
   src = fetchFromGitHub {
     owner = "p4lang";
     repo = "p4c";
     rev = "v${version}";
-    sha256 = "sha256-mnJluusDei95B6LMAwre8FjjxwlpK99tzvzLwroQQsM=";
+    sha256 = "sha256-nIPvB6nwa55dKNeoNRrjhnnmoYLYTviaoL79+hT6gGs=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/coq-modules/itauto/default.nix b/pkgs/development/coq-modules/itauto/default.nix
index e2dfe98cf9895..804fc8ee87e5b 100644
--- a/pkgs/development/coq-modules/itauto/default.nix
+++ b/pkgs/development/coq-modules/itauto/default.nix
@@ -1,16 +1,18 @@
-{ lib, mkCoqDerivation, coq, version ? null }:
+{ lib, callPackage, mkCoqDerivation, coq, version ? null }:
 
-mkCoqDerivation rec {
+(mkCoqDerivation rec {
   pname = "itauto";
   owner = "fbesson";
   domain = "gitlab.inria.fr";
 
+  release."8.17.0".sha256 = "sha256-fgdnKchNT1Hyrq14gU8KWYnlSfg3qlsSw5A4+RoA26w=";
   release."8.16.0".sha256 = "sha256-4zAUYGlw/pBcLPv2GroIduIlvbfi1+Vy+TdY8KLCqO4=";
   release."8.15.0".sha256 = "sha256:10qpv4nx1p0wm9sas47yzsg9z22dhvizszfa21yff08a8fr0igya";
   release."8.14.0".sha256 = "sha256:1k6pqhv4dwpkwg81f2rlfg40wh070ks1gy9r0ravm2zhsbxqcfc9";
   release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
+    { case = isEq "8.17"; out = "8.17.0"; }
     { case = isEq "8.16"; out = "8.16.0"; }
     { case = isEq "8.15"; out = "8.15.0"; }
     { case = isEq "8.14"; out = "8.14.0"; }
@@ -21,9 +23,14 @@ mkCoqDerivation rec {
   nativeBuildInputs = (with coq.ocamlPackages; [ ocamlbuild ]);
   enableParallelBuilding = false;
 
+  passthru.tests.suite = callPackage ./test.nix {};
+
   meta =  with lib; {
     description = "A reflexive SAT solver parameterised by a leaf tactic and Nelson-Oppen support";
     maintainers = with maintainers; [ siraben ];
     license = licenses.gpl3Plus;
   };
-}
+}).overrideAttrs (o: lib.optionalAttrs
+  (o.version == "dev" || lib.versionAtLeast o.version "8.16") {
+    propagatedBuildInputs = [ coq.ocamlPackages.findlib ];
+})
diff --git a/pkgs/development/coq-modules/itauto/test.nix b/pkgs/development/coq-modules/itauto/test.nix
new file mode 100644
index 0000000000000..ef3a85954e61e
--- /dev/null
+++ b/pkgs/development/coq-modules/itauto/test.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, coq, itauto }:
+
+let excluded =
+  lib.optionals (lib.versions.isEq "8.16" itauto.version) [ "arith.v" "refl_bool.v" ]
+; in
+
+stdenv.mkDerivation {
+  pname = "coq${coq.coq-version}-itauto-test";
+  inherit (itauto) src version;
+
+  nativeCheckInputs = [ coq itauto ];
+
+  dontConfigure = true;
+  dontBuild = true;
+  doCheck = true;
+
+  checkPhase = ''
+    cd test-suite
+    for m in *.v
+    do
+      echo -n ${lib.concatStringsSep " " excluded} | grep --silent $m && continue
+      echo $m && coqc $m
+    done
+  '';
+
+  installPhase = "touch $out";
+}
diff --git a/pkgs/development/coq-modules/reglang/default.nix b/pkgs/development/coq-modules/reglang/default.nix
index 44e938e16dbdf..1b2b9572c4b5b 100644
--- a/pkgs/development/coq-modules/reglang/default.nix
+++ b/pkgs/development/coq-modules/reglang/default.nix
@@ -5,11 +5,12 @@ mkCoqDerivation {
 
   releaseRev = v: "v${v}";
 
+  release."1.1.3".sha256 = "sha256-kaselYm8K0JBsTlcI6K24m8qpv8CZ9+VNDJrOtFaExg=";
   release."1.1.2".sha256 = "sha256-SEnMilLNxh6a3oiDNGLaBr8quQ/nO2T9Fwdf/1il2Yk=";
 
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
-    { case = range "8.10" "8.16"; out = "1.1.2"; }
+    { case = range "8.10" "8.17"; out = "1.1.3"; }
   ] null;
 
 
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index db68d4ff1add2..cd09b5a76235e 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -7,11 +7,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "babashka";
-  version = "1.3.180";
+  version = "1.3.181";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-moNFb5jHTK2XJHx9BAeD+BUH4Y6NyypDM0MycqE5Zwk=";
+    sha256 = "sha256-NzchlHRxOCSyUf9U0Jv8h4bgKd2Jwp+LmxIfeV8+8+M=";
   };
 
   graalvmDrv = graalvmCEPackages.graalvm19-ce;
diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix
index a2ace544b7c9b..ff33c7bd0979d 100644
--- a/pkgs/development/libraries/capstone/default.nix
+++ b/pkgs/development/libraries/capstone/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
+, cmake
 , fetchFromGitHub
-, pkg-config
 , fixDarwinDylibNames
 }:
 
@@ -16,31 +16,13 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-XMwQ7UaPC8YYu4yxsE4bbR3leYPfBHu5iixSLz05r3g=";
   };
 
-  # replace faulty macos detection
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    sed -i 's/^IS_APPLE := .*$/IS_APPLE := 1/' Makefile
-  '';
-
-  configurePhase = "patchShebangs make.sh ";
-  buildPhase = "PREFIX=$out ./make.sh";
-
-  doCheck = true;
-  checkPhase = ''
-    # first remove fuzzing steps from check target
-    substituteInPlace Makefile --replace "fuzztest fuzzallcorp" ""
-    make check
-  '';
-
-  installPhase = (lib.optionalString stdenv.isDarwin "HOMEBREW_CAPSTONE=1 ")
-    + "PREFIX=$out ./make.sh install";
-
   nativeBuildInputs = [
-    pkg-config
+    cmake
   ] ++ lib.optionals stdenv.isDarwin [
     fixDarwinDylibNames
   ];
 
-  enableParallelBuilding = true;
+  doCheck = true;
 
   meta = {
     description = "Advanced disassembly library";
diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix
index 7ca6efe433739..753c1922e7594 100644
--- a/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -914,4 +914,14 @@ rec {
     # the README doesn't specify versions of licenses :/
     license = with lib.licenses; [ gpl2Plus lgpl2Plus mpl10 asl20 cc-by-sa-25 ];
   };
+
+  # Portugese
+  pt_BR = pt-br;
+  pt-br = mkDictFromLibreOffice {
+    shortName = "pt-br";
+    dictFileName = "pt_BR";
+    shortDescription = "Brazillian Portugese (Brazil)";
+    readmeFile = "README_pt_BR.txt";
+    license = with lib.licenses; [ lgpl3 ];
+  };
 }
diff --git a/pkgs/development/libraries/libraspberrypi/default.nix b/pkgs/development/libraries/libraspberrypi/default.nix
index bc0ae86aec357..14f02d8481e95 100644
--- a/pkgs/development/libraries/libraspberrypi/default.nix
+++ b/pkgs/development/libraries/libraspberrypi/default.nix
@@ -16,17 +16,11 @@ stdenv.mkDerivation rec {
     hash = "sha512-f7tBgIykcIdkwcFjBKk5ooD/5Bsyrd/0OFr7LNCwWFYeE4DH3XA7UR7YjArkwqUVCVBByr82EOaacw0g1blOkw==";
   };
 
-  patches = [
-    (fetchpatch {
-      # https://github.com/raspberrypi/userland/pull/670
-      url = "https://github.com/raspberrypi/userland/commit/37cb44f314ab1209fe2a0a2449ef78893b1e5f62.patch";
-      sha256 = "1fbrbkpc4cc010ji8z4ll63g17n6jl67kdy62m74bhlxn72gg9rw";
-    })
-  ];
-
   nativeBuildInputs = [ cmake pkg-config ];
   cmakeFlags = [
-    (if (stdenv.hostPlatform.isAarch64) then "-DARM64=ON" else "-DARM64=OFF")
+    # -DARM64=ON disables all targets that only build on 32-bit ARM; this allows
+    # the package to build on aarch64 and other architectures
+    "-DARM64=${if stdenv.hostPlatform.isAarch32 then "OFF" else "ON"}"
     "-DVMCS_INSTALL_PREFIX=${placeholder "out"}"
   ];
 
diff --git a/pkgs/development/libraries/libsciter/default.nix b/pkgs/development/libraries/libsciter/default.nix
index 034ccc4208f86..9e9c0aece0ba0 100644
--- a/pkgs/development/libraries/libsciter/default.nix
+++ b/pkgs/development/libraries/libsciter/default.nix
@@ -3,14 +3,13 @@
 , cairo
 , libuuid
 , pango
-, gdk-pixbuf
 , gtk3
 , stdenv
 , fetchurl
 , autoPatchelfHook
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "libsciter";
   version = "4.4.8.23-bis"; # Version specified in GitHub commit title
 
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 544ad53772913..3f9a0e6f4bb93 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -22,14 +22,14 @@
 , python3
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   version = "1.45.0";
   pname = "libuv";
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = "v${version}";
+    owner = "libuv";
+    repo = "libuv";
+    rev = "v${finalAttrs.version}";
     sha256 = "sha256-qKw9QFR24Uw7pVA9isPH8Va+9/5DYuqXz6l6jWcXn+4=";
   };
 
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
       "shutdown_close_pipe"
     ];
     tdRegexp = lib.concatStringsSep "\\|" toDisable;
-    in lib.optionalString doCheck ''
+    in lib.optionalString (finalAttrs.doCheck) ''
       sed '/${tdRegexp}/d' -i test/test-list.h
     '';
 
@@ -112,10 +112,10 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A multi-platform support library with a focus on asynchronous I/O";
     homepage    = "https://libuv.org/";
-    changelog   = "https://github.com/libuv/libuv/blob/v${version}/ChangeLog";
+    changelog   = "https://github.com/libuv/libuv/blob/v${finalAttrs.version}/ChangeLog";
     maintainers = with maintainers; [ cstrahan ];
     platforms   = platforms.all;
     license     = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ];
   };
 
-}
+})
diff --git a/pkgs/development/libraries/libvgm/default.nix b/pkgs/development/libraries/libvgm/default.nix
index e6f985225ef5f..15b17d4cab36e 100644
--- a/pkgs/development/libraries/libvgm/default.nix
+++ b/pkgs/development/libraries/libvgm/default.nix
@@ -42,13 +42,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libvgm";
-  version = "unstable-2023-04-22";
+  version = "unstable-2023-05-17";
 
   src = fetchFromGitHub {
     owner = "ValleyBell";
     repo = "libvgm";
-    rev = "669a7566a356393d4e5b1030a9f9cdd3486bb41b";
-    sha256 = "U/PO/YtS8bOb2yKk57UQKH4eRNysYC/hrmUR5YZyYlw=";
+    rev = "5ad95d6fb40261cebab3d142b5f0191ed4e3a7cd";
+    sha256 = "R1PCinxUUoCpBWYXpbPCVNrl299ETIDovRbnAPFXMHM=";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/oneDNN/default.nix b/pkgs/development/libraries/oneDNN/default.nix
index fd47a05a1bc95..3297944ba700c 100644
--- a/pkgs/development/libraries/oneDNN/default.nix
+++ b/pkgs/development/libraries/oneDNN/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/oneapi-src/oneDNN/releases/tag/v${version}";
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = with maintainers; [ alexarice bhipple ];
+    maintainers = with maintainers; [ bhipple ];
   };
 }
diff --git a/pkgs/development/libraries/science/astronomy/libxisf/0001-Fix-pkg-config-paths.patch b/pkgs/development/libraries/science/astronomy/libxisf/0001-Fix-pkg-config-paths.patch
new file mode 100644
index 0000000000000..c26a2bbc88148
--- /dev/null
+++ b/pkgs/development/libraries/science/astronomy/libxisf/0001-Fix-pkg-config-paths.patch
@@ -0,0 +1,23 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nicolas Benes <nbenes.gh@xandea.de>
+Date: Mon, 22 May 2023 09:25:27 +0200
+Subject: [PATCH] Fix pkg-config paths
+
+
+diff --git a/libxisf.pc.in b/libxisf.pc.in
+index b0b8b53..944b068 100644
+--- a/libxisf.pc.in
++++ b/libxisf.pc.in
+@@ -1,7 +1,7 @@
+ prefix="@CMAKE_INSTALL_PREFIX@"
+ exec_prefix="${prefix}"
+-libdir="${exec_prefix}/@CMAKE_INSTALL_LIBDIR@"
+-includedir="${prefix}/@CMAKE_INSTALL_INCLUDEDIR@"
++libdir="@CMAKE_INSTALL_FULL_LIBDIR@"
++includedir="@CMAKE_INSTALL_FULL_INCLUDEDIR@"
+ 
+ Name: @PROJECT_NAME@
+ Description: @CMAKE_PROJECT_DESCRIPTION@
+-- 
+2.38.5
+
diff --git a/pkgs/development/libraries/science/astronomy/libxisf/default.nix b/pkgs/development/libraries/science/astronomy/libxisf/default.nix
index e7e4bc98b0d84..a1fcd4da7b3d1 100644
--- a/pkgs/development/libraries/science/astronomy/libxisf/default.nix
+++ b/pkgs/development/libraries/science/astronomy/libxisf/default.nix
@@ -10,16 +10,20 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libxisf";
-  version = "0.2.3";
+  version = "0.2.8";
 
   src = fetchFromGitea {
     domain = "gitea.nouspiro.space";
     owner = "nou";
     repo = "libXISF";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-u5EYnRO2rUV8ofLL9qfACeVvVbWXEXpkqh2Q4OOxpaQ=";
+    hash = "sha256-YB97vMz2+cFRYq8x2Su3Eh952U6kGIVLYV7kDEd5S8g=";
   };
 
+  patches = [
+    ./0001-Fix-pkg-config-paths.patch
+  ];
+
   nativeBuildInputs = [
     cmake
     pkg-config
diff --git a/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix b/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix
index 80d409c080cb5..5b447e8b8891f 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix
@@ -4,7 +4,6 @@
 , meson
 , ninja
 , pkg-config
-, python3
 , wrapGAppsHook
 , cinnamon
 , glib
@@ -16,20 +15,19 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-xapp";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "xdg-desktop-portal-xapp";
     rev = version;
-    hash = "sha256-oXV4u/w4MWhKHf5vNbUNcyEJpKVFWcyEs1HEqo6eCyU=";
+    hash = "sha256-N0LVgk3VT0Fax1GTB7jzFhwzNEeAuyFHAuxXNCo2o3Y=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    python3
     wrapGAppsHook
   ];
 
@@ -46,11 +44,6 @@ stdenv.mkDerivation rec {
     "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
   ];
 
-  postPatch = ''
-    chmod +x data/meson_install_schemas.py
-    patchShebangs data/meson_install_schemas.py
-  '';
-
   meta = with lib; {
     description = "Backend implementation for xdg-desktop-portal for Cinnamon, MATE, Xfce";
     homepage = "https://github.com/linuxmint/xdg-desktop-portal-xapp";
diff --git a/pkgs/development/nim-packages/asciigraph/default.nix b/pkgs/development/nim-packages/asciigraph/default.nix
index 51cc4c89eca0a..0d8b471102ee5 100644
--- a/pkgs/development/nim-packages/asciigraph/default.nix
+++ b/pkgs/development/nim-packages/asciigraph/default.nix
@@ -11,7 +11,6 @@ buildNimPackage rec {
     hash = "sha256-JMBAW8hkE2wuXkRt4aHqFPoz1HX1J4SslvcaQXfpDNk";
   };
 
-  doCheck = true;
 
   meta = with lib;
     src.meta // {
diff --git a/pkgs/development/nim-packages/base32/default.nix b/pkgs/development/nim-packages/base32/default.nix
index 543c63754bc61..a6ae28b45b54d 100644
--- a/pkgs/development/nim-packages/base32/default.nix
+++ b/pkgs/development/nim-packages/base32/default.nix
@@ -9,7 +9,6 @@ buildNimPackage rec {
     rev = version;
     hash = "sha256-BsDly13xsY2bu4N9LGHB0OGej/JhAx3B01TDdF0M8Jk=";
   };
-  doCheck = true;
   meta = src.meta // {
     description = "Base32 library for Nim";
     maintainers = with lib.maintainers; [ ehmry ];
diff --git a/pkgs/development/nim-packages/base45/default.nix b/pkgs/development/nim-packages/base45/default.nix
index b63f3073e7741..3495084459534 100644
--- a/pkgs/development/nim-packages/base45/default.nix
+++ b/pkgs/development/nim-packages/base45/default.nix
@@ -9,7 +9,6 @@ buildNimPackage rec {
     rev = version;
     hash = "sha256-9he+14yYVGt2s1IuRLPRsv23xnJzERkWRvIHr3PxFYk=";
   };
-  doCheck = true;
   meta = src.meta // {
     description = "Base45 library for Nim";
     license = lib.licenses.unlicense;
diff --git a/pkgs/development/nim-packages/build-nim-package/default.nix b/pkgs/development/nim-packages/build-nim-package/default.nix
index d5cfbe9288232..6e20b78899f6b 100644
--- a/pkgs/development/nim-packages/build-nim-package/default.nix
+++ b/pkgs/development/nim-packages/build-nim-package/default.nix
@@ -5,6 +5,7 @@ let
   baseAttrs = {
     strictDeps = true;
     enableParallelBuilding = true;
+    doCheck = true;
     configurePhase = ''
       runHook preConfigure
       export NIX_NIM_BUILD_INPUTS=''${pkgsHostTarget[@]} $NIX_NIM_BUILD_INPUTS
@@ -30,7 +31,7 @@ let
   };
 
   inputsOverride =
-    { depsBuildBuild ? [ ], nativeBuildInputs ? [ ], meta, ... }: {
+    { depsBuildBuild ? [ ], nativeBuildInputs ? [ ], ... }: {
       depsBuildBuild = [ nim_builder ] ++ depsBuildBuild;
       nativeBuildInputs = [ nim ] ++ nativeBuildInputs;
     };
diff --git a/pkgs/development/nim-packages/bumpy/default.nix b/pkgs/development/nim-packages/bumpy/default.nix
index 909894352319b..c816f0901777e 100644
--- a/pkgs/development/nim-packages/bumpy/default.nix
+++ b/pkgs/development/nim-packages/bumpy/default.nix
@@ -13,7 +13,6 @@ buildNimPackage rec {
 
   propagatedBuildInputs = [ vmath ];
 
-  doCheck = true;
 
   meta = with lib;
     src.meta // {
diff --git a/pkgs/development/nim-packages/cbor/default.nix b/pkgs/development/nim-packages/cbor/default.nix
index fd4d7ca190e45..1688d1f6a1079 100644
--- a/pkgs/development/nim-packages/cbor/default.nix
+++ b/pkgs/development/nim-packages/cbor/default.nix
@@ -9,7 +9,6 @@ buildNimPackage rec {
     rev = version;
     hash = "sha256-VmSYWgXDJLB2D2m3/ymrEytT2iW5JE56WmDz2MPHAqQ=";
   };
-  doCheck = true;
   meta = with lib;
     src.meta // {
       description =
diff --git a/pkgs/development/nim-packages/flatty/default.nix b/pkgs/development/nim-packages/flatty/default.nix
index 31abbfbdd21ef..26a827830d1c4 100644
--- a/pkgs/development/nim-packages/flatty/default.nix
+++ b/pkgs/development/nim-packages/flatty/default.nix
@@ -11,7 +11,6 @@ buildNimPackage rec {
     hash = "sha256-ZmhjehmEJHm5qNlsGQvyYLajUdwhWt1+AtRppRrNtgA=";
   };
 
-  doCheck = true;
 
   meta = with lib;
     src.meta // {
diff --git a/pkgs/development/nim-packages/freedesktop_org/default.nix b/pkgs/development/nim-packages/freedesktop_org/default.nix
index 745659622c411..52e672b3d6974 100644
--- a/pkgs/development/nim-packages/freedesktop_org/default.nix
+++ b/pkgs/development/nim-packages/freedesktop_org/default.nix
@@ -11,7 +11,6 @@ let
       rev = "695f1285d63f1954c25eb1f42798d90fa7bcbe14";
       hash = "sha256-Z2Qr14pv2RHzQNfEYIKuXKHfHvvIfaEiGCHHCWJZFyw=";
     };
-    doCheck = true;
   };
 in buildNimPackage rec {
   pname = "freedesktop_org";
@@ -23,7 +22,6 @@ in buildNimPackage rec {
     hash = "sha256-gEN8kiWYCfC9H7o4UE8Xza5s7OwU3TFno6XnIlEm9Dg=";
   };
   propagatedBuildInputs = [ configparser ];
-  doCheck = true;
   meta = src.meta // {
     description = "Some Nim procedures for looking up freedesktop.org data";
     license = lib.licenses.unlicense;
diff --git a/pkgs/development/nim-packages/getdns/default.nix b/pkgs/development/nim-packages/getdns/default.nix
index 035770da98be0..7d85077d7e8a1 100644
--- a/pkgs/development/nim-packages/getdns/default.nix
+++ b/pkgs/development/nim-packages/getdns/default.nix
@@ -13,7 +13,6 @@ buildNimPackage rec {
   propagatedNativeBuildInputs = [ pkg-config ];
   propagatedBuildInputs = [ getdns ];
 
-  doCheck = true;
   checkPhase = "nim c tests/test_example_synchronous";
     # The test requires network but check if it builds.
 
diff --git a/pkgs/development/nim-packages/hts-nim/default.nix b/pkgs/development/nim-packages/hts-nim/default.nix
index 960a9e63d215f..d536133ce9b0e 100644
--- a/pkgs/development/nim-packages/hts-nim/default.nix
+++ b/pkgs/development/nim-packages/hts-nim/default.nix
@@ -10,4 +10,5 @@ buildNimPackage rec {
     sha256 = "0670phk1bq3l9j2zaa8i5wcpc5dyfrc0l2a6c21g0l2mmdczffa7";
   };
   propagatedBuildInputs = [ htslib ];
+  doCheck = false;
 }
diff --git a/pkgs/development/nim-packages/illwillwidgets/default.nix b/pkgs/development/nim-packages/illwillwidgets/default.nix
index de0dbfa116453..f767216712ac7 100644
--- a/pkgs/development/nim-packages/illwillwidgets/default.nix
+++ b/pkgs/development/nim-packages/illwillwidgets/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildNimPackage, fetchFromGitHub }:
+{ lib, buildNimPackage, fetchFromGitHub, illwill }:
 
 buildNimPackage rec {
   pname = "illwillwidgets";
@@ -11,6 +11,9 @@ buildNimPackage rec {
     hash = "sha256-YVNdgs8jquJ58qbcyNMMJt+hJYcvahYpkSrDBbO4ILU=";
   };
 
+  propagatedBuildInputs = [ illwill ];
+  doCheck = false;
+
   meta = with lib;
     src.meta // {
       description = "Mouse enabled widgets for illwill";
diff --git a/pkgs/development/nim-packages/jsony/default.nix b/pkgs/development/nim-packages/jsony/default.nix
index bf8cf5d5c7f2f..5f9c0f2741c29 100644
--- a/pkgs/development/nim-packages/jsony/default.nix
+++ b/pkgs/development/nim-packages/jsony/default.nix
@@ -11,7 +11,6 @@ buildNimPackage rec {
     sha256 = "1p250wb97nzz2g0vvq6mn521fx7sn1jpk1ralbzqh5q8clh4g7wr";
   };
 
-  doCheck = true;
 
   meta = with lib;
     src.meta // {
diff --git a/pkgs/development/nim-packages/nimSHA2/default.nix b/pkgs/development/nim-packages/nimSHA2/default.nix
index 812b179b5d704..ca9f08c8d2538 100644
--- a/pkgs/development/nim-packages/nimSHA2/default.nix
+++ b/pkgs/development/nim-packages/nimSHA2/default.nix
@@ -9,7 +9,6 @@ buildNimPackage rec {
     rev = "b8f666069dff1ed0c5142dd1ca692f0e71434716";
     hash = "sha256-Wqb3mQ7638UOTze71mf6WMyGiw9qTwhbJiGGb+9OR2k=";
   };
-  doCheck = true;
   meta = src.meta // {
     description = "Secure Hash Algorithm 2";
     maintainers = with lib.maintainers; [ ehmry ];
diff --git a/pkgs/development/nim-packages/nimraylib-now/default.nix b/pkgs/development/nim-packages/nimraylib-now/default.nix
index 9610ac7afa66a..f2e0028a32e1c 100644
--- a/pkgs/development/nim-packages/nimraylib-now/default.nix
+++ b/pkgs/development/nim-packages/nimraylib-now/default.nix
@@ -1,4 +1,4 @@
-{ lib, nimPackages, fetchFromGitHub }:
+{ lib, nimPackages, fetchFromGitHub, raylib }:
 
 nimPackages.buildNimPackage rec {
   pname = "nimraylib-now";
@@ -11,6 +11,10 @@ nimPackages.buildNimPackage rec {
     sha256 = "sha256-18YiAzJ46dpD5JN+gH0MWKchZ5YLPBNcm9eVFnyy2Sw=";
   };
 
+  propagatedBuildInputs = [ raylib ];
+
+  doCheck = false; # no $DISPLAY available
+
   meta = with lib; {
     homepage = "https://github.com/greenfork/nimraylib_now";
     description = "The Ultimate Raylib gaming library wrapper for Nim";
diff --git a/pkgs/development/nim-packages/npeg/default.nix b/pkgs/development/nim-packages/npeg/default.nix
index 51c7383bff3e8..c869ff60f6a5f 100644
--- a/pkgs/development/nim-packages/npeg/default.nix
+++ b/pkgs/development/nim-packages/npeg/default.nix
@@ -9,7 +9,6 @@ buildNimPackage rec {
     rev = version;
     hash = "sha256-kN91cp50ZL4INeRWqwrRK6CAkVXUq4rN4YlcN6WL/3Y=";
   };
-  doCheck = true;
   meta = src.meta // {
     description = "NPeg is a pure Nim pattern matching library";
     maintainers = with lib.maintainers; [ ehmry ];
diff --git a/pkgs/development/nim-packages/parsetoml/default.nix b/pkgs/development/nim-packages/parsetoml/default.nix
index 0c2e31dd41f48..d6504f1d9c673 100644
--- a/pkgs/development/nim-packages/parsetoml/default.nix
+++ b/pkgs/development/nim-packages/parsetoml/default.nix
@@ -11,7 +11,6 @@ buildNimPackage rec {
     hash = "sha256-jtqn59x2ZRRgrPir6u/frsDHnl4kvTJWpbejxti8aHY=";
   };
 
-  doCheck = true;
 
   meta = with lib;
     src.meta // {
diff --git a/pkgs/development/nim-packages/pixie/default.nix b/pkgs/development/nim-packages/pixie/default.nix
index 1366e55a1e360..37b018b6fa658 100644
--- a/pkgs/development/nim-packages/pixie/default.nix
+++ b/pkgs/development/nim-packages/pixie/default.nix
@@ -14,7 +14,6 @@ buildNimPackage rec {
 
   propagatedBuildInputs = [ bumpy chroma flatty nimsimd vmath zippy ];
 
-  doCheck = true;
 
   meta = with lib;
     src.meta // {
diff --git a/pkgs/development/nim-packages/safeset/default.nix b/pkgs/development/nim-packages/safeset/default.nix
index df613143e9a80..b92228421c75a 100644
--- a/pkgs/development/nim-packages/safeset/default.nix
+++ b/pkgs/development/nim-packages/safeset/default.nix
@@ -11,7 +11,6 @@ buildNimPackage rec {
     hash = "sha256-ZLdStoNVoQhRkD2iEzKxhs1UPfgnbJM9QCDHdjH7vTU=";
   };
 
-  doCheck = true;
 
   meta = with lib;
     src.meta // {
diff --git a/pkgs/development/nim-packages/sdl2/default.nix b/pkgs/development/nim-packages/sdl2/default.nix
index f5c7f0cb8d916..340cd2718ae22 100644
--- a/pkgs/development/nim-packages/sdl2/default.nix
+++ b/pkgs/development/nim-packages/sdl2/default.nix
@@ -8,7 +8,6 @@ buildNimPackage (finalAttrs: {
     hash = "sha256-Vtcj8goI4zZPQs2TbFoBFlcR5UqDtOldaXSH/+/xULk=";
   };
   propagatedBuildInputs = [ SDL2 ];
-  doCheck = true;
   meta = {
     description = "Nim wrapper for SDL 2.x";
     platforms = lib.platforms.linux; # Problems with Darwin.
diff --git a/pkgs/development/nim-packages/snappy/config.patch b/pkgs/development/nim-packages/snappy/config.patch
deleted file mode 100644
index ffcec7032ca91..0000000000000
--- a/pkgs/development/nim-packages/snappy/config.patch
+++ /dev/null
@@ -1,7 +0,0 @@
-diff --git a/tests/config.nims b/tests/config.nims
-index 46348f1..fbe9f5e 100644
---- a/tests/config.nims
-+++ b/tests/config.nims
-@@ -1 +1,2 @@
- switch("path", "..")
-+switch("passL", "-lsnappy")
diff --git a/pkgs/development/nim-packages/snappy/default.nix b/pkgs/development/nim-packages/snappy/default.nix
index 88de1f4552a97..e3775b20631ba 100644
--- a/pkgs/development/nim-packages/snappy/default.nix
+++ b/pkgs/development/nim-packages/snappy/default.nix
@@ -10,11 +10,7 @@ buildNimPackage rec {
     hash = "sha256-18CFRuDK+E701MHrCixx22QSVmglTc0EJwrMCsKwayM=";
   };
   propagatedBuildInputs = [ snappy ];
-  patches = [ ./config.patch ];
-  preCheck = ''
-    mkdir $NIX_BUILD_TOP/nimcache/
-    mv -v tests/data $NIX_BUILD_TOP/nimcache/data
-  ''; # test standards, please
+  doCheck = false;
   meta = with lib;
     src.meta // {
       description = "Nim implementation of snappy compression algorithm";
diff --git a/pkgs/development/nim-packages/spry/default.nix b/pkgs/development/nim-packages/spry/default.nix
index ebb23de70144b..590832d11f330 100644
--- a/pkgs/development/nim-packages/spry/default.nix
+++ b/pkgs/development/nim-packages/spry/default.nix
@@ -12,7 +12,6 @@ buildNimPackage rec {
   };
   buildInputs = [ rocksdb snappy spryvm stew tempfile ui ];
   patches = [ ./nil.patch ./python.patch ];
-  doCheck = true;
   meta = with lib;
     src.meta // {
       description =
diff --git a/pkgs/development/nim-packages/spryvm/default.nix b/pkgs/development/nim-packages/spryvm/default.nix
index 7ee6537b3a2b4..618e782569132 100644
--- a/pkgs/development/nim-packages/spryvm/default.nix
+++ b/pkgs/development/nim-packages/spryvm/default.nix
@@ -11,7 +11,6 @@ buildNimPackage rec {
   };
   propagatedBuildInputs = [ sqlite ];
   patches = [ ./nil.patch ];
-  doCheck = true;
   meta = with lib;
     src.meta // {
       description = "Spry virtual machine";
diff --git a/pkgs/development/nim-packages/syndicate/default.nix b/pkgs/development/nim-packages/syndicate/default.nix
index 62f7ca936f78d..b172e5fbdbde3 100644
--- a/pkgs/development/nim-packages/syndicate/default.nix
+++ b/pkgs/development/nim-packages/syndicate/default.nix
@@ -11,7 +11,6 @@ buildNimPackage rec {
     hash = "sha256-yTPbEsBcpEPXfmhykbWzWdnJ2ExEJxdii1L+mqx8VGQ=";
   };
   propagatedBuildInputs = [ nimSHA2 preserves ];
-  doCheck = true;
   meta = src.meta // {
     description = "Nim implementation of the Syndicated Actor model";
     license = lib.licenses.unlicense;
diff --git a/pkgs/development/nim-packages/tkrzw/default.nix b/pkgs/development/nim-packages/tkrzw/default.nix
index 1988260ac4854..15a76ae812a0b 100644
--- a/pkgs/development/nim-packages/tkrzw/default.nix
+++ b/pkgs/development/nim-packages/tkrzw/default.nix
@@ -11,7 +11,6 @@ buildNimPackage rec {
   };
   propagatedNativeBuildInputs = [ pkg-config ];
   propagatedBuildInputs = [ tkrzw ];
-  doCheck = true;
   meta = with lib;
     src.meta // {
       description = "Nim wrappers over some of the Tkrzw C++ library";
diff --git a/pkgs/development/nim-packages/ui/default.nix b/pkgs/development/nim-packages/ui/default.nix
index de7ef09b50120..0af0665bfa651 100644
--- a/pkgs/development/nim-packages/ui/default.nix
+++ b/pkgs/development/nim-packages/ui/default.nix
@@ -14,7 +14,6 @@ buildNimPackage rec {
   postPatch = ''
     echo {.passL: r\"$(pkg-config --libs libui)\".} >> ui/rawui.nim
   '';
-  doCheck = true;
   meta = with lib;
     src.meta // {
       description = "Nim bindings to libui";
diff --git a/pkgs/development/nim-packages/x11/default.nix b/pkgs/development/nim-packages/x11/default.nix
index abfac2e4b8377..85c5a18a381d5 100644
--- a/pkgs/development/nim-packages/x11/default.nix
+++ b/pkgs/development/nim-packages/x11/default.nix
@@ -11,8 +11,6 @@ buildNimPackage rec {
     hash = "sha256-2XRyXiBxAc9Zx/w0zRBHRZ240qww0FJvIvOKZ8YH50A=";
   };
 
-  doCheck = true;
-
   meta = with lib;
     src.meta // {
       description = "X11 library for nim";
diff --git a/pkgs/development/nim-packages/zippy/default.nix b/pkgs/development/nim-packages/zippy/default.nix
index ba27b0858f598..c89d030288e50 100644
--- a/pkgs/development/nim-packages/zippy/default.nix
+++ b/pkgs/development/nim-packages/zippy/default.nix
@@ -13,8 +13,6 @@ buildNimPackage rec {
     hash = "sha256-w64ENRyP3mNTtESSt7CDDxUkjYSfziNVVedkO4HIuJ8=";
   };
 
-  doCheck = true;
-
   meta = with lib;
     src.meta // {
       description = "Pure Nim implementation of deflate, zlib, gzip and zip";
diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix
index 830fc2d956cce..29d3db2ef469f 100644
--- a/pkgs/development/node-packages/aliases.nix
+++ b/pkgs/development/node-packages/aliases.nix
@@ -47,4 +47,5 @@ mapAliases {
   readability-cli = pkgs.readability-cli; # Added 2023-06-12
   thelounge = pkgs.thelounge; # Added 2023-05-22
   triton = pkgs.triton; # Added 2023-05-06
+  vscode-langservers-extracted = pkgs.vscode-langservers-extracted; # Added 2023-05-27
 }
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 8270ebf8665b0..c2548398f2e0c 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -379,7 +379,6 @@
 , "vscode-html-languageserver-bin"
 , "vscode-json-languageserver"
 , "vscode-json-languageserver-bin"
-, "vscode-langservers-extracted"
 , "vue-cli"
 , "vue-language-server"
 , "wavedrom-cli"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index e784b8159fb65..96908fa44102e 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -144734,56 +144734,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  vscode-langservers-extracted = nodeEnv.buildNodePackage {
-    name = "vscode-langservers-extracted";
-    packageName = "vscode-langservers-extracted";
-    version = "4.7.0";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-4.7.0.tgz";
-      sha512 = "OZWgreyvCKdKV4TfBGXrxiJVaT041SkoE3TzQUCS/EnK55zMGM1fq1HoXtFLMvqatEuVYSPF2lywrAj2Ac0maQ==";
-    };
-    dependencies = [
-      sources."@vscode/l10n-0.0.13"
-      sources."core-js-3.31.0"
-      sources."jsonc-parser-3.2.0"
-      sources."picomatch-2.3.1"
-      sources."regenerator-runtime-0.13.11"
-      sources."request-light-0.7.0"
-      sources."typescript-4.9.5"
-      (sources."vscode-css-languageservice-6.2.6" // {
-        dependencies = [
-          sources."@vscode/l10n-0.0.14"
-        ];
-      })
-      (sources."vscode-html-languageservice-5.0.6" // {
-        dependencies = [
-          sources."@vscode/l10n-0.0.14"
-        ];
-      })
-      sources."vscode-json-languageservice-5.3.5"
-      sources."vscode-jsonrpc-8.1.0"
-      sources."vscode-languageserver-8.1.0"
-      sources."vscode-languageserver-protocol-3.17.3"
-      sources."vscode-languageserver-textdocument-1.0.10"
-      sources."vscode-languageserver-types-3.17.3"
-      (sources."vscode-markdown-languageservice-0.3.0" // {
-        dependencies = [
-          sources."@vscode/l10n-0.0.10"
-        ];
-      })
-      sources."vscode-nls-5.2.0"
-      sources."vscode-uri-3.0.7"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "HTML/CSS/JSON/ESLint language servers extracted from [vscode](https://github.com/Microsoft/vscode).";
-      homepage = "https://github.com/hrsh7th/vscode-langservers-extracted#readme";
-      license = "MIT";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   vue-cli = nodeEnv.buildNodePackage {
     name = "vue-cli";
     packageName = "vue-cli";
diff --git a/pkgs/development/ocaml-modules/cohttp/default.nix b/pkgs/development/ocaml-modules/cohttp/default.nix
index 4747b7b8ef4c7..8a1df8618dbf4 100644
--- a/pkgs/development/ocaml-modules/cohttp/default.nix
+++ b/pkgs/development/ocaml-modules/cohttp/default.nix
@@ -9,13 +9,16 @@ buildDunePackage rec {
   version = "5.1.0";
 
   minimalOCamlVersion = "4.08";
-  duneVersion = "3";
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-cohttp/releases/download/v${version}/cohttp-v${version}.tbz";
-    sha256 = "sha256-mINgeBO7DSsWd84gYjQNUQFqbh8KBZ+S2bYI/iVWMAc=";
+    hash = "sha256-mINgeBO7DSsWd84gYjQNUQFqbh8KBZ+S2bYI/iVWMAc=";
   };
 
+  postPatch = ''
+    substituteInPlace cohttp/src/dune --replace 'bytes base64' 'base64'
+  '';
+
   buildInputs = [ jsonm ppx_sexp_conv ];
 
   propagatedBuildInputs = [ base64 re stringext uri-sexp ];
diff --git a/pkgs/development/ocaml-modules/github/unix.nix b/pkgs/development/ocaml-modules/github/unix.nix
index 3f1897f828701..342be1069ce93 100644
--- a/pkgs/development/ocaml-modules/github/unix.nix
+++ b/pkgs/development/ocaml-modules/github/unix.nix
@@ -6,7 +6,9 @@ buildDunePackage {
   pname = "github-unix";
   inherit (github) version src;
 
-  duneVersion = "3";
+  postPatch = ''
+    substituteInPlace unix/dune --replace 'github bytes' 'github'
+  '';
 
   propagatedBuildInputs = [
     github
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 6cd8f66eb02f5..32ca924837096 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.54";
+  version = "9.2.55";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Wm8LV0R41muvhBNDsnoywI57ZRO022IaPFMZfVS4cPA=";
+    hash = "sha256-qv6u8QGJ31+BRqYIS2D7zedZPXhjSq8ATi48t63hTko=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 6a1a2d80fe7b5..a9d5b5eec8653 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.54";
+  version = "9.2.55";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5EDVJN8o6Dkb3/QzJJ072RN1kYoMxDhrFnSVAzHzdNc=";
+    hash = "sha256-Kg3kBE+Ra8efYTdovLnI+xG6sxoUeXetBPR3dF6qvEc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index 801e35c8fd8bb..d2d4a58d77151 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.54";
+  version = "9.2.55";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-oAthM9ekGfMnkvX8AlslnABJ+LxjJV8OTTaWxJP3HyI=";
+    hash = "sha256-GjuQw/5cWlm2TtJ1x6HTT9os75nXG68MMqYtbfSK/i4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/art/default.nix b/pkgs/development/python-modules/art/default.nix
index be7eef1170372..669b81032be79 100644
--- a/pkgs/development/python-modules/art/default.nix
+++ b/pkgs/development/python-modules/art/default.nix
@@ -5,14 +5,14 @@
 
 buildPythonPackage rec {
   pname = "art";
-  version = "5.9";
+  version = "6.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "sepandhaghighi";
     repo = "art";
     rev = "v${version}";
-    hash = "sha256-3fX0kYYyeJ9tHX8/+hlv5aRE6LujXW915N5Ov6Q+EW8=";
+    hash = "sha256-ZF7UvqJU7KxNccMXL7tsL/s5KYpgGeGqaEATHo4WyNI=";
   };
 
   pythonImportsCheck = [ "art" ];
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 9752cd5c177e8..9aa554e58ef3a 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -1,5 +1,4 @@
-{ stdenv
-, lib
+{ lib
 , buildPythonPackage
 , fetchFromGitHub
 , fetchpatch
@@ -71,7 +70,6 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
     description = "Tool to compile, build and package AWS Lambda functions";
     homepage = "https://github.com/awslabs/aws-lambda-builders";
     changelog = "https://github.com/aws/aws-lambda-builders/releases/tag/v${version}";
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index df16caa5b5d49..1a4846a30e625 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.54";
+  version = "9.2.55";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-YZvc2BIc8dAvDFfJ9+DEkfi8pXTFB0gQ5z7irYKZkw8=";
+    hash = "sha256-D1XkRzOt3yMUEZul74rREptvmyoKwG+wentRMMA5dfE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index e7effa4fd9cd2..4878d7cc92eb2 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -16,7 +16,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.54";
+  version = "9.2.55";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-LezNPmHEy+rDGERhGfKuHGwfjAqlfBYxapjnxcY25ug=";
+    hash = "sha256-X/3ByWxKQJg233GkW0dqSNrInVjy8k1+prjmKPYOupg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index 4206c14e87c4e..d063a1c7b9c3c 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "3.11.0";
+  version = "3.11.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OhwbNWb58n6oOjaq9U64eURO5z70JFZ2QBigs7VW0Ps=";
+    hash = "sha256-z+EVi8WBgna6dllZ2oonr9zaoR+j+p7tCX1WOSl9/nQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index 0ebc4c15d5059..f7eca6c920e0f 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.23.0";
+  version = "2.24.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yVyd5kowbHbs64EY5oMIa1sYIs/qShqzVdjfZ1VifA4=";
+    hash = "sha256-pTs3sEieEQRWDiSUeQDgPzsbny8mblXlYzGj5EtuXCA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
index 4118f7040b5f6..067699219167d 100644
--- a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
+++ b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-securitycenter";
-  version = "1.21.0";
+  version = "1.22.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zk5yZYevzpWmTOAAJgdNx9lnoTxjaq5XFJ+2hDQOBuc=";
+    hash = "sha256-lRFWozkurWzP3v80VkvH9XrFobrqFsQ9J3jtUeKl1AE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gudhi/default.nix b/pkgs/development/python-modules/gudhi/default.nix
index 392d6f9e8cebd..6fbba605da996 100644
--- a/pkgs/development/python-modules/gudhi/default.nix
+++ b/pkgs/development/python-modules/gudhi/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "gudhi";
-  version = "3.4.1";
+  version = "3.8.0";
 
   src = fetchFromGitHub {
     owner = "GUDHI";
     repo = "gudhi-devel";
     rev = "tags/gudhi-release-${version}";
     fetchSubmodules = true;
-    sha256 = "1m03qazzfraxn62l1cb11icjz4x8q2sg9c2k3syw5v0yv9ndgx1v";
+    sha256 = "sha256-f2ajy4muG9vuf4JarGWZmdk/LF9OYd2KLSaGyY6BQrY=";
   };
 
   patches = [ ./remove_explicit_PYTHONPATH.patch ];
diff --git a/pkgs/development/python-modules/gudhi/remove_explicit_PYTHONPATH.patch b/pkgs/development/python-modules/gudhi/remove_explicit_PYTHONPATH.patch
index da1bffb283b81..2b8284ba216d5 100644
--- a/pkgs/development/python-modules/gudhi/remove_explicit_PYTHONPATH.patch
+++ b/pkgs/development/python-modules/gudhi/remove_explicit_PYTHONPATH.patch
@@ -1,173 +1,194 @@
 diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
-index 5c1402a..48a1250 100644
+index 86a409b6..09544fb5 100644
 --- a/src/python/CMakeLists.txt
 +++ b/src/python/CMakeLists.txt
-@@ -271,9 +271,6 @@ if(PYTHONINTERP_FOUND)
+@@ -329,15 +329,6 @@ if(PYTHONINTERP_FOUND)
          WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
          COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/setup.py" "build_ext" "--inplace")
  
 -    add_custom_target(python ALL DEPENDS gudhi.so
 -                      COMMENT "Do not forget to add ${CMAKE_CURRENT_BINARY_DIR}/ to your PYTHONPATH before using examples or tests")
 -
-     install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install)")
- 
-   # Documentation generation is available through sphinx - requires all modules
-@@ -295,14 +292,14 @@ if(PYTHONINTERP_FOUND)
-                   # sphinx target requires gudhi.so, because conf.py reads gudhi version from it
-                   add_custom_target(sphinx
-                       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc
--                      COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-+                      COMMAND ${CMAKE_COMMAND} -E env
-                       ${SPHINX_PATH} -b html ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_CURRENT_BINARY_DIR}/sphinx
-                       DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/gudhi.so"
-                       COMMENT "${GUDHI_SPHINX_MESSAGE}" VERBATIM)
- 
-                   add_test(NAME sphinx_py_test
-                            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--                           COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-+                           COMMAND ${CMAKE_COMMAND} -E env
-                            ${SPHINX_PATH} -b doctest ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_CURRENT_BINARY_DIR}/doctest)
- 
-                   # Set missing or not modules
-@@ -346,13 +343,13 @@ if(PYTHONINTERP_FOUND)
+-    # Path separator management for windows
+-    if (WIN32)
+-      set(GUDHI_PYTHON_PATH_ENV "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR};$ENV{PYTHONPATH}")
+-    else(WIN32)
+-      set(GUDHI_PYTHON_PATH_ENV "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}:$ENV{PYTHONPATH}")
+-    endif(WIN32)
+     # Documentation generation is available through sphinx - requires all modules
+     # Make it first as sphinx test is by far the longest test which is nice when testing in parallel
+     if(SPHINX_PATH)
+@@ -358,13 +349,13 @@ if(PYTHONINTERP_FOUND)
+                       # sphinx target requires gudhi.so, because conf.py reads gudhi version from it
+                       add_custom_target(sphinx
+                           WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc
+-                          COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++                          COMMAND ${CMAKE_COMMAND} -E env
+                           ${SPHINX_PATH} -b html ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_CURRENT_BINARY_DIR}/sphinx
+                           DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/gudhi.so"
+                           COMMENT "${GUDHI_SPHINX_MESSAGE}" VERBATIM)
+                       add_test(NAME sphinx_py_test
+                                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-                               COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++                               COMMAND ${CMAKE_COMMAND} -E env
+                                ${SPHINX_PATH} -b doctest ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_CURRENT_BINARY_DIR}/doctest)
+                       # Set missing or not modules
+                       set(GUDHI_MODULES ${GUDHI_MODULES} "python-documentation" CACHE INTERNAL "GUDHI_MODULES")
+@@ -408,13 +399,13 @@ if(PYTHONINTERP_FOUND)
+     # Cubical
+     add_test(NAME periodic_cubical_complex_barcode_persistence_from_perseus_file_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/periodic_cubical_complex_barcode_persistence_from_perseus_file_example.py"
+              --no-barcode -f ${CMAKE_SOURCE_DIR}/data/bitmap/CubicalTwoSphere.txt)
+ 
+     add_test(NAME random_cubical_complex_persistence_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/random_cubical_complex_persistence_example.py"
+              10 10 10)
+ 
+@@ -426,7 +417,7 @@ if(PYTHONINTERP_FOUND)
+ 
+       add_test(NAME cubical_complex_sklearn_itf_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/cubical_complex_sklearn_itf.py")
+     endif()
+ 
+@@ -435,7 +426,7 @@ if(PYTHONINTERP_FOUND)
        # Bottleneck and Alpha
        add_test(NAME alpha_rips_persistence_bottleneck_distance_py_test
                 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-               COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +               COMMAND ${CMAKE_COMMAND} -E env
                 ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/alpha_rips_persistence_bottleneck_distance.py"
                 -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off -t 0.15 -d 3)
+     endif (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 5.1.0)
+@@ -443,7 +434,7 @@ if(PYTHONINTERP_FOUND)
        # Tangential
        add_test(NAME tangential_complex_plain_homology_from_off_file_example_py_test
                 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-               COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +               COMMAND ${CMAKE_COMMAND} -E env
                 ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/tangential_complex_plain_homology_from_off_file_example.py"
                 --no-diagram -i 2 -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off)
  
-@@ -361,13 +358,13 @@ if(PYTHONINTERP_FOUND)
+@@ -452,13 +443,13 @@ if(PYTHONINTERP_FOUND)
        # Witness complex
        add_test(NAME euclidean_strong_witness_complex_diagram_persistence_from_off_file_example_py_test
                 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-               COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +               COMMAND ${CMAKE_COMMAND} -E env
                 ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/euclidean_strong_witness_complex_diagram_persistence_from_off_file_example.py"
                 --no-diagram -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off -a 1.0 -n 20 -d 2)
  
        add_test(NAME euclidean_witness_complex_diagram_persistence_from_off_file_example_py_test
                 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-               COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +               COMMAND ${CMAKE_COMMAND} -E env
                 ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/euclidean_witness_complex_diagram_persistence_from_off_file_example.py"
                 --no-diagram -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off -a 1.0 -n 20 -d 2)
  
-@@ -379,7 +376,7 @@ if(PYTHONINTERP_FOUND)
+@@ -467,7 +458,7 @@ if(PYTHONINTERP_FOUND)
        # Bottleneck
        add_test(NAME bottleneck_basic_example_py_test
                 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-               COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +               COMMAND ${CMAKE_COMMAND} -E env
                 ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/bottleneck_basic_example.py")
  
-       if (PYBIND11_FOUND)
-@@ -392,26 +389,26 @@ if(PYTHONINTERP_FOUND)
-       file(COPY ${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat_PCA1 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
-       add_test(NAME cover_complex_nerve_example_py_test
-                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-+               COMMAND ${CMAKE_COMMAND} -E env
-                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/nerve_of_a_covering.py"
-                -f human.off -c 2 -r 10 -g 0.3)
+       add_gudhi_py_test(test_bottleneck_distance)
+@@ -479,26 +470,26 @@ if(PYTHONINTERP_FOUND)
+     file(COPY ${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat_PCA1 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+     add_test(NAME cover_complex_nerve_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/nerve_of_a_covering.py"
+              -f human.off -c 2 -r 10 -g 0.3)
  
-       add_test(NAME cover_complex_coordinate_gic_example_py_test
-                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-+               COMMAND ${CMAKE_COMMAND} -E env
-                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/coordinate_graph_induced_complex.py"
-                -f human.off -c 0 -v)
+     add_test(NAME cover_complex_coordinate_gic_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/coordinate_graph_induced_complex.py"
+              -f human.off -c 0 -v)
  
-       add_test(NAME cover_complex_functional_gic_example_py_test
-                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-+               COMMAND ${CMAKE_COMMAND} -E env
-                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/functional_graph_induced_complex.py"
-                -o lucky_cat.off
-                -f lucky_cat_PCA1 -v)
+     add_test(NAME cover_complex_functional_gic_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/functional_graph_induced_complex.py"
+              -o lucky_cat.off
+              -f lucky_cat_PCA1 -v)
  
-       add_test(NAME cover_complex_voronoi_gic_example_py_test
-                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-+               COMMAND ${CMAKE_COMMAND} -E env
-                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/voronoi_graph_induced_complex.py"
-                -f human.off -n 700 -v)
+     add_test(NAME cover_complex_voronoi_gic_example_py_test
+              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++             COMMAND ${CMAKE_COMMAND} -E env
+              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/voronoi_graph_induced_complex.py"
+              -f human.off -n 700 -v)
  
-@@ -422,11 +419,11 @@ if(PYTHONINTERP_FOUND)
+@@ -506,15 +497,15 @@ if(PYTHONINTERP_FOUND)
        # Alpha
        add_test(NAME alpha_complex_from_points_example_py_test
                 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--               COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-               COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +               COMMAND ${CMAKE_COMMAND} -E env
                 ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/alpha_complex_from_points_example.py")
+       add_test(NAME alpha_complex_from_generated_points_on_sphere_example_py_test
+                WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-               COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
++               COMMAND ${CMAKE_COMMAND} -E env
+                ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/alpha_complex_from_generated_points_on_sphere_example.py")
        add_test(NAME alpha_complex_diagram_persistence_from_off_file_example_py_test
               WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +             COMMAND ${CMAKE_COMMAND} -E env
               ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/alpha_complex_diagram_persistence_from_off_file_example.py"
-              --no-diagram -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off -a 0.6)
+              --no-diagram -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off)
        add_gudhi_py_test(test_alpha_complex)
-@@ -441,13 +438,13 @@ if(PYTHONINTERP_FOUND)
-     # Cubical
-     add_test(NAME periodic_cubical_complex_barcode_persistence_from_perseus_file_example_py_test
-              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-+             COMMAND ${CMAKE_COMMAND} -E env
-              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/periodic_cubical_complex_barcode_persistence_from_perseus_file_example.py"
-              --no-barcode -f ${CMAKE_SOURCE_DIR}/data/bitmap/CubicalTwoSphere.txt)
- 
-     add_test(NAME random_cubical_complex_persistence_example_py_test
-              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-+             COMMAND ${CMAKE_COMMAND} -E env
-              ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/random_cubical_complex_persistence_example.py"
-              10 10 10)
- 
-@@ -456,19 +453,19 @@ if(PYTHONINTERP_FOUND)
+@@ -532,19 +523,19 @@ if(PYTHONINTERP_FOUND)
      # Rips
      add_test(NAME rips_complex_diagram_persistence_from_distance_matrix_file_example_py_test
               WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +             COMMAND ${CMAKE_COMMAND} -E env
               ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/rips_complex_diagram_persistence_from_distance_matrix_file_example.py"
-              --no-diagram -f ${CMAKE_SOURCE_DIR}/data/distance_matrix/lower_triangular_distance_matrix.csv -e 12.0 -d 3)
+              --no-diagram -f ${CMAKE_SOURCE_DIR}/data/distance_matrix/lower_triangular_distance_matrix.csv -s , -e 12.0 -d 3)
  
      add_test(NAME rips_complex_diagram_persistence_from_off_file_example_py_test
               WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +             COMMAND ${CMAKE_COMMAND} -E env
               ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example/rips_complex_diagram_persistence_from_off_file_example.py
               --no-diagram -f ${CMAKE_SOURCE_DIR}/data/points/tore3D_300.off  -e 0.25 -d 3)
  
      add_test(NAME rips_complex_from_points_example_py_test
               WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +             COMMAND ${CMAKE_COMMAND} -E env
               ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example/rips_complex_from_points_example.py)
  
      add_gudhi_py_test(test_rips_complex)
-@@ -476,7 +473,7 @@ if(PYTHONINTERP_FOUND)
+@@ -552,7 +543,7 @@ if(PYTHONINTERP_FOUND)
      # Simplex tree
      add_test(NAME simplex_tree_example_py_test
               WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +             COMMAND ${CMAKE_COMMAND} -E env
               ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example/simplex_tree_example.py)
  
      add_gudhi_py_test(test_simplex_tree)
-@@ -485,7 +482,7 @@ if(PYTHONINTERP_FOUND)
+@@ -565,7 +556,7 @@ if(PYTHONINTERP_FOUND)
      # Witness
      add_test(NAME witness_complex_from_nearest_landmark_table_py_test
               WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
--             COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
+-             COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
 +             COMMAND ${CMAKE_COMMAND} -E env
               ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/example/witness_complex_from_nearest_landmark_table.py)
  
diff --git a/pkgs/development/python-modules/hcloud/default.nix b/pkgs/development/python-modules/hcloud/default.nix
index 85f9bf40f02cc..b397d306e7fdc 100644
--- a/pkgs/development/python-modules/hcloud/default.nix
+++ b/pkgs/development/python-modules/hcloud/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "hcloud";
-  version = "1.19.0";
+  version = "1.20.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IKgK8UQYVPV8zm0wqmVyFDeRv0h9+1iwJ3Ih6yrXIOM=";
+    hash = "sha256-s4l3DZdKfyC1Eu3PwLQHQpdcIw4yvEURxRjgxJlaXsg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/httpx-socks/default.nix b/pkgs/development/python-modules/httpx-socks/default.nix
index 3ac4635ab71fa..996db8ec1b301 100644
--- a/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/pkgs/development/python-modules/httpx-socks/default.nix
@@ -12,16 +12,19 @@
 , pytestCheckHook
 , python-socks
 , pythonOlder
+, setuptools
 , sniffio
 , starlette
+, tiny-proxy
 , trio
+, trustme
 , yarl
 }:
 
 buildPythonPackage rec {
   pname = "httpx-socks";
-  version = "0.7.5";
-  format = "setuptools";
+  version = "0.7.6";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -29,9 +32,13 @@ buildPythonPackage rec {
     owner = "romis2012";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-HwLJ2pScgiNmM/l14aKp47MMuGW1qSaIq7ujpCSRtqA=";
+    hash = "sha256-rLcYC8IO2eCWAL4QIiUg/kyigybq6VNTUjNDXx4KPHc=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     httpx
     httpcore
@@ -54,6 +61,8 @@ buildPythonPackage rec {
     pytest-trio
     pytestCheckHook
     starlette
+    tiny-proxy
+    trustme
     yarl
   ];
 
diff --git a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
index 962658a15f2bc..c228a934bd7a6 100644
--- a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
+++ b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "ibm-cloud-sdk-core";
-  version = "3.16.6";
+  version = "3.16.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lFpaMteVj8TBpcK1zLV95TwG3zY3PZG7QUzY0/LSF/c=";
+    hash = "sha256-qYXxR+jXjMfqrxJ62j5do33EbjfeoYSq+IeMrO14FnQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/logical-unification/default.nix b/pkgs/development/python-modules/logical-unification/default.nix
index 9b802df672898..6e78dc850ed03 100644
--- a/pkgs/development/python-modules/logical-unification/default.nix
+++ b/pkgs/development/python-modules/logical-unification/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "logical-unification";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchFromGitHub {
     owner = "pythological";
     repo = "unification";
-    rev = "707cf4a39e27a4a8bf06b7e7dce7223085574e65";
-    hash = "sha256-3wqO0pWWFRQeoGNvbSDdLNYFyjNnv+O++F7+vTBUJoI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-uznmlkREFONU1YoI/+mcfb+Yg30NinWvsMxTfHCXzOU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/oci/default.nix b/pkgs/development/python-modules/oci/default.nix
index b145d6c399e2d..3a0d7a0684a37 100644
--- a/pkgs/development/python-modules/oci/default.nix
+++ b/pkgs/development/python-modules/oci/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.100.0";
+  version = "2.104.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "oracle";
     repo = "oci-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hzuuYRf9D0nWSyAPC66umDD2fKYZ+khHd6281UW6u9M=";
+    hash = "sha256-JOsyu0zIzItK4+Rq8vnqhRO9YucxLLKtMTK+0EJbxSo=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/openhomedevice/default.nix b/pkgs/development/python-modules/openhomedevice/default.nix
index 533a6f66f7f01..e512d04942178 100644
--- a/pkgs/development/python-modules/openhomedevice/default.nix
+++ b/pkgs/development/python-modules/openhomedevice/default.nix
@@ -1,14 +1,16 @@
 { lib
+, aioresponses
 , async-upnp-client
 , buildPythonPackage
 , fetchFromGitHub
 , lxml
+, pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "openhomedevice";
-  version = "2.0.2";
+  version = "2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -16,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "bazwilliams";
     repo = pname;
-    rev = version;
-    hash = "sha256-D4n/fv+tgdKiU7CemI+12cqoox2hsqRYlCHY7daD5fM=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-KNQelldqHx4m8IfgGUwWw/+AVzBotIa7cJGy1SfbRy0=";
   };
 
   propagatedBuildInputs = [
@@ -25,17 +27,23 @@ buildPythonPackage rec {
     lxml
   ];
 
-  # Tests are currently outdated
-  # https://github.com/bazwilliams/openhomedevice/issues/20
-  doCheck = false;
+  nativeCheckInputs = [
+    aioresponses
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
     "openhomedevice"
   ];
 
+  pytestFlagsArray = [
+    "tests/*.py"
+  ];
+
   meta = with lib; {
     description = "Python module to access Linn Ds and Openhome devices";
     homepage = "https://github.com/bazwilliams/openhomedevice";
+    changelog = "https://github.com/bazwilliams/openhomedevice/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pycm/default.nix b/pkgs/development/python-modules/pycm/default.nix
index 4decab5c3931b..58570c1779020 100644
--- a/pkgs/development/python-modules/pycm/default.nix
+++ b/pkgs/development/python-modules/pycm/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pycm";
-  version = "3.8";
+  version = "4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "sepandhaghighi";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-L0WPZomOU/I/x8QrdAerG0S2wnHyP661XTaDzzWeruk=";
+    hash = "sha256-GyH06G7bArFBTzV/Sx/KmoJvcoed0sswW7qGqsSULHo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix
index d1b4d15bc87d6..0690b1120c525 100644
--- a/pkgs/development/python-modules/pymupdf/default.nix
+++ b/pkgs/development/python-modules/pymupdf/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pymupdf";
-  version = "1.21.1";
+  version = "1.22.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyMuPDF";
     inherit version;
-    hash = "sha256-+BV0GkNcYqADa7y/X6bFM1Z71pxTONQTcU/FeyLbk+A=";
+    hash = "sha256-Xs2SjpbmMJJXECCXOqFFtXt1cH86Pfl8dC5WMRJhWJE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix
index 905f421dbfec6..0c0ded8af09f3 100644
--- a/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/pkgs/development/python-modules/python-gitlab/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "python-gitlab";
-  version = "3.14.0";
+  version = "3.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7zuJYPru6YgPgrCHLYB+P6uUrOErDSqEGKl4dciBLTw=";
+    hash = "sha256-yeZet2Eqn7uKvwM5ly7Kf9enPU2mbJtEb/5SiTCv9TQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-lsp-black/default.nix b/pkgs/development/python-modules/python-lsp-black/default.nix
index 67e242f495146..d3b6a90c59255 100644
--- a/pkgs/development/python-modules/python-lsp-black/default.nix
+++ b/pkgs/development/python-modules/python-lsp-black/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-black";
-  version = "1.2.1";
+  version = "1.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-lsp";
     repo = "python-lsp-black";
-    rev = "v${version}";
-    hash = "sha256-qNA6Bj1VI0YEtRuvcMQZGWakQNNrJ2PqhozrLmQHPAg=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-16HjNB0VfrXLyVa+u5HaFNjq/ER2yXIWokMFsPgejr8=";
   };
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index d9efdd0275d04..2d6cb850b3b7a 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.54";
+  version = "9.2.55";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0X2K3glUWIJjiThvsTwIPUA3TVf9ret74B3BcAcr9bE=";
+    hash = "sha256-HNF/UXpXOLr+OcUUaJF2RFaOKG4LHJljvvQKtgigTnE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/regenmaschine/default.nix b/pkgs/development/python-modules/regenmaschine/default.nix
index 332031fa2fb88..2cee50ac5039c 100644
--- a/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/pkgs/development/python-modules/regenmaschine/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "regenmaschine";
-  version = "2023.05.1";
+  version = "2023.06.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-8+lHfepVvR1+est5RImV4L3PHtME1o8xRX2cI1YpUKI=";
+    hash = "sha256-W5W/2gBraraZs8ai8tyg3aRWvHt6WOQCVICuiAigae0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index dd7f8a5e11fdd..9bed3b109585e 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.7.5";
+  version = "1.7.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PQk3uEY1gjvs5BerfEAEZe4v6uZYpCZqCo+Qc7mSUw8=";
+    hash = "sha256-T2ei1cqDAeR+/sSifb0SvJaJX3sgcPcRzrmjgncQDRc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/tiny-proxy/default.nix b/pkgs/development/python-modules/tiny-proxy/default.nix
new file mode 100644
index 0000000000000..cbb015909ec0b
--- /dev/null
+++ b/pkgs/development/python-modules/tiny-proxy/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, anyio
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "tiny-proxy";
+  version = "0.2.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "romis2012";
+    repo = "tiny-proxy";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-emQRiG2QiuZt4/lI8shJOvMpaqXNyJ/PMvtDZPaoyLo=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    anyio
+  ];
+
+  # The tests depend on httpx-socks, whose tests depend on tiny-proxy.
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "tiny_proxy"
+  ];
+
+  meta = with lib; {
+    description = "SOCKS5/SOCKS4/HTTP proxy server";
+    homepage = "https://github.com/romis2012/tiny-proxy";
+    changelog = "https://github.com/romis2012/tiny-proxy/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ tjni ];
+  };
+}
diff --git a/pkgs/development/python-modules/west/default.nix b/pkgs/development/python-modules/west/default.nix
index f8e8cb72d5a48..39aa19c8ad600 100644
--- a/pkgs/development/python-modules/west/default.nix
+++ b/pkgs/development/python-modules/west/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "west";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZvhwIhkoES71jyv8Xv0dd44Z7tFAZzmE2XsiH7wFJfQ=";
+    hash = "sha256-40h/VLa9kEWASJtgPvGm4JnG8uZWAUwrg8SzwhdfpN8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xmodem/default.nix b/pkgs/development/python-modules/xmodem/default.nix
index 7358f843eb64f..652c0f43be401 100644
--- a/pkgs/development/python-modules/xmodem/default.nix
+++ b/pkgs/development/python-modules/xmodem/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "xmodem";
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "tehmaze";
     repo = "xmodem";
-    rev = version;
-    sha256 = "1xx7wd8bnswxa1fv3bfim2gcamii79k7qmwg7dbxbjvrhbcjjc0l";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-kwPA/lYiv6IJSKGRuH13tBofZwp19vebwQniHK7A/i8=";
   };
 
   nativeCheckInputs = [ pytest which lrzsz ];
diff --git a/pkgs/development/python-modules/yaramod/default.nix b/pkgs/development/python-modules/yaramod/default.nix
index e0a50279def68..c376c2ddbd6ee 100644
--- a/pkgs/development/python-modules/yaramod/default.nix
+++ b/pkgs/development/python-modules/yaramod/default.nix
@@ -20,7 +20,7 @@ let
 in
   buildPythonPackage rec {
     pname = "yaramod";
-    version = "3.19.1";
+    version = "3.20.0";
     format = "setuptools";
 
     disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ in
       owner = "avast";
       repo = pname;
       rev = "refs/tags/v${version}";
-      hash = "sha256-HYagARlppQpM43ND/CkLL0iHmOmhl/wBDGVlJyOc9dU=";
+      hash = "sha256-b4jHveGQGwO1BjpS/WJrMMBGB0LVB6Q7oltq4azp+7o=";
     };
 
     postPatch = ''
diff --git a/pkgs/development/python-modules/z3c-checkversions/default.nix b/pkgs/development/python-modules/z3c-checkversions/default.nix
index 7678b223297c1..67c8c016e3f32 100644
--- a/pkgs/development/python-modules/z3c-checkversions/default.nix
+++ b/pkgs/development/python-modules/z3c-checkversions/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "z3c-checkversions";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchPypi {
     inherit version;
     pname = "z3c.checkversions";
-    hash = "sha256-rn4kl8Pn6YNqbE+VD6L8rVBQHkQqXSD47ZIy77+ashE=";
+    hash = "sha256-j5So40SyJf7XfCz3P9YFR/6z94up3LY2/dfEmmIbxAk=";
   };
 
   propagatedBuildInputs = [ zc-buildout ];
diff --git a/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock b/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock
index bc6e980e80a26..cd5b71d98fd2b 100644
--- a/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock
+++ b/pkgs/development/tools/database/surrealdb-migrations/Cargo.lock
@@ -2268,7 +2268,7 @@ dependencies = [
 
 [[package]]
 name = "surrealdb-migrations"
-version = "0.9.9"
+version = "0.9.10"
 dependencies = [
  "anyhow",
  "assert_cmd",
diff --git a/pkgs/development/tools/database/surrealdb-migrations/default.nix b/pkgs/development/tools/database/surrealdb-migrations/default.nix
index 852f75dcb62e6..2c8fd13662543 100644
--- a/pkgs/development/tools/database/surrealdb-migrations/default.nix
+++ b/pkgs/development/tools/database/surrealdb-migrations/default.nix
@@ -10,7 +10,7 @@
 
 let
   pname = "surrealdb-migrations";
-  version = "0.9.9";
+  version = "0.9.10";
 in
 rustPlatform.buildRustPackage rec {
   inherit pname version;
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     owner = "Odonno";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wVaNsdNrRhb6lai60c1msBWTtLWsESOJNoHFJzdHtrs=";
+    hash = "sha256-LtaAKcCqsm9o7XKEqHgyCE7cpzJEzDUJje8zBKQAKv8=";
   };
 
   cargoLock = {
diff --git a/pkgs/development/tools/electron/binary/default.nix b/pkgs/development/tools/electron/binary/default.nix
index ff3290189a099..ac67d0137a2f5 100644
--- a/pkgs/development/tools/electron/binary/default.nix
+++ b/pkgs/development/tools/electron/binary/default.nix
@@ -151,39 +151,39 @@ rec {
     headers = "0zvwd3gz5y3yq5jgkswnarv75j05lfaz58w37fidq5aib1hi50hn";
   };
 
-  electron_22-bin = mkElectron "22.3.12" {
-    armv7l-linux = "aee831671cb7f869366ed165900743e6e8a53845e9a059a68ef81bb725c93dca";
-    aarch64-linux = "35d8ba41d2247a26923e93d7b96425b39ac821fd24d31c286718a1e5b64a7156";
-    x86_64-linux = "616bc674bf7cbdd6369888b987514c7a63442755561e1f5e6d85575e881d107e";
-    x86_64-darwin = "e421bc52de410b45b68bae2f13c405ef0ef43f8aa2046419a0f15e38d04f214a";
-    aarch64-darwin = "f2d4b327df42f9801e09260b94adaeed878e02b7e4a9adfd5912b754181ead3c";
-    headers = "1k5a8sg8g5jzv9vih4n81wwlvi14snzxgvrh13w5canihj6hiygi";
-  };
-
-  electron_23-bin = mkElectron "23.3.5" {
-    armv7l-linux = "3525ab12e582c36b7e905550a13a4f8c205586eccbd818db7f705ee46be19939";
-    aarch64-linux = "49e9ff90165d12accd34e8fc6808016e20f7588fba2195af39f4467698adbcf0";
-    x86_64-linux = "168c9332448276c7f0338bffd02a90d6bdea90c4789ae655464831f74d3e6e43";
-    x86_64-darwin = "453ddddbe0a935b5349410d783f3dba079b4e913bfbd6b56a9c4927c4c3f1601";
-    aarch64-darwin = "a41bd320d73143f0469e6d250e65f2f629bef2c36f1e6730110b86436842d2d1";
-    headers = "11w1vz5kyklahhn7046bccknym24f076b5p19mxjwmmdbvggmvsq";
-  };
-
-  electron_24-bin = mkElectron "24.4.1" {
-    armv7l-linux = "4c0d12186e1fe918b0e5a618fc10eabb2b120b432ea5ff45e29c41a163f338f4";
-    aarch64-linux = "e9e9ac6b24e6dd79650be3619a98187fb9d07cc97bb181051912bead7c06cefe";
-    x86_64-linux = "4751d5320e0a2668e5b964dccf433fc7e537a3cb7f215d3042fd7d61d7f1198e";
-    x86_64-darwin = "a8417febf79db15f15edf209a03dcf4240ed0d7b7e731b31224173b685a768c2";
-    aarch64-darwin = "f2efec7bfe62002e1b52b0e14fa7bc5fd586812c0c49fbb0aa99830c20088484";
-    headers = "13zicpwzsnl34nvy0y15ykfabkda4991h6kc933r9n4fz4wk7493";
-  };
-
-  electron_25-bin = mkElectron "25.0.1" {
-    armv7l-linux = "1bfdb7e6d85880dd1695d8fab69558e69728fb4f23756375ba7f7bc4f441516a";
-    aarch64-linux = "0a8b44cc2c280a31f7a7e3c9927e55e4ea8ad3841a8cd4fe70237771e6c71023";
-    x86_64-linux = "c7c85dd575b7d1eccba8d338c91f524663514eb43c2fb936035c219bd84ab885";
-    x86_64-darwin = "f4a51adf95b37bfe39320ab7f8025b148a6b6b7140bd96101788a62b77c13d8c";
-    aarch64-darwin = "6a26d58eb5b37ce9852668e59330ca54bf6226e8bb1172e179bb9ddb592e4b8c";
-    headers = "0par0jw88j5n0jpg0lik6gws7iwqq45jcfs42w7vxz2g2nkpdgxp";
+  electron_22-bin = mkElectron "22.3.13" {
+    armv7l-linux = "d396a7722f63163e63b9f660328a1c1e992284e5fd9dd5f6d0dca572eb34528a";
+    aarch64-linux = "1f85d242d2d6d151c604f516eff984da57797cd5d2708bbc07d88a4258bfb1f1";
+    x86_64-linux = "c568012570aa4e1ead7f28f63e698c268356c45c878561c1ade727b612bffbda";
+    x86_64-darwin = "b62b718824d686ae9deb400dc74cc86fde0710735af26d449bf720ec89b13e7f";
+    aarch64-darwin = "edd48266e3726284e374b83c0db39ff18e9ef0b7176b2b22d816fdf37ba7d07a";
+    headers = "0f324hs9y2g6pi7rpzv49wi7sd0bqsq5h1nvlkc44lz4sha57y49";
+  };
+
+  electron_23-bin = mkElectron "23.3.7" {
+    armv7l-linux = "ecb4bec19b851147fc2fd23bf21c92f1171eaa839cb019209ee674eaa6e9baaa";
+    aarch64-linux = "d0aea397158a1e302ebf502977747777a06aa2a8b59d2dd1b176bc5d92c8f552";
+    x86_64-linux = "0388e0ac0f76ec744139111e7a2557535dd214ad1195410dc3e08022f878def8";
+    x86_64-darwin = "57cafe9854fc5fe1dc7f8faecdbc43b5e532a98c6a6ace78a839b8b02401aa00";
+    aarch64-darwin = "a544c0ff364389453d7c3f36d9fc3f9aa6e81e88902849932d038183ef359cb4";
+    headers = "0xki8xxgqp6i1vdy521m423b5hk9x1rskwygmxjql2cz6680lcd7";
+  };
+
+  electron_24-bin = mkElectron "24.5.1" {
+    armv7l-linux = "828fbffd9f81f341c70723076b921b757340ff8de76f5d2c797e97331e3d7668";
+    aarch64-linux = "9912b209d78affdf7fb8a0edc5fc07156a29322cbf66d774e738ae0191cf7141";
+    x86_64-linux = "0c3b805f180db1aa8e58b5049dda6519cac9a945baad0ddce9d531cc34380a58";
+    x86_64-darwin = "33e3b085e4da1b1149d82db9813fa6bd3ebccc067e9b308f055aa7802bac79b8";
+    aarch64-darwin = "0d5940af75b2ba388a7d514d34e40b433d1fe1bc85e7368af54b379ec78123d4";
+    headers = "1fxfnpjxrpznsrr5d39qvzd4l3kqfspg362ppvqz57b0irwjwabd";
+  };
+
+  electron_25-bin = mkElectron "25.1.1" {
+    armv7l-linux = "cc06e944811f06c1c9bb98cd8aab160b07e049ac1907e8cdf150fd2bce8170aa";
+    aarch64-linux = "9ad6e6abf8eee76da799d91989dc5d031530318673c28488fc3776af829ca024";
+    x86_64-linux = "cba3ee86e2135297d3403f2972e5b311f4a97855076d736a2b048fbacad3f2c7";
+    x86_64-darwin = "4eab6abde714b3af3b8a230f80d092e927402e88de355dda6b53cc9817da2219";
+    aarch64-darwin = "19938d86aaa6ab2bb6a693cafb97227c23e945f37f04511248308da860fd5660";
+    headers = "0997llx6qlhql3x0xw9c3gdm7r60j92ys2jbzil9az6ld2snflr2";
   };
 }
diff --git a/pkgs/development/tools/language-servers/nixd/default.nix b/pkgs/development/tools/language-servers/nixd/default.nix
new file mode 100644
index 0000000000000..4bf1af6a01c7f
--- /dev/null
+++ b/pkgs/development/tools/language-servers/nixd/default.nix
@@ -0,0 +1,81 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, boost182
+, gtest
+, libbacktrace
+, lit
+, llvmPackages
+, meson
+, ninja
+, nix
+, nixpkgs-fmt
+, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nixd";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = "nixd";
+    rev = version;
+    hash = "sha256-kTDPbsQi9gzFAFkiAPF+V3yI1WBmILEnnsqdgHMqXJA=";
+  };
+
+  mesonBuildType = "release";
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+
+  nativeCheckInputs = [
+    lit
+    nixpkgs-fmt
+  ];
+
+  buildInputs = [
+    libbacktrace
+    nix
+    gtest
+    boost182
+    llvmPackages.llvm
+  ];
+
+  env.CXXFLAGS = "-include ${nix.dev}/include/nix/config.h";
+
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+    dirs=(store var var/nix var/log/nix etc home)
+
+    for dir in $dirs; do
+      mkdir -p "$TMPDIR/$dir"
+    done
+
+    export NIX_STORE_DIR=$TMPDIR/store
+    export NIX_LOCALSTATE_DIR=$TMPDIR/var
+    export NIX_STATE_DIR=$TMPDIR/var/nix
+    export NIX_LOG_DIR=$TMPDIR/var/log/nix
+    export NIX_CONF_DIR=$TMPDIR/etc
+    export HOME=$TMPDIR/home
+
+    # Disable nixd regression tests, because it uses some features provided by
+    # nix, and does not correctly work in the sandbox
+    meson test --print-errorlogs server regression/nix-ast-dump
+    runHook postCheck
+  '';
+
+  meta = {
+    description = "Nix language server";
+    homepage = "https://github.com/nix-community/nixd";
+    license = lib.licenses.lgpl3Plus;
+    maintainers = with lib.maintainers; [ inclyc ];
+    platforms = lib.platforms.unix;
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix b/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix
new file mode 100644
index 0000000000000..fdaa503c77af2
--- /dev/null
+++ b/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix
@@ -0,0 +1,38 @@
+{ lib, buildNpmPackage, fetchFromGitHub, vscode }:
+
+buildNpmPackage rec {
+  pname = "vscode-langservers-extracted";
+  version = "4.7.0";
+
+  src = fetchFromGitHub {
+    owner = "hrsh7th";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-RLRDEHfEJ2ckn0HTMu0WbMK/o9W20Xwm+XI6kCq57u8=";
+  };
+
+  npmDepsHash = "sha256-QhiSj/DigsI4Bfwmk3wG4lDQOWuDDduc/sfJlXiEoGE=";
+
+  postPatch = ''
+    # TODO: Add vscode-eslint as a dependency
+    # Eliminate the vscode-eslint bin
+    sed -i '/^\s*"vscode-eslint-language-server":.*bin\//d' package.json package-lock.json
+  '';
+
+  buildPhase = let
+    extensions = "${vscode}/lib/vscode/resources/app/extensions";
+  in ''
+    npx babel ${extensions}/css-language-features/server/dist/* --out-dir lib/css-language-server/node/
+    npx babel ${extensions}/html-language-features/server/dist/* --out-dir lib/html-language-server/node/
+    npx babel ${extensions}/json-language-features/server/dist/* --out-dir lib/json-language-server/node/
+    npx babel ${extensions}/markdown-language-features/server/dist/* --out-dir lib/markdown-language-server/node/
+    mv lib/markdown-language-server/node/workerMain.js lib/markdown-language-server/node/main.js
+  '';
+
+  meta = with lib; {
+    description = "HTML/CSS/JSON/ESLint language servers extracted from vscode.";
+    homepage = "https://github.com/hrsh7th/vscode-langservers-extracted";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lord-valen ];
+  };
+}
diff --git a/pkgs/development/tools/misc/dart-sass/default.nix b/pkgs/development/tools/misc/dart-sass/default.nix
index d5af4ac95ede1..e3f37ca5ccdb0 100644
--- a/pkgs/development/tools/misc/dart-sass/default.nix
+++ b/pkgs/development/tools/misc/dart-sass/default.nix
@@ -1,21 +1,42 @@
 { lib
 , fetchFromGitHub
 , buildDartApplication
+, buf
+, protoc-gen-dart
 }:
 
+let
+  sass-language = fetchFromGitHub {
+    owner = "sass";
+    repo = "sass";
+    rev = "refs/tags/embedded-protocol-2.0.0";
+    hash = "sha256-3qk3XbI/DpNj4oa/3ar5hqEY8LNmQsokinuKt4xV7ck=";
+  };
+in
 buildDartApplication rec {
   pname = "dart-sass";
-  version = "1.62.1";
+  version = "1.63.3";
 
   src = fetchFromGitHub {
     owner = "sass";
     repo = pname;
     rev = version;
-    hash = "sha256-U6enz8yJcc4Wf8m54eYIAnVg/jsGi247Wy8lp1r1wg4=";
+    hash = "sha256-PBFBepG7b5M9LKSQOp7+mVhtwSLgQzUTu3i1055uNBk=";
   };
 
   pubspecLockFile = ./pubspec.lock;
-  vendorHash = "sha256-Atm7zfnDambN/BmmUf4BG0yUz/y6xWzf0reDw3Ad41s=";
+  vendorHash = "sha256-ciJUjkItnwzKH6k8a5zxIbARQAEfg/GJEsKfSaygsXU=";
+
+  nativeBuildInputs = [
+    buf
+    protoc-gen-dart
+  ];
+
+  preConfigure = ''
+    mkdir -p build
+    ln -s ${sass-language} build/language
+    HOME="$TMPDIR" buf generate
+  '';
 
   dartCompileFlags = [ "--define=version=${version}" ];
 
diff --git a/pkgs/development/tools/misc/dart-sass/pubspec.lock b/pkgs/development/tools/misc/dart-sass/pubspec.lock
index 8e00c17d3a118..b0cd7438f81a9 100644
--- a/pkgs/development/tools/misc/dart-sass/pubspec.lock
+++ b/pkgs/development/tools/misc/dart-sass/pubspec.lock
@@ -5,18 +5,18 @@ packages:
     dependency: transitive
     description:
       name: _fe_analyzer_shared
-      sha256: "4897882604d919befd350648c7f91926a9d5de99e67b455bf0917cc2362f4bb8"
+      sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a
       url: "https://pub.dev"
     source: hosted
-    version: "47.0.0"
+    version: "61.0.0"
   analyzer:
     dependency: "direct dev"
     description:
       name: analyzer
-      sha256: "690e335554a8385bc9d787117d9eb52c0c03ee207a607e593de3c9d71b1cfe80"
+      sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562
       url: "https://pub.dev"
     source: hosted
-    version: "4.7.0"
+    version: "5.13.0"
   archive:
     dependency: "direct dev"
     description:
@@ -29,10 +29,10 @@ packages:
     dependency: "direct main"
     description:
       name: args
-      sha256: "4cab82a83ffef80b262ddedf47a0a8e56ee6fbf7fe21e6e768b02792034dd440"
+      sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
       url: "https://pub.dev"
     source: hosted
-    version: "2.4.0"
+    version: "2.4.2"
   async:
     dependency: "direct main"
     description:
@@ -61,10 +61,10 @@ packages:
     dependency: transitive
     description:
       name: checked_yaml
-      sha256: "3d1505d91afa809d177efd4eed5bb0eb65805097a1463abdd2add076effae311"
+      sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
       url: "https://pub.dev"
     source: hosted
-    version: "2.0.2"
+    version: "2.0.3"
   cli_pkg:
     dependency: "direct dev"
     description:
@@ -85,18 +85,18 @@ packages:
     dependency: transitive
     description:
       name: cli_util
-      sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c"
+      sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7
       url: "https://pub.dev"
     source: hosted
-    version: "0.3.5"
+    version: "0.4.0"
   collection:
     dependency: "direct main"
     description:
       name: collection
-      sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
+      sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
       url: "https://pub.dev"
     source: hosted
-    version: "1.17.1"
+    version: "1.17.2"
   convert:
     dependency: transitive
     description:
@@ -117,42 +117,50 @@ packages:
     dependency: "direct dev"
     description:
       name: crypto
-      sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67
+      sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
       url: "https://pub.dev"
     source: hosted
-    version: "3.0.2"
+    version: "3.0.3"
   csslib:
     dependency: transitive
     description:
       name: csslib
-      sha256: b36c7f7e24c0bdf1bf9a3da461c837d1de64b9f8beb190c9011d8c72a3dfd745
+      sha256: "831883fb353c8bdc1d71979e5b342c7d88acfbc643113c14ae51e2442ea0f20f"
       url: "https://pub.dev"
     source: hosted
-    version: "0.17.2"
+    version: "0.17.3"
   dart_style:
     dependency: "direct dev"
     description:
       name: dart_style
-      sha256: "7a03456c3490394c8e7665890333e91ae8a49be43542b616e414449ac358acd4"
+      sha256: f4f1f73ab3fd2afcbcca165ee601fe980d966af6a21b5970c6c9376955c528ad
       url: "https://pub.dev"
     source: hosted
-    version: "2.2.4"
+    version: "2.3.1"
   dartdoc:
     dependency: "direct dev"
     description:
       name: dartdoc
-      sha256: f236297ea9d0908e1510cfabbf9cfc318c9834067c1bbddbea0ad9d670cd0b1a
+      sha256: d9bab893c9f42615f62bf2d3ff2b89d5905952d1d42cc7890003537249cb472e
       url: "https://pub.dev"
     source: hosted
-    version: "6.1.1"
+    version: "6.3.0"
   file:
     dependency: transitive
     description:
       name: file
-      sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
+      sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
       url: "https://pub.dev"
     source: hosted
-    version: "6.1.4"
+    version: "7.0.0"
+  fixnum:
+    dependency: transitive
+    description:
+      name: fixnum
+      sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.1.0"
   frontend_server_client:
     dependency: transitive
     description:
@@ -165,26 +173,26 @@ packages:
     dependency: transitive
     description:
       name: glob
-      sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c"
+      sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
       url: "https://pub.dev"
     source: hosted
-    version: "2.1.1"
+    version: "2.1.2"
   grinder:
     dependency: "direct dev"
     description:
       name: grinder
-      sha256: "1dabcd70f0d3975f9143d0cebf48a09cf56d4f5e0922f1d1931781e1047c8d00"
+      sha256: "48495acdb3df702c55c952c6536faf11631b8401a292eb0d182ef332fc568b56"
       url: "https://pub.dev"
     source: hosted
-    version: "0.9.3"
+    version: "0.9.4"
   html:
     dependency: transitive
     description:
       name: html
-      sha256: "79d498e6d6761925a34ee5ea8fa6dfef38607781d2fa91e37523474282af55cb"
+      sha256: "58e3491f7bf0b6a4ea5110c0c688877460d1a6366731155c4a4580e7ded773e8"
       url: "https://pub.dev"
     source: hosted
-    version: "0.15.2"
+    version: "0.15.3"
   http:
     dependency: "direct main"
     description:
@@ -229,42 +237,42 @@ packages:
     dependency: transitive
     description:
       name: json_annotation
-      sha256: c33da08e136c3df0190bd5bbe51ae1df4a7d96e7954d1d7249fea2968a72d317
+      sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
       url: "https://pub.dev"
     source: hosted
-    version: "4.8.0"
+    version: "4.8.1"
   lints:
     dependency: "direct dev"
     description:
       name: lints
-      sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593"
+      sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
       url: "https://pub.dev"
     source: hosted
-    version: "2.0.1"
+    version: "2.1.1"
   logging:
     dependency: transitive
     description:
       name: logging
-      sha256: "04094f2eb032cbb06c6f6e8d3607edcfcb0455e2bb6cbc010cb01171dcb64e6d"
+      sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
       url: "https://pub.dev"
     source: hosted
-    version: "1.1.1"
+    version: "1.2.0"
   markdown:
     dependency: transitive
     description:
       name: markdown
-      sha256: c2b81e184067b41d0264d514f7cdaa2c02d38511e39d6521a1ccc238f6d7b3f2
+      sha256: "8e332924094383133cee218b676871f42db2514f1f6ac617b6cf6152a7faab8e"
       url: "https://pub.dev"
     source: hosted
-    version: "6.0.1"
+    version: "7.1.0"
   matcher:
     dependency: transitive
     description:
       name: matcher
-      sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
+      sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
       url: "https://pub.dev"
     source: hosted
-    version: "0.12.15"
+    version: "0.12.16"
   meta:
     dependency: "direct main"
     description:
@@ -301,10 +309,10 @@ packages:
     dependency: transitive
     description:
       name: oauth2
-      sha256: "1e8376c222651904caf7785fd2fa01b1e2be608c94bec842a94e116deca88f13"
+      sha256: c4013ef62be37744efdc0861878fd9e9285f34db1f9e331cc34100d7674feb42
       url: "https://pub.dev"
     source: hosted
-    version: "2.0.1"
+    version: "2.0.2"
   package_config:
     dependency: "direct main"
     description:
@@ -338,13 +346,29 @@ packages:
     source: hosted
     version: "3.7.3"
   pool:
-    dependency: transitive
+    dependency: "direct main"
     description:
       name: pool
       sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
       url: "https://pub.dev"
     source: hosted
     version: "1.5.1"
+  protobuf:
+    dependency: "direct main"
+    description:
+      name: protobuf
+      sha256: "01dd9bd0fa02548bf2ceee13545d4a0ec6046459d847b6b061d8a27237108a08"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.1.0"
+  protoc_plugin:
+    dependency: "direct dev"
+    description:
+      name: protoc_plugin
+      sha256: e2be5014ba145dc0f8de20ac425afa2a513aff64fe350d338e481d40de0573df
+      url: "https://pub.dev"
+    source: hosted
+    version: "20.0.1"
   pub_api_client:
     dependency: "direct dev"
     description:
@@ -357,10 +381,10 @@ packages:
     dependency: "direct main"
     description:
       name: pub_semver
-      sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17"
+      sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
       url: "https://pub.dev"
     source: hosted
-    version: "2.1.3"
+    version: "2.1.4"
   pubspec:
     dependency: transitive
     description:
@@ -373,10 +397,10 @@ packages:
     dependency: "direct dev"
     description:
       name: pubspec_parse
-      sha256: ec85d7d55339d85f44ec2b682a82fea340071e8978257e5a43e69f79e98ef50c
+      sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
       url: "https://pub.dev"
     source: hosted
-    version: "1.2.2"
+    version: "1.2.3"
   quiver:
     dependency: transitive
     description:
@@ -389,42 +413,42 @@ packages:
     dependency: transitive
     description:
       name: retry
-      sha256: a8a1e475a100a0bdc73f529ca8ea1e9c9c76bec8ad86a1f47780139a34ce7aea
+      sha256: "822e118d5b3aafed083109c72d5f484c6dc66707885e07c0fbcb8b986bba7efc"
       url: "https://pub.dev"
     source: hosted
-    version: "3.1.1"
+    version: "3.1.2"
   shelf:
     dependency: transitive
     description:
       name: shelf
-      sha256: c24a96135a2ccd62c64b69315a14adc5c3419df63b4d7c05832a346fdb73682c
+      sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
       url: "https://pub.dev"
     source: hosted
-    version: "1.4.0"
+    version: "1.4.1"
   shelf_packages_handler:
     dependency: transitive
     description:
       name: shelf_packages_handler
-      sha256: aef74dc9195746a384843102142ab65b6a4735bb3beea791e63527b88cc83306
+      sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e"
       url: "https://pub.dev"
     source: hosted
-    version: "3.0.1"
+    version: "3.0.2"
   shelf_static:
     dependency: transitive
     description:
       name: shelf_static
-      sha256: e792b76b96a36d4a41b819da593aff4bdd413576b3ba6150df5d8d9996d2e74c
+      sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e
       url: "https://pub.dev"
     source: hosted
-    version: "1.1.1"
+    version: "1.1.2"
   shelf_web_socket:
     dependency: transitive
     description:
       name: shelf_web_socket
-      sha256: a988c0e8d8ffbdb8a28aa7ec8e449c260f3deb808781fe1284d22c5bba7156e8
+      sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
       url: "https://pub.dev"
     source: hosted
-    version: "1.0.3"
+    version: "1.0.4"
   source_map_stack_trace:
     dependency: transitive
     description:
@@ -458,7 +482,7 @@ packages:
     source: hosted
     version: "1.11.0"
   stream_channel:
-    dependency: "direct dev"
+    dependency: "direct main"
     description:
       name: stream_channel
       sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
@@ -493,26 +517,26 @@ packages:
     dependency: "direct dev"
     description:
       name: test
-      sha256: "4f92f103ef63b1bbac6f4bd1930624fca81b2574464482512c4f0896319be575"
+      sha256: "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46"
       url: "https://pub.dev"
     source: hosted
-    version: "1.24.2"
+    version: "1.24.3"
   test_api:
     dependency: transitive
     description:
       name: test_api
-      sha256: daadc9baabec998b062c9091525aa95786508b1c48e9c30f1f891b8bf6ff2e64
+      sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
       url: "https://pub.dev"
     source: hosted
-    version: "0.5.2"
+    version: "0.6.0"
   test_core:
     dependency: transitive
     description:
       name: test_core
-      sha256: "3642b184882f79e76ca57a9230fb971e494c3c1fd09c21ae3083ce891bcc0aa1"
+      sha256: "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e"
       url: "https://pub.dev"
     source: hosted
-    version: "0.5.2"
+    version: "0.5.3"
   test_descriptor:
     dependency: "direct dev"
     description:
@@ -525,10 +549,10 @@ packages:
     dependency: "direct dev"
     description:
       name: test_process
-      sha256: b0e6702f58272d459d5b80b88696483f86eac230dab05ecf73d0662e305d005e
+      sha256: "217f19b538926e4922bdb2a01410100ec4e3beb4cc48eae5ae6b20037b07bbd6"
       url: "https://pub.dev"
     source: hosted
-    version: "2.0.3"
+    version: "2.1.0"
   tuple:
     dependency: "direct main"
     description:
@@ -538,13 +562,13 @@ packages:
     source: hosted
     version: "2.0.1"
   typed_data:
-    dependency: transitive
+    dependency: "direct main"
     description:
       name: typed_data
-      sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5"
+      sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
       url: "https://pub.dev"
     source: hosted
-    version: "1.3.1"
+    version: "1.3.2"
   uri:
     dependency: transitive
     description:
@@ -557,18 +581,18 @@ packages:
     dependency: transitive
     description:
       name: vm_service
-      sha256: "518254c0d3ee20667a1feef39eefe037df87439851e4b3cb277e5b3f37afa2f0"
+      sha256: f3743ca475e0c9ef71df4ba15eb2d7684eecd5c8ba20a462462e4e8b561b2e11
       url: "https://pub.dev"
     source: hosted
-    version: "11.4.0"
+    version: "11.6.0"
   watcher:
     dependency: "direct main"
     description:
       name: watcher
-      sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0"
+      sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
       url: "https://pub.dev"
     source: hosted
-    version: "1.0.2"
+    version: "1.1.0"
   web_socket_channel:
     dependency: transitive
     description:
@@ -597,9 +621,9 @@ packages:
     dependency: "direct dev"
     description:
       name: yaml
-      sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370"
+      sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
       url: "https://pub.dev"
     source: hosted
-    version: "3.1.1"
+    version: "3.1.2"
 sdks:
-  dart: ">=2.19.0 <3.0.0"
+  dart: ">=3.0.0 <4.0.0"
diff --git a/pkgs/development/tools/misc/nimlsp/default.nix b/pkgs/development/tools/misc/nimlsp/default.nix
index 9c6505b3abd55..5a00d1029ec1f 100644
--- a/pkgs/development/tools/misc/nimlsp/default.nix
+++ b/pkgs/development/tools/misc/nimlsp/default.nix
@@ -22,6 +22,8 @@ nimPackages.buildNimPackage rec {
 
   nimDefines = [ "nimcore" "nimsuggest" "debugCommunication" "debugLogging" ];
 
+  doCheck = false;
+
   meta = with lib; {
     description = "Language Server Protocol implementation for Nim";
     homepage = "https://github.com/PMunch/nimlsp";
diff --git a/pkgs/development/tools/misc/sqitch/default.nix b/pkgs/development/tools/misc/sqitch/default.nix
index ae880ceb8ba48..32235e85c48d2 100644
--- a/pkgs/development/tools/misc/sqitch/default.nix
+++ b/pkgs/development/tools/misc/sqitch/default.nix
@@ -10,7 +10,7 @@
 
 let
   sqitch = perlPackages.AppSqitch;
-  modules = with perlPackages; [ ]
+  modules = with perlPackages; [ AlgorithmBackoff ]
     ++ lib.optional mysqlSupport DBDmysql
     ++ lib.optional postgresqlSupport DBDPg
     ++ lib.optional templateToolkitSupport TemplateToolkit;
diff --git a/pkgs/development/tools/refmt/default.nix b/pkgs/development/tools/refmt/default.nix
new file mode 100644
index 0000000000000..523d14b2a9a33
--- /dev/null
+++ b/pkgs/development/tools/refmt/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "refmt";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "rjeczalik";
+    repo = "refmt";
+    rev = "v${version}";
+    sha256 = "sha256-HiAWSR2S+3OcIgwdQ0ltW37lcG+OHkDRDUF07rfNcJY=";
+  };
+
+  vendorSha256 = "sha256-MiYUDEF9W0VAiOX6uE8doXtGAekIrA1cfA8A2a7xd2I=";
+
+  meta = with lib; {
+    description = "Reformat HCL <-> JSON <-> YAML";
+    homepage = "https://github.com/rjeczalik/refmt";
+    license = licenses.agpl3Only;
+    maintainers = with lib.maintainers; [ deemp ];
+  };
+}
diff --git a/pkgs/development/tools/rust/tauri-mobile/default.nix b/pkgs/development/tools/rust/tauri-mobile/default.nix
index 3ccc1c186ce53..7870a440d1d5f 100644
--- a/pkgs/development/tools/rust/tauri-mobile/default.nix
+++ b/pkgs/development/tools/rust/tauri-mobile/default.nix
@@ -12,36 +12,36 @@
 let
   inherit (darwin.apple_sdk.frameworks) CoreServices;
   pname = "tauri-mobile";
-  version = "unstable-2023-04-25";
+  version = "unstable-2023-06-06";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
   src = fetchFromGitHub {
     owner = "tauri-apps";
     repo = pname;
-    rev = "c2abaf54135bf65b1165a38d3b1d84e8d57f5d6c";
-    sha256 = "sha256-WHyiswe64tkNhhgmHquv9YPLQAU1yTJ/KglTqEPBcOM=";
+    rev = "43b2a3ba3a05b9ca3d3c9d8d7eafbeb4f24bf396";
+    hash = "sha256-fVQmhtUn2Lwtr/id/qWtgnHQdXkf0jAOg4apOgnLD4Y=";
   };
 
   # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
   # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202
   # sourceRoot = "source/tooling/cli";
 
-  cargoHash = "sha256-Kc1BikwUYSpPShRtAPbHCdfVzo6zwjiO3QeqRkO+WhY=";
+  cargoHash = "sha256-MtLfcDJcLVhsIGD6pjpomuu9GYGqa7L8xnaQ++f+0H4=";
 
   preBuild = ''
-    export HOME=$(mktemp -d)
+    mkdir -p $out/share/
+    # during the install process tauri-mobile puts templates and commit information in CARGO_HOME
+    export CARGO_HOME=$out/share/
   '';
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreServices ];
   nativeBuildInputs = [ pkg-config git makeWrapper ];
 
-  preInstall = ''
-    mkdir -p $out/share/
-    # the directory created in the build process is .tauri-mobile, a hidden directory
-    shopt -s dotglob
-    for temp_dir in $HOME/*; do
-      cp -R $temp_dir $out/share
+  preFixup = ''
+    for bin in $out/bin/cargo-*; do
+      wrapProgram $bin \
+        --set CARGO_HOME "$out/share"
     done
   '';
 
diff --git a/pkgs/development/web/postman/darwin.nix b/pkgs/development/web/postman/darwin.nix
index 6e74ac7eb62a6..f213dd3d8e234 100644
--- a/pkgs/development/web/postman/darwin.nix
+++ b/pkgs/development/web/postman/darwin.nix
@@ -11,12 +11,12 @@ let
   dist = {
     aarch64-darwin = {
       arch = "arm64";
-      sha256 = "sha256-dJM85/6JCNqSXtrglEjP11cypGkj8+zHPo0qNANyylU=";
+      sha256 = "sha256-zBjA+IekQONwZJ+2hQhJIBA+qu/rRYOtm6y1aBaxQrA=";
     };
 
     x86_64-darwin = {
       arch = "64";
-      sha256 = "sha256-36T7S/F35hRCmXXYA8DWwwLsuJiUVU9UBY7eAXjzx1s=";
+      sha256 = "sha256-YBI8F/wABFBqfwIGSBr7UqD/zDGaESL9/v/DpCSy1m0=";
     };
   }.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
 
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index 98dee6091c898..e3e9951afb94a 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "postman";
-  version = "10.12.0";
+  version = "10.15.0";
   meta = with lib; {
     homepage = "https://www.getpostman.com";
     description = "API Development Environment";
diff --git a/pkgs/development/web/postman/linux.nix b/pkgs/development/web/postman/linux.nix
index f419a20d3460d..6ba2182e462bf 100644
--- a/pkgs/development/web/postman/linux.nix
+++ b/pkgs/development/web/postman/linux.nix
@@ -47,12 +47,12 @@ let
   dist = {
     aarch64-linux = {
       arch = "arm64";
-      sha256 = "sha256-ciQ9LqtaOosUAtcZiwOQ+8gB5dTut8pXHAjUsoQEEB8=";
+      sha256 = "sha256-cBueTCZHZZGU3Z/UKLBIw4XCvCz9Hm4MxdIMY9+2ulk=";
     };
 
     x86_64-linux = {
       arch = "64";
-      sha256 = "sha256-QaIj+SOQGR6teUIdLB3D5klRlYrna1MoE3c6UXYEoB4=";
+      sha256 = "sha256-svk60K4pZh0qRdx9+5OUTu0xgGXMhqvQTGTcmqBOMq8=";
     };
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
diff --git a/pkgs/games/r2modman/default.nix b/pkgs/games/r2modman/default.nix
new file mode 100644
index 0000000000000..624d1e2f8ee35
--- /dev/null
+++ b/pkgs/games/r2modman/default.nix
@@ -0,0 +1,113 @@
+{ lib
+, stdenv
+, yarn
+, fetchYarnDeps
+, fixup_yarn_lock
+, nodejs
+, electron
+, fetchFromGitHub
+, gitUpdater
+, makeWrapper
+, makeDesktopItem
+, copyDesktopItems
+}:
+
+stdenv.mkDerivation rec {
+  pname = "r2modman";
+  version = "3.1.42";
+
+  src = fetchFromGitHub {
+    owner = "ebkr";
+    repo = "r2modmanPlus";
+    rev = "v${version}";
+    hash = "sha256-16sE706iivYoI40JJUkqVmtxkYsgAFBg+0tXOc6scqc=";
+  };
+
+  offlineCache = fetchYarnDeps {
+    yarnLock = "${src}/yarn.lock";
+    hash = "sha256-CXitb/b2tvTfrkFrFv4KP4WdmMg+1sDtC/s2u5ezDfI=";
+  };
+
+  nativeBuildInputs = [
+    yarn
+    fixup_yarn_lock
+    nodejs
+    makeWrapper
+    copyDesktopItems
+  ];
+
+  configurePhase = ''
+    runHook preConfigure
+
+    # Workaround for webpack bug
+    # https://github.com/webpack/webpack/issues/14532
+    export NODE_OPTIONS="--openssl-legacy-provider"
+    export HOME=$(mktemp -d)
+    yarn config --offline set yarn-offline-mirror $offlineCache
+    fixup_yarn_lock yarn.lock
+    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
+    patchShebangs node_modules/
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    yarn --offline quasar build --mode electron --skip-pkg
+
+    # Remove dev dependencies.
+    yarn install --production --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/r2modman
+    cp -r dist/electron/UnPackaged/. node_modules $out/share/r2modman
+
+    (
+      cd public/icons
+      for img in *png; do
+        dimensions=''${img#favicon-}
+        dimensions=''${dimensions%.png}
+        mkdir -p $out/share/icons/hicolor/$dimensions/apps
+        cp $img $out/share/icons/hicolor/$dimensions/apps/${pname}.png
+      done
+    )
+
+    makeWrapper '${electron}/bin/electron' "$out/bin/r2modman" \
+      --inherit-argv0 \
+      --add-flags "$out/share/r2modman" \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
+
+    runHook postInstall
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = pname;
+      icon = pname;
+      desktopName = pname;
+      comment = meta.description;
+      categories = [ "Game" ];
+      keywords = [ "launcher" "mod manager" "thunderstore" ];
+    })
+  ];
+
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "v";
+  };
+
+  meta = with lib; {
+    description = "Unofficial Thunderstore mod manager";
+    homepage = "https://github.com/ebkr/r2modmanPlus";
+    changelog = "https://github.com/ebkr/r2modmanPlus/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ aidalgol huantian ];
+    inherit (electron.meta) platforms;
+  };
+}
diff --git a/pkgs/misc/documentation-highlighter/default.nix b/pkgs/misc/documentation-highlighter/default.nix
index 22ea3a5f86e37..3a7f5b21c69e9 100644
--- a/pkgs/misc/documentation-highlighter/default.nix
+++ b/pkgs/misc/documentation-highlighter/default.nix
@@ -9,12 +9,12 @@ runCommand "documentation-highlighter" {
   };
   src = lib.sources.cleanSourceWith {
     src = ./.;
-    filter = path: type: lib.elem path (map toString [
-      ./highlight.pack.js
-      ./LICENSE
-      ./loader.js
-      ./mono-blue.css
-      ./README.md
+    filter = path: type: lib.elem (baseNameOf path) ([
+      "highlight.pack.js"
+      "LICENSE"
+      "loader.js"
+      "mono-blue.css"
+      "README.md"
     ]);
   };
 } ''
diff --git a/pkgs/os-specific/linux/cfs-zen-tweaks/default.nix b/pkgs/os-specific/linux/cfs-zen-tweaks/default.nix
index a894e0bd4b69b..ef5dfe8e2e064 100644
--- a/pkgs/os-specific/linux/cfs-zen-tweaks/default.nix
+++ b/pkgs/os-specific/linux/cfs-zen-tweaks/default.nix
@@ -17,21 +17,16 @@ stdenv.mkDerivation rec {
     sha256 = "HRR2tdjNmWyrpbcMlihSdb/7g/tHma3YyXogQpRCVyo=";
   };
 
-  postPatch = ''
-    patchShebangs set-cfs-zen-tweaks.bash
-    chmod +x set-cfs-zen-tweaks.bash
+  preConfigure = ''
     substituteInPlace set-cfs-zen-tweaks.bash \
       --replace '$(gawk' '$(${gawk}/bin/gawk'
   '';
 
-  buildInputs = [
-    gawk
-  ];
+  preFixup = ''
+    chmod +x $out/lib/cfs-zen-tweaks/set-cfs-zen-tweaks.bash
+  '';
 
-  nativeBuildInputs = [
-    cmake
-    makeWrapper
-  ];
+  nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
     description = "Tweak Linux CPU scheduler for desktop responsiveness";
diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix
index f1cd6b67165b0..2836f435dc2ad 100644
--- a/pkgs/os-specific/linux/hostapd/default.nix
+++ b/pkgs/os-specific/linux/hostapd/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
     CONFIG_IEEE80211R=y
     CONFIG_IEEE80211N=y
     CONFIG_IEEE80211AC=y
+    CONFIG_IEEE80211AX=y
     CONFIG_FULL_DYNAMIC_VLAN=y
     CONFIG_VLAN_NETLINK=y
     CONFIG_TLS=openssl
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index e30689cdd3ea9..deb48cea78d43 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.4-rc4";
+  version = "6.4-rc6";
   extraMeta.branch = lib.versions.majorMinor version;
 
   # modDirVersion needs to be x.y.z, will always add .0
@@ -11,7 +11,7 @@ buildLinux (args // rec {
 
   src = fetchzip {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    hash = "sha256-PlxGRb4wKjamEDrSWpKXLxa7aX9lQoDgrjjrWhArisk=";
+    hash = "sha256-gJSVjuYoA5k7XuxRirS/ac770ZfXqIUvI7BUPwxvN1g=";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/nix-ld/default.nix b/pkgs/os-specific/linux/nix-ld/default.nix
index 6e0af12172199..534955f0b8576 100644
--- a/pkgs/os-specific/linux/nix-ld/default.nix
+++ b/pkgs/os-specific/linux/nix-ld/default.nix
@@ -12,13 +12,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "nix-ld";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "mic92";
     repo = "nix-ld";
     rev = version;
-    sha256 = "sha256-dM9YPN+yq6sHmRhJQinYdAVXBkTgEtrVQcsd/mIIX0o=";
+    sha256 = "sha256-NitUt9LBJMpAbbKC98aRPYMfxZFq3PHH6ieqM4MVO08=";
   };
 
   doCheck = true;
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 1b47c400395fe..f7d0e36b14ece 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -25,14 +25,12 @@ rec {
   stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else latest;
 
   production = generic {
-    version = "525.116.04";
-    sha256_64bit = "sha256-hhDsgkR8/3LLXxizZX7ppjSlFRZiuK2QHrgfTE+2F/4=";
-    sha256_aarch64 = "sha256-k7k22z5PYZdBVfuYXVcl9SFUMqZmK4qyxoRwlYyRdgU=";
-    openSha256 = "sha256-dktHCoESqoNfu5M73aY5MQGROlZawZwzBqs3RkOyfoQ=";
-    settingsSha256 = "sha256-qNjfsT9NGV151EHnG4fgBonVFSKc4yFEVomtXg9uYD4=";
-    persistencedSha256 = "sha256-ci86XGlno6DbHw6rkVSzBpopaapfJvk0+lHcR4LDq50=";
-
-    ibtSupport = true;
+    version = "535.54.03";
+    sha256_64bit = "sha256-RUdk9X6hueGRZqNw94vhDnHwYmQ4+xl/cm3DyvBbQII=";
+    sha256_aarch64 = "sha256-SUxW/Z8sJJ7bc/yhozTh8Wd2gKLsniJwKmXh1tJwUm8=";
+    openSha256 = "sha256-dp74UiiZfsQbZbAKHgFkLdRNyYbRlVMF3tIXcxok7FU";
+    settingsSha256 = "sha256-5yIdOAaYQCQ2CmCayD/a5opoQppjK56s9cDqLmm17ww=";
+    persistencedSha256 = "sha256-R5WCh09BSPjfifui0ODkCsdIXTowceNjLDq5XHwda08=";
   };
 
   latest = selectHighestVersion production (generic {
diff --git a/pkgs/os-specific/linux/sch_cake/default.nix b/pkgs/os-specific/linux/sch_cake/default.nix
deleted file mode 100644
index f93713344efb0..0000000000000
--- a/pkgs/os-specific/linux/sch_cake/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, kernel }:
-
-stdenv.mkDerivation {
-  pname = "sch_cake";
-  version = "unstable-2017-07-16";
-
-  src = fetchFromGitHub {
-    owner = "dtaht";
-    repo = "sch_cake";
-    rev = "e641a56f27b6848736028f87eda65ac3df9f99f7";
-    sha256 = "08582jy01j32b3mj8hf6m8687qrcz64zv2m236j24inlkmd94q21";
-  };
-
-  hardeningDisable = [ "pic" ];
-
-  makeFlags = [
-    "KERNEL_VERSION=${kernel.version}"
-    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-  ];
-
-  installPhase = ''
-    install -v -m 644 -D sch_cake.ko \
-      $out/lib/modules/${kernel.modDirVersion}/kernel/net/sched/sch_cake.ko
-  '';
-
-  meta = with lib; {
-    description = "The cake qdisc scheduler";
-    homepage = "https://www.bufferbloat.net/projects/codel/wiki/Cake/";
-    license = with licenses; [ bsd3 gpl2 ];
-    maintainers = with maintainers; [ fpletz ];
-    platforms = platforms.linux;
-    broken = lib.versionAtLeast kernel.version "4.13";
-  };
-}
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index ba4fe8356ce76..d54abb1c19f0d 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
     CONFIG_HS20=y
     CONFIG_HT_OVERRIDES=y
     CONFIG_IEEE80211AC=y
+    CONFIG_IEEE80211AX=y
     CONFIG_IEEE80211N=y
     CONFIG_IEEE80211R=y
     CONFIG_IEEE80211W=y
diff --git a/pkgs/servers/code-server/build-vscode-nogit.patch b/pkgs/servers/code-server/build-vscode-nogit.patch
index aee2a033a80b5..ec726c68d438d 100644
--- a/pkgs/servers/code-server/build-vscode-nogit.patch
+++ b/pkgs/servers/code-server/build-vscode-nogit.patch
@@ -1,14 +1,8 @@
---- ./ci/build/build-vscode.sh
-+++ ./ci/build/build-vscode.sh
-@@ -45,14 +45,12 @@
-   # Set the commit Code will embed into the product.json.  We need to do this
-   # since Code tries to get the commit from the `.git` directory which will fail
-   # as it is a submodule.
--  export VSCODE_DISTRO_COMMIT
--  VSCODE_DISTRO_COMMIT=$(git rev-parse HEAD)
-+  export VSCODE_DISTRO_COMMIT=none
- 
-   # Add the date, our name, links, and enable telemetry (this just makes
+diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh
+index a72549fb..3aed1ad5 100755
+--- a/ci/build/build-vscode.sh
++++ b/ci/build/build-vscode.sh
+@@ -58,7 +58,6 @@ main() {
    # telemetry available; telemetry can still be disabled by flag or setting).
    # This needs to be done before building as Code will read this file and embed
    # it into the client-side code.
@@ -16,7 +10,7 @@
    cp product.json product.original.json # Since jq has no inline edit.
    jq --slurp '.[0] * .[1]' product.original.json <(
      cat << EOF
-@@ -99,7 +97,6 @@
+@@ -105,7 +104,6 @@ EOF
    # Reset so if you develop after building you will not be stuck with the wrong
    # commit (the dev client will use `oss-dev` but the dev server will still use
    # product.json which will have `stable-$commit`).
diff --git a/pkgs/servers/code-server/default.nix b/pkgs/servers/code-server/default.nix
index 8a07218ece48b..f35ae5ca8a389 100644
--- a/pkgs/servers/code-server/default.nix
+++ b/pkgs/servers/code-server/default.nix
@@ -54,17 +54,19 @@ let
     sed -i 's/${version}/${esbuild'.version}/g' ${path}/node_modules/esbuild/lib/main.js
     ln -s -f ${esbuild'}/bin/esbuild ${path}/node_modules/esbuild/bin/esbuild
   '';
+
+  commit = "2798322b03e7f446f59c5142215c11711ed7a427";
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "code-server";
-  version = "4.12.0";
+  version = "4.13.0";
 
   src = fetchFromGitHub {
     owner = "coder";
     repo = "code-server";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-PQp5dji2Ynp+LJRWBka41umwe1/IR76C+at/wyOWGcI=";
+    hash = "sha256-4hkKGQU9G3CllD+teWXnYoHaY3YdDz25fwaMUS5OlfM=";
   };
 
   yarnCache = stdenv.mkDerivation {
@@ -92,7 +94,7 @@ stdenv.mkDerivation (finalAttrs: {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-4Vr9u3+W/IhbbTc39jyDyDNQODlmdF+M/N8oJn0Z4+w=";
+    outputHash = "sha256-xLcrOVhKC0cOPcS5XwIMyv1KiEE0azZ1z+wS9PPKjAQ=";
   };
 
   nativeBuildInputs = [
@@ -120,7 +122,8 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   patches = [
-    # remove git calls from vscode build script
+    # Remove all git calls from the VS Code build script except `git rev-parse
+    # HEAD` which is replaced in postPatch with the commit.
     ./build-vscode-nogit.patch
   ];
 
@@ -130,8 +133,10 @@ stdenv.mkDerivation (finalAttrs: {
     patchShebangs ./ci
 
     # inject git commit
-    substituteInPlace ci/build/build-release.sh \
-      --replace '$(git rev-parse HEAD)' "$commit"
+    substituteInPlace ./ci/build/build-vscode.sh \
+      --replace '$(git rev-parse HEAD)' "${commit}"
+    substituteInPlace ./ci/build/build-release.sh \
+      --replace '$(git rev-parse HEAD)' "${commit}"
   '';
 
   configurePhase = ''
@@ -232,8 +237,8 @@ stdenv.mkDerivation (finalAttrs: {
       -execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \;
 
     # run postinstall scripts after patching
-    find ./lib/vscode -path "*node_modules" -prune -o \
-      -path "./*/*/*/*/*" -name "yarn.lock" -printf "%h\n" | \
+    find ./lib/vscode \( -path "*/node_modules/*" -or -path "*/extensions/*" \) \
+      -and -type f -name "yarn.lock" -printf "%h\n" | \
         xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true'
 
     # build code-server
@@ -242,6 +247,15 @@ stdenv.mkDerivation (finalAttrs: {
     # build vscode
     VERSION=${finalAttrs.version} yarn build:vscode
 
+    # inject version into package.json
+    jq --slurp '.[0] * .[1]' ./package.json <(
+      cat << EOF
+    {
+      "version": "${finalAttrs.version}"
+    }
+    EOF
+    ) | sponge ./package.json
+
     # create release
     yarn release
 
@@ -283,7 +297,7 @@ stdenv.mkDerivation (finalAttrs: {
     '';
     homepage = "https://github.com/coder/code-server";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ offline henkery ];
+    maintainers = with lib.maintainers; [ offline henkery code-asher ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
   };
 })
diff --git a/pkgs/servers/mail/sympa/default.nix b/pkgs/servers/mail/sympa/default.nix
index 7e409934fad03..5d29f6fbb5362 100644
--- a/pkgs/servers/mail/sympa/default.nix
+++ b/pkgs/servers/mail/sympa/default.nix
@@ -61,13 +61,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sympa";
-  version = "6.2.70";
+  version = "6.2.72";
 
   src = fetchFromGitHub {
     owner = "sympa-community";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/gaJ17IwB6ZC7OT9gxA5uUhTAHXeqsEh/x4AzAARups=";
+    sha256 = "sha256-8G6MxpqVa3E5J/68E7tljcXF4w7OmNkI0nJwsgxJE28=";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/matrix-synapse/tools/synadm.nix b/pkgs/servers/matrix-synapse/tools/synadm.nix
index aa65d0b0d0d81..7f425b7c5e49b 100644
--- a/pkgs/servers/matrix-synapse/tools/synadm.nix
+++ b/pkgs/servers/matrix-synapse/tools/synadm.nix
@@ -6,12 +6,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "synadm";
-  version = "0.41.2";
+  version = "0.41.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wSpgc1umBMLCc2ThfYSuNNnzqWXyEQM0XhTuOAQaiXg=";
+    hash = "sha256-gWEgLpSE77XdocAZqN1i/vR5dvYFsgsg5zs5Dj90V/o=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/web-apps/lemmy/update.sh b/pkgs/servers/web-apps/lemmy/update.sh
index 6b18221e2672a..8de7a8640d8fe 100755
--- a/pkgs/servers/web-apps/lemmy/update.sh
+++ b/pkgs/servers/web-apps/lemmy/update.sh
@@ -24,9 +24,9 @@ if ("$latest_version" === "$current_version") {
   const package_json = $(curl -qf $source/package.json)
   echo $package_json > $directory/package.json
 
-  const server_tarball_meta = $(nix-prefetch-github $owner $server_repo --rev $latest_rev)
+  const server_tarball_meta = $(nix-prefetch-github $owner $server_repo --rev $latest_rev --fetch-submodules)
   const server_tarball_hash = "sha256-$(echo $server_tarball_meta | jq -r '.sha256')"
-  const ui_tarball_meta = $(nix-prefetch-github $owner $ui_repo --rev $latest_rev)
+  const ui_tarball_meta = $(nix-prefetch-github $owner $ui_repo --rev $latest_rev --fetch-submodules)
   const ui_tarball_hash = "sha256-$(echo $ui_tarball_meta | jq -r '.sha256')"
 
   jq ".version = \"$latest_version\" | \
@@ -35,12 +35,12 @@ if ("$latest_version" === "$current_version") {
       .\"serverCargoSha256\" = \"\" | \
       .\"uiYarnDepsSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json
 
-  const new_cargo_sha256 = $(nix-build -A lemmy-server 2>&1 | \
+  const new_cargo_sha256 = $(nix-build $directory/../../../.. -A lemmy-server 2>&1 | \
     tail -n 2 | \
     head -n 1 | \
     sd '\s+got:\s+' '')
 
-  const new_offline_cache_sha256 = $(nix-build -A lemmy-ui 2>&1 | \
+  const new_offline_cache_sha256 = $(nix-build $directory/../../../.. -A lemmy-ui 2>&1 | \
     tail -n 2 | \
     head -n 1 | \
     sd '\s+got:\s+' '')
diff --git a/pkgs/tools/admin/netbox2netshot/default.nix b/pkgs/tools/admin/netbox2netshot/default.nix
new file mode 100644
index 0000000000000..76ca3a68cf3de
--- /dev/null
+++ b/pkgs/tools/admin/netbox2netshot/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "netbox2netshot";
+  version = "0.1.12";
+
+  src = fetchFromGitHub {
+    owner = "scaleway";
+    repo = "netbox2netshot";
+    rev = version;
+    hash = "sha256-PT/eQBe0CX1l6tcC5QBiXKGWgIQ8s4h6IApeWyb8ysc=";
+  };
+
+  cargoHash = "sha256-/T+6cjWG8u/Mr8gtBOXbEEZOO0pDykEpNIVTgooAmuw=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreFoundation
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  meta = with lib; {
+    description = "Inventory synchronization tool between Netbox and Netshot";
+    homepage = "https://github.com/scaleway/netbox2netshot";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ janik ];
+  };
+}
diff --git a/pkgs/tools/audio/mpd-discord-rpc/Cargo.lock b/pkgs/tools/audio/mpd-discord-rpc/Cargo.lock
index 330903a0fd098..3d635b5638b16 100644
--- a/pkgs/tools/audio/mpd-discord-rpc/Cargo.lock
+++ b/pkgs/tools/audio/mpd-discord-rpc/Cargo.lock
@@ -15,9 +15,9 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.20"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
 dependencies = [
  "memchr",
 ]
@@ -147,22 +147,23 @@ dependencies = [
 
 [[package]]
 name = "dirs"
-version = "5.0.0"
+version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dece029acd3353e3a58ac2e3eb3c8d6c35827a892edc6cc4138ef9c33df46ecd"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
 dependencies = [
  "dirs-sys",
 ]
 
 [[package]]
 name = "dirs-sys"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04414300db88f70d74c5ff54e50f9e1d1737d9a5b90f53fcf2e95ca2a9ab554b"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
 dependencies = [
  "libc",
+ "option-ext",
  "redox_users",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -623,7 +624,7 @@ dependencies = [
 
 [[package]]
 name = "mpd-discord-rpc"
-version = "1.6.0"
+version = "1.7.0"
 dependencies = [
  "dirs",
  "discord-rpc-client",
@@ -788,6 +789,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
 name = "overload"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1017,9 +1024,9 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.7.2"
+version = "1.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cce168fea28d3e05f158bda4576cf0c844d5045bc2cc3620fa0292ed5bb5814c"
+checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1028,15 +1035,15 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.29"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
 
 [[package]]
 name = "reqwest"
-version = "0.11.15"
+version = "0.11.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ba30cc2c0cd02af1222ed216ba659cdb2f879dfe3181852fe7c50b1d0005949"
+checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
 dependencies = [
  "base64",
  "bytes 1.4.0",
@@ -1153,18 +1160,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "serde"
-version = "1.0.158"
+version = "1.0.164"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9"
+checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.158"
+version = "1.0.164"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad"
+checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1184,9 +1191,9 @@ dependencies = [
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.1"
+version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4"
+checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d"
 dependencies = [
  "serde",
 ]
@@ -1334,31 +1341,30 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.26.0"
+version = "1.28.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
+checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2"
 dependencies = [
  "autocfg 1.1.0",
  "bytes 1.4.0",
  "libc",
- "memchr",
  "mio",
  "num_cpus",
  "pin-project-lite",
  "socket2",
  "tokio-macros",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "1.8.2"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
+checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.4",
 ]
 
 [[package]]
@@ -1387,9 +1393,9 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b403acf6f2bb0859c93c7f0d967cb4a75a7ac552100f9322faf64dc047669b21"
+checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec"
 dependencies = [
  "serde",
  "serde_spanned",
@@ -1399,18 +1405,18 @@ dependencies = [
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.1"
+version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
+checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.19.7"
+version = "0.19.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc18466501acd8ac6a3f615dd29a3438f8ca6bb3b19537138b3106e575621274"
+checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
 dependencies = [
  "indexmap",
  "serde",
@@ -1471,9 +1477,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
+checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
 dependencies = [
  "nu-ansi-term",
  "sharded-slab",
@@ -1512,9 +1518,9 @@ dependencies = [
 
 [[package]]
 name = "universal-config"
-version = "0.3.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dae262d0546bed6c0955faad12c07ec989768c2550643609410178fddb39909"
+checksum = "23a92582af2bb8ffac1958db4de6fc821529c673a16319d70fa1cebabf572426"
 dependencies = [
  "dirs",
  "serde",
@@ -1694,13 +1700,13 @@ version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
 ]
 
 [[package]]
@@ -1709,7 +1715,16 @@ version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.0",
 ]
 
 [[package]]
@@ -1718,13 +1733,28 @@ version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
 ]
 
 [[package]]
@@ -1734,46 +1764,88 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+
+[[package]]
 name = "winnow"
-version = "0.3.6"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23d020b441f92996c80d94ae9166e8501e59c7bb56121189dc9eab3bd8216966"
+checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699"
 dependencies = [
  "memchr",
 ]
diff --git a/pkgs/tools/audio/mpd-discord-rpc/default.nix b/pkgs/tools/audio/mpd-discord-rpc/default.nix
index 4ddc22d0b96ea..9712a8b751098 100644
--- a/pkgs/tools/audio/mpd-discord-rpc/default.nix
+++ b/pkgs/tools/audio/mpd-discord-rpc/default.nix
@@ -9,13 +9,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mpd-discord-rpc";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "JakeStanger";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FYI0TlYyoT9h4fVjR1kp2Rn5qVppQhy6o09mPptTEMo=";
+    sha256 = "sha256-/B9ar9Q+d1MbBh6zIzf0QmlfgugxECLWHuiYSGUjdmg=";
   };
 
   cargoLock = {
diff --git a/pkgs/tools/filesystems/cryfs/default.nix b/pkgs/tools/filesystems/cryfs/default.nix
index 47e58e1a59004..fba54761233a6 100644
--- a/pkgs/tools/filesystems/cryfs/default.nix
+++ b/pkgs/tools/filesystems/cryfs/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub
 , cmake, pkg-config, python3
-, boost175, curl, fuse, openssl, range-v3, spdlog
+, boost, curl, fuse, openssl, range-v3, spdlog
 # cryptopp and gtest on standby - using the vendored ones for now
 # see https://github.com/cryfs/cryfs/issues/369
 , llvmPackages
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  buildInputs = [ boost175 curl fuse openssl range-v3 spdlog ]
+  buildInputs = [ boost curl fuse openssl range-v3 spdlog ]
     ++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
 
   #nativeCheckInputs = [ gtest ];
diff --git a/pkgs/tools/filesystems/ssdfs-utils/default.nix b/pkgs/tools/filesystems/ssdfs-utils/default.nix
new file mode 100644
index 0000000000000..467e24724ff1f
--- /dev/null
+++ b/pkgs/tools/filesystems/ssdfs-utils/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libtool
+, libuuid
+, zlib
+}:
+
+stdenv.mkDerivation {
+  # The files and commit messages in the repository refer to the package
+  # as ssdfs-utils, not ssdfs-tools.
+  pname = "ssdfs-utils";
+  # The version is taken from `configure.ac`, there are no tags.
+  version = "4.27";
+
+  src = fetchFromGitHub {
+    owner = "dubeyko";
+    repo = "ssdfs-tools";
+    rev = "9b647d73b34dc2e18ed04bfcf5e260ffb8242dd5";
+    hash = "sha256-7I7h6Szb/oXtkypd7Nk4AFrTEsn9Y/1/u+IaL63zRVI=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    libtool
+    libuuid
+    zlib
+  ];
+
+  passthru = {
+    updateScript = ./update.sh;
+  };
+
+  meta = with lib; {
+    description = "SSDFS file system utilities";
+    homepage = "https://github.com/dubeyko/ssdfs-tools";
+    license = licenses.bsd3Clear;
+    maintainers = with maintainers; [ ners ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/ssdfs-utils/update.sh b/pkgs/tools/filesystems/ssdfs-utils/update.sh
new file mode 100755
index 0000000000000..b30d7bd3357c3
--- /dev/null
+++ b/pkgs/tools/filesystems/ssdfs-utils/update.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnugrep common-updater-scripts
+set -euo pipefail
+
+owner=dubeyko
+repo=ssdfs-tools
+
+version="$(curl --silent https://raw.githubusercontent.com/${owner}/${repo}/master/configure.ac | \
+    grep 'AC_INIT(ssdfs' | \
+    egrep -o '[0-9\.]{3,}')"
+
+rev=$(curl -s -H "Accept: application/vnd.github.VERSION.sha" https://api.github.com/repos/${owner}/${repo}/commits/master)
+
+update-source-version ssdfs-utils "$version" --rev="$rev"
diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix
index 31fd9742d2367..f9b84d2656a34 100644
--- a/pkgs/tools/graphics/zbar/default.nix
+++ b/pkgs/tools/graphics/zbar/default.nix
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals enableVideo [
     wrapGAppsHook
     wrapQtAppsHook
+    qtbase
   ];
 
   buildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/update.py b/pkgs/tools/inputmethods/fcitx5/update.py
index 7fae6c6041833..fba390211c82a 100755
--- a/pkgs/tools/inputmethods/fcitx5/update.py
+++ b/pkgs/tools/inputmethods/fcitx5/update.py
@@ -2,7 +2,6 @@
 #!nix-shell -i python3 -p nix-update nix-prefetch-github python3Packages.requests
 
 from nix_prefetch_github import *
-import json
 import requests
 import subprocess
 
@@ -34,7 +33,6 @@ def get_latest_tag(repo, owner=OWNER):
     return r.json()[0].get("name")
 
 def main():
-    sources = dict()
     for repo in REPOS:
         rev = get_latest_tag(repo)
         if repo == "fcitx5-qt":
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index f9cbf8e3542a4..17959b3d1a12a 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -10,7 +10,6 @@
 , glibcLocales
 , testers
 , fzf
-, fetchpatch
 }:
 
 let
@@ -25,23 +24,15 @@ let
 in
 buildGoModule rec {
   pname = "fzf";
-  version = "0.41.1";
+  version = "0.42.0";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    hash = "sha256-YnWc+yStyoZoCKxEMhQC6Z4FZ/OVRaVsAJPtAzGiJVk=";
+    hash = "sha256-+65R7cbj62UXw3ZYXIK9VcAeGnpP4pLigr21awoPLi4=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "update-test-case.patch";
-      url = "https://github.com/junegunn/fzf/commit/448d7e0c5a717128d499f6a09a978b7addd1d925.patch";
-      hash = "sha256-54UYW8x78ZcjPwDWmGLVLxw2E910wme2TkBN7YAr1L8=";
-    })
-  ];
-
   vendorHash = "sha256-O6OjBbrVAxDQd27ar2mmFkU1XyVM2C8SJWJ54rgaf2s=";
 
   CGO_ENABLED = 0;
diff --git a/pkgs/tools/misc/ondir/default.nix b/pkgs/tools/misc/ondir/default.nix
new file mode 100644
index 0000000000000..2e8605c33abc3
--- /dev/null
+++ b/pkgs/tools/misc/ondir/default.nix
@@ -0,0 +1,44 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+}:
+
+stdenv.mkDerivation {
+  pname = "ondir";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "alecthomas";
+    repo = "ondir";
+    rev = "cb2f9f8b21e336165fc0a310d677fda75c8e8513";
+    hash = "sha256-XTZKFIzJ3xL8ae3zG8nsMhGWvpvRUAQ2b6q/Q1QvGd0=";
+  };
+
+  installPhase = ''
+  runHook preInstall
+
+  make DESTDIR="$out" PREFIX= install
+  cp scripts.* $out
+
+  runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "a small program to automate tasks specific to certain directories";
+    longDescription = ''
+    It works by executing scripts in directories when you enter and leave them.
+    This is done by overriding the shell builtins cd, pushd, and popd,
+     which is a manual action.
+    The user is required to add a snippet to their shell initialisation file like .bashrc or .profile.
+
+    Which commands are executed on directory entry and leave is done
+     in predefined locations with a .ondirrc file.
+
+    See man ondir for more information
+    '';
+    homepage = "https://github.com/alecthomas/ondir/";
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.michaelCTS ];
+  };
+}
diff --git a/pkgs/tools/misc/pre-commit/default.nix b/pkgs/tools/misc/pre-commit/default.nix
index 43f75277086dc..ded7b3290d3c4 100644
--- a/pkgs/tools/misc/pre-commit/default.nix
+++ b/pkgs/tools/misc/pre-commit/default.nix
@@ -17,7 +17,7 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "pre-commit";
-  version = "3.3.2";
+  version = "3.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonApplication rec {
     owner = "pre-commit";
     repo = "pre-commit";
     rev = "v${version}";
-    hash = "sha256-ZPfxulGiGqPT5z+BTfMn9wl/erzyfPA4LPan/ySFTi8=";
+    hash = "sha256-6FKf4jLHUt2c7LSxFcq53IsfHOWeUSI+P9To0eh48+o=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/shopware-cli/default.nix b/pkgs/tools/misc/shopware-cli/default.nix
index e30ea8e5526ec..4eb442d05f1c1 100644
--- a/pkgs/tools/misc/shopware-cli/default.nix
+++ b/pkgs/tools/misc/shopware-cli/default.nix
@@ -3,22 +3,22 @@
 , fetchFromGitHub
 , installShellFiles
 , makeWrapper
-, dart-sass-embedded
+, dart-sass
 }:
 
 buildGoModule rec {
   pname = "shopware-cli";
-  version = "0.1.78";
+  version = "0.2.0";
   src = fetchFromGitHub {
     repo = "shopware-cli";
     owner = "FriendsOfShopware";
     rev = version;
-    hash = "sha256-IJOT4hnh/ufF8x9EXAJ6TaXVD3qoyv+NqDXqH9XB9C4=";
+    hash = "sha256-IWp4cgZd6td2hOMd2r4v3MI5kY1PqLhLGAIJ3VLvgEA=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
-  vendorHash = "sha256-MoqLxEPxApxMyGKGiPfdehdmKacpwL0BqRP7rEC0TdY=";
+  vendorHash = "sha256-JTjz39zw5Il37V6V7mOQuCYiPJnnizBhkBHBAg2DvSU=";
 
   postInstall = ''
     export HOME="$(mktemp -d)"
@@ -30,7 +30,7 @@ buildGoModule rec {
 
   preFixup = ''
     wrapProgram $out/bin/shopware-cli \
-      --prefix PATH : ${lib.makeBinPath [ dart-sass-embedded ]}
+      --prefix PATH : ${lib.makeBinPath [ dart-sass ]}
   '';
 
   ldflags = [
diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix
index c5fe610aa42e8..8900681443be6 100644
--- a/pkgs/tools/networking/easyrsa/default.nix
+++ b/pkgs/tools/networking/easyrsa/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "easyrsa";
-  version = "3.1.4";
+  version = "3.1.5";
 
   src = fetchFromGitHub {
     owner = "OpenVPN";
     repo = "easy-rsa";
     rev = "v${version}";
-    sha256 = "sha256-2UIeHc5I6cvuD9DAFxwFbWOKNjV1StIBItxARohe0qk=";
+    sha256 = "sha256-GOgwGCsutg4WsBjs1f9jiTS2fvmVMyWCoTw+J/7iZG0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/polygon-cli/default.nix b/pkgs/tools/networking/polygon-cli/default.nix
new file mode 100644
index 0000000000000..75c80bd12b7d6
--- /dev/null
+++ b/pkgs/tools/networking/polygon-cli/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, python3
+, fetchPypi
+}:
+
+python3.pkgs.buildPythonPackage rec {
+  pname = "polygon-cli";
+  version = "1.1.11";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-gEz3kcXbXj9dXnMCx0Q8TjCQemXvJne9EwFsPt14xV4=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    setuptools
+    requests
+    prettytable
+    colorama
+    pyyaml
+  ];
+
+  doCheck = false;
+
+  meta = {
+    description = "Command-line tool for polygon.codeforces.com";
+    homepage = "https://github.com/kunyavskiy/polygon-cli";
+    changelog = "https://github.com/kunyavskiy/polygon-cli/releases/tag/${version}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ khaser ];
+  };
+}
diff --git a/pkgs/tools/security/age-plugin-tpm/default.nix b/pkgs/tools/security/age-plugin-tpm/default.nix
new file mode 100644
index 0000000000000..d79f8805c9431
--- /dev/null
+++ b/pkgs/tools/security/age-plugin-tpm/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, swtpm
+}:
+
+buildGoModule {
+  pname = "age-plugin-tpm";
+  version = "unstable-2023-05-02";
+
+  src = fetchFromGitHub {
+    owner = "Foxboron";
+    repo = "age-plugin-tpm";
+    rev = "c570739b05c067087c44f651efce6890eedc0647";
+    hash = "sha256-xlJtyNAYi/6vBWLsjymFLGfr30w80OplwG2xGTEB118=";
+  };
+
+  vendorHash = "sha256-S9wSxw0ZMibCOspgGt5vjzFhPL+bZncjTdIX2mkX5vE=";
+
+  postConfigure = ''
+    substituteInPlace vendor/github.com/foxboron/swtpm_test/swtpm.go \
+      --replace "/usr/share/swtpm/swtpm-create-user-config-files" "${swtpm}/share/swtpm/swtpm-create-user-config-files"
+  '';
+
+  nativeCheckInputs = [
+    swtpm
+  ];
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  meta = with lib; {
+    description = "TPM 2.0 plugin for age";
+    homepage = "https://github.com/Foxboron/age-plugin-tpm";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kranzes ];
+  };
+}
diff --git a/pkgs/tools/system/lact/default.nix b/pkgs/tools/system/lact/default.nix
new file mode 100644
index 0000000000000..7f50718c8ba69
--- /dev/null
+++ b/pkgs/tools/system/lact/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, wrapGAppsHook
+, gdk-pixbuf
+, gtk4
+, libdrm
+, vulkan-loader
+, coreutils
+, hwdata
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lact";
+  version = "0.4.3";
+
+  src = fetchFromGitHub {
+    owner = "ilya-zlobintsev";
+    repo = "LACT";
+    rev = "v${version}";
+    hash = "sha256-zSQqR5AxdqcSwgapSwXYn/36F6SQna8+RS6UTQJySrg=";
+  };
+
+  cargoHash = "sha256-DDBYfafLg2fH+HsC5VZzVyRCyVSwcMydUGBe7NQRwEk=";
+
+  nativeBuildInputs = [
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gdk-pixbuf
+    gtk4
+    libdrm
+    vulkan-loader
+  ];
+
+  checkFlags = [
+    # tries and fails to initialize gtk
+    "--skip=app::root_stack::thermals_page::fan_curve_frame::tests::set_get_curve"
+  ];
+
+  postPatch = ''
+    substituteInPlace lact-daemon/src/server/system.rs \
+      --replace 'Command::new("uname")' 'Command::new("${coreutils}/bin/uname")'
+
+    substituteInPlace res/lactd.service \
+      --replace ExecStart={lact,$out/bin/lact}
+
+    substituteInPlace res/io.github.lact-linux.desktop \
+      --replace Exec={lact,$out/bin/lact}
+
+    pushd $cargoDepsCopy/pciid-parser
+    oldHash=$(sha256sum src/lib.rs | cut -d " " -f 1)
+    sed 's|@hwdata@|${hwdata}|g' < ${./pci-ids.patch} | patch -p1
+    substituteInPlace .cargo-checksum.json \
+      --replace $oldHash $(sha256sum src/lib.rs | cut -d " " -f 1)
+    popd
+  '';
+
+  postInstall = ''
+    install -Dm444 res/lactd.service -t $out/lib/systemd/system
+    install -Dm444 res/io.github.lact-linux.desktop -t $out/share/applications
+    install -Dm444 res/io.github.lact-linux.png -t $out/share/pixmaps
+  '';
+
+  postFixup = ''
+    patchelf $out/bin/.lact-wrapped \
+      --add-rpath ${lib.makeLibraryPath [ vulkan-loader ]}
+  '';
+
+  meta = with lib; {
+    description = "Linux AMDGPU Controller";
+    homepage = "https://github.com/ilya-zlobintsev/LACT";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/lact/pci-ids.patch b/pkgs/tools/system/lact/pci-ids.patch
new file mode 100644
index 0000000000000..e861ade68aced
--- /dev/null
+++ b/pkgs/tools/system/lact/pci-ids.patch
@@ -0,0 +1,10 @@
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -18,7 +18,7 @@ use std::{
+ };
+ use tracing::trace;
+ 
+-const DB_PATHS: &[&str] = &["/usr/share/hwdata/pci.ids", "/usr/share/misc/pci.ids"];
++const DB_PATHS: &[&str] = &["@hwdata@/share/hwdata/pci.ids"];
+ #[cfg(feature = "online")]
+ const URL: &str = "https://pci-ids.ucw.cz/v2.2/pci.ids";
diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix
index 25610757ef8ff..87333dd1c89c0 100644
--- a/pkgs/tools/system/tree/default.nix
+++ b/pkgs/tools/system/tree/default.nix
@@ -2,7 +2,7 @@
 
 let
   # These settings are found in the Makefile, but there seems to be no
-  # way to select one ore the other setting other than editing the file
+  # way to select one or the other setting other than editing the file
   # manually, so we have to duplicate the know how here.
   systemFlags = lib.optionalString stdenv.isDarwin ''
     CFLAGS="-O2 -Wall -fomit-frame-pointer -no-cpp-precomp"
@@ -18,13 +18,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tree";
-  version = "2.0.4";
+  version = "2.1.1";
 
   src = fetchFromGitLab {
     owner = "OldManProgrammer";
     repo = "unix-tree";
     rev = version;
-    sha256 = "sha256-2voXL31JHh09yBBLuHhYyZsUapiPVF/cgRmTU6wSXk4=";
+    sha256 = "sha256-aPz1ROUeAKDmMjEtAaL2AguF54/CbIYWpL4Qovv2ftQ=";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/text/rare-regex/default.nix b/pkgs/tools/text/rare-regex/default.nix
index 64cd27ce782ef..76b928e2b1e50 100644
--- a/pkgs/tools/text/rare-regex/default.nix
+++ b/pkgs/tools/text/rare-regex/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "rare";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "zix99";
     repo = "rare";
     rev = version;
-    hash = "sha256-p/L9OL5Eo98PcT5vvODy2xdSH7fuIZJQIAfqhdO490Q=";
+    hash = "sha256-v3zczT3PMSm2AMKVnVdDxsCpYA8QhZcmOCuiQiz5hFo=";
   };
 
   vendorHash = "sha256-wUOtxNjL/4MosACCzPTWKWrnMZhxINfN1ppkRsqDh9M=";
diff --git a/pkgs/tools/virtualization/vpsfree-client/Gemfile b/pkgs/tools/virtualization/vpsfree-client/Gemfile
index 87c9aeebb90c1..6bcacb5ee900d 100644
--- a/pkgs/tools/virtualization/vpsfree-client/Gemfile
+++ b/pkgs/tools/virtualization/vpsfree-client/Gemfile
@@ -2,4 +2,4 @@
 
 source "https://rubygems.org"
 
-gem "vpsfree-client"
+gem "vpsfree-client", "0.17.1"
diff --git a/pkgs/tools/virtualization/vpsfree-client/Gemfile.lock b/pkgs/tools/virtualization/vpsfree-client/Gemfile.lock
index 9b8fd4b918a3d..88d4f92a5b9ab 100644
--- a/pkgs/tools/virtualization/vpsfree-client/Gemfile.lock
+++ b/pkgs/tools/virtualization/vpsfree-client/Gemfile.lock
@@ -1,75 +1,58 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.0.2.2)
+    activesupport (7.0.5)
       concurrent-ruby (~> 1.0, >= 1.0.2)
-      i18n (>= 0.7, < 2)
-      minitest (~> 5.1)
-      tzinfo (~> 1.1)
-      zeitwerk (~> 2.2)
-    addressable (2.7.0)
-      public_suffix (>= 2.0.2, < 5.0)
-    concurrent-ruby (1.1.6)
-    cookiejar (0.3.3)
-    curses (1.3.2)
+      i18n (>= 1.6, < 2)
+      minitest (>= 5.1)
+      tzinfo (~> 2.0)
+    concurrent-ruby (1.2.2)
+    curses (1.4.4)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.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-socksify (0.3.2)
-      eventmachine (>= 1.0.0.beta.4)
-    eventmachine (1.0.9.1)
-    haveapi-client (0.13.2)
+    haveapi-client (0.16.3)
       activesupport (>= 4.0)
-      highline (~> 1.7.8)
+      highline (~> 2.0.3)
       json
       require_all (~> 2.0.0)
-      rest-client (~> 2.0.2)
-      ruby-progressbar (~> 1.7.5)
-    highline (1.7.10)
-    http-cookie (1.0.3)
+      rest-client (~> 2.1.0)
+      ruby-progressbar (~> 1.11.0)
+    highline (2.0.3)
+    http-accept (1.7.0)
+    http-cookie (1.0.5)
       domain_name (~> 0.5)
-    http_parser.rb (0.6.0)
-    i18n (1.8.2)
+    i18n (1.14.1)
       concurrent-ruby (~> 1.0)
-    json (2.3.0)
-    mime-types (3.3.1)
+    json (2.6.3)
+    mime-types (3.4.1)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2020.0425)
-    minitest (5.14.0)
+    mime-types-data (3.2023.0218.1)
+    minitest (5.18.0)
     netrc (0.11.0)
-    public_suffix (4.0.4)
     require_all (2.0.0)
-    rest-client (2.0.2)
+    rest-client (2.1.0)
+      http-accept (>= 1.7.0, < 2.0)
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 4.0)
       netrc (~> 0.8)
-    ruby-progressbar (1.7.5)
-    thread_safe (0.3.6)
-    tzinfo (1.2.7)
-      thread_safe (~> 0.1)
+    ruby-progressbar (1.11.0)
+    tzinfo (2.0.6)
+      concurrent-ruby (~> 1.0)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.7)
-    vpsadmin-client (3.0.0.master.20190517.pre.0.3ab5ddfe)
+    unf_ext (0.0.8.2)
+    vpsadmin-client (3.0.0.master.20221118.pre.1.ac358990)
       curses
-      em-http-request (~> 1.1.3)
-      eventmachine (~> 1.0.3)
-      haveapi-client (~> 0.13.0)
+      haveapi-client (~> 0.16.1)
       json
-    vpsfree-client (0.11.0)
-      vpsadmin-client (= 3.0.0.master.20190517.pre.0.3ab5ddfe)
-    zeitwerk (2.3.0)
+    vpsfree-client (0.17.1)
+      vpsadmin-client (= 3.0.0.master.20221118.pre.1.ac358990)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  vpsfree-client
+  vpsfree-client (= 0.17.1)
 
 BUNDLED WITH
-   2.1.4
+   2.4.13
diff --git a/pkgs/tools/virtualization/vpsfree-client/default.nix b/pkgs/tools/virtualization/vpsfree-client/default.nix
index 17d570414882e..749f6820320bf 100644
--- a/pkgs/tools/virtualization/vpsfree-client/default.nix
+++ b/pkgs/tools/virtualization/vpsfree-client/default.nix
@@ -10,7 +10,7 @@ bundlerApp {
   meta = with lib; {
     description = "Ruby API and CLI for the vpsFree.cz API";
     homepage = "https://github.com/vpsfreecz/vpsfree-client";
-    maintainers = with maintainers; [ zimbatm ];
+    maintainers = with maintainers; [ aither64 zimbatm ];
     license = licenses.gpl3;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/virtualization/vpsfree-client/gemset.nix b/pkgs/tools/virtualization/vpsfree-client/gemset.nix
index a1b4376f9484f..241fb30149d38 100644
--- a/pkgs/tools/virtualization/vpsfree-client/gemset.nix
+++ b/pkgs/tools/virtualization/vpsfree-client/gemset.nix
@@ -1,55 +1,34 @@
 {
   activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1md98dkbirc8mq5nbz1vqq3hwqjiv7b54q7180w8wyxgd4k1awwb";
+      sha256 = "1c7k5i6531z5il4q1jnbrv7x7zcl3bgnxp5fzl71rzigk6zn53ym";
       type = "gem";
     };
-    version = "6.0.2.2";
-  };
-  addressable = {
-    dependencies = ["public_suffix"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
-      type = "gem";
-    };
-    version = "2.7.0";
+    version = "7.0.5";
   };
   concurrent-ruby = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
-      type = "gem";
-    };
-    version = "1.1.6";
-  };
-  cookiejar = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0q0kmbks9l3hl0wdq744hzy97ssq9dvlzywyqv9k9y1p3qc9va2a";
+      sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
       type = "gem";
     };
-    version = "0.3.3";
+    version = "1.2.2";
   };
   curses = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hic9kq09dhh8jqjx3k1991rnqhlj3glz82w0g7ndcri52m1hgqg";
+      sha256 = "00y9g79lzfffxarj3rmhnkblsnyx7izx91mh8c1sdcs9y2pdfq53";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.4.4";
   };
   domain_name = {
     dependencies = ["unf"];
@@ -62,79 +41,47 @@
     };
     version = "0.5.20190701";
   };
-  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-socksify = {
-    dependencies = ["eventmachine"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rk43ywaanfrd8180d98287xv2pxyl7llj291cwy87g1s735d5nk";
-      type = "gem";
-    };
-    version = "0.3.2";
-  };
-  eventmachine = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17jr1caa3ggg696dd02g2zqzdjqj9x9q2nl7va82l36f7c5v6k4z";
-      type = "gem";
-    };
-    version = "1.0.9.1";
-  };
   haveapi-client = {
     dependencies = ["activesupport" "highline" "json" "require_all" "rest-client" "ruby-progressbar"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wn5zvyy3w3q74m2fsb4jwxfdbdnpyyzxdf9iklpggcdmjhb78z0";
+      sha256 = "0iz0k9cwva8icc040k5m9ah0cz08jg6x51h6ahdccw6azy8h93i1";
       type = "gem";
     };
-    version = "0.13.2";
+    version = "0.16.3";
   };
   highline = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y";
+      sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
       type = "gem";
     };
-    version = "1.7.10";
+    version = "2.0.3";
   };
-  http-cookie = {
-    dependencies = ["domain_name"];
+  http-accept = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
+      sha256 = "09m1facypsdjynfwrcv19xcb1mqg8z6kk31g8r33pfxzh838c9n6";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.7.0";
   };
-  "http_parser.rb" = {
+  http-cookie = {
+    dependencies = ["domain_name"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
+      sha256 = "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "1.0.5";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
@@ -142,20 +89,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jwrd1l4mxz06iyx6053lr6hz2zy7ah2k3ranfzisvych5q19kwm";
+      sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx";
       type = "gem";
     };
-    version = "1.8.2";
+    version = "1.14.1";
   };
   json = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
+      sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.6.3";
   };
   mime-types = {
     dependencies = ["mime-types-data"];
@@ -163,30 +110,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
+      sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb";
       type = "gem";
     };
-    version = "3.3.1";
+    version = "3.4.1";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zin0q26wc5p7zb7glpwary7ms60s676vcq987yv22jgm6hnlwlh";
+      sha256 = "1pky3vzaxlgm9gw5wlqwwi7wsw3jrglrfflrppvvnsrlaiz043z9";
       type = "gem";
     };
-    version = "3.2020.0425";
+    version = "3.2023.0218.1";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g73x65hmjph8dg1h3rkzfg7ys3ffxm35hj35grw75fixmq53qyz";
+      sha256 = "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06";
       type = "gem";
     };
-    version = "5.14.0";
+    version = "5.18.0";
   };
   netrc = {
     groups = ["default"];
@@ -198,16 +145,6 @@
     };
     version = "0.11.0";
   };
-  public_suffix = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1l1kqw75asziwmzrig8rywxswxz8l91sc3pvns02ffsqac1a3wiz";
-      type = "gem";
-    };
-    version = "4.0.4";
-  };
   require_all = {
     groups = ["default"];
     platforms = [];
@@ -219,46 +156,36 @@
     version = "2.0.0";
   };
   rest-client = {
-    dependencies = ["http-cookie" "mime-types" "netrc"];
+    dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j";
+      sha256 = "1qs74yzl58agzx9dgjhcpgmzfn61fqkk33k1js2y5yhlvc5l19im";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.1.0";
   };
   ruby-progressbar = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hynaavnqzld17qdx9r7hfw00y16ybldwq730zrqfszjwgi59ivi";
+      sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc";
       type = "gem";
     };
-    version = "1.7.5";
-  };
-  thread_safe = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
-      type = "gem";
-    };
-    version = "0.3.6";
+    version = "1.11.0";
   };
   tzinfo = {
-    dependencies = ["thread_safe"];
+    dependencies = ["concurrent-ruby"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
+      sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "2.0.6";
   };
   unf = {
     dependencies = ["unf_ext"];
@@ -276,21 +203,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
+      sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch";
       type = "gem";
     };
-    version = "0.0.7.7";
+    version = "0.0.8.2";
   };
   vpsadmin-client = {
-    dependencies = ["curses" "em-http-request" "eventmachine" "haveapi-client" "json"];
+    dependencies = ["curses" "haveapi-client" "json"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ki3204pkg3f9wk9plbq5n9lrnsmc364smfxyrbq32gi8ag2y2s8";
+      sha256 = "1rqxvfmcbpi8wcmgwdl34il3a4gg3q3zy8pyyj0kk0v8lly0wb6d";
       type = "gem";
     };
-    version = "3.0.0.master.20190517.pre.0.3ab5ddfe";
+    version = "3.0.0.master.20221118.pre.1.ac358990";
   };
   vpsfree-client = {
     dependencies = ["vpsadmin-client"];
@@ -298,19 +225,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cs2ibl9kl39hnpzyhyczaqv4i58pn106vx2m6lds9p3av5mcbxs";
-      type = "gem";
-    };
-    version = "0.11.0";
-  };
-  zeitwerk = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0";
+      sha256 = "0a4fmimzrysjcnvw2jz7f5hdslmy2aaipcgiisjkhqazw6nlbd8w";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "0.17.1";
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 922e075db80a7..d467bf82e04e3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1707,6 +1707,8 @@ with pkgs;
 
   pferd = callPackage ../tools/misc/pferd { };
 
+  polygon-cli = callPackage ../tools/networking/polygon-cli { };
+
   proycon-wayout = callPackage ../tools/wayland/proycon-wayout { };
 
   q = callPackage ../tools/networking/q { };
@@ -4122,6 +4124,8 @@ with pkgs;
 
   btrfs-snap = callPackage ../tools/filesystems/btrfs-snap { };
 
+  ssdfs-utils = callPackage ../tools/filesystems/ssdfs-utils { };
+
   btlejack = python3Packages.callPackage ../applications/radio/btlejack { };
 
   btrbk = callPackage ../tools/backup/btrbk { };
@@ -5717,6 +5721,8 @@ with pkgs;
 
   oil-buku = callPackage ../applications/misc/oil-buku { };
 
+  ondir = callPackage ../tools/misc/ondir { };
+
   osdlyrics = callPackage ../applications/audio/osdlyrics { };
 
   ossutil = callPackage ../tools/admin/ossutil { };
@@ -6559,6 +6565,8 @@ with pkgs;
 
   agebox = callPackage ../tools/security/agebox { };
 
+  age-plugin-tpm = callPackage ../tools/security/age-plugin-tpm { };
+
   age-plugin-yubikey = darwin.apple_sdk_11_0.callPackage ../tools/security/age-plugin-yubikey {
     inherit (darwin.apple_sdk_11_0.frameworks) Foundation PCSC IOKit;
   };
@@ -9721,6 +9729,8 @@ with pkgs;
 
   leatherman = callPackage ../development/libraries/leatherman { };
 
+  lact = callPackage ../tools/system/lact { };
+
   ledit = callPackage ../tools/misc/ledit {
     inherit (ocaml-ng.ocamlPackages_4_12) ocaml camlp5;
   };
@@ -10441,6 +10451,8 @@ with pkgs;
   inherit (callPackage ../servers/web-apps/netbox { })
     netbox_3_3 netbox;
 
+  netbox2netshot = callPackage ../tools/admin/netbox2netshot { };
+
   netcat = libressl.nc;
 
   netcat-gnu = callPackage ../tools/networking/netcat { };
@@ -16660,7 +16672,10 @@ with pkgs;
 
   ograc = callPackage ../development/tools/rust/ograc { };
 
+  opensmalltalk-vm = callPackage ../development/compilers/opensmalltalk-vm { };
+
   ravedude = callPackage ../development/tools/rust/ravedude { };
+
   rhack = callPackage ../development/tools/rust/rhack { };
   roogle = callPackage ../development/tools/rust/roogle { };
   rustfmt = rustPackages.rustfmt;
@@ -17786,6 +17801,11 @@ with pkgs;
 
   nil = callPackage ../development/tools/language-servers/nil { };
 
+  nixd = callPackage ../development/tools/language-servers/nixd {
+    llvmPackages = llvmPackages_16;
+    nix = nixVersions.nix_2_16;
+  };
+
   nls = callPackage ../development/tools/language-servers/nls { };
 
   pylyzer = callPackage ../development/tools/language-servers/pylyzer { };
@@ -17800,6 +17820,8 @@ with pkgs;
 
   verible = callPackage ../development/tools/language-servers/verible { };
 
+  vscode-langservers-extracted = callPackage ../development/tools/language-servers/vscode-langservers-extracted { };
+
   zls = callPackage ../development/tools/language-servers/zls {
     zig = buildPackages.zig_0_10;
   };
@@ -20652,7 +20674,7 @@ with pkgs;
   gecode_6 = qt5.callPackage ../development/libraries/gecode { };
   gecode = gecode_6;
 
-  geph = callPackages ../applications/networking/geph { };
+  geph = recurseIntoAttrs (callPackages ../applications/networking/geph { });
 
   gephi = callPackage ../applications/science/misc/gephi { };
 
@@ -32033,6 +32055,8 @@ with pkgs;
 
   keyfinder-cli = callPackage ../applications/audio/keyfinder-cli { };
 
+  kfilt = callPackage ../applications/networking/cluster/kfilt { };
+
   kgraphviewer = libsForQt5.callPackage ../applications/graphics/kgraphviewer { };
 
   khal = callPackage ../applications/misc/khal { };
@@ -35422,7 +35446,7 @@ with pkgs;
   wgnord = callPackage ../applications/networking/wgnord/default.nix { };
 
   whalebird = callPackage ../applications/misc/whalebird {
-    electron = electron_19;
+    electron = electron_21;
   };
 
   windowlab = callPackage ../applications/window-managers/windowlab { };
@@ -37148,6 +37172,8 @@ with pkgs;
 
   r2mod_cli = callPackage ../games/r2mod_cli { };
 
+  r2modman = callPackage ../games/r2modman { };
+
   racer = callPackage ../games/racer { };
 
   randtype = callPackage ../games/randtype { };
@@ -39797,6 +39823,8 @@ with pkgs;
 
   refind = callPackage ../tools/bootloaders/refind { };
 
+  refmt = callPackage ../development/tools/refmt { };
+
   spectra = callPackage ../development/libraries/spectra { };
 
   spectrojack = callPackage ../applications/audio/spectrojack { };
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 18967e28651a7..fc6f2288349a9 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -482,8 +482,6 @@ in {
 
     prl-tools = callPackage ../os-specific/linux/prl-tools { };
 
-    sch_cake = callPackage ../os-specific/linux/sch_cake { };
-
     isgx = callPackage ../os-specific/linux/isgx { };
 
     rr-zen_workaround = callPackage ../development/tools/analysis/rr/zen_workaround.nix { };
@@ -563,6 +561,7 @@ in {
 
   } // lib.optionalAttrs config.allowAliases {
     ati_drivers_x11 = throw "ati drivers are no longer supported by any kernel >=4.1"; # added 2021-05-18;
+    sch_cake = throw "sch_cake was added in mainline kernel version 4.19"; # Added 2023-06-14
     xmm7360-pci = throw "Support for the XMM7360 WWAN card was added to the iosm kmod in mainline kernel version 5.18";
   });
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 53f80b966a0e1..a477962fab635 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -160,6 +160,21 @@ with self; {
     };
   };
 
+  AlgorithmBackoff = buildPerlPackage {
+    pname = "Algorithm-Backoff";
+    version = "0.009";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Algorithm-Backoff-0.009.tar.gz";
+      sha256 = "9f0ffcdf1e65a88022d6412f46ad977ede5a7b64be663009d13948fe8c9d180b";
+    };
+    buildInputs = [ TestException TestNumberDelta ];
+    meta = {
+      homepage = "https://metacpan.org/release/Algorithm-Backoff";
+      description = "Various backoff strategies for retry";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   AlgorithmC3 = buildPerlPackage {
     pname = "Algorithm-C3";
     version = "0.11";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index de1960c8336d0..1dfd4e32504c0 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -12226,6 +12226,8 @@ self: super: with self; {
     pythonSupport = true;
   });
 
+  tiny-proxy = callPackage ../development/python-modules/tiny-proxy { };
+
   tinycss2 = callPackage ../development/python-modules/tinycss2 { };
 
   tinycss = callPackage ../development/python-modules/tinycss { };