about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2024-06-06 18:00:57 +0000
committerGitHub <noreply@github.com>2024-06-06 18:00:57 +0000
commit9f1130c9a6a782e5ceff5d8555a074eac3ae88bc (patch)
tree30ef51a866c04928155bc7b095bb03cfdbcc4355 /pkgs
parent03ad09b79dc497aa7d333b54defb658473203fe0 (diff)
parenta73df7dc951cdc1dd7060340a524f0124cec4986 (diff)
Merge master into staging-next
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/blockchains/clightning/default.nix8
-rw-r--r--pkgs/applications/misc/findex/default.nix6
-rw-r--r--pkgs/applications/misc/kickoff/default.nix6
-rw-r--r--pkgs/applications/misc/nwg-displays/default.nix4
-rw-r--r--pkgs/applications/misc/polychromatic/default.nix53
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/hubble/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/k3s/README.md117
-rw-r--r--pkgs/applications/networking/cluster/k3s/docs/CLUSTER_UPKEEP.md86
-rw-r--r--pkgs/applications/networking/cluster/k3s/docs/PKG_UPKEEP.md60
-rw-r--r--pkgs/applications/networking/cluster/k3s/docs/USAGE.md57
-rw-r--r--pkgs/applications/networking/cluster/k3s/docs/VERSIONING.md46
-rw-r--r--pkgs/applications/networking/cluster/k3s/docs/examples/NVIDIA.md55
-rw-r--r--pkgs/applications/networking/cluster/k3s/docs/examples/STORAGE.md122
-rw-r--r--pkgs/applications/networking/cluster/pachyderm/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/armcord/default.nix9
-rw-r--r--pkgs/applications/office/treesheets/default.nix6
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix15
-rw-r--r--pkgs/applications/virtualization/virtualbox/extpack.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/gcc-13.patch35
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix12
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/strlcpy-1.patch29
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/strlcpy-2.patch86
-rw-r--r--pkgs/applications/virtualization/virtualbox/libxml-2.12.patch47
-rw-r--r--pkgs/by-name/ce/centerpiece/package.nix6
-rw-r--r--pkgs/by-name/fr/frankenphp/package.nix12
-rw-r--r--pkgs/by-name/go/gol/package.nix44
-rw-r--r--pkgs/by-name/go/goofcord/package.nix9
-rw-r--r--pkgs/by-name/ke/keypunch/package.nix64
-rw-r--r--pkgs/by-name/kn/knxd/package.nix (renamed from pkgs/servers/knxd/default.nix)18
-rw-r--r--pkgs/by-name/la/latexminted/package.nix38
-rw-r--r--pkgs/by-name/mi/mini-calc/package.nix6
-rw-r--r--pkgs/by-name/my/myks/package.nix6
-rw-r--r--pkgs/by-name/na/namespace-cli/package.nix4
-rw-r--r--pkgs/by-name/ne/needle/nix/default.nix11
-rw-r--r--pkgs/by-name/ne/needle/nix/workspace-state.json93
-rw-r--r--pkgs/by-name/ne/needle/package.nix49
-rw-r--r--pkgs/by-name/op/open-webui/package.nix8
-rw-r--r--pkgs/by-name/op/openfga-cli/package.nix6
-rw-r--r--pkgs/by-name/op/openpgp-card-tools/package.nix (renamed from pkgs/tools/security/openpgp-card-tools/default.nix)15
-rw-r--r--pkgs/by-name/re/renode-dts2repl/package.nix6
-rw-r--r--pkgs/by-name/re/rewind-ai/package.nix82
-rw-r--r--pkgs/by-name/wt/wttrbar/package.nix6
-rw-r--r--pkgs/data/themes/dracula-theme/default.nix6
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix4
-rw-r--r--pkgs/development/libraries/level-zero/default.nix16
-rw-r--r--pkgs/development/libraries/level-zero/system-spdlog.diff66
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix7
-rw-r--r--pkgs/development/lisp-modules/nix-cl.nix4
-rw-r--r--pkgs/development/python-modules/aiomysensors/default.nix4
-rw-r--r--pkgs/development/python-modules/aiosql/default.nix4
-rw-r--r--pkgs/development/python-modules/apkinspector/default.nix4
-rw-r--r--pkgs/development/python-modules/awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/boto3-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/bring-api/default.nix4
-rw-r--r--pkgs/development/python-modules/bthome-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/clarifai-grpc/default.nix4
-rw-r--r--pkgs/development/python-modules/fastcore/default.nix4
-rw-r--r--pkgs/development/python-modules/gocardless-pro/default.nix4
-rw-r--r--pkgs/development/python-modules/heudiconv/default.nix4
-rw-r--r--pkgs/development/python-modules/itemloaders/default.nix4
-rw-r--r--pkgs/development/python-modules/ixia/default.nix4
-rw-r--r--pkgs/development/python-modules/mdformat-mkdocs/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy/default.nix1
-rw-r--r--pkgs/development/python-modules/ollama/default.nix4
-rw-r--r--pkgs/development/python-modules/panel/default.nix4
-rw-r--r--pkgs/development/python-modules/rotary-embedding-torch/default.nix4
-rw-r--r--pkgs/development/python-modules/tencentcloud-sdk-python/default.nix4
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--pkgs/development/python-modules/types-awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/tools/language-servers/fortls/default.nix4
-rw-r--r--pkgs/development/web/flyctl/default.nix16
-rw-r--r--pkgs/os-specific/linux/kvdo/default.nix2
-rw-r--r--pkgs/servers/monitoring/buildkite-agent-metrics/default.nix4
-rw-r--r--pkgs/tools/misc/gh-dash/default.nix6
-rw-r--r--pkgs/tools/misc/nomino/default.nix6
-rw-r--r--pkgs/tools/networking/checkip/default.nix4
-rw-r--r--pkgs/tools/security/sequoia-sqop/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix6
82 files changed, 1022 insertions, 584 deletions
diff --git a/pkgs/applications/blockchains/clightning/default.nix b/pkgs/applications/blockchains/clightning/default.nix
index cab5a9c42d7b0..f29e430bbff91 100644
--- a/pkgs/applications/blockchains/clightning/default.nix
+++ b/pkgs/applications/blockchains/clightning/default.nix
@@ -16,17 +16,18 @@
 , python3
 , sqlite
 , zlib
+, jq
 }:
 let
   py3 = python3.withPackages (p: [ p.mako ]);
 in
 stdenv.mkDerivation rec {
   pname = "clightning";
-  version = "24.02.2";
+  version = "24.05";
 
   src = fetchurl {
     url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
-    sha256 = "sha256-KQS/4VmUxJkNpvPcxL5Up9f25leiPzvi2AiKuzRQmDo=";
+    hash = "sha256-FD7JFM80wrruqBWjYnJHZh2f2GZJ6XDQmUQ0XetnWBg=";
   };
 
   # when building on darwin we need dawin.cctools to provide the correct libtool
@@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf autogen automake gettext libtool lowdown protobuf py3 unzip which ]
     ++ lib.optionals stdenv.isDarwin [ darwin.cctools darwin.autoSignDarwinBinariesHook ];
 
-  buildInputs = [ gmp libsodium sqlite zlib ];
+  buildInputs = [ gmp libsodium sqlite zlib jq ];
 
   # this causes some python trouble on a darwin host so we skip this step.
   # also we have to tell libwally-core to use sed instead of gsed.
@@ -44,6 +45,7 @@ stdenv.mkDerivation rec {
       tools/generate-wire.py \
       tools/update-mocks.sh \
       tools/mockup.sh \
+      tools/fromschema.py \
       devtools/sql-rewrite.py
   '' else ''
     substituteInPlace external/libwally-core/tools/autogen.sh --replace gsed sed && \
diff --git a/pkgs/applications/misc/findex/default.nix b/pkgs/applications/misc/findex/default.nix
index 8af4fc35d7de8..679b94ea0db9d 100644
--- a/pkgs/applications/misc/findex/default.nix
+++ b/pkgs/applications/misc/findex/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "findex";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "mdgaziur";
     repo = "findex";
     rev = "v${version}";
-    hash = "sha256-rxOVrl2Q27z5oo1J6D4ft4fKaOMOadmidflD0jK0+3k=";
+    hash = "sha256-IpgmeH5oREstud0nw4i2xYeZcJYG6eCWyw3hhid/DfU=";
   };
 
-  cargoHash = "sha256-MiD96suB88NZWg7Ay/ACZfOeE66WOe9dLsvtOhCQgGo=";
+  cargoHash = "sha256-wsqsPh1kevkIz235qnkLkp47CnCh6qi56sZP95Upymc=";
 
   postPatch = ''
     # failing rust documentation tests and faulty quotes "`README.md`"
diff --git a/pkgs/applications/misc/kickoff/default.nix b/pkgs/applications/misc/kickoff/default.nix
index cd1a57a09f35a..497d64a17aa42 100644
--- a/pkgs/applications/misc/kickoff/default.nix
+++ b/pkgs/applications/misc/kickoff/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kickoff";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "j0ru";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-WUDbb/GLABhqE93O6bm19Y+r0kSMEJrvduw68Igub44=";
+    hash = "sha256-ha1pRViiOH0U0djUq1x8TIpVoUMn8l+2pA//YP70jdk=";
   };
 
-  cargoHash = "sha256-nhUC9PSKAbNEK5e4WRx3dgYI0rJP5XSWcW6M5E0Ihv4=";
+  cargoHash = "sha256-pdncUUGSfsn35VpwuNWZ/0DAIImBLAm0LyPbqQ06Xho=";
 
   libPath = lib.makeLibraryPath [
     wayland
diff --git a/pkgs/applications/misc/nwg-displays/default.nix b/pkgs/applications/misc/nwg-displays/default.nix
index 99edf8183a202..9f59da0f9c12c 100644
--- a/pkgs/applications/misc/nwg-displays/default.nix
+++ b/pkgs/applications/misc/nwg-displays/default.nix
@@ -14,13 +14,13 @@
 
 python310Packages.buildPythonApplication rec {
   pname = "nwg-displays";
-  version = "0.3.19";
+  version = "0.3.20";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-displays";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pZelKuTClRELZT80r44FxocdW+KRARD027ZV18XTTss=";
+    hash = "sha256-lpXcH45BFgfRjkEHqimnHonDenm5YA6oahe4sN2wpY4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/polychromatic/default.nix b/pkgs/applications/misc/polychromatic/default.nix
index 2a7386acc6248..a6079c11b9866 100644
--- a/pkgs/applications/misc/polychromatic/default.nix
+++ b/pkgs/applications/misc/polychromatic/default.nix
@@ -1,11 +1,7 @@
 {
   lib,
   fetchFromGitHub,
-  bash,
-  glib,
-  gdk-pixbuf,
   gettext,
-  imagemagick,
   ninja,
   meson,
   sassc,
@@ -29,22 +25,23 @@ python3Packages.buildPythonApplication rec {
     owner = "polychromatic";
     repo = "polychromatic";
     rev = "v${version}";
-    sha256 = "sha256-3Pt1Z8G0xDWlFD7LxJILPUifMBTN4OvPNHZv80umO1s=";
+    hash = "sha256-3Pt1Z8G0xDWlFD7LxJILPUifMBTN4OvPNHZv80umO1s=";
   };
 
   postPatch = ''
     patchShebangs scripts
     substituteInPlace scripts/build-styles.sh \
-      --replace '$(which sassc 2>/dev/null)' '${sassc}/bin/sassc' \
-      --replace '$(which sass 2>/dev/null)' '${sassc}/bin/sass'
+      --replace-fail '$(which sassc 2>/dev/null)' '${sassc}/bin/sassc' \
+      --replace-fail '$(which sass 2>/dev/null)' '${sassc}/bin/sass'
     substituteInPlace polychromatic/paths.py \
-      --replace "/usr/share/polychromatic" "$out/share/polychromatic"
+      --replace-fail "/usr/share/polychromatic" "$out/share/polychromatic"
   '';
 
   preConfigure = ''
     scripts/build-styles.sh
   '';
-  nativeBuildInputs = with python3Packages; [
+
+  nativeBuildInputs = [
     gettext
     gobject-introspection
     meson
@@ -57,27 +54,24 @@ python3Packages.buildPythonApplication rec {
 
   buildInputs = [ qt6.qtwayland ];
 
-  propagatedBuildInputs =
-    with python3Packages;
-    [
-      colorama
-      colour
-      openrazer
-      pyqt6
-      pyqt6-webengine
-      requests
-      setproctitle
-      libxcb
-      openrazer-daemon
-      ibus
-      usbutils
-    ]
-    ++ [
-      libayatana-appindicator
-      psmisc
-    ];
+  propagatedBuildInputs = with python3Packages; [
+    colorama
+    colour
+    openrazer
+    pyqt6
+    pyqt6-webengine
+    requests
+    setproctitle
+    libxcb
+    openrazer-daemon
+    ibus
+    usbutils
+  ] ++ [
+    libayatana-appindicator
+    psmisc
+  ];
 
-  dontWrapGapps = true;
+  dontWrapGApps = true;
   dontWrapQtApps = true;
 
   makeWrapperArgs = [
@@ -95,5 +89,6 @@ python3Packages.buildPythonApplication rec {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ evanjs ];
+    mainProgram = "polychromatic-controller";
   };
 }
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 175bdfdcb90a0..6e860d2318c41 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.11.2";
+  version = "2.11.3";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    hash = "sha256-lePMdjWq4qFQcxFZzfLyTsMwgcmjIoBmosZs5G4CWvc=";
+    hash = "sha256-qSrMqByhOitRltYaVjIeubuoTR74x/pQ1Ad+uTPdpJU=";
   };
 
   proxyVendor = true; # darwin/linux hash mismatch
diff --git a/pkgs/applications/networking/cluster/hubble/default.nix b/pkgs/applications/networking/cluster/hubble/default.nix
index 10c10ec12ddbb..f678343834d45 100644
--- a/pkgs/applications/networking/cluster/hubble/default.nix
+++ b/pkgs/applications/networking/cluster/hubble/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hubble";
-  version = "0.13.4";
+  version = "0.13.5";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YordxRIZtlYQprAYnH9Qn5ha6y7D52sjEOaRTcd0Z8g=";
+    sha256 = "sha256-0NApMqLjeYOMxEI8tY2zLxccuSD5nHUGNsya+26ghDY=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/k3s/README.md b/pkgs/applications/networking/cluster/k3s/README.md
index c01a9ceab817f..9ea31423c7dbc 100644
--- a/pkgs/applications/networking/cluster/k3s/README.md
+++ b/pkgs/applications/networking/cluster/k3s/README.md
@@ -1,114 +1,21 @@
-# k3s versions
+# K3s
 
-K3s, Kubernetes, and other clustered software has the property of not being able to update atomically. Most software in nixpkgs, like for example bash, can be updated as part of a "nixos-rebuild switch" without having to worry about the old and the new bash interacting in some way.
+K3s is a simplified [Kubernetes](https://wiki.nixos.org/wiki/Kubernetes) version that bundles  Kubernetes cluster components into a few small binaries optimized for Edge and IoT devices.
 
-K3s/Kubernetes, on the other hand, is typically run across several NixOS machines, and each NixOS machine is updated independently. As such, different versions of the package and NixOS module must maintain compatibility with each other through temporary version skew during updates.
+## Usage
 
-The upstream Kubernetes project [documents this in their version-skew policy](https://kubernetes.io/releases/version-skew-policy/#supported-component-upgrade-order).
+* [Module Usage](docs/USAGE.md).
 
-Within nixpkgs, we strive to maintain a valid "upgrade path" that does not run
-afoul of the upstream version skew policy.
+## Configuration Examples
 
-## Upstream release cadence and support
+* [Nvidia GPU Passthru](docs/examples/NVIDIA.md)
+* [Storage Examples](docs/examples/STORAGE.md)
 
-K3s is built on top of K8s, and typically provides a similar release cadence and support window (simply by cherry-picking over k8s patches). As such, we assume k3s's support lifecycle is identical to upstream K8s.
+## Cluster Maintenance and Troubleshooting
 
-This is documented upstream [here](https://kubernetes.io/releases/patch-releases/#support-period).
+* [Cluster Upkeep](docs/CLUSTER_UPKEEP.md).
 
-In short, a new Kubernetes version is released roughly every 4 months, and each release is supported for a little over 1 year.
+## K3s Package Upkeep
 
-Any version that is not supported by upstream should be dropped from nixpkgs.
-
-## Versions in NixOS releases
-
-NixOS releases should avoid having deprecated software, or making major version upgrades, wherever possible.
-
-As such, we would like to have only the newest K3s version in each NixOS
-release at the time the release branch is branched off, which will ensure the
-K3s version in that release will receive updates for the longest duration
-possible.
-
-However, this conflicts with another desire: we would like people to be able to upgrade between NixOS stable releases without needing to make a large enough k3s version jump that they violate the Kubernetes version skew policy.
-
-To give an example, we may have the following timeline for k8s releases:
-
-(Note, the exact versions and dates may be wrong, this is an illustrative example, reality may differ).
-
-```mermaid
-gitGraph
-    branch k8s
-    commit
-    branch "k8s-1.24"
-    checkout "k8s-1.24"
-    commit id: "1.24.0" tag: "2022-05-03"
-    branch "k8s-1.25"
-    checkout "k8s-1.25"
-    commit id: "1.25.0" tag: "2022-08-23"
-    branch "k8s-1.26"
-    checkout "k8s-1.26"
-    commit id: "1.26.0" tag: "2022-12-08"
-    checkout k8s-1.24
-    commit id: "1.24-EOL" tag: "2023-07-28"
-    checkout k8s-1.25
-    commit id: "1.25-EOL" tag: "2023-10-27"
-    checkout k8s-1.26
-    commit id: "1.26-EOL" tag: "2024-02-28"
-```
-
-(Note: the above graph will render if you view this markdown on GitHub, or when using [mermaid](https://mermaid.js.org/))
-
-In this scenario even though k3s 1.24 is still technically supported when the NixOS 23.05
-release is cut, since it goes EOL before the NixOS 23.11 release is made, we would
-not want to include it. Similarly, k3s 1.25 would go EOL before NixOS 23.11.
-
-As such, we should only include k3s 1.26 in the 23.05 release.
-
-We can then make a similar argument when NixOS 23.11 comes around to not
-include k3s 1.26 or 1.27. However, that means someone upgrading from the NixOS
-22.05 release to the NixOS 23.11 would not have a supported upgrade path.
-
-In order to resolve this issue, we propose backporting not just new patch releases to older NixOS releases, but also new k3s versions, up to one version before the first version that is included in the next NixOS release.
-
-In the above example, where NixOS 23.05 included k3s 1.26, and 23.11 included k3s 1.28, that means we would backport 1.27 to the NixOS 23.05 release, and backport all patches for 1.26 and 1.27.
-This would allow someone to upgrade between those NixOS releases in a supported configuration.
-
-
-## K3s upkeep for nixpkgs maintainers
-
-* After every nixos release, K3s maintainers should remove from `nixos-unstable` all K3s versions that exist in `nixos-stable` except the latest version (to allow decoupling system upgrade from k3s upgrade).
-
-* Whenever adding a new major/minor K3s version to nixpkgs:
-  - update `k3s` alias to the latest version.
-  - add a NixOS release note scheduling the removal of deprecated K3s packages
-  - include migration information from both Kubernetes and K3s projects
-
-* For version patch upgrades, use the K3s update script.
-
-  To execute the update script, from nixpkgs git repository, run:
-
-  > ./pkgs/applications/networking/cluster/k3s/update-script.sh "29"
-
-  "29" being the target minor version to be updated.
-
-  On failure, the update script should be fixed. On failing to fix, open an issue reporting the update script breakage.
-
-  RyanTM bot can automatically do patch upgrades. Update logs are available at: https://r.ryantm.com/log/k3s_1_29/
-
-* When reviewing upgrades, check:
-
-  - At top-level, every K3s version should have the Go compiler pinned according to `go.mod` file.
-
-    Notice the update script does not automatically pin the Go version.
-
-  - K3s passthru.tests (Currently: single-node, multi-node, etcd) works for all architectures (linux-x86_64, aarch64-linux).
-
-    For GitHub CI, [OfBorg](https://github.com/NixOS/ofborg) can be used to test all platforms.
-
-    To test locally, at nixpkgs repository, run:
-    > nix build .#k3s_1_29.passthru.tests.{etcd,single-node,multi-node}
-
-    Replace "29" according to the version that you are testing.
-
-  - Read the nix build logs to check for anything unusual. (Obvious but underrated.)
-
-* Thanks for reading the documentation and your continued contribution.
+* [Package Versioning Rationale](docs/VERSIONING.md)
+* [Package Maintenance Documentation](docs/PKG_UPKEEP.md)
diff --git a/pkgs/applications/networking/cluster/k3s/docs/CLUSTER_UPKEEP.md b/pkgs/applications/networking/cluster/k3s/docs/CLUSTER_UPKEEP.md
new file mode 100644
index 0000000000000..2542fd78655e5
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/docs/CLUSTER_UPKEEP.md
@@ -0,0 +1,86 @@
+
+# K3s Upkeep for Users
+
+General documentation for the K3s user for cluster tasks and troubleshooting steps.
+
+## Upkeep
+
+### Changing K3s Token
+
+Changing the K3s token requires resetting cluster. To reset the cluster, you must do the following:
+
+#### Stopping K3s
+
+Disabling K3s NixOS module won't stop K3s related dependencies, such as containerd or networking. For stopping everything, either run "k3s-killall.sh" script (available on $PATH under `/run/current-system/sw/bin/k3s-killall.sh`) or reboot host.
+
+### Syncing K3s in multiple hosts
+
+Nix automatically syncs hosts to `configuration.nix`, for syncing configuration.nix's git repository and triggering `nixos-rebuild switch` in multiple hosts, it is commonly used `ansible`, which enables automation of cluster provisioning, upgrade and reset.
+
+### Cluster Reset
+
+As upstream "k3s-uninstall.sh" is yet to be packaged for NixOS, it's necessary to run manual steps for resetting cluster.
+
+Disable K3s instances in **all** hosts:
+
+In NixOS configuration, set:
+```
+ services.k3s.enable = false;
+```
+Rebuild NixOS. This is going to remove K3s service files. But it won't delete K3s data.
+
+To delete K3s files:
+
+Dismount kubelet:
+```
+ KUBELET_PATH=$(mount | grep kubelet | cut -d' ' -f3);
+ ${KUBELET_PATH:+umount $KUBELET_PATH}
+```
+Delete k3s data:
+```
+ rm -rf /etc/rancher/{k3s,node};
+ rm -rf /var/lib/{rancher/k3s,kubelet,longhorn,etcd,cni}
+```
+When using Etcd, Reset Etcd:
+
+Certify **all** K3s instances are stopped, because a single instance can re-seed etcd database with previous cryptographic key.
+
+Disable etcd database in NixOS configuration:
+```
+ services.etcd.enable = false;
+```
+Rebuild NixOS.
+
+Delete etcd files:
+```
+ rm -rf /var/lib/etcd/
+```
+Reboot hosts.
+
+In NixOS configuration:
+```
+ Re-enable Etcd first. Rebuild NixOS. Certify service health. (systemctl status etcd)
+ Re-enable K3s second. Rebuild NixOS. Certify service health. (systemctl status k3s)
+```
+Etcd & K3s cluster will be provisioned new.
+
+Tip: Use Ansible to automate reset routine, like this.
+
+## Troubleshooting
+
+### Raspberry Pi not working
+
+If the k3s.service/k3s server does not start and gives you the error FATA[0000] failed to find memory cgroup (v2) Here's the github issue: https://github.com/k3s-io/k3s/issues/2067 .
+
+To fix the problem, you can add these things to your configuration.nix.
+```
+  boot.kernelParams = [
+    "cgroup_enable=cpuset" "cgroup_memory=1" "cgroup_enable=memory"
+  ];
+```
+
+### FailedKillPod: failed to get network "cbr0" cached result
+
+> KillPodSandboxError: failed to get network "cbr0" cached result: decoding version from network config: unexpected end of JSON input
+
+Workaround: https://github.com/k3s-io/k3s/issues/6185#issuecomment-1581245331
diff --git a/pkgs/applications/networking/cluster/k3s/docs/PKG_UPKEEP.md b/pkgs/applications/networking/cluster/k3s/docs/PKG_UPKEEP.md
new file mode 100644
index 0000000000000..d41ef357da008
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/docs/PKG_UPKEEP.md
@@ -0,0 +1,60 @@
+
+# K3s Upkeep for Maintainers
+
+General documentation for the K3s maintainer and reviewer use for consistency in maintenance processes.
+
+## NixOS Release Maintenance
+
+This process split into two sections and adheres to the versioning policy outlined in [VERSIONING.md](VERSIONING.md).
+
+### Pre-Release
+
+* Prior to the breaking change window of the next release being closed:
+  * `nixos-unstable`: Ensure k3s points to latest versioned release
+  * `nixos-unstable`: Ensure release notes are up to date
+  * `nixos-unstable`: Remove k3s releases which will be end of life upstream prior to end-of-life for the next NixOS stable release are removed with proper deprecation notice (process listed below)
+
+### Post-Release
+
+* For major/minor releases of k3s:
+  * `nixos-unstable`: Create a new versioned k3s package
+  * `nixos-unstable`: Update k3s alias to point to new versioned k3s package
+  * `nixos-unstable`: Add NixOS Release note denoting:
+    * Removal of deprecated K3s packages
+    * Migration information from the Kubernetes and K3s projects
+  * `nixos-stable`: Backport the versioned package
+* For patch releases of existing packages:
+  * `nixos-unstable`: Update package version (process listed below)
+  * `nixos-stable`: Backport package update done to nixos-unstable
+
+## Patch Upgrade Process
+
+Patch upgrades can use the [update script](../update-script.sh) in the root of the package. To update k3s 1.30.x, for example, you can run the following from the root of the nixpkgs git repo:
+
+> ./pkgs/applications/networking/cluster/k3s/update-script.sh "30"
+
+To update another version, just replace the `"30"` with the appropriate minor revision.
+
+If the script should fail, the first goal would be to fix the script. If you are unable to fix the script, open an issue reporting the update script failure with the exact command used and the failure observed.
+
+RyanTM bot can automatically do patch upgrades. Update logs are available at versioned urls, e.g. for 1.30.x: https://r.ryantm.com/log/k3s_1_30
+
+## Package Removal Process
+
+Package removal policy and timelines follow our reasoning in the [versioning documentation](VERSIONING.md#patch-release-support-lifecycle). In order to remove a versioned k3s package, create a PR achieving the following:
+
+* Remove the versioned folder containing the chart and package version files (e.g. `./1_30/`)
+* Remove the package block from [default.nix](../default.nix) (e.g. `k3s_1_30 = ...`)
+* Remove the package reference from [pkgs/top-level/all-packages.nix](/pkgs/top-level/all-packages.nix)
+* Add a deprecation notice in [pkgs/top-level/aliases.nix](/pkgs/top-level/aliases.nix), such as `k3s_1_26 = throw "'k3s_1_26' has been removed from nixpkgs as it has reached end of life"; # Added 2024-05-20`.
+
+## Change Request Review Process
+
+Quick checklist for reviewers of the k3s package:
+
+* Is the version of the Go compiler pinned according to the go.mod file for the release?
+  * Update script will not pin nor change the go version.
+* Do the K3s passthru.tests work for all architectures supported? (linux-x86_64, aarch64-linux)
+  * For GitHub CI, [OfBorg](https://github.com/NixOS/ofborg) can be used to test all platforms.
+  * For Local testing, the following can be run in nixpkgs root on the upgrade branch: `nix build .#k3s_1_29.passthru.tests.{etcd,single-node,multi-node}` (Replace "29" to the version tested)
+* Anything unusual in the nix build logs or test logs?
diff --git a/pkgs/applications/networking/cluster/k3s/docs/USAGE.md b/pkgs/applications/networking/cluster/k3s/docs/USAGE.md
new file mode 100644
index 0000000000000..27c5963bd0b8f
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/docs/USAGE.md
@@ -0,0 +1,57 @@
+# K3s Usage
+
+## Single Node
+
+```
+{
+  networking.firewall.allowedTCPPorts = [
+    6443 # k3s: required so that pods can reach the API server (running on port 6443 by default)
+    # 2379 # k3s, etcd clients: required if using a "High Availability Embedded etcd" configuration
+    # 2380 # k3s, etcd peers: required if using a "High Availability Embedded etcd" configuration
+  ];
+  networking.firewall.allowedUDPPorts = [
+    # 8472 # k3s, flannel: required if using multi-node for inter-node networking
+  ];
+  services.k3s.enable = true;
+  services.k3s.role = "server";
+  services.k3s.extraFlags = toString [
+    # "--kubelet-arg=v=4" # Optionally add additional args to k3s
+  ];
+}
+```
+
+Once the above changes are active, you can access your cluster through `sudo k3s kubectl` (e.g. `sudo k3s kubectl cluster-info`) or by using the generated kubeconfig file in `/etc/rancher/k3s/k3s.yaml`.
+Multi-node setup
+
+## Multi-Node
+
+it is simple to create a cluster of multiple nodes in a highly available setup (all nodes are in the control-plane and are a part of the etcd cluster).
+
+The first node is configured like this:
+```
+{
+  services.k3s = {
+    enable = true;
+    role = "server";
+    token = "<randomized common secret>";
+    clusterInit = true;
+  };
+}
+```
+
+Any other subsequent nodes can be added with a slightly different config:
+
+```
+{
+  services.k3s = {
+    enable = true;
+    role = "server"; # Or "agent" for worker only nodes
+    token = "<randomized common secret>";
+    serverAddr = "https://<ip of first node>:6443";
+  };
+}
+```
+
+For this to work you need to open the aforementioned API, etcd, and flannel ports in the firewall. Official documentation on what ports need to be opened for specific use cases can be found on [k3s' documentation site](https://docs.k3s.io/installation/requirements#inbound-rules-for-k3s-nodes). Note that it is [recommended](https://etcd.io/docs/v3.3/faq/#why-an-odd-number-of-cluster-members) to use an odd number of nodes in such a cluster.
+
+Tip: If you run into connectivity issues between nodes for specific applications (e.g. ingress controller), please verify the firewall settings you have enabled (example under [Single Node](#single-node)) against the documentation for that specific application. In the ingress controller example, you may want to open 443 or 80 depending on your use case.
diff --git a/pkgs/applications/networking/cluster/k3s/docs/VERSIONING.md b/pkgs/applications/networking/cluster/k3s/docs/VERSIONING.md
new file mode 100644
index 0000000000000..c1347b1f861e3
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/docs/VERSIONING.md
@@ -0,0 +1,46 @@
+# Versioning
+
+K3s, Kubernetes, and other clustered software has the property of not being able to update atomically. Most software in nixpkgs, like for example bash, can be updated as part of a "nixos-rebuild switch" without having to worry about the old and the new bash interacting in some way.
+
+K3s/Kubernetes, on the other hand, is typically run across several NixOS machines, and each NixOS machine is updated independently. As such, different versions of the package and NixOS module must maintain compatibility with each other through temporary version skew during updates.
+
+The upstream Kubernetes project [documents this in their version-skew policy](https://kubernetes.io/releases/version-skew-policy/#supported-component-upgrade-order).
+
+Within nixpkgs, we strive to maintain a valid "upgrade path" that does not run
+afoul of the upstream version skew policy.
+
+## Patch Release Support Lifecycle
+
+K3s is built on top of K8s and typically provides a similar release cadence and support window (simply by cherry-picking over k8s patches). As such, we assume k3s's support lifecycle is identical to upstream K8s. The upstream K8s release and support lifecycle, including maintenance and end-of-life dates for current releases, is documented [on their suppport site](https://kubernetes.io/releases/patch-releases/#support-period). A more tabular view of the current support timeline can also be found on [endoflife.date](https://endoflife.date/kubernetes).
+
+In short, a new Kubernetes version is released roughly every 4 months and each release is supported for a little over 1 year.
+
+## Versioning in nixpkgs
+
+There are two package types that are maintained within nixpkgs when we are looking at the `nixos-unstable` branch. A standard `k3s` package and versioned releases such as `k3s_1_28`, `k3s_1_29`, and `k3s_1_30`.
+
+The standard `k3s` package will be updated as new versions of k3s are released upstream. Versioned releases, on the other hand, will follow the path release support lifecycle as detailed in the previous section and be removed from `nixos-unstable` when they are either end-of-life upstream or older than the current `k3s` package in `nixos-stable`.
+
+## Versioning in NixOS Releases
+
+Those same package types are also maintained on the release branches of NixOS, but have some special considerations within a release.
+
+NixOS releases (24.05, 24.11, etc) should avoid having deprecated software or major version upgrades during the support lifecycle of that release wherever possible. As such, each NixOS release should only ever have one version of `k3s` when it is released. An example for the NixOS 24.05 release would be that `k3s` package points to `k3s_1_30` for the full lifecycle of its release with no other versions present at release.
+
+However, this conflicts with our desire for users to be able to upgrade between stable NixOS releases without needing to make a large enough k3s version jump as to violate the skew policy listed previously. Given NixOS 24.05 has 1.30.x as its k3s version and the NixOS 24.11 release would have 1.32.x as its k3s version, we need to provide a way for users to upgrade k3s to 1.32.x before upgrading to the next NixOS stable release.
+
+To be able to achieve the goal above, the k3s maintainers would backport `k3s_1_31` and `k3s_1_32` from `nixos-unstable` to NixOS 24.05 as they release. This means that when NixOS 24.11 is released with only the `k3s` package pointing to `k3s_1_32`, users will have an upgrade path on 24.05 to first upgrade locally to `k3s_1_31` and then to `k3s_1_32` (e.g. pointing `services.k3s.package` from `k3s` to `k3s_1_31`, upgrading the cluster, and repeating the process through versions).
+
+Using the above as the example, a three NixOS release example would look like:
+
+* NixOS 23.11
+  * k3s/k3s_1_27 (Release Version, patches backported)
+  * k3s_1_28 (Backported)
+  * k3s_1_29 (Backported)
+  * k3s_1_30 (Backported)
+* NixOS 24.05
+  * k3s/k3s_1_30 (Release Version, patches backported)
+  * k3s_1_31 (Backported)
+  * k3s_1_32 (Backported)
+* NixOS 24.11
+  * k3s/k3s_1_32 (Release Version, patches backported)
diff --git a/pkgs/applications/networking/cluster/k3s/docs/examples/NVIDIA.md b/pkgs/applications/networking/cluster/k3s/docs/examples/NVIDIA.md
new file mode 100644
index 0000000000000..26ec48e0273c9
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/docs/examples/NVIDIA.md
@@ -0,0 +1,55 @@
+# Nvidia GPU Support
+
+To use Nvidia GPU in the cluster the nvidia-container-runtime and runc are needed. To get the two components it suffices to add the following to the configuration
+
+```
+virtualisation.docker = {
+  enable = true;
+  enableNvidia = true;
+};
+environment.systemPackages = with pkgs; [ docker runc ];
+```
+
+Note, using docker here is a workaround, it will install nvidia-container-runtime and that will cause it to be accessible via /run/current-system/sw/bin/nvidia-container-runtime, currently its not directly accessible in nixpkgs.
+
+You now need to create a new file in `/var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl` with the following
+
+```
+{{ template "base" . }}
+
+[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
+  privileged_without_host_devices = false
+  runtime_engine = ""
+  runtime_root = ""
+  runtime_type = "io.containerd.runc.v2"
+
+[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
+  BinaryName = "/run/current-system/sw/bin/nvidia-container-runtime"
+```
+
+Update: As of 12/03/2024 It appears that the last two lines above are added by default, and if the two lines are present (as shown above) it will refuse to start the server. You will need to remove the two lines from that point onward.
+
+Note here we are pointing the nvidia runtime to "/run/current-system/sw/bin/nvidia-container-runtime".
+
+Now apply the following runtime class to k3s cluster:
+
+```
+apiVersion: node.k8s.io/v1
+handler: nvidia
+kind: RuntimeClass
+metadata:
+  labels:
+    app.kubernetes.io/component: gpu-operator
+  name: nvidia
+```
+
+Following [k8s-device-plugin](https://github.com/NVIDIA/k8s-device-plugin#deployment-via-helm) install the helm chart with `runtimeClassName: nvidia` set. In order to passthrough the nvidia card into the container, your deployments spec must contain - runtimeClassName: nvidia - env:
+
+```
+   - name: NVIDIA_VISIBLE_DEVICES
+     value: all
+   - name: NVIDIA_DRIVER_CAPABILITIES
+     value: all
+```
+
+to test its working exec onto a pod and run nvidia-smi. For more configurability of nvidia related matters in k3s look in [k3s-docs](https://docs.k3s.io/advanced#nvidia-container-runtime-support).
diff --git a/pkgs/applications/networking/cluster/k3s/docs/examples/STORAGE.md b/pkgs/applications/networking/cluster/k3s/docs/examples/STORAGE.md
new file mode 100644
index 0000000000000..fc9a6440ff9ae
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/docs/examples/STORAGE.md
@@ -0,0 +1,122 @@
+# Storage Examples
+
+The following are some NixOS specific considerations for specific storage mechanisms with kubernetes/k3s.
+
+## Longhorn
+
+NixOS configuration required for Longhorn:
+
+```
+environment.systemPackages = [ pkgs.nfs-utils ];
+services.openiscsi = {
+  enable = true;
+  name = "${config.networking.hostName}-initiatorhost";
+};
+```
+
+Longhorn container has trouble with NixOS path. Solution is to override PATH environment variable, such as:
+
+```
+PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin
+```
+
+**Kyverno Policy for Fixing Longhorn Container for NixOS**
+
+```
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: longhorn-nixos-path
+  namespace: longhorn-system
+data:
+  PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin
+---
+apiVersion: kyverno.io/v1
+kind: ClusterPolicy
+metadata:
+  name: longhorn-add-nixos-path
+  annotations:
+    policies.kyverno.io/title: Add Environment Variables from ConfigMap
+    policies.kyverno.io/subject: Pod
+    policies.kyverno.io/category: Other
+    policies.kyverno.io/description: >-
+      Longhorn invokes executables on the host system, and needs
+      to be aware of the host systems PATH. This modifies all
+      deployments such that the PATH is explicitly set to support
+      NixOS based systems.
+spec:
+  rules:
+    - name: add-env-vars
+      match:
+        resources:
+          kinds:
+            - Pod
+          namespaces:
+            - longhorn-system
+      mutate:
+        patchStrategicMerge:
+          spec:
+            initContainers:
+              - (name): "*"
+                envFrom:
+                  - configMapRef:
+                      name: longhorn-nixos-path
+            containers:
+              - (name): "*"
+                envFrom:
+                  - configMapRef:
+                      name: longhorn-nixos-path
+---
+```
+
+## NFS
+
+NixOS configuration required for NFS:
+
+```
+boot.supportedFilesystems = [ "nfs" ];
+services.rpcbind.enable = true;
+```
+
+## Rook/Ceph
+
+In order to support Rook/Ceph, the following NixOS kernelModule configuration is required:
+
+```
+  boot.kernelModules = [ "rbd" ];
+```
+
+## ZFS Snapshot Support
+
+K3s's builtin containerd does not support the zfs snapshotter. However, it is possible to configure it to use an external containerd:
+
+```
+virtualisation.containerd = {
+  enable = true;
+  settings =
+    let
+      fullCNIPlugins = pkgs.buildEnv {
+        name = "full-cni";
+        paths = with pkgs;[
+          cni-plugins
+          cni-plugin-flannel
+        ];
+      };
+    in {
+      plugins."io.containerd.grpc.v1.cri".cni = {
+        bin_dir = "${fullCNIPlugins}/bin";
+        conf_dir = "/var/lib/rancher/k3s/agent/etc/cni/net.d/";
+      };
+      # Optionally set private registry credentials here instead of using /etc/rancher/k3s/registries.yaml
+      # plugins."io.containerd.grpc.v1.cri".registry.configs."registry.example.com".auth = {
+      #  username = "";
+      #  password = "";
+      # };
+    };
+};
+# TODO describe how to enable zfs snapshotter in containerd
+services.k3s.extraFlags = toString [
+  "--container-runtime-endpoint unix:///run/containerd/containerd.sock"
+];
+```
diff --git a/pkgs/applications/networking/cluster/pachyderm/default.nix b/pkgs/applications/networking/cluster/pachyderm/default.nix
index 092eeb2a9d8ef..b3c24f5851764 100644
--- a/pkgs/applications/networking/cluster/pachyderm/default.nix
+++ b/pkgs/applications/networking/cluster/pachyderm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pachyderm";
-  version = "2.10.1";
+  version = "2.10.2";
 
   src = fetchFromGitHub {
     owner = "pachyderm";
     repo = "pachyderm";
     rev = "v${version}";
-    hash = "sha256-ok3TaQ8Vn+dDnlfJ/5n6qFTkYER/jVhFRPAqzGXp1iI=";
+    hash = "sha256-5Q3T4yusnJVHU8QdXxbDuePToGp+hu+GnwqD7TG/0Rw=";
   };
 
-  vendorHash = "sha256-AxKhxXZQ2sBvXs9C6b7WkjpNsYl6MSO/C2ttmRRtBGw=";
+  vendorHash = "sha256-NShVyjNyG06cLmt8rd71lFLvkd8KRWQjj6xUCx7NgSk=";
 
   subPackages = [ "src/server/cmd/pachctl" ];
 
diff --git a/pkgs/applications/networking/instant-messengers/armcord/default.nix b/pkgs/applications/networking/instant-messengers/armcord/default.nix
index d3644e1d27ee8..f7336df2612f1 100644
--- a/pkgs/applications/networking/instant-messengers/armcord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/armcord/default.nix
@@ -3,7 +3,7 @@
 , fetchurl
 , autoPatchelfHook
 , dpkg
-, makeBinaryWrapper
+, makeShellWrapper
 , wrapGAppsHook3
 , alsa-lib
 , at-spi2-atk
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
         };
       }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
-  nativeBuildInputs = [ autoPatchelfHook dpkg makeBinaryWrapper wrapGAppsHook3 ];
+  nativeBuildInputs = [ autoPatchelfHook dpkg makeShellWrapper wrapGAppsHook3 ];
 
   dontWrapGApps = true;
 
@@ -113,8 +113,9 @@ stdenv.mkDerivation rec {
     cp -R "usr/share" "$out/share"
     chmod -R g-w "$out"
 
-    # Wrap the startup command
-    makeBinaryWrapper $out/opt/ArmCord/armcord $out/bin/armcord \
+    # use makeShellWrapper (instead of the makeBinaryWrapper provided by wrapGAppsHook3) for proper shell variable expansion
+    # see https://github.com/NixOS/nixpkgs/issues/172583
+    makeShellWrapper $out/opt/ArmCord/armcord $out/bin/armcord \
       "''${gappsWrapperArgs[@]}" \
       --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WebRTCPipeWireCapturer }}" \
diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix
index a3b7bc51f2b65..d9ca511141f80 100644
--- a/pkgs/applications/office/treesheets/default.nix
+++ b/pkgs/applications/office/treesheets/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "treesheets";
-  version = "0-unstable-2024-05-29";
+  version = "0-unstable-2024-06-05";
 
   src = fetchFromGitHub {
     owner = "aardappel";
     repo = "treesheets";
-    rev = "23654b9be71b59bbffd156ecedc663bd152d123c";
-    hash = "sha256-ZTLMqDAmyojvET6qp1ziMNQgk2c+45z2UB3yFMhTmUQ=";
+    rev = "1ad0ec1ad235dd00bbd6bfdb27e24f3dcd610da4";
+    hash = "sha256-1Xb4Jdw04E2xTg/93zsGse3Yao8h51kDcJpbvx41yp0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 9690ee757c0d5..dd9b99f7f9bc9 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -4,12 +4,12 @@
 , qttools, qtsvg, qtwayland, pkg-config, which, docbook_xsl, docbook_xml_dtd_43
 , alsa-lib, curl, libvpx, nettools, dbus, substituteAll, gsoap, zlib, xz
 , yasm, glslang
-, linuxPackages
 , nixosTests
 # If open-watcom-bin is not passed, VirtualBox will fall back to use
 # the shipped alternative sources (assembly).
 , open-watcom-bin
 , makeself, perl
+, vulkan-loader
 , javaBindings ? true, jdk # Almost doesn't affect closure size
 , pythonBindings ? false, python3
 , extensionPack ? null, fakeroot
@@ -32,11 +32,11 @@ let
   buildType = "release";
   # Use maintainers/scripts/update.nix to update the version and all related hashes or
   # change the hashes in extpack.nix and guest-additions/default.nix as well manually.
-  virtualboxVersion = "7.0.14";
-  virtualboxSha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9";
+  virtualboxVersion = "7.0.18";
+  virtualboxSha256 = "d999513533631674a024762668de999411d8197060c51e68c5faf0a2c0eea1a5";
 
-  kvmPatchVersion = "20240502";
-  kvmPatchHash = "sha256-KokIrrAoJutHzPg6e5YAJgDGs+nQoVjapmyn9kG5tV0=";
+  kvmPatchVersion = "20240515";
+  kvmPatchHash = "sha256-Kh/tlPScdf7CbEEpL54iqMpeUIdmnJL2r/mxnlEzLd0=";
 
   # The KVM build is not compatible to VirtualBox's kernel modules. So don't export
   # modsrc at all.
@@ -135,8 +135,6 @@ in stdenv.mkDerivation (finalAttrs: {
     ./qt-dependency-paths.patch
     # https://github.com/NixOS/nixpkgs/issues/123851
     ./fix-audio-driver-loading.patch
-    ./libxml-2.12.patch
-    ./gcc-13.patch
   ];
 
   postPatch = ''
@@ -266,7 +264,8 @@ in stdenv.mkDerivation (finalAttrs: {
   # If hardening is disabled, wrap the VirtualBoxVM binary instead of patching
   # the source code (see postPatch).
   + optionalString (!headless && !enableHardening) ''
-    wrapQtApp $out/libexec/virtualbox/VirtualBoxVM
+    wrapQtApp $out/libexec/virtualbox/VirtualBoxVM \
+       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ vulkan-loader ]}"
   '';
 
   passthru = {
diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix
index fad5aa6e10fbe..089ab4856c0d0 100644
--- a/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -12,7 +12,7 @@ fetchurl rec {
     # Manually sha256sum the extensionPack file, must be hex!
     # Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
     # Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
-    let value = "42cb36fbf439a9ed28c95d2bbc718a0eac902225eb579c884c549af2e94be633";
+    let value = "cab1abad478679fc34a0c5cb4a6d3566edc20e3c54cbed39c8e895d8cfad3ee2";
     in assert (builtins.stringLength value) == 64; value;
 
   meta = {
diff --git a/pkgs/applications/virtualization/virtualbox/gcc-13.patch b/pkgs/applications/virtualization/virtualbox/gcc-13.patch
deleted file mode 100644
index c06780299f95f..0000000000000
--- a/pkgs/applications/virtualization/virtualbox/gcc-13.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
-index 8a9d15c0..260ebc5c 100644
---- a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
-+++ b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
-@@ -46,6 +46,9 @@
- #if defined(VBOX_VBGLR3_XFREE86)
- extern "C" {
- # define XFree86LOADER
-+# ifdef RT_GNUC_PREREQ(13,0) /* cmath gets dragged in and the c++/13/cmath header is allergic to -ffreestanding.  */
-+#  define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
-+# endif
- # include <xf86_ansic.h>
- # undef size_t
- }
-diff --git a/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp b/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
-index 2c5e9314..64890169 100644
---- a/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
-+++ b/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
-@@ -1,3 +1,5 @@
-+#include <cstdint>
-+
- #include "util_matrix.h"
- 
- namespace dxvk {
-diff --git a/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h b/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h
-index 77cdf294..9dcb4bf9 100644
---- a/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h
-+++ b/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h
-@@ -1,5 +1,6 @@
- #pragma once
- 
-+#include <cstdint>
- #include <iostream>
- 
- #include "util_bit.h"
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix
index cd2f58afc92a6..9529c980475da 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions-iso/default.nix
@@ -5,7 +5,7 @@ let
 in
 fetchurl {
   url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-  sha256 = "0efbcb9bf4722cb19292ae00eba29587432e918d3b1f70905deb70f7cf78e8ce";
+  sha256 = "4469bab0f59c62312b0a1b67dcf9c07a8a971afad339fa2c3eb80e209e099ef9";
   meta = {
     description = "Guest additions ISO for VirtualBox";
     longDescription = ''
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix
index f070f0df43223..72c0af9626f72 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/builder.nix
@@ -10,11 +10,11 @@ let
 
 in stdenv.mkDerivation (finalAttrs: {
   pname = "VirtualBox-GuestAdditions-builder-${kernel.version}";
-  version = "7.0.14";
+  version = "7.0.18";
 
   src = fetchurl {
     url = "https://download.virtualbox.org/virtualbox/${finalAttrs.version}/VirtualBox-${finalAttrs.version}.tar.bz2";
-    sha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9";
+    sha256 = "d999513533631674a024762668de999411d8197060c51e68c5faf0a2c0eea1a5";
   };
 
   env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration";
@@ -37,13 +37,9 @@ in stdenv.mkDerivation (finalAttrs: {
   '';
 
   patches = [
-    ../gcc-13.patch
-    # https://www.virtualbox.org/changeset/100258/vbox
+    #../gcc-13.patch
+    ## https://www.virtualbox.org/changeset/100258/vbox
     ./no-legacy-xorg.patch
-    # https://www.virtualbox.org/changeset/102989/vbox
-    ./strlcpy-1.patch
-    # https://www.virtualbox.org/changeset/102990/vbox
-    ./strlcpy-2.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/strlcpy-1.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/strlcpy-1.patch
deleted file mode 100644
index 642f5864d2082..0000000000000
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/strlcpy-1.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# https://www.virtualbox.org/changeset/102989/vbox
---- a/include/iprt/string.h
-+++ b/include/iprt/string.h
-@@ -244,4 +244,26 @@
- #else  /* !RT_OS_LINUX && !__KERNEL__ */
- # define RT_BCOPY_UNFORTIFIED(a_pDst, a_pSrc, a_cbToCopy)   memcpy((a_pDst), (a_pSrc), (a_cbToCopy))
-+#endif /* !RT_OS_LINUX && !__KERNEL__ */
-+
-+/** @def RT_STRSCPY
-+ * Copy string and NULL-terminate output buffer.
-+ *
-+ * This macro should mostly be used in Linux kernel code. This is
-+ * the replacement for deprecated strlcpy. It was deprecated since 3.16.60
-+ * when strscpy was introduced as an alternative. Finally, strlcpy was
-+ * completely removed from kernel code in 6.8.0.
-+ *
-+ * @param   a_pDst          Pointer to the destination string buffer.
-+ * @param   a_pSrc          Pointer to the source NULL-terminated string buffer.
-+ * @param   a_cbToCopy      Size of destination buffer..
-+ */
-+#if defined(RT_OS_LINUX) && defined(__KERNEL__)
-+# if (RTLNX_VER_MIN(3,16,60))
-+#  define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy)    strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
-+# else /* < 3.16.60 */
-+#  define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy)    strlcpy((a_pDst), (a_pSrc), (a_cbToCopy))
-+# endif
-+#else  /* !RT_OS_LINUX && !__KERNEL__ */
-+# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy)    strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
- #endif /* !RT_OS_LINUX && !__KERNEL__ */
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/strlcpy-2.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/strlcpy-2.patch
deleted file mode 100644
index 15e546f89e79c..0000000000000
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/strlcpy-2.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-# https://www.virtualbox.org/changeset/102990/vbox
---- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
-+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
-@@ -1411,5 +1411,5 @@
-     }
-     else if (pParam->name[0] != 'd')
--        strlcpy(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
-+        RT_STRSCPY(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
- 
-     return 0;
-@@ -1437,5 +1437,5 @@
-     }
-     else if (pParam->name[0] != 'd')
--        strlcpy(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
-+        RT_STRSCPY(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
-     return 0;
- }
-@@ -1462,5 +1462,5 @@
-     }
-     else if (pParam->name[0] != 'd')
--        strlcpy(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
-+        RT_STRSCPY(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
-     return 0;
- }
-
-# https://www.virtualbox.org/changeset/102990/vbox
---- a/src/VBox/Additions/linux/drm/vbox_drv.h
-+++ b/src/VBox/Additions/linux/drm/vbox_drv.h
-@@ -539,7 +539,5 @@
- void vbox_irq_fini(struct vbox_private *vbox);
- void vbox_report_hotplug(struct vbox_private *vbox);
--#if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_MAJ_PREREQ(9,1) && !RTLNX_SUSE_MAJ_PREREQ(15,5)
- irqreturn_t vbox_irq_handler(int irq, void *arg);
--#endif
- 
- /* vbox_hgsmi.c */
-
-# https://www.virtualbox.org/changeset/102990/vbox
---- a/src/VBox/Additions/linux/sharedfolders/regops.c
-+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
-@@ -3506,5 +3506,5 @@
- 
- /** file_operations::mmap wrapper for logging purposes. */
--extern int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma)
-+static int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma)
- {
-     int rc;
-@@ -3787,5 +3787,5 @@
- 
- # if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(9,3, 9,99)
--int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
-+static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
-                      unsigned len, struct page **pagep, void **fsdata)
- {
-@@ -3794,5 +3794,5 @@
- }
- # else
--int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
-+static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
-                      unsigned len, unsigned flags, struct page **pagep, void **fsdata)
- {
-
-# https://www.virtualbox.org/changeset/102990/vbox
---- a/src/VBox/Additions/linux/sharedfolders/vfsmod.c
-+++ b/src/VBox/Additions/linux/sharedfolders/vfsmod.c
-@@ -1409,5 +1409,5 @@
-     case Opt_iocharset:
-     case Opt_nls:
--        strlcpy(info->nls_name, param->string, sizeof(info->nls_name));
-+        RT_STRSCPY(info->nls_name, param->string, sizeof(info->nls_name));
-         break;
-     case Opt_uid:
-@@ -1470,5 +1470,5 @@
-         break;
-     case Opt_tag:
--        strlcpy(info->szTag, param->string, sizeof(info->szTag));
-+        RT_STRSCPY(info->szTag, param->string, sizeof(info->szTag));
-         break;
-     default:
-@@ -1529,5 +1529,5 @@
- 
-     /* fc->source (the shared folder name) is set after vbsf_init_fs_ctx() */
--    strlcpy(info->name, fc->source, sizeof(info->name));
-+    RT_STRSCPY(info->name, fc->source, sizeof(info->name));
- 
- # if RTLNX_VER_MAX(5,3,0)
diff --git a/pkgs/applications/virtualization/virtualbox/libxml-2.12.patch b/pkgs/applications/virtualization/virtualbox/libxml-2.12.patch
deleted file mode 100644
index 4631f304735cc..0000000000000
--- a/pkgs/applications/virtualization/virtualbox/libxml-2.12.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/include/iprt/cpp/xml.h b/include/iprt/cpp/xml.h
-index 40975e86..7639c281 100644
---- a/include/iprt/cpp/xml.h
-+++ b/include/iprt/cpp/xml.h
-@@ -113,9 +113,9 @@ public:
- class RT_DECL_CLASS XmlError : public RuntimeError
- {
- public:
--    XmlError(xmlErrorPtr aErr);
-+    XmlError(const xmlError *aErr);
- 
--    static char* Format(xmlErrorPtr aErr);
-+    static char* Format(const xmlError *aErr);
- };
- 
- // Logical errors
-diff --git a/src/VBox/Runtime/r3/xml.cpp b/src/VBox/Runtime/r3/xml.cpp
-index a6661760..b301a6c6 100644
---- a/src/VBox/Runtime/r3/xml.cpp
-+++ b/src/VBox/Runtime/r3/xml.cpp
-@@ -131,7 +131,7 @@ LogicError::LogicError(RT_SRC_POS_DECL)
-     RTStrFree(msg);
- }
- 
--XmlError::XmlError(xmlErrorPtr aErr)
-+XmlError::XmlError(const xmlError *aErr)
- {
-     if (!aErr)
-         throw EInvalidArg(RT_SRC_POS);
-@@ -145,7 +145,7 @@ XmlError::XmlError(xmlErrorPtr aErr)
-  * Composes a single message for the given error. The caller must free the
-  * returned string using RTStrFree() when no more necessary.
-  */
--/* static */ char *XmlError::Format(xmlErrorPtr aErr)
-+/* static */ char *XmlError::Format(const xmlError *aErr)
- {
-     const char *msg = aErr->message ? aErr->message : "<none>";
-     size_t msgLen = strlen(msg);
-@@ -1856,7 +1856,7 @@ static void xmlParserBaseGenericError(void *pCtx, const char *pszMsg, ...) RT_NO
-     va_end(args);
- }
- 
--static void xmlParserBaseStructuredError(void *pCtx, xmlErrorPtr error) RT_NOTHROW_DEF
-+static void xmlParserBaseStructuredError(void *pCtx, const xmlError *error) RT_NOTHROW_DEF
- {
-     NOREF(pCtx);
-     /* we expect that there is always a trailing NL */
diff --git a/pkgs/by-name/ce/centerpiece/package.nix b/pkgs/by-name/ce/centerpiece/package.nix
index 1cf866a45009d..cd4bfcf1b2a50 100644
--- a/pkgs/by-name/ce/centerpiece/package.nix
+++ b/pkgs/by-name/ce/centerpiece/package.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "centerpiece";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "friedow";
     repo = "centerpiece";
     rev = "v${version}";
-    hash = "sha256-I630XrmyRAjVxFvISo2eIUP3YmivZovnV89Xsx5OduY=";
+    hash = "sha256-1sKUGTBS9aTCQPuhkwv9fZ8F3N6yn98927fpp1e4fBU=";
   };
 
-  cargoHash = "sha256-yvvMe1zBUREqRzp/0zYsu7AoXS9Jqq67DY5uMParhEs=";
+  cargoHash = "sha256-b7gI6Z5fiOA/Q2BbsmmGrKHgMzbICKPeK2i6YjlLnDo=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
diff --git a/pkgs/by-name/fr/frankenphp/package.nix b/pkgs/by-name/fr/frankenphp/package.nix
index 45b0fed97129d..ce9bcb4d08985 100644
--- a/pkgs/by-name/fr/frankenphp/package.nix
+++ b/pkgs/by-name/fr/frankenphp/package.nix
@@ -27,7 +27,7 @@ let
   pieBuild = stdenv.hostPlatform.isMusl;
 in buildGoModule rec {
   pname = "frankenphp";
-  version = "1.1.5";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "dunglas";
@@ -54,7 +54,7 @@ in buildGoModule rec {
     "-s"
     "-w"
     "-X 'github.com/caddyserver/caddy/v2.CustomVersion=FrankenPHP ${version} PHP ${phpUnwrapped.version} Caddy'"
-    # pie mode is only available with pkgsMusl, it also automaticaly add -buildmode=pie to $GOFLAGS
+    # pie mode is only available with pkgsMusl, it also automatically add -buildmode=pie to $GOFLAGS
   ]  ++ (lib.optional pieBuild [ "-static-pie" ]);
 
   preBuild = ''
@@ -96,13 +96,13 @@ in buildGoModule rec {
     };
   };
 
-  meta = with lib; {
+  meta = {
     changelog = "https://github.com/dunglas/frankenphp/releases/tag/v${version}";
     description = "The modern PHP app server";
     homepage = "https://github.com/dunglas/frankenphp";
-    license = licenses.mit;
+    license = lib.licenses.mit;
     mainProgram = "frankenphp";
-    maintainers = with maintainers; [ gaelreyrol shyim ];
-    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with lib.maintainers; [ gaelreyrol shyim ];
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
   };
 }
diff --git a/pkgs/by-name/go/gol/package.nix b/pkgs/by-name/go/gol/package.nix
new file mode 100644
index 0000000000000..050fee242f6c7
--- /dev/null
+++ b/pkgs/by-name/go/gol/package.nix
@@ -0,0 +1,44 @@
+{ lib, maven, fetchFromGitHub, makeWrapper, jre }:
+
+maven.buildMavenPackage rec {
+  pname = "gol";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "clarisma";
+    repo = "gol-tool";
+    rev = version;
+    hash = "sha256-F/tMRD+nWn/fRPX7cTan371zlOTxh7oR98wREmokULo=";
+  };
+
+  mvnHash = "sha256-b0nkp23gv4kejac/xrvm3xWo3Z8if7zveNUHBg7ZBm4=";
+  mvnParameters = "compile assembly:single -Dmaven.test.skip=true";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,lib}
+    cp /build/source/target/gol-tool-${version}-jar-with-dependencies.jar $out/lib/gol-tool.jar
+
+    makeWrapper ${jre}/bin/java $out/bin/gol \
+      --add-flags "-cp $out/lib/gol-tool.jar" \
+      --add-flags "com.geodesk.gol.GolTool"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Command-line utility for creating and managing Geographic Object Libraries";
+    longDescription = ''
+      Use the GOL command-line utility to:
+      - build and maintain Geographic Object Libraries (GeoDesk's compact database format for OpenStreetMap features)
+      - perform GOQL queries and export the results in a variety of formats.
+    '';
+    homepage = "https://docs.geodesk.com/gol";
+    license = licenses.agpl3Only;
+    maintainers = [ maintainers.starsep ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/by-name/go/goofcord/package.nix b/pkgs/by-name/go/goofcord/package.nix
index dda5986272d6a..d4103a09a08e8 100644
--- a/pkgs/by-name/go/goofcord/package.nix
+++ b/pkgs/by-name/go/goofcord/package.nix
@@ -4,7 +4,7 @@
   fetchurl,
   autoPatchelfHook,
   dpkg,
-  makeBinaryWrapper,
+  makeShellWrapper,
   wrapGAppsHook3,
   alsa-lib,
   at-spi2-atk,
@@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [
     autoPatchelfHook
     dpkg
-    makeBinaryWrapper
+    makeShellWrapper
     wrapGAppsHook3
   ];
 
@@ -120,8 +120,9 @@ stdenv.mkDerivation (finalAttrs: {
     cp -R "usr/share" "$out/share"
     chmod -R g-w "$out"
 
-    # Wrap the startup command
-    makeBinaryWrapper $out/opt/GoofCord/goofcord $out/bin/goofcord \
+    # use makeShellWrapper (instead of the makeBinaryWrapper provided by wrapGAppsHook3) for proper shell variable expansion
+    # see https://github.com/NixOS/nixpkgs/issues/172583
+    makeShellWrapper $out/opt/GoofCord/goofcord $out/bin/goofcord \
       "''${gappsWrapperArgs[@]}" \
       --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations,WebRTCPipeWireCapturer}}" \
diff --git a/pkgs/by-name/ke/keypunch/package.nix b/pkgs/by-name/ke/keypunch/package.nix
new file mode 100644
index 0000000000000..b903a4d2d1a2c
--- /dev/null
+++ b/pkgs/by-name/ke/keypunch/package.nix
@@ -0,0 +1,64 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  rustPlatform,
+  cargo,
+  rustc,
+  meson,
+  ninja,
+  pkg-config,
+  appstream,
+  blueprint-compiler,
+  desktop-file-utils,
+  gettext,
+  wrapGAppsHook4,
+  libadwaita,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "keypunch";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "bragefuglseth";
+    repo = "keypunch";
+    rev = "refs/tags/v${finalAttrs.version}";
+    hash = "sha256-S4RckHwrVVQrxy9QngTisNM4+cMM+1dXucwEDnM98Rg=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    name = "${finalAttrs.pname}-${finalAttrs.version}";
+    inherit (finalAttrs) src;
+    hash = "sha256-YzENAGy7zEu1dyuhme+x+gJQlE74Vw0JZvRso0vNQXs=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+
+    meson
+    ninja
+
+    pkg-config
+    appstream
+    blueprint-compiler
+    desktop-file-utils
+    gettext
+
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [ libadwaita ];
+
+  meta = {
+    description = "Practice your typing skills";
+    homepage = "https://github.com/bragefuglseth/keypunch";
+    license = lib.licenses.gpl3Plus;
+    mainProgram = "keypunch";
+    maintainers = with lib.maintainers; [ tomasajt ];
+  };
+})
diff --git a/pkgs/servers/knxd/default.nix b/pkgs/by-name/kn/knxd/package.nix
index 2ae1930374493..38e09d5797453 100644
--- a/pkgs/servers/knxd/default.nix
+++ b/pkgs/by-name/kn/knxd/package.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, buildPackages
 , fetchFromGitHub
 , autoreconfHook
 , pkg-config
@@ -12,19 +13,19 @@
 , withUsb ? stdenv.isLinux, libusb1
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "knxd";
   version = "0.14.61";
 
   src = fetchFromGitHub {
     owner = "knxd";
     repo = "knxd";
-    rev = version;
+    rev = finalAttrs.version;
     hash = "sha256-b8svjGaxW8YqonhXewebDUitezKoMcZxcUFGd2EKZQ4=";
   };
 
   postPatch = ''
-    sed -i '2i echo ${version}; exit' tools/version.sh
+    sed -i '2i echo ${finalAttrs.version}; exit' tools/version.sh
     sed -i '2i exit' tools/get_libfmt
   '';
 
@@ -35,8 +36,12 @@ stdenv.mkDerivation rec {
     ++ lib.optional withUsb libusb1
     ++ lib.optional stdenv.isDarwin argp-standalone;
 
-  configureFlags = lib.optional (!withSystemd) "--disable-systemd"
-    ++ lib.optional (!withUsb) "--disable-usb";
+  configureFlags = [
+    (lib.enableFeature withSystemd "systemd")
+    (lib.enableFeature withUsb "usb")
+  ];
+
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   installFlags = lib.optionals withSystemd [
     "systemdsystemunitdir=$(out)/lib/systemd/system"
@@ -50,5 +55,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.unix;
   };
-}
-
+})
diff --git a/pkgs/by-name/la/latexminted/package.nix b/pkgs/by-name/la/latexminted/package.nix
new file mode 100644
index 0000000000000..c1c391c51144c
--- /dev/null
+++ b/pkgs/by-name/la/latexminted/package.nix
@@ -0,0 +1,38 @@
+{ lib
+, fetchPypi
+, python3Packages
+, latexminted
+, testers
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "latexminted";
+  version = "0.1.0b2";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Yl/2zvNMYuYkwR5tDZ0vhBLO964GBUx1DeyLK/Q3T5c=";
+  };
+
+  build-system = with python3Packages; [
+    setuptools
+  ];
+
+  dependencies = with python3Packages; [
+    pygments
+    latex2pydata
+  ];
+
+  passthru = {
+    tests.version = testers.testVersion { package = latexminted; };
+  };
+
+  meta = {
+    description = "Python executable for LaTeX minted package";
+    homepage = "https://pypi.org/project/latexminted";
+    license = lib.licenses.lppl13c;
+    mainProgram = "latexminted";
+    maintainers = with lib.maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/by-name/mi/mini-calc/package.nix b/pkgs/by-name/mi/mini-calc/package.nix
index 6c968a97b418c..2161fe4b16be9 100644
--- a/pkgs/by-name/mi/mini-calc/package.nix
+++ b/pkgs/by-name/mi/mini-calc/package.nix
@@ -9,16 +9,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "mini-calc";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "coco33920";
     repo = "calc";
     rev = version;
-    hash = "sha256-wROeUi1j5oEUpr7nRge6bRUO0E8W2E34M7DeyK0xmjM=";
+    hash = "sha256-f2xmc6wzZ5MwwBDYQNoxbFmIclZWd/xOOI4/MCmrnEI=";
   };
 
-  cargoHash = "sha256-QPkaSJNoxnheECwcK129+PNeRm6+DFOw1wmwBev6oXc=";
+  cargoHash = "sha256-OiAU94URgOHZ/iNbCF5rE55zfZNkW3bdjPZo05kpIRo=";
 
   nativeBuildInputs = [ makeWrapper ];
   postFixup = ''
diff --git a/pkgs/by-name/my/myks/package.nix b/pkgs/by-name/my/myks/package.nix
index 630a473fdc5b3..33fe7ba4c4a48 100644
--- a/pkgs/by-name/my/myks/package.nix
+++ b/pkgs/by-name/my/myks/package.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "myks";
-  version = "4.1.2";
+  version = "4.1.3";
 
   src = fetchFromGitHub {
     owner = "mykso";
     repo = "myks";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZRbirNhTEGqr6OCE0K873NJ5vI2Phe5z9XJGZUALISo=";
+    hash = "sha256-keXtMO5EhCaG5lNoCf5vmnhidH4+sDQ2na4f76jELnw=";
   };
 
-  vendorHash = "sha256-u9dNmgFMn6OMkKgTwNSqizUHJwvRk+S1xKZDozWjbps=";
+  vendorHash = "sha256-0Xk7B0rfngld9tfgMmq2EiuUym7LE89TvJVSdDo4HD4=";
 
   subPackages = ".";
 
diff --git a/pkgs/by-name/na/namespace-cli/package.nix b/pkgs/by-name/na/namespace-cli/package.nix
index db5c1549b3151..d186e9b5611a8 100644
--- a/pkgs/by-name/na/namespace-cli/package.nix
+++ b/pkgs/by-name/na/namespace-cli/package.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "namespace-cli";
-  version = "0.0.373";
+  version = "0.0.374";
 
   src = fetchFromGitHub {
     owner = "namespacelabs";
     repo = "foundation";
     rev = "v${version}";
-    hash = "sha256-EkwR0s9mj5JUCmGDZZXX+UcL9f/TFoWPEH5L0DsMgNs=";
+    hash = "sha256-ZHvFp27yobFGqitsyKYHaxUMdpngFkufyeiNK4foioI=";
   };
 
   vendorHash = "sha256-72cHswoTZszo42NOrPNuokDlqoJ3/YEhGe+rQSKvgAw=";
diff --git a/pkgs/by-name/ne/needle/nix/default.nix b/pkgs/by-name/ne/needle/nix/default.nix
new file mode 100644
index 0000000000000..bf057c1117738
--- /dev/null
+++ b/pkgs/by-name/ne/needle/nix/default.nix
@@ -0,0 +1,11 @@
+# This file was generated by swiftpm2nix.
+{
+  workspaceStateFile = ./workspace-state.json;
+  hashes = {
+    "swift-common" = "1zqdiwz934kpdlig22ikvmklhb720hv3i70wnznhhxfg2v4c115j";
+    "swift-concurrency" = "06x9fc8gwyvg5ymf889rfqs3jp89l1pbpm3m9553nq75vwcia6d3";
+    "swift-syntax" = "0sc29acwxv6rl3i8nwfazk0p0cm41figxls8n4aks84vww7m2in1";
+    "swift-system" = "0402hkx2q2dv27gccnn8ma79ngvwiwzkhcv4zlcdldmy6cgi0px7";
+    "swift-tools-support-core" = "0lbc3naj9hrbaa7ifxsvcs4mjigmiv61npzsphbpb6axx8s065mn";
+  };
+}
diff --git a/pkgs/by-name/ne/needle/nix/workspace-state.json b/pkgs/by-name/ne/needle/nix/workspace-state.json
new file mode 100644
index 0000000000000..e070e16e81a17
--- /dev/null
+++ b/pkgs/by-name/ne/needle/nix/workspace-state.json
@@ -0,0 +1,93 @@
+{
+    "object": {
+      "artifacts": [],
+      "dependencies": [
+        {
+          "basedOn": null,
+          "packageRef": {
+            "identity": "swift-common",
+            "kind": "remoteSourceControl",
+            "location": "https://github.com/uber/swift-common.git",
+            "name": "Swift-Common"
+          },
+          "state": {
+            "checkoutState": {
+              "revision": "32c4757e0702686df12c32e06b9bbf815ec4e641",
+              "version": "0.5.0"
+            },
+            "name": "sourceControlCheckout"
+          },
+          "subpath": "swift-common"
+        },
+        {
+          "basedOn": null,
+          "packageRef": {
+            "identity": "swift-concurrency",
+            "kind": "remoteSourceControl",
+            "location": "https://github.com/uber/swift-concurrency.git",
+            "name": "Concurrency"
+          },
+          "state": {
+            "checkoutState": {
+              "revision": "e29e42c41c47c82ec32d3a2b2695719c32415ca9",
+              "version": "0.7.1"
+            },
+            "name": "sourceControlCheckout"
+          },
+          "subpath": "swift-concurrency"
+        },
+        {
+          "basedOn": null,
+          "packageRef": {
+            "identity": "swift-syntax",
+            "kind": "remoteSourceControl",
+            "location": "https://github.com/apple/swift-syntax.git",
+            "name": "SwiftSyntax"
+          },
+          "state": {
+            "checkoutState": {
+              "branch": "0e85cf7",
+              "revision": "0e85cf739b10103190a2d7e6de0c0532a0514981"
+            },
+            "name": "sourceControlCheckout"
+          },
+          "subpath": "swift-syntax"
+        },
+        {
+          "basedOn": null,
+          "packageRef": {
+            "identity": "swift-system",
+            "kind": "remoteSourceControl",
+            "location": "https://github.com/apple/swift-system.git",
+            "name": "swift-system"
+          },
+          "state": {
+            "checkoutState": {
+              "revision": "836bc4557b74fe6d2660218d56e3ce96aff76574",
+              "version": "1.1.1"
+            },
+            "name": "sourceControlCheckout"
+          },
+          "subpath": "swift-system"
+        },
+        {
+          "basedOn": null,
+          "packageRef": {
+            "identity": "swift-tools-support-core",
+            "kind": "remoteSourceControl",
+            "location": "https://github.com/apple/swift-tools-support-core",
+            "name": "swift-tools-support-core"
+          },
+          "state": {
+            "checkoutState": {
+              "revision": "4f07be3dc201f6e2ee85b6942d0c220a16926811",
+              "version": "0.2.7"
+            },
+            "name": "sourceControlCheckout"
+          },
+          "subpath": "swift-tools-support-core"
+        }
+      ]
+    },
+    "version": 6
+}
diff --git a/pkgs/by-name/ne/needle/package.nix b/pkgs/by-name/ne/needle/package.nix
new file mode 100644
index 0000000000000..3d771cd693e5f
--- /dev/null
+++ b/pkgs/by-name/ne/needle/package.nix
@@ -0,0 +1,49 @@
+{
+  stdenv,
+  lib,
+  fetchFromGitHub,
+  swift,
+  swiftpm,
+  swiftpm2nix,
+  sqlite,
+}:
+let
+  generated = swiftpm2nix.helpers ./nix;
+in
+stdenv.mkDerivation rec {
+  pname = "needle";
+  version = "0.24.0";
+
+  src = fetchFromGitHub {
+    owner = "uber";
+    repo = "needle";
+    rev = "v${version}";
+    hash = "sha256-vQlUcfIj+LHZ3R+XwSr9bBIjcZUWkW2k/wI6HF+sDPo=";
+  };
+
+  sourceRoot = "${src.name}/Generator";
+
+  nativeBuildInputs = [
+    swift
+    swiftpm
+  ];
+
+  propagatedBuildInputs = [ sqlite ];
+
+  configurePhase = generated.configure;
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 "$(swiftpmBinPath)"/needle $out/bin/needle
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Compile-time safe Swift dependency injection framework";
+    homepage = "https://github.com/uber/needle";
+    license = licenses.asl20;
+    mainProgram = "needle";
+    maintainers = with maintainers; [ matteopacini ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/by-name/op/open-webui/package.nix b/pkgs/by-name/op/open-webui/package.nix
index 735c611841466..a1d4e4cafc66a 100644
--- a/pkgs/by-name/op/open-webui/package.nix
+++ b/pkgs/by-name/op/open-webui/package.nix
@@ -7,19 +7,19 @@
 }:
 let
   pname = "open-webui";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "open-webui";
     repo = "open-webui";
     rev = "v${version}";
-    hash = "sha256-jWO0mo26C+QTIX5j3ucDk/no+vQnAh7Q6JwB3lLM83k=";
+    hash = "sha256-BqclBrkFmTUJZuUySyNsQFlfdyENaIhqjn50797zJHY=";
   };
 
   frontend = buildNpmPackage {
     inherit pname version src;
 
-    npmDepsHash = "sha256-QIgYHZusuq2QD8p8MGsNVhCbz6fR+qP9UuU/kbBkadc=";
+    npmDepsHash = "sha256-drMUcCUeyPEnaa1fSsfHJfInenyfH7NNJgBFeRsfOuE=";
 
     # Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
     # Until this is solved, running python packages from the browser will not work.
@@ -45,7 +45,7 @@ python3.pkgs.buildPythonApplication rec {
   pyproject = true;
 
   # The custom hook tries to run `npm install` in `buildPhase`.
-  # We don't have to worry, as nodejs depedencies are managed by `frontend` drv.
+  # We don't have to worry, as node dependencies are managed by `frontend` drv.
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace-fail '[tool.hatch.build.hooks.custom]' "" \
diff --git a/pkgs/by-name/op/openfga-cli/package.nix b/pkgs/by-name/op/openfga-cli/package.nix
index 1cdbfaca786dd..be35acf534ec5 100644
--- a/pkgs/by-name/op/openfga-cli/package.nix
+++ b/pkgs/by-name/op/openfga-cli/package.nix
@@ -7,7 +7,7 @@
 
 let
   pname = "openfga-cli";
-  version = "0.4.0";
+  version = "0.4.1";
 in
 
 buildGoModule {
@@ -17,10 +17,10 @@ buildGoModule {
     owner = "openfga";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-nwzUBzu8c8kuSTbjwOB1mCFMLF1zoUReXofXeBOAO1U=";
+    hash = "sha256-Eex2Bts0A6Lu5M626idVK3lqVCX+2WosD8YrQP4DuC8=";
   };
 
-  vendorHash = "sha256-3fElvsy248lRwmIKWv8ac6BLJ1y5Qyr+kKh/1vprmvo=";
+  vendorHash = "sha256-cr9Y72ilUZxAjOIopx7VmZVtE8TxJhxdKSJIj6NawRI=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/security/openpgp-card-tools/default.nix b/pkgs/by-name/op/openpgp-card-tools/package.nix
index 009807058661d..74ac946cdc517 100644
--- a/pkgs/tools/security/openpgp-card-tools/default.nix
+++ b/pkgs/by-name/op/openpgp-card-tools/package.nix
@@ -4,28 +4,31 @@
 , fetchFromGitea
 , pkg-config
 , pcsclite
-, nettle
-, PCSC
 , testers
 , openpgp-card-tools
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "openpgp-card-tools";
-  version = "0.10.1";
+  version = "0.11.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "openpgp-card";
     repo = "openpgp-card-tools";
     rev = "v${version}";
-    hash = "sha256-fasu2XElGk6TB2VNFg43rpa3ZafgGZga9WojyUiXj0k=";
+    hash = "sha256-GKBli6ybMDqB105POFEocU2X/xvd56V87k6Y6BsNt18=";
   };
 
-  cargoHash = "sha256-7OauQRG8DhIoANfel45QBm3igGjmtNw9KNAwt1TL5xg=";
+  cargoHash = "sha256-mLZErQhgRWDMdDC5tWjG9NCvLaSdF4A3uCdN8+QMWjU=";
 
   nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
-  buildInputs = [ pcsclite nettle ] ++ lib.optionals stdenv.isDarwin [ PCSC ];
+
+  buildInputs = [ pcsclite ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.PCSC
+    darwin.apple_sdk.frameworks.Security
+  ];
 
   passthru = {
     tests.version = testers.testVersion {
diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix
index f3f07f22cf50b..db2052ac954b8 100644
--- a/pkgs/by-name/re/renode-dts2repl/package.nix
+++ b/pkgs/by-name/re/renode-dts2repl/package.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication {
   pname = "renode-dts2repl";
-  version = "0-unstable-2024-05-31";
+  version = "0-unstable-2024-06-03";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "antmicro";
     repo = "dts2repl";
-    rev = "fadea1fb13d562e52de95d3f2724c4110bb258d0";
-    hash = "sha256-Jbog3YgaoTUEdb1G9eS9SAhlbQRITS2jSsp0yeTHdnI=";
+    rev = "f3a5ca54a6642c7e8e539bc5e62e676a4c6aa2a1";
+    hash = "sha256-fi/ihHXCFFNhEPO9EcdxTmNun96TbvXUup3V5lbxN0g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/re/rewind-ai/package.nix b/pkgs/by-name/re/rewind-ai/package.nix
new file mode 100644
index 0000000000000..cfd1db4846715
--- /dev/null
+++ b/pkgs/by-name/re/rewind-ai/package.nix
@@ -0,0 +1,82 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchzip,
+  writeShellApplication,
+  curl,
+  gawk,
+  xmlstarlet,
+  common-updater-scripts,
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "rewind-ai";
+  # Example version with explanation
+  # 1.5284 (Base version)
+  # 15284.1 (build number)
+  # dcd0176 (commit hash)
+  # 20240504 (pub date)
+  version = "1.5284-15284.1-dcd0176-20240504";
+
+  src = fetchzip {
+    url =
+      let
+        buildNumber = lib.elemAt (lib.splitString "-" finalAttrs.version) 1;
+        commitHash = lib.elemAt (lib.splitString "-" finalAttrs.version) 2;
+      in
+      "https://updates.rewind.ai/builds/main/b${buildNumber}-main-${commitHash}.zip";
+    hash = "sha256-Y7iAYHH/msZoXFzAZHJb6YoDz5fwMPHJx1kg7TqP5Gw=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/Applications/Rewind.app"
+    cp -R . "$out/Applications/Rewind.app"
+
+    runHook postInstall
+  '';
+
+  # Example response to use when modifing the script: https://pastebin.com/raw/90qU3n6H
+  # There is a real harsh limit on update checks, so DO NOT send any unnecessary update checks
+  # Wait at least 3 days since the last pub_date (you will find the date at the end of the version number)
+  # Example: 20240504 would be 2024/05/04, and that would mean that we want to check no earlier than on 2024/05/07 for any updates
+  passthru.updateScript = lib.getExe (writeShellApplication {
+    name = "${finalAttrs.pname}-update-script";
+    runtimeInputs = [
+      curl
+      gawk
+      xmlstarlet
+      common-updater-scripts
+    ];
+    text = ''
+      xml_get () {
+        echo "$update_xml" | xmlstarlet sel -t -v "$1"
+      }
+
+      update_url="https://updates.rewind.ai/appcasts/main.xml"
+
+      update_xml=$(curl -s "$update_url")
+
+      version_base=$(xml_get "/rss/channel/item/sparkle:shortVersionString")
+      url=$(xml_get "/rss/channel/item/enclosure/@url")
+      pub_date=$(xml_get "/rss/channel/item/pubDate")
+      commit_id=$(echo "$url" | awk -F '-|\\.' '{ print $(NF - 1) }')
+      build_number=$(xml_get "/rss/channel/item/sparkle:version")
+      formatted_pub_date=$(date -d "$pub_date" +"%Y%m%d")
+
+      full_version="''${version_base}-''${build_number}-''${commit_id}-''${formatted_pub_date}"
+      update-source-version "rewind-ai" "$full_version" --version-key=version --file=./pkgs/by-name/re/rewind-ai/package.nix --print-changes
+    '';
+  });
+
+  meta = {
+    changelog = "https://www.rewind.ai/changelog";
+    description = "Rewind is a personalized AI powered by everything you've seen, said, or heard";
+    homepage = "https://www.rewind.ai/";
+    license = lib.licenses.unfree;
+    maintainers = with lib.maintainers; [ donteatoreo ];
+    platforms = [ "aarch64-darwin" ];
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+})
diff --git a/pkgs/by-name/wt/wttrbar/package.nix b/pkgs/by-name/wt/wttrbar/package.nix
index 0d3fce04d1c1c..930f924e566a9 100644
--- a/pkgs/by-name/wt/wttrbar/package.nix
+++ b/pkgs/by-name/wt/wttrbar/package.nix
@@ -8,18 +8,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wttrbar";
-  version = "0.10.1";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "bjesus";
     repo = "wttrbar";
     rev = version;
-    hash = "sha256-rUiLB0M/dzNxzBPAqlGy5m/gOTGYw4GRzb+ud0l/1+8=";
+    hash = "sha256-lwlfarnu2PC5toAf6FAefnpxDlzzwphrP+zXRQ2DQeQ=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Security SystemConfiguration ]);
 
-  cargoHash = "sha256-v415OJ6dmWSLUDeFUtd27mBaQlB3x1vC37sjpMhKyYY=";
+  cargoHash = "sha256-H3UpBRf97JsHudq6naZxMnpIzda0v7teDjgDdgluul0=";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix
index 13ccf8fd03f90..cdbaeeda92710 100644
--- a/pkgs/data/themes/dracula-theme/default.nix
+++ b/pkgs/data/themes/dracula-theme/default.nix
@@ -2,7 +2,7 @@
 
 let
   themeName = "Dracula";
-  version = "4.0.0-unstable-2024-05-18";
+  version = "4.0.0-unstable-2024-06-03";
 in
 stdenvNoCC.mkDerivation {
   pname = "dracula-theme";
@@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
   src = fetchFromGitHub {
     owner = "dracula";
     repo = "gtk";
-    rev = "9261309c75b49c0917b4787912f6218b8deba70d";
-    hash = "sha256-4vTc/OK36rHXVJ1FLrMLcMsVNMPFYLPJ/fHYScDBGVI=";
+    rev = "48bdcc5e37c90d74e7e2139412a89209cc05a672";
+    hash = "sha256-KkKmiLENEiZSe56TRP8zMiGt6i9uaFCLJ+ajap0asZc=";
   };
 
   propagatedUserEnvPkgs = [
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 2f3b6de7d11c8..ff8aadf90980f 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -11,6 +11,7 @@
 , ncurses
 , openssl
 , perl
+, runtimeShell
 , autoconf
 , openjdk11 ? null # javacSupport
 , unixODBC ? null # odbcSupport
@@ -115,6 +116,9 @@ stdenv.mkDerivation ({
     patchShebangs make
 
     ${postPatch}
+  '' + optionalString (lib.versionOlder "25" version) ''
+    substituteInPlace lib/os_mon/src/disksup.erl \
+      --replace-fail '"sh ' '"${runtimeShell} '
   '';
 
   # For OTP 27+ we need ex_doc to build the documentation
diff --git a/pkgs/development/libraries/level-zero/default.nix b/pkgs/development/libraries/level-zero/default.nix
index c59822a32308c..db99f73cd796b 100644
--- a/pkgs/development/libraries/level-zero/default.nix
+++ b/pkgs/development/libraries/level-zero/default.nix
@@ -2,36 +2,24 @@
 , addOpenGLRunpath
 , cmake
 , fetchFromGitHub
-, fmt_9
 , intel-compute-runtime
 , openvino
-, spdlog
 , stdenv
-, substituteAll
 }:
 
 stdenv.mkDerivation rec {
   pname = "level-zero";
-  version = "1.17.2";
+  version = "1.17.6";
 
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "level-zero";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ha/xpp+scLau+cTIyixwo8TgAJrb2DVboGDPWibxb08=";
+    hash = "sha256-vtijha0nXHEp5oLnmdtbD80Qa2dgMykZXhQ2yfbk+mY=";
   };
 
-  patches = [
-    (substituteAll {
-      src = ./system-spdlog.diff;
-      spdlog = lib.getDev spdlog;
-    })
-  ];
-
   nativeBuildInputs = [ cmake addOpenGLRunpath ];
 
-  buildInputs = [ fmt_9 ];
-
   postFixup = ''
     addOpenGLRunpath $out/lib/libze_loader.so
   '';
diff --git a/pkgs/development/libraries/level-zero/system-spdlog.diff b/pkgs/development/libraries/level-zero/system-spdlog.diff
deleted file mode 100644
index dee5432d0f7f9..0000000000000
--- a/pkgs/development/libraries/level-zero/system-spdlog.diff
+++ /dev/null
@@ -1,66 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5e4af80..a54eecb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,6 +1,9 @@
- # Copyright (C) 2020-2024 Intel Corporation
- # SPDX-License-Identifier: MIT
- 
-+add_compile_definitions(SPDLOG_FMT_EXTERNAL)
-+add_compile_definitions(FMT_HEADER_ONLY)
-+
- cmake_minimum_required(VERSION 3.2.0 FATAL_ERROR)
- set(CMAKE_CXX_STANDARD 14)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
-@@ -58,7 +60,7 @@ elseif(Git_FOUND)
- endif()
- 
- include(FetchContent)
--set(SPDLOG_ROOT "${FETCHCONTENT_BASE_DIR}/spdlog-src")
-+set(SPDLOG_ROOT "@spdlog@")
- 
- # Update other relevant variables to include the patch
- set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
-diff --git a/source/utils/CMakeLists.txt b/source/utils/CMakeLists.txt
-index cb6cfb1..599338a 100644
---- a/source/utils/CMakeLists.txt
-+++ b/source/utils/CMakeLists.txt
-@@ -1,16 +1,6 @@
- # Copyright (C) 2024 Intel Corporation
- # SPDX-License-Identifier: MIT
- 
--include(FetchContent)
--set(SPDLOG_REPO https://github.com/gabime/spdlog)
--set(SPDLOG_TAG v1.13.0)
--FetchContent_Declare(
--    spdlog
--    GIT_REPOSITORY ${SPDLOG_REPO}
--    GIT_TAG ${SPDLOG_TAG}
--)
--FetchContent_makeAvailable(spdlog)
--
- add_library(utils
-   STATIC
-   "logging.h"
-@@ -19,5 +9,5 @@ add_library(utils
- 
- target_include_directories(utils
-   PUBLIC
--  ${FETCHCONTENT_BASE_DIR}/spdlog-src/include
-+  @spdlog@/include
- )
-diff --git a/source/utils/logging.h b/source/utils/logging.h
-index 4aad451..c8c4cc3 100644
---- a/source/utils/logging.h
-+++ b/source/utils/logging.h
-@@ -16,8 +16,8 @@
- #include <string>
- #include <vector>
- 
--#include "spdlog/sinks/basic_file_sink.h"
--#include "spdlog/spdlog.h"
-+#include <spdlog/sinks/basic_file_sink.h>
-+#include <spdlog/spdlog.h>
- 
- namespace loader {
- 
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index cbe910b4469ed..98c28ca67997d 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -48,6 +48,8 @@
 , lcms2
 , libmanette
 , geoclue2
+, flite
+, openssl
 , sqlite
 , gst-plugins-base
 , gst-plugins-bad
@@ -62,6 +64,7 @@
 , unifdef
 , addOpenGLRunpath
 , enableGeoLocation ? true
+, enableExperimental ? false
 , withLibsecret ? true
 , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd
 , testers
@@ -165,6 +168,9 @@ stdenv.mkDerivation (finalAttrs: {
     systemd
   ] ++ lib.optionals enableGeoLocation [
     geoclue2
+  ] ++ lib.optionals enableExperimental [
+    flite
+    openssl
   ] ++ lib.optionals withLibsecret [
     libsecret
   ] ++ lib.optionals (lib.versionAtLeast gtk3.version "4.0") [
@@ -184,6 +190,7 @@ stdenv.mkDerivation (finalAttrs: {
     "-DUSE_LIBHYPHEN=OFF"
     "-DUSE_SOUP2=${cmakeBool (lib.versions.major libsoup.version == "2")}"
     "-DUSE_LIBSECRET=${cmakeBool withLibsecret}"
+    "-DENABLE_EXPERIMENTAL_FEATURES=${cmakeBool enableExperimental}"
   ] ++ lib.optionals stdenv.isLinux [
     # Have to be explicitly specified when cross.
     # https://github.com/WebKit/WebKit/commit/a84036c6d1d66d723f217a4c29eee76f2039a353
diff --git a/pkgs/development/lisp-modules/nix-cl.nix b/pkgs/development/lisp-modules/nix-cl.nix
index 6c52e9254f37a..6bec2c3513dbf 100644
--- a/pkgs/development/lisp-modules/nix-cl.nix
+++ b/pkgs/development/lisp-modules/nix-cl.nix
@@ -274,8 +274,8 @@ let
       inherit (first) pkg program flags faslExt asdf;
       # See dontUnpack in build-asdf-system
       src = null;
-      pname = first.pkg.pname;
-      version = "with-packages";
+      pname = "with";
+      version = "packages";
       lispLibs = packages clpkgs;
       systems = [];
     }).overrideAttrs(o: {
diff --git a/pkgs/development/python-modules/aiomysensors/default.nix b/pkgs/development/python-modules/aiomysensors/default.nix
index 5e3ca5a6089ec..f23adad066628 100644
--- a/pkgs/development/python-modules/aiomysensors/default.nix
+++ b/pkgs/development/python-modules/aiomysensors/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aiomysensors";
-  version = "0.3.15";
+  version = "0.3.16";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "MartinHjelmare";
     repo = "aiomysensors";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kgfz8VUTtOFN1hPkNJhPdRUKQn01BJn+92Ez6lgVGbc=";
+    hash = "sha256-1BpmjCgKiCZmBpBENlg79+I3UhkIxrgLAUD8ixpGUM8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aiosql/default.nix b/pkgs/development/python-modules/aiosql/default.nix
index 1ffaae51334c6..5afa301ea9efa 100644
--- a/pkgs/development/python-modules/aiosql/default.nix
+++ b/pkgs/development/python-modules/aiosql/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "aiosql";
-  version = "10.1";
+  version = "10.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "nackjicholson";
     repo = "aiosql";
     rev = "refs/tags/${version}";
-    hash = "sha256-KlDwvoU0GYCN+ZCp4pp557qf9ChceS4NeA0Yiq+g3YQ=";
+    hash = "sha256-o88pKxvK7fT+ocemiY58yA6fTmgg8+QsztHU3OvcDAo=";
   };
 
   sphinxRoot = "docs/source";
diff --git a/pkgs/development/python-modules/apkinspector/default.nix b/pkgs/development/python-modules/apkinspector/default.nix
index 925845c73da3f..95bffbe4854bd 100644
--- a/pkgs/development/python-modules/apkinspector/default.nix
+++ b/pkgs/development/python-modules/apkinspector/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "apkinspector";
-  version = "1.2.3";
+  version = "1.2.4";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "erev0s";
     repo = "apkInspector";
     rev = "refs/tags/v${version}";
-    hash = "sha256-n6uVyN5XBEM/nuN7mvhNRwMUgUT5abOsh3CbhKK6ifY=";
+    hash = "sha256-WVqaRWOLo8/Xav+AtaxE3EKR9lZe+Z+ep/K88FGbASg=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/awscrt/default.nix b/pkgs/development/python-modules/awscrt/default.nix
index 658afb0245475..74d7a17a8f6c0 100644
--- a/pkgs/development/python-modules/awscrt/default.nix
+++ b/pkgs/development/python-modules/awscrt/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "awscrt";
-  version = "0.20.10";
+  version = "0.20.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vGmN6MU61KLqsWRrkhlqWE6tFwplxltZyIOFWt6lly8=";
+    hash = "sha256-w9v7fxkJRXlS5kU3PnK2n5DFDEZe5qRtm73BKst5gDw=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index ab5ec45e2be10..53044a7531721 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -366,7 +366,7 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.34.119";
+  version = "1.34.120";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -374,7 +374,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "boto3_stubs";
     inherit version;
-    hash = "sha256-b5k7bElanMQDyqLqbwYfM4iqWpAYo1u+frbpQ7NMVqA=";
+    hash = "sha256-GXkBOFjyXhrti7Xmn60xedVnB1Fsfw9Sr5OYDQCIhWc=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index 0528be59b90c4..21bc9037d1470 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.34.94";
+  version = "1.34.120";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-ZNgKNGfjsZk56cJ1CvMzKLMIf49SSZjb337RaCJ/UH0=";
+    hash = "sha256-oeSSAAEsb7/0eyK6cURO+fQ1P+ErEa8bBjCHsIEe508=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/bring-api/default.nix b/pkgs/development/python-modules/bring-api/default.nix
index 8f7751dd912b0..7d08a68e0e62a 100644
--- a/pkgs/development/python-modules/bring-api/default.nix
+++ b/pkgs/development/python-modules/bring-api/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bring-api";
-  version = "0.7.1";
+  version = "0.7.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "miaucl";
     repo = "bring-api";
     rev = "refs/tags/${version}";
-    hash = "sha256-ca6VNC1AG+BAzEhH+N3cwXL9pIBwAX6qLWMpgkEjn98=";
+    hash = "sha256-941IAVlLwfHCyqUu0AhdIfBjuT3pZpk98ZUssBVjEUA=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/bthome-ble/default.nix b/pkgs/development/python-modules/bthome-ble/default.nix
index f0f92ec11904b..fc4ac4b9fde09 100644
--- a/pkgs/development/python-modules/bthome-ble/default.nix
+++ b/pkgs/development/python-modules/bthome-ble/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "bthome-ble";
-  version = "3.9.0";
+  version = "3.9.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "bthome-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-umRPB0eUdFL4kIvqSfbw/Jzh7NZMY6WR4dK+1cyK3EI=";
+    hash = "sha256-v3SzzbdWRJISuF1THHlrvci4b+H1Zw/0e5iSEB0Scvw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/clarifai-grpc/default.nix b/pkgs/development/python-modules/clarifai-grpc/default.nix
index dfc183cb1d506..a845e6bbd77c3 100644
--- a/pkgs/development/python-modules/clarifai-grpc/default.nix
+++ b/pkgs/development/python-modules/clarifai-grpc/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "clarifai-grpc";
-  version = "10.3.4";
+  version = "10.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Clarifai";
     repo = "clarifai-python-grpc";
     rev = "refs/tags/${version}";
-    hash = "sha256-1Yx00g2Cd9/41DZYK5cRwcFQv2qD6B4cl4cpVZ6slTA=";
+    hash = "sha256-n4Wzg8G5i/4hh7IMyThTPfPqcVhNiPB8E6ucq2gSajo=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/fastcore/default.nix b/pkgs/development/python-modules/fastcore/default.nix
index 655efc1b459b3..51dd8431288dd 100644
--- a/pkgs/development/python-modules/fastcore/default.nix
+++ b/pkgs/development/python-modules/fastcore/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "fastcore";
-  version = "1.5.43";
+  version = "1.5.44";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fastai";
     repo = "fastcore";
     rev = "refs/tags/${version}";
-    hash = "sha256-81U5LEhReoNLtPqDe9WyX5BPc0H88cYUcx3kI7ssjr8=";
+    hash = "sha256-78PFSLqPmFgdKKYHGID7pHczCXvfFeyBG1vbZSoq7ts=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/gocardless-pro/default.nix b/pkgs/development/python-modules/gocardless-pro/default.nix
index e903ab4877d93..47c4cbab44d47 100644
--- a/pkgs/development/python-modules/gocardless-pro/default.nix
+++ b/pkgs/development/python-modules/gocardless-pro/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "gocardless-pro";
-  version = "1.51.0";
+  version = "1.52.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "gocardless";
     repo = "gocardless-pro-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4pyVcyEa8iex7ngTibxWYu4HeW+6V5OASkxqjHIOe2Y=";
+    hash = "sha256-Oi68s4x/rS8ahvJ9TsniYfDidCxtvcvsMwYhJirYlP0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/heudiconv/default.nix b/pkgs/development/python-modules/heudiconv/default.nix
index 8794192471baa..698bf15e02ec7 100644
--- a/pkgs/development/python-modules/heudiconv/default.nix
+++ b/pkgs/development/python-modules/heudiconv/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "heudiconv";
-  version = "1.1.3";
+  version = "1.1.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ktw/XrvA5G+DunjEB8LeQuQnjs6zQOKsZ+RGpzDZ5DQ=";
+    hash = "sha256-hCHG5zpoEx4w7Jq842RWwMtsn5NskPq/Wahp4neOun4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/itemloaders/default.nix b/pkgs/development/python-modules/itemloaders/default.nix
index 09f08480f03b2..ac904ef15253e 100644
--- a/pkgs/development/python-modules/itemloaders/default.nix
+++ b/pkgs/development/python-modules/itemloaders/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "itemloaders";
-  version = "1.2.0";
+  version = "1.3.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "scrapy";
     repo = "itemloaders";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DatHJnAIomVoN/GrDzM2fNnFHcXqo6zs3ucKCOCf9DU=";
+    hash = "sha256-u0/WsvLn2YlYd/FuH26T9qEGRGscipnOQbV9uPv4F+M=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/ixia/default.nix b/pkgs/development/python-modules/ixia/default.nix
index e0e9f13f7dde6..ae07ed052eed0 100644
--- a/pkgs/development/python-modules/ixia/default.nix
+++ b/pkgs/development/python-modules/ixia/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ixia";
-  version = "1.3.1";
+  version = "1.3.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "trag1c";
     repo = "ixia";
     rev = "refs/tags/${version}";
-    hash = "sha256-JGTwctzswItAJsKZzVVl+B2fZnCWpMmq9TnNgYY2Kng=";
+    hash = "sha256-lsov5AIT5uRf9nmS8ZsFmInKUFAxUATTbpfhV1fabhA=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/mdformat-mkdocs/default.nix b/pkgs/development/python-modules/mdformat-mkdocs/default.nix
index f3b06888b6cb9..f787faacd2c9b 100644
--- a/pkgs/development/python-modules/mdformat-mkdocs/default.nix
+++ b/pkgs/development/python-modules/mdformat-mkdocs/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "mdformat-mkdocs";
-  version = "2.0.11";
+  version = "2.1.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "KyleKing";
     repo = "mdformat-mkdocs";
     rev = "refs/tags/v${version}";
-    hash = "sha256-wx95Lsqgi7fM/1s6fSHxXOs396mIR9S9yCRebC2VFpI=";
+    hash = "sha256-vJdkPNUW7d+H6hEgsAV7L0dV09+mq0Nvzih8aKoU8F8=";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index 5dad7136d2718..ffdd8bc5ac2c2 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -120,6 +120,7 @@ buildPythonPackage rec {
     ];
 
   passthru.tests = {
+    # Failing typing checks on the test-driver result in channel blockers.
     inherit (nixosTests) nixos-test-driver;
   };
 
diff --git a/pkgs/development/python-modules/ollama/default.nix b/pkgs/development/python-modules/ollama/default.nix
index 299af4e9c9641..fcfe041922622 100644
--- a/pkgs/development/python-modules/ollama/default.nix
+++ b/pkgs/development/python-modules/ollama/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "ollama";
-  version = "0.2.0";
+  version = "0.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "ollama";
     repo = "ollama-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kfotKUUXBekUd0X32BYAjNWvQJO94bdEDCSrBg2yJRQ=";
+    hash = "sha256-+1qhmz5WehbtjE+Dh/WTsqpiAmTjJg+tBjvYRQYkYy0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix
index b497d6de4cd7c..985e635738ff4 100644
--- a/pkgs/development/python-modules/panel/default.nix
+++ b/pkgs/development/python-modules/panel/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "panel";
-  version = "1.4.3";
+  version = "1.4.4";
 
   format = "wheel";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   # tries to fetch even more artifacts
   src = fetchPypi {
     inherit pname version format;
-    hash = "sha256-iIBQ9UEcmO6q3bS2faFK7tY4mPVaoIWS7bMzKLzkfWw=";
+    hash = "sha256-tJu5Z2VnsMBzC/aTSMBXJHCAgRrsVjZN1Pz7qA5eCaA=";
     dist = "py3";
     python = "py3";
   };
diff --git a/pkgs/development/python-modules/rotary-embedding-torch/default.nix b/pkgs/development/python-modules/rotary-embedding-torch/default.nix
index f644d299470a2..3724cb4adedde 100644
--- a/pkgs/development/python-modules/rotary-embedding-torch/default.nix
+++ b/pkgs/development/python-modules/rotary-embedding-torch/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "rotary-embedding-torch";
-  version = "0.6.1";
+  version = "0.6.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "lucidrains";
     repo = "rotary-embedding-torch";
     rev = "refs/tags/${version}";
-    hash = "sha256-/gVBQ9lUzVN/eEtm6qPajw0TZs87JOC7d02qnQ8sdVk=";
+    hash = "sha256-AR/zQFH0uvPrCp61XLiRBiAO3ZnD4jVaDXN00hXDlnI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
index c6835dd7c5652..2e8518013be4c 100644
--- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
+++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tencentcloud-sdk-python";
-  version = "3.0.1162";
+  version = "3.0.1163";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "TencentCloud";
     repo = "tencentcloud-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-bWO/GO1atnOzfjaUhTt/1zU5lywVyOKceK7nNHJHmXs=";
+    hash = "sha256-b+b9z+UK0juhQW55mwTTY/j73Aio7N2aTYHEcwvX5RE=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index b4c489303dc42..a6d0ea2e8ee66 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "3.11.0";
+  version = "3.12.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = "teslajsonpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Hb/O4kdmJVN6yGhg/FQ6i0qUrtEuD1dZooJ6pbZ+qig=";
+    hash = "sha256-oIuIE5N/cHCEP3azMrwNiknP4q3rDxg4BiFQiJqcFkc=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/types-awscrt/default.nix b/pkgs/development/python-modules/types-awscrt/default.nix
index a9f1eb3d4614c..68b187e2e7dcf 100644
--- a/pkgs/development/python-modules/types-awscrt/default.nix
+++ b/pkgs/development/python-modules/types-awscrt/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "types-awscrt";
-  version = "0.20.9";
+  version = "0.20.11";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "types_awscrt";
     inherit version;
-    hash = "sha256-ZImKL0okaPZiM8uMKcX2bekHz4C6HvW7E1mu8vgbtSE=";
+    hash = "sha256-rVzp+1EUFEMDJvGaUT4j07xxQ8EM2+HNrrIiKtVnaY8=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index 077a0980df0e0..0d0cc3e6ecb39 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.32.0.20240523";
+  version = "2.32.0.20240602";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Jrim3jLZ9WEZK5lCtBwKstgBDfVnfKiqFGKJ0R1QX1c=";
+    hash = "sha256-P5jXu9DdlOvRD/Q6f74gw7hSisrObY76/vC2oYR5PwY=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/tools/language-servers/fortls/default.nix b/pkgs/development/tools/language-servers/fortls/default.nix
index 96db58da00762..56172b8125990 100644
--- a/pkgs/development/tools/language-servers/fortls/default.nix
+++ b/pkgs/development/tools/language-servers/fortls/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonApplication rec {
   pname = "fortls";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "fortran-lang";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4iOE9OkqSu7enEMx4aAaGZ0KDKCT1377Su728JncIso=";
+    hash = "sha256-7imZLSE7USFXmv/V3olE698J8Q8a7cJt15nBKkPZJoU=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 8c80fd03d8cd1..e4cf742ba2121 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub, testers, flyctl, installShellFiles, gitUpdater }:
+{ lib, buildGoModule, fetchFromGitHub, testers, flyctl, installShellFiles }:
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.2.58";
+  version = "0.2.65";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-aXiBDPl/x/xeu+fNrxs+JejVtSZu8KZKbrSetJj4/Pk=";
+    hash = "sha256-TB0Y3QgoGM5RlKWBKg2XKuFQJz0mw6sqWuDn1z93+6g=";
   };
 
-  vendorHash = "sha256-NmogEh3xWQ/opMm9UarpfuH3MJzJ9+qb0KX/O+i/pcA=";
+  vendorHash = "sha256-dQDkW1fSXn6c2bImnAyvb3WpdARe3EZdPkPkLZHMKzY=";
 
   subPackages = [ "." ];
 
@@ -53,14 +53,6 @@ buildGoModule rec {
     ln -s $out/bin/flyctl $out/bin/fly
   '';
 
-  # Upstream tags every PR merged with release tags like
-  # v2024.5.20-pr3545.4. We ignore all revisions containing a '-'
-  # to skip these releases.
-  passthru.updateScript = gitUpdater {
-    rev-prefix = "v";
-    ignoredVersions = "-";
-  };
-
   passthru.tests.version = testers.testVersion {
     package = flyctl;
     command = "HOME=$(mktemp -d) flyctl version";
diff --git a/pkgs/os-specific/linux/kvdo/default.nix b/pkgs/os-specific/linux/kvdo/default.nix
index 3258295be58a6..aed5dbf5e6065 100644
--- a/pkgs/os-specific/linux/kvdo/default.nix
+++ b/pkgs/os-specific/linux/kvdo/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/dm-vdo/kvdo";
     description = "A pair of kernel modules which provide pools of deduplicated and/or compressed block storage";
     platforms = platforms.linux;
-    broken = kernel.kernelOlder "5.15";
+    broken = kernel.kernelOlder "5.17";
   };
 }
diff --git a/pkgs/servers/monitoring/buildkite-agent-metrics/default.nix b/pkgs/servers/monitoring/buildkite-agent-metrics/default.nix
index b6fc47b40bc3d..dbefb7aea5e3d 100644
--- a/pkgs/servers/monitoring/buildkite-agent-metrics/default.nix
+++ b/pkgs/servers/monitoring/buildkite-agent-metrics/default.nix
@@ -4,7 +4,7 @@
 }:
 buildGoModule rec {
   pname = "buildkite-agent-metrics";
-  version = "5.9.5";
+  version = "5.9.6";
 
   outputs = [ "out" "lambda" ];
 
@@ -12,7 +12,7 @@ buildGoModule rec {
     owner = "buildkite";
     repo = "buildkite-agent-metrics";
     rev = "v${version}";
-    hash = "sha256-oNUNSy8VzyOteNge/ZIoln+GGa/xWl6MNmU/Ke/nlBk=";
+    hash = "sha256-OrdU640gC14Y4SMtZZtW2Yz82JRwoQRtjY1KCL+vyEc=";
   };
 
   vendorHash = "sha256-i2+nefRE4BD93rG842oZj0/coamYVRMPxEHio80bdWk=";
diff --git a/pkgs/tools/misc/gh-dash/default.nix b/pkgs/tools/misc/gh-dash/default.nix
index a5435c2991fb6..91de04a0565d1 100644
--- a/pkgs/tools/misc/gh-dash/default.nix
+++ b/pkgs/tools/misc/gh-dash/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gh-dash";
-  version = "4.0.0";
+  version = "4.1.2";
 
   src = fetchFromGitHub {
     owner = "dlvhdr";
     repo = "gh-dash";
     rev = "v${version}";
-    hash = "sha256-mF7n4nrsKyp46U4jar+ioUKwpaETiDt4Ol/5DZrjvCs=";
+    hash = "sha256-crMlld0Lrfy/MPjQd071azRpvdII8aC2nbSRxBxYu+U=";
   };
 
-  vendorHash = "sha256-jCf9FWAhZK5hTzyy8N4r5dfUYTgESmsn8iKxCccgWiM=";
+  vendorHash = "sha256-JOd2czYWVgE1jBfeuoVRp+oE/asyk50o5Pf021jD5mY=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/nomino/default.nix b/pkgs/tools/misc/nomino/default.nix
index 9dd489f459487..ab4d1d0fbd234 100644
--- a/pkgs/tools/misc/nomino/default.nix
+++ b/pkgs/tools/misc/nomino/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nomino";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "yaa110";
     repo = pname;
     rev = version;
-    hash = "sha256-jV1GqwQURRFPGuFXPhtgbBJHOdroQk6KHMI5yHa0Z64=";
+    hash = "sha256-qznue5C/6Y+54/gV1lLgJPCezW0zF2Fe2ZlMvU57+Q0=";
   };
 
-  cargoHash = "sha256-QluOfU8TO5422lVXswjiQb2YleWiq5twwYzpBJsBs2Y=";
+  cargoHash = "sha256-28QXDhpcrW1flnU5WesAdbJSMrZAhIuFv2LSJHTk74Y=";
 
   meta = with lib; {
     description = "Batch rename utility for developers";
diff --git a/pkgs/tools/networking/checkip/default.nix b/pkgs/tools/networking/checkip/default.nix
index 7262d4d08f390..48a2b13542960 100644
--- a/pkgs/tools/networking/checkip/default.nix
+++ b/pkgs/tools/networking/checkip/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "checkip";
-  version = "0.46.2";
+  version = "0.46.4";
 
   src = fetchFromGitHub {
     owner = "jreisinger";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5GOVn95gaiRPoQvfeBG+zxSISwgMk0L2vexcQtPC/dw=";
+    hash = "sha256-7AeoshQBEEZnikAINF+Bv0CBHq347x2K+tdO/tjVco4=";
   };
 
   vendorHash = "sha256-awqaDEdWILm8RcQ8hrtJFMTJQA5TzGZhiBTMfexmtA0=";
diff --git a/pkgs/tools/security/sequoia-sqop/default.nix b/pkgs/tools/security/sequoia-sqop/default.nix
index 9bd5684f30c69..35f1ede7df2df 100644
--- a/pkgs/tools/security/sequoia-sqop/default.nix
+++ b/pkgs/tools/security/sequoia-sqop/default.nix
@@ -9,7 +9,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sequoia-sqop";
-  version = "0.33.0";
+  version = "0.34.0";
 
   src = fetchFromGitLab {
     owner = "sequoia-pgp";
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage rec {
     # generated etc
     repo = "sequoia-sop";
     rev = "v${version}";
-    hash = "sha256-5XK5Cec6ojrpIncAtlp9jYr9KxmNYJKPhbsJraA0FA0=";
+    hash = "sha256-RpXMF0Q5Dp0zDt1gPl2Z3RKyDa4NI0uZY7kIc230F48=";
   };
 
-  cargoHash = "sha256-8ujQyG9qLuG8vjHoRtvpn4ka/Ft39u+NoxSZrD9NsfY=";
+  cargoHash = "sha256-ccEnZPFUYU5F1PqkX1u7K2xuWYShhzJwEOfBEbi53gg=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index afb37e8805a6d..892bb92c342c7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5623,8 +5623,6 @@ with pkgs;
 
   klog = qt5.callPackage ../applications/radio/klog { };
 
-  knxd = callPackage ../servers/knxd { };
-
   komga = callPackage ../servers/komga { };
 
   komorebi = callPackage ../applications/graphics/komorebi { };
@@ -23664,10 +23662,6 @@ with pkgs;
 
   openpa = callPackage ../development/libraries/openpa { };
 
-  openpgp-card-tools = callPackage ../tools/security/openpgp-card-tools {
-    inherit (darwin.apple_sdk.frameworks) PCSC;
-  };
-
   opensaml-cpp = callPackage ../development/libraries/opensaml-cpp { };
 
   openscenegraph = callPackage ../development/libraries/openscenegraph {