summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2021-10-28 19:51:45 +0200
committerMartin Weinelt <hexa@darmstadt.ccc.de>2021-10-28 19:51:45 +0200
commitda1f24822928ad74741d41526a2914231500b21d (patch)
treec954b8e5a8763735c482759dd181b33537601911
parent3f4420fc2ba9b16d34f2d6515b70a7812cc6c87b (diff)
parent842a0d94cbb0a385854e15d4f6fde57714981abd (diff)
downloadnixpkgs-da1f24822928ad74741d41526a2914231500b21d.tar
nixpkgs-da1f24822928ad74741d41526a2914231500b21d.tar.gz
nixpkgs-da1f24822928ad74741d41526a2914231500b21d.tar.bz2
nixpkgs-da1f24822928ad74741d41526a2914231500b21d.tar.lz
nixpkgs-da1f24822928ad74741d41526a2914231500b21d.tar.xz
nixpkgs-da1f24822928ad74741d41526a2914231500b21d.tar.zst
nixpkgs-da1f24822928ad74741d41526a2914231500b21d.zip
Merge remote-tracking branch 'origin/master' into staging-next
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.xml2
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/yq.nix12
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix6
-rw-r--r--pkgs/applications/editors/kakoune/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix31
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/pin.json6
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix128
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix86
-rwxr-xr-xpkgs/applications/networking/instant-messengers/schildichat/update.sh35
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix2
-rw-r--r--pkgs/applications/office/vnote/default.nix4
-rw-r--r--pkgs/applications/radio/pothos/default.nix2
-rw-r--r--pkgs/applications/science/electronics/diylc/default.nix2
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix48
-rw-r--r--pkgs/applications/system/monitor/default.nix14
-rw-r--r--pkgs/applications/version-management/gitlab/data.json14
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock28
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix32
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile24
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock182
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix143
-rw-r--r--pkgs/applications/video/ustreamer/default.nix4
-rw-r--r--pkgs/build-support/node/fetch-yarn-deps/default.nix2
-rwxr-xr-xpkgs/build-support/node/fetch-yarn-deps/index.js25
-rw-r--r--pkgs/data/documentation/execline-man-pages/default.nix4
-rw-r--r--pkgs/data/documentation/s6-man-pages/default.nix4
-rw-r--r--pkgs/data/documentation/s6-networking-man-pages/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/appcenter/default.nix9
-rw-r--r--pkgs/desktops/pantheon/apps/appcenter/drop-homepage-banner.patch234
-rw-r--r--pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch162
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-mail/default.nix11
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch55
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix9
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-background-path.patch13
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch36
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix6
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix23
-rw-r--r--pkgs/desktops/pantheon/desktop/gala/default.nix29
-rw-r--r--pkgs/desktops/plasma-5/breeze-gtk.nix3
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kwayland-integration.nix5
-rw-r--r--pkgs/desktops/plasma-5/kwin/default.nix14
-rw-r--r--pkgs/desktops/plasma-5/libkscreen/default.nix9
-rw-r--r--pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch6
-rw-r--r--pkgs/desktops/plasma-5/libksysguard/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/patches/0001-fix-add-executable-bit.patch25
-rw-r--r--pkgs/desktops/plasma-5/plasma-desktop/default.nix7
-rw-r--r--pkgs/desktops/plasma-5/plasma-nm/0001-mobile-broadband-provider-info-path.patch25
-rw-r--r--pkgs/desktops/plasma-5/plasma-nm/0002-openvpn-binary-path.patch2
-rw-r--r--pkgs/desktops/plasma-5/plasma-nm/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch75
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix8
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix428
-rw-r--r--pkgs/development/interpreters/sollya/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/0002-Debug-module-loader.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix1
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch3
-rw-r--r--pkgs/development/libraries/plasma-wayland-protocols/default.nix4
-rw-r--r--pkgs/development/python-modules/cwcwidth/default.nix2
-rw-r--r--pkgs/development/python-modules/gvm-tools/default.nix14
-rw-r--r--pkgs/development/python-modules/oslo-context/default.nix4
-rw-r--r--pkgs/development/python-modules/poppler-qt5/default.nix2
-rw-r--r--pkgs/development/python-modules/pyatv/default.nix4
-rw-r--r--pkgs/development/python-modules/pyqt-builder/default.nix2
-rw-r--r--pkgs/development/python-modules/sip/default.nix2
-rw-r--r--pkgs/development/python-modules/textdistance/default.nix6
-rw-r--r--pkgs/development/python-modules/yq/default.nix5
-rw-r--r--pkgs/development/tools/misc/terraformer/default.nix6
-rwxr-xr-xpkgs/games/factorio/update.py10
-rw-r--r--pkgs/games/factorio/versions.json16
-rw-r--r--pkgs/servers/mautrix-whatsapp/default.nix6
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--pkgs/servers/teleport/default.nix4
-rw-r--r--pkgs/shells/fish/wrapper.nix2
-rw-r--r--pkgs/tools/audio/acousticbrainz-client/default.nix2
-rw-r--r--pkgs/tools/audio/isrcsubmit/default.nix2
-rw-r--r--pkgs/tools/security/rbw/default.nix23
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/tpm2-tools/default.nix4
-rw-r--r--pkgs/tools/system/thinkfan/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix29
93 files changed, 1030 insertions, 1260 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 22a49fd721e..4e3a5f97f43 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3227,12 +3227,6 @@
     githubId = 119483;
     name = "Matthew Brown";
   };
-  eduardosm = {
-    email = "esm@eduardosm.net";
-    github = "eduardosm";
-    githubId = 761151;
-    name = "Eduardo Sánchez Muñoz";
-  };
   eduarrrd = {
     email = "e.bachmakov@gmail.com";
     github = "eduarrrd";
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 8155a1844e1..578097f3367 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -268,7 +268,7 @@ in
 
       fonts.fontconfig.defaultFonts = {
         monospace = [ "Roboto Mono" ];
-        sansSerif = [ "Open Sans" ];
+        sansSerif = [ "Inter" ];
       };
     })
 
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml
index fe0a1c49622..70cd7410c1e 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.xml
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.xml
@@ -105,7 +105,7 @@ switchboard-with-plugs.override {
     </term>
     <listitem>
      <para>
-      AppCenter has been available since 20.03, but it is of little use. This is because there is no functioning PackageKit backend for Nix 2.0. Starting from 21.11, the Flatpak backend should work so you can install some Flatpak applications using it. See this <link xlink:href="https://github.com/NixOS/nixpkgs/issues/70214">issue</link>.
+      AppCenter has been available since 20.03, but it is of little use. This is because there is no functioning PackageKit backend for Nix 2.0. The Flatpak backend will not work before <link xlink:href="https://github.com/elementary/appcenter/issues/1076">flag for Flatpak-only</link> is provided. See this <link xlink:href="https://github.com/NixOS/nixpkgs/issues/70214">issue</link>.
      </para>
      <para>
       To use AppCenter on NixOS, add <literal>pantheon.appcenter</literal> to <xref linkend="opt-environment.systemPackages" />, <link linkend="module-services-flatpak">enable Flatpak support</link> and optionally add the <literal>appcenter</literal> Flatpak remote:
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index d372a737f5e..1d984eca8f3 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -500,7 +500,6 @@ in
   xterm = handleTest ./xterm.nix {};
   yabar = handleTest ./yabar.nix {};
   yggdrasil = handleTest ./yggdrasil.nix {};
-  yq = handleTest ./yq.nix {};
   zfs = handleTest ./zfs.nix {};
   zigbee2mqtt = handleTest ./zigbee2mqtt.nix {};
   zoneminder = handleTest ./zoneminder.nix {};
diff --git a/nixos/tests/yq.nix b/nixos/tests/yq.nix
deleted file mode 100644
index cdcb3d6e246..00000000000
--- a/nixos/tests/yq.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ... }: {
-  name = "yq";
-  meta = with pkgs.lib.maintainers; { maintainers = [ nequissimus ]; };
-
-  nodes.yq = { pkgs, ... }: { environment.systemPackages = with pkgs; [ jq yq ]; };
-
-  testScript = ''
-    assert "hello:\n  foo: bar\n" in yq.succeed(
-        'echo \'{"hello":{"foo":"bar"}}\' | yq -y .'
-    )
-  '';
-})
diff --git a/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix
index 876392c0810..f74402f5e6e 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/bqn-mode/default.nix
@@ -5,13 +5,13 @@
 
 trivialBuild {
   pname = "bqn-mode";
-  version = "0.pre+unstable=2021-09-27";
+  version = "0.pre+unstable=2021-10-26";
 
   src = fetchFromGitHub {
     owner = "AndersonTorres";
     repo = "bqn-mode";
-    rev = "5bdc713ade78f11d756231739429440552d7faf8";
-    hash = "sha256-ztGHWKVgMP9N4hV9k0PY9LxqXgHxkycyF3N0eZ+jIZs=";
+    rev = "89d6928d0653518c97bcb06ae156f8b1de1b8768";
+    sha256 = "0pnvfssglaqbjw6hw7vf7vffzjdbqscqhyl62vknml29yl7mjq05";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix
index 2562a821b82..1e7d38086b7 100644
--- a/pkgs/applications/editors/kakoune/default.nix
+++ b/pkgs/applications/editors/kakoune/default.nix
@@ -4,12 +4,12 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "kakoune-unwrapped";
-  version = "2021.08.28";
+  version = "2021.10.28";
   src = fetchFromGitHub {
     repo = "kakoune";
     owner = "mawww";
     rev = "v${version}";
-    sha256 = "13kc68vkrzg89khir6ayyxgbnmz16dhippcnw09hhzxivf5ayzpy";
+    sha256 = "sha256-ph0063EHyFa7arXvCVD+tGhs8ShyCDYkFVd1w6MZ5Z8=";
   };
   makeFlags = [ "debug=no" "PREFIX=${placeholder "out"}" ];
 
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 54959e45831..35493aa31b7 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -57,6 +57,7 @@ let
     libvirt = callPackage ./libvirt { };
     linuxbox = callPackage ./linuxbox { };
     lxd = callPackage ./lxd { };
+    teleport = callPackage ./teleport { };
     vpsadmin = callPackage ./vpsadmin { };
     vercel = callPackage ./vercel { };
   } // (lib.optionalAttrs (config.allowAliases or false) {
diff --git a/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix b/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix
new file mode 100644
index 00000000000..733d1540874
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix
@@ -0,0 +1,31 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "terraform-provider-teleport";
+  version = "7.3.0";
+
+  src = fetchFromGitHub {
+    owner = "gravitational";
+    repo = "teleport-plugins";
+    rev = "v${version}";
+    sha256 = "19zn78nn64gc0nm7ycblzi4549a0asql07pfxvrphi6s9fjr5m3y";
+  };
+  vendorSha256 = null;
+
+  sourceRoot = "source/terraform";
+
+  # Terraform allow checking the provider versions, but this breaks
+  # if the versions are not provided via file paths.
+  postBuild = ''
+    mv $NIX_BUILD_TOP/go/bin/{terraform,terraform-provider-teleport_v${version}}
+  '';
+
+  passthru.provider-source-address = "gravitational.com/teleport/teleport";
+
+  meta = with lib; {
+    description = "Provider for managing resources in Teleport, a SSH CA management suite";
+    homepage = "https://github.com/gravitational/teleport-plugins";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ justinas ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix
index 10cbcb6c1d2..8af6811d6a5 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-discord/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, pidgin, json-glib }:
+{ lib, stdenv, fetchFromGitHub, imagemagick, gettext, pidgin, json-glib }:
 
 stdenv.mkDerivation {
   pname = "purple-discord";
-  version = "unstable-2018-04-10";
+  version = "unstable-2021-10-17";
 
   src = fetchFromGitHub {
     owner = "EionRobb";
     repo = "purple-discord";
-    rev = "9a97886d15a1f028de54b5e6fc54e784531063b0";
-    sha256 = "0dc344zh1v4yh9c8javcw5ylzwc1wpx0ih8bww8p8cjmhr8kcl32";
+    rev = "b7ac72399218d2ce011ac84bb171b572560aa2d2";
+    sha256 = "0xvj9rdvgsvcr55sk9m40y07rchg699l1yr98xqwx7sc2sba3814";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ imagemagick gettext ];
   buildInputs = [ pidgin json-glib ];
 
   PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2";
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/pin.json b/pkgs/applications/networking/instant-messengers/schildichat/pin.json
new file mode 100644
index 00000000000..299598063c0
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/schildichat/pin.json
@@ -0,0 +1,6 @@
+{
+  "version": "1.9.0-sc.1",
+  "srcHash": "10swz5gwz1izryzllmjm8mhhd0vqk2cp8qjcmmr5gbzspj7p3xgw",
+  "webYarnHash": "134llyh0197andpnbmfcxnidcgi3xxnb9v10bwfvrqysgnhb5z8v",
+  "desktopYarnHash": "150jc6p9kbdz599bdkinrhbhncpamhz35j6rcc008qxg2d9qfhwr"
+}
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
new file mode 100644
index 00000000000..4e1d330f500
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
@@ -0,0 +1,128 @@
+{ lib
+, element-desktop # for seshat and keytar
+, schildichat-web
+, stdenv
+, fetchgit
+, makeWrapper
+, makeDesktopItem
+, copyDesktopItems
+, fetchYarnDeps
+, yarn, nodejs, fixup_yarn_lock
+, electron
+, Security
+, AppKit
+, CoreServices
+
+, useWayland ? false
+}:
+
+let
+  pinData = lib.importJSON ./pin.json;
+  executableName = "schildichat-desktop";
+  electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
+in
+stdenv.mkDerivation rec {
+  pname = "schildichat-desktop";
+  inherit (pinData) version;
+
+  src = fetchgit {
+    url = "https://github.com/SchildiChat/schildichat-desktop/";
+    rev = "v${version}";
+    sha256 = pinData.srcHash;
+    fetchSubmodules = true;
+  };
+
+  offlineCache = fetchYarnDeps {
+    yarnLock = src + "/element-desktop/yarn.lock";
+    sha256 = pinData.desktopYarnHash;
+  };
+
+  nativeBuildInputs = [ yarn fixup_yarn_lock nodejs makeWrapper copyDesktopItems ];
+  inherit (element-desktop) seshat keytar;
+
+  configurePhase = ''
+    runHook preConfigure
+
+    export HOME=$(mktemp -d)
+    pushd element-desktop
+    yarn config --offline set yarn-offline-mirror $offlineCache
+    fixup_yarn_lock yarn.lock
+    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
+    rm -rf node_modules/matrix-seshat node_modules/keytar
+    ln -s $keytar node_modules/keytar
+    ln -s $seshat node_modules/matrix-seshat
+    patchShebangs node_modules/
+    popd
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    pushd element-desktop
+    npx tsc
+    yarn run i18n
+    node ./scripts/copy-res.js
+    popd
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    # resources
+    mkdir -p "$out/share/element"
+    ln -s '${schildichat-web}' "$out/share/element/webapp"
+    mv element-desktop "$out/share/element/electron"
+    cp -r "$out/share/element/electron/res/img" "$out/share/element"
+    cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
+    ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json
+
+    # icons
+    for icon in $out/share/element/electron/build/icons/*.png; do
+      mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
+      ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/schildichat.png"
+    done
+
+    # executable wrapper
+    makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
+      --add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}"
+
+    runHook postInstall
+  '';
+
+  # Do not attempt generating a tarball for element-web again.
+  # note: `doDist = false;` does not work.
+  distPhase = ";";
+
+  # The desktop item properties should be kept in sync with data from upstream:
+  # https://github.com/schildichat/element-desktop/blob/sc/package.json
+  desktopItems = [
+    (makeDesktopItem {
+     name = "schildichat-desktop";
+     exec = "${executableName} %u";
+     icon = "schildichat";
+     desktopName = "SchildiChat";
+     genericName = "Matrix Client";
+     comment = meta.description;
+     categories = "Network;InstantMessaging;Chat;";
+     extraEntries = ''
+       StartupWMClass=schildichat
+       MimeType=x-scheme-handler/element;
+     '';
+    })
+  ];
+
+  passthru.updateScript = ./update.sh;
+
+  meta = {
+    description = "Matrix client / Element Desktop fork";
+    homepage = "https://schildi.chat/";
+    changelog = "https://github.com/SchildiChat/schildichat-desktop/releases";
+    maintainers = lib.teams.matrix.members;
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
new file mode 100644
index 00000000000..015c44e428b
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
@@ -0,0 +1,86 @@
+{ stdenv, lib
+, fetchgit
+, fetchYarnDeps
+, nodejs
+, yarn
+, fixup_yarn_lock
+, writeText, jq, conf ? {}
+}:
+
+let
+  pinData = builtins.fromJSON (builtins.readFile ./pin.json);
+  noPhoningHome = {
+    disable_guests = true; # disable automatic guest account registration at matrix.org
+  };
+  configOverrides = writeText "element-config-overrides.json" (builtins.toJSON (noPhoningHome // conf));
+
+in stdenv.mkDerivation rec {
+  pname = "schildichat-web";
+  inherit (pinData) version;
+
+  src = fetchgit {
+    url = "https://github.com/SchildiChat/schildichat-desktop/";
+    rev = "v${version}";
+    sha256 = pinData.srcHash;
+    fetchSubmodules = true;
+  };
+
+  offlineCache = fetchYarnDeps {
+    yarnLock = src + "/element-web/yarn.lock";
+    sha256 = pinData.webYarnHash;
+  };
+
+  nativeBuildInputs = [ yarn fixup_yarn_lock jq nodejs ];
+
+  configurePhase = ''
+    runHook preConfigure
+
+    export HOME=$PWD/tmp
+    mkdir -p $HOME
+    pushd element-web
+    yarn config --offline set yarn-offline-mirror $offlineCache
+    fixup_yarn_lock yarn.lock
+    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
+    rm -rf node_modules/matrix-react-sdk
+    patchShebangs node_modules/ ../matrix-react-sdk/scripts/
+    ln -s $PWD/../matrix-react-sdk node_modules/
+    ln -s $PWD/node_modules ../matrix-react-sdk/
+    popd
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    pushd matrix-react-sdk
+    node_modules/.bin/reskindex -h ../element-web/src/header
+    popd
+
+    pushd element-web
+    node scripts/copy-res.js
+    node_modules/.bin/reskindex -h ../element-web/src/header
+    node_modules/.bin/webpack --progress --mode production
+    popd
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mv element-web/webapp $out
+    jq -s '.[0] * .[1]' "configs/sc/config.json" "${configOverrides}" > "$out/config.json"
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Matrix client / Element Web fork";
+    homepage = "https://schildi.chat/";
+    changelog = "https://github.com/SchildiChat/schildichat-desktop/releases";
+    maintainers = lib.teams.matrix.members;
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/update.sh b/pkgs/applications/networking/instant-messengers/schildichat/update.sh
new file mode 100755
index 00000000000..3f5289de8c4
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/schildichat/update.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-git jq
+
+if [[ "$#" -gt 1 || "$1" == -* ]]; then
+  echo "Regenerates packaging data for the SchildiChat packages."
+  echo "Usage: $0 [git release tag]"
+  exit 1
+fi
+
+version="$1"
+
+set -euo pipefail
+
+if [ -z "$version" ]; then
+  version="$(wget -O- "https://api.github.com/repos/SchildiChat/schildichat-desktop/releases?per_page=1" | jq -r '.[0].tag_name')"
+fi
+
+# strip leading "v"
+version="${version#v}"
+
+src_data=$(nix-prefetch-git https://github.com/SchildiChat/schildichat-desktop --fetch-submodules --rev v${version})
+src=$(echo $src_data | jq -r .path)
+src_hash=$(echo $src_data | jq -r .sha256)
+
+web_yarn_hash=$(prefetch-yarn-deps $src/element-web/yarn.lock)
+desktop_yarn_hash=$(prefetch-yarn-deps $src/element-desktop/yarn.lock)
+
+cat > pin.json << EOF
+{
+  "version": "$version",
+  "srcHash": "$src_hash",
+  "webYarnHash": "$web_yarn_hash",
+  "desktopYarnHash": "$desktop_yarn_hash"
+}
+EOF
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
index ea5ca8bebfa..e83e45370cd 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
@@ -4,13 +4,13 @@
 }:
 
 let
-  version = "1.7.3";
+  version = "1.7.4";
 in
 appimageTools.wrapType2 {
   name = "session-desktop-appimage-${version}";
   src = fetchurl {
     url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
-    sha256 = "0s0zvj9ddrngdzsx8hd07pq3150sq8ab1hbpsi9i2ir99sv1p7gn";
+    sha256 = "1yjah9ip3r2irvv2g9j0ql55nkmpwml7lngmq954xrkq9smrdrm5";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
index 19354df40ad..4b357324889 100644
--- a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
+++ b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
@@ -3,12 +3,12 @@ electron, libsecret }:
 
 stdenv.mkDerivation rec {
   pname = "tutanota-desktop";
-  version = "3.88.4";
+  version = "3.89.5";
 
   src = fetchurl {
     url = "https://github.com/tutao/tutanota/releases/download/tutanota-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
     name = "tutanota-desktop-${version}.tar.gz";
-    sha256 = "sha256-UOb63+NfW6mHKaj3PDEzvz5hcmJBIISq02rtwgSZMjo=";
+    sha256 = "sha256-DBqeLoHPr/OwiA3cWO5MYoHSBqrEmP8j8q+rd50hYH8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index 446da4cdea3..0e8d4d2dfc8 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -29,6 +29,6 @@ mkDerivation rec {
     description = "Desktop client for Seafile, the Next-generation Open Source Cloud Storage";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/office/vnote/default.nix b/pkgs/applications/office/vnote/default.nix
index 3519f015ffa..2c6b5dfe3b3 100644
--- a/pkgs/applications/office/vnote/default.nix
+++ b/pkgs/applications/office/vnote/default.nix
@@ -8,14 +8,14 @@
 
 mkDerivation rec {
   pname = "vnote";
-  version = "3.7.0";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "vnotex";
     repo = pname;
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "sha256-D9/4BakXTComvGTV8F131G5PzA8LhWfNSZRBOMo5t5c=";
+    sha256 = "sha256-GgSVBVcT0rfgglyjCmkEMbKCEltesC3eSsN38psrkS4=";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/radio/pothos/default.nix b/pkgs/applications/radio/pothos/default.nix
index 77a7d8cf69f..817013dbf3e 100644
--- a/pkgs/applications/radio/pothos/default.nix
+++ b/pkgs/applications/radio/pothos/default.nix
@@ -69,6 +69,6 @@ mkDerivation rec {
     homepage = "https://github.com/pothosware/PothosCore/wiki";
     license = licenses.boost;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/science/electronics/diylc/default.nix b/pkgs/applications/science/electronics/diylc/default.nix
index 96a2c9a0489..987f6156b4b 100644
--- a/pkgs/applications/science/electronics/diylc/default.nix
+++ b/pkgs/applications/science/electronics/diylc/default.nix
@@ -71,6 +71,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/bancika/diy-layout-creator/releases";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index bdec2ccc669..f7756f33499 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -1,12 +1,7 @@
-{ lib, stdenv
-, fetchurl
-, cmake
-, hwloc
-, fftw
-, perl
+{ lib, stdenv, fetchurl, cmake, hwloc, fftw, perl, blas, lapack, mpi, cudatoolkit
 , singlePrec ? true
-, mpiEnabled ? false
-, mpi
+, enableMpi ? false
+, enableCuda ? false
 , cpuAcceleration ? null
 }:
 
@@ -24,20 +19,32 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gromacs";
-  version = "2020.4";
+  version = "2021.3";
 
   src = fetchurl {
     url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz";
-    sha256 = "1rplvgna60nqyb8nspaz3bfkwb044kv3zxdaa5whql5m441nj6am";
+    sha256 = "4QmFbsREdo373kHzBZ4xI6vbj+Vsozsag/Me1FdaHMY=";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ fftw perl hwloc ]
-  ++ (lib.optionals mpiEnabled [ mpi ]);
+
+  buildInputs = [
+    fftw
+    perl
+    hwloc
+    blas
+    lapack
+  ] ++ lib.optional enableMpi mpi
+    ++ lib.optional enableCuda cudatoolkit
+  ;
+
+  propagatedBuildInputs = lib.optional enableMpi mpi;
+  propagatedUserEnvPkgs = lib.optional enableMpi mpi;
 
   cmakeFlags = [
     "-DGMX_SIMD:STRING=${SIMD cpuAcceleration}"
     "-DGMX_OPENMP:BOOL=TRUE"
+    "-DBUILD_SHARED_LIBS=ON"
   ] ++ (
     if singlePrec then [
       "-DGMX_DOUBLE=OFF"
@@ -46,13 +53,15 @@ in stdenv.mkDerivation rec {
       "-DGMX_DEFAULT_SUFFIX=OFF"
     ]
   ) ++ (
-    if mpiEnabled then [
-      "-DGMX_MPI:BOOL=TRUE"
-      "-DGMX_THREAD_MPI:BOOL=FALSE"
-    ] else [
-      "-DGMX_MPI:BOOL=FALSE"
-    ]
-  );
+    if enableMpi
+      then [
+        "-DGMX_MPI:BOOL=TRUE"
+        "-DGMX_THREAD_MPI:BOOL=FALSE"
+      ]
+     else [
+       "-DGMX_MPI:BOOL=FALSE"
+     ]
+  ) ++ lib.optional enableCuda "-DGMX_GPU=CUDA";
 
   meta = with lib; {
     homepage = "http://www.gromacs.org";
@@ -78,5 +87,6 @@ in stdenv.mkDerivation rec {
       See: http://www.gromacs.org/About_Gromacs for details.
     '';
     platforms = platforms.unix;
+    maintainers = with maintainers; [ sheepforce markuskowa ];
   };
 }
diff --git a/pkgs/applications/system/monitor/default.nix b/pkgs/applications/system/monitor/default.nix
index f5d36c332ae..6b535e5ad41 100644
--- a/pkgs/applications/system/monitor/default.nix
+++ b/pkgs/applications/system/monitor/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , nix-update-script
 , meson
@@ -13,18 +14,21 @@
 , libwnck
 , libgee
 , libgtop
+, libhandy
+, sassc
+, udisks2
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "monitor";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "stsdc";
     repo = "monitor";
     rev = version;
-    sha256 = "sha256-Gin/1vbQbOAKFrjzDuDTNDQlTGTIlb0NUfIWWXd5tQ4=";
+    sha256 = "sha256-xWhhjn7zk/juXx50wLG2TpB5aqU+588kWBBquWrVJbM=";
     fetchSubmodules = true;
   };
 
@@ -45,7 +49,10 @@ stdenv.mkDerivation rec {
     pantheon.wingpanel
     libgee
     libgtop
+    libhandy
     libwnck
+    sassc
+    udisks2
   ];
 
   postPatch = ''
@@ -70,5 +77,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ xiorcale ] ++ teams.pantheon.members;
     platforms = platforms.linux;
     license = licenses.gpl3;
+    mainProgram = "com.github.stsdc.monitor";
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 9f7323f3bf0..8a1c71adbc3 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,14 @@
 {
-  "version": "14.3.3",
-  "repo_hash": "1sh8lf6arqljzc0hmajl2r2j38ahk9hl6kikg9inw72xycrll7dk",
-  "yarn_hash": "0b6brkxg93gv4gjp1f7qlx7v7q7mb8z9vikcz98igdnhm46nl4dn",
+  "version": "14.4.0",
+  "repo_hash": "1hkx30abwbhwrlwr4sykpjgsk8k2k375d9xl1pxjhg3n8vwqncs8",
+  "yarn_hash": "0l0lgcgxaira980a1y550pfsm4f2pw97gi8s5pghyfil2v2lyxyw",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.3.3-ee",
+  "rev": "v14.4.0-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.3.3",
-    "GITLAB_PAGES_VERSION": "1.44.0",
+    "GITALY_SERVER_VERSION": "14.4.0",
+    "GITLAB_PAGES_VERSION": "1.46.0",
     "GITLAB_SHELL_VERSION": "13.21.1",
-    "GITLAB_WORKHORSE_VERSION": "14.3.3"
+    "GITLAB_WORKHORSE_VERSION": "14.4.0"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 7e53e4ff15b..c42921934b8 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -95,6 +95,8 @@ let
 
       bundle exec rake gettext:po_to_json RAILS_ENV=production NODE_ENV=production
       bundle exec rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production
+      # hack: rake gettext:po_to_json breaks the node_modules folder. We repair it by patching the shebangs again.
+      patchShebangs node_modules/
       bundle exec rake gitlab:assets:compile_webpack_if_needed RAILS_ENV=production NODE_ENV=production
       bundle exec rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production
       bundle exec rake gitlab:assets:check_page_bundle_mixins_css_for_sideeffects RAILS_ENV=production NODE_ENV=production
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 7eaf3c0f218..662252527f9 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
 gem 'rugged', '~> 1.1'
 gem 'github-linguist', '~> 7.12', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.1'
-gem 'activesupport', '~> 6.1.3.2'
+gem 'activesupport', '~> 6.1.4.1'
 gem 'rdoc', '~> 6.0'
 gem 'gitlab-gollum-lib', '~> 4.2.7.10.gitlab.1', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.4.gitlab.1', require: false
@@ -13,7 +13,7 @@ gem 'faraday', '~> 1.0'
 gem 'rbtrace', require: false
 
 # Labkit provides observability functionality
-gem 'gitlab-labkit', '~> 0.20.0'
+gem 'gitlab-labkit', '~> 0.21.1'
 
 # Detects the open source license the repository includes
 # This version needs to be in sync with GitLab CE/EE
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index dba345db638..05e75a52413 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -2,20 +2,20 @@ GEM
   remote: https://rubygems.org/
   specs:
     abstract_type (0.0.7)
-    actionpack (6.1.3.2)
-      actionview (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    actionpack (6.1.4.1)
+      actionview (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (6.1.3.2)
-      activesupport (= 6.1.3.2)
+    actionview (6.1.4.1)
+      activesupport (= 6.1.4.1)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activesupport (6.1.3.2)
+    activesupport (6.1.4.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -65,10 +65,10 @@ GEM
     gitlab-gollum-rugged_adapter (0.4.4.4.gitlab.1)
       mime-types (>= 1.15)
       rugged (~> 1.0)
-    gitlab-labkit (0.20.0)
+    gitlab-labkit (0.21.2)
       actionpack (>= 5.0.0, < 7.0.0)
       activesupport (>= 5.0.0, < 7.0.0)
-      grpc (~> 1.19)
+      grpc (~> 1.30)
       jaeger-client (~> 1.1)
       opentracing (~> 0.4)
       pg_query (~> 2.1)
@@ -94,7 +94,7 @@ GEM
       reverse_markdown (~> 1.0)
       rugged (>= 0.24, < 2.0)
       thor (>= 0.19, < 2.0)
-    loofah (2.10.0)
+    loofah (2.12.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
@@ -139,7 +139,7 @@ GEM
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
-    rails-html-sanitizer (1.3.0)
+    rails-html-sanitizer (1.4.2)
       loofah (~> 2.3)
     rainbow (3.0.0)
     rbtrace (0.4.14)
@@ -147,7 +147,7 @@ GEM
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
     rdoc (6.3.2)
-    redis (4.2.5)
+    redis (4.4.0)
     regexp_parser (1.8.1)
     reverse_markdown (1.4.0)
       nokogiri
@@ -197,7 +197,7 @@ GEM
     stringex (2.8.5)
     thor (1.1.0)
     thread_safe (0.3.6)
-    thrift (0.14.1)
+    thrift (0.15.0)
     timecop (0.9.1)
     tzinfo (2.0.4)
       concurrent-ruby (~> 1.0)
@@ -216,13 +216,13 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport (~> 6.1.3.2)
+  activesupport (~> 6.1.4.1)
   factory_bot
   faraday (~> 1.0)
   github-linguist (~> 7.12)
   gitlab-gollum-lib (~> 4.2.7.10.gitlab.1)
   gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1)
-  gitlab-labkit (~> 0.20.0)
+  gitlab-labkit (~> 0.21.1)
   gitlab-markup (~> 1.7.1)
   google-protobuf (~> 3.17.0)
   grpc (~> 1.30.2)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 26deabcc230..0b87646eede 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -20,7 +20,7 @@ let
         };
       };
   };
-  version = "14.3.3";
+  version = "14.4.0";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
 in
 
@@ -32,7 +32,7 @@ buildGoModule {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-WC361E+p3i02n2YCOwUzRxCWFt5UMEfJi6tHZPj1dgo=";
+    sha256 = "sha256-GnjG/LuHvulNrwj1/4r07snue7rysZ74cWpf60w48cc=";
   };
 
   vendorSha256 = "sha256-9RhPQosen70E9t1iAoc2SeKs9pYMMpMqgXLekWfKNf8=";
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index dea32e94b13..4aad9394cd6 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -13,10 +13,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wdgv5llgbl4nayx5j78lfvhhjssrzfmypb45mjy37mgm8z5l5m5";
+      sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -24,10 +24,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r6db2g3fsrca1hp9kbyvjx9psipsxw0g306qharkcblxl8h1ysn";
+      sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1csxddyhl6k773ycxjvmyshyr4g9jb1icbs3pnm7crnavqs4h1yr";
+      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -269,10 +269,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1krn6vi33i5vqbz3gmwzj9f9ifda41a3as3chpl899mrgni61q6r";
+      sha256 = "0xkzm6kri1dzjrmicm3wgbnxi9gk0byanr6ibfrflv7spd98fz19";
       type = "gem";
     };
-    version = "0.20.0";
+    version = "0.21.2";
   };
   gitlab-markup = {
     groups = ["default"];
@@ -383,10 +383,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19vkaazjqyq7yj5ah8rpr4vl9n4mg95scdr5im93akhd5bjvkkly";
+      sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw";
       type = "gem";
     };
-    version = "2.10.0";
+    version = "2.12.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -643,10 +643,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
+      sha256 = "09qrfi3pgllxb08r024lln9k0qzxs57v0slsj8616xf9c0cwnwbk";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.4.2";
   };
   rainbow = {
     source = {
@@ -682,10 +682,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15x2sr6h094rjbvg8pkq6m3lcd5abpyx93aifvfdz3wv6x55xa48";
+      sha256 = "1ig832dp0xmpp6a934nifzaj7wm9lzjxzasw911fagycs8p6m720";
       type = "gem";
     };
-    version = "4.2.5";
+    version = "4.4.0";
   };
   regexp_parser = {
     groups = ["default" "development" "test"];
@@ -899,10 +899,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sfa4120a7yl3gxjcx990gyawsshfr22gfv5rvgpk72l2p9j2420";
+      sha256 = "0rb9nax4k72zbriq7k98shfcj4lf54sqjpin2xm6ma7bb48ra8mc";
       type = "gem";
     };
-    version = "0.14.1";
+    version = "0.15.0";
   };
   timecop = {
     source = {
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 3e3bc25162b..e6661bd5728 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.3.3";
+  version = "14.4.0";
 
   src = fetchFromGitLab {
     owner = data.owner;
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   sourceRoot = "source/workhorse";
 
-  vendorSha256 = "sha256-piA14jYFV+FD20kR38rN1o329eeYAW/PmS0QI1GaU50=";
+  vendorSha256 = "sha256-yLZY9FFUS4nJl4TkE6MwICCEwtPTXFc5zuj4FgiIy74=";
   buildInputs = [ git ];
   ldflags = [ "-X main.Version=${version}" ];
   doCheck = false;
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 08a9b090c66..0713560ead8 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -2,7 +2,7 @@
 
 source 'https://rubygems.org'
 
-gem 'rails', '~> 6.1.3.2'
+gem 'rails', '~> 6.1.4.1'
 
 gem 'bootsnap', '~> 1.4.6'
 
@@ -92,7 +92,7 @@ gem 'net-ldap', '~> 0.16.3'
 
 # API
 gem 'grape', '~> 1.5.2'
-gem 'grape-entity', '~> 0.9.0'
+gem 'grape-entity', '~> 0.10.0'
 gem 'rack-cors', '~> 1.0.6', require: 'rack/cors'
 
 # GraphQL API
@@ -129,7 +129,7 @@ gem 'fog-local', '~> 0.6'
 gem 'fog-openstack', '~> 1.0'
 gem 'fog-rackspace', '~> 0.1.1'
 gem 'fog-aliyun', '~> 0.3'
-gem 'gitlab-fog-azure-rm', '~> 1.1.1', require: false
+gem 'gitlab-fog-azure-rm', '~> 1.2.0', require: false
 
 # for Google storage
 gem 'google-api-client', '~> 0.33'
@@ -154,7 +154,7 @@ gem 'html-pipeline', '~> 2.13.2'
 gem 'deckar01-task_list', '2.3.1'
 gem 'gitlab-markup', '~> 1.7.1'
 gem 'github-markup', '~> 1.7.0', require: 'github/markup'
-gem 'commonmarker', '~> 0.21'
+gem 'commonmarker', '~> 0.23.2'
 gem 'kramdown', '~> 2.3.1'
 gem 'RedCloth', '~> 4.3.2'
 gem 'rdoc', '~> 6.3.2'
@@ -165,7 +165,7 @@ gem 'asciidoctor', '~> 2.0.10'
 gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
 gem 'asciidoctor-plantuml', '~> 0.0.12'
 gem 'asciidoctor-kroki', '~> 0.5.0', require: false
-gem 'rouge', '~> 3.26.0'
+gem 'rouge', '~> 3.26.1'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
 gem 'nokogiri', '~> 1.11.4'
@@ -195,10 +195,10 @@ gem 'state_machines-activerecord', '~> 0.8.0'
 gem 'acts-as-taggable-on', '~> 7.0'
 
 # Background jobs
-gem 'sidekiq', '~> 5.2.7'
+gem 'sidekiq', '~> 6.2.2'
 gem 'sidekiq-cron', '~> 1.0'
 gem 'redis-namespace', '~> 1.8.1'
-gem 'gitlab-sidekiq-fetcher', '0.5.6', require: 'sidekiq-reliable-fetch'
+gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch'
 
 # Cron Parser
 gem 'fugit', '~> 1.2.1'
@@ -229,7 +229,7 @@ gem 'js_regex', '~> 3.7'
 gem 'device_detector'
 
 # Redis
-gem 'redis', '~> 4.1.4'
+gem 'redis', '~> 4.4.0'
 gem 'connection_pool', '~> 2.0'
 
 # Redis session store
@@ -341,7 +341,7 @@ group :development do
   gem 'lefthook', '~> 0.7.0', require: false
   gem 'solargraph', '~> 0.43', require: false
 
-  gem 'letter_opener_web', '~> 1.4.0'
+  gem 'letter_opener_web', '~> 1.4.1'
 
   # Better errors handler
   gem 'better_errors', '~> 2.9.0'
@@ -355,7 +355,7 @@ group :development, :test do
   gem 'bullet', '~> 6.1.3'
   gem 'pry-byebug'
   gem 'pry-rails', '~> 0.3.9'
-  gem 'pry-shell', '~> 0.4.0'
+  gem 'pry-shell', '~> 0.5.0'
 
   gem 'awesome_print', require: false
 
@@ -424,7 +424,7 @@ group :test do
   gem 'webmock', '~> 3.9.1'
   gem 'rails-controller-testing'
   gem 'concurrent-ruby', '~> 1.1'
-  gem 'test-prof', '~> 0.12.0'
+  gem 'test-prof', '~> 1.0.7'
   gem 'rspec_junit_formatter'
   gem 'guard-rspec'
 
@@ -474,7 +474,7 @@ end
 gem 'spamcheck', '~> 0.1.0'
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 14.3.0.pre.rc1'
+gem 'gitaly', '~> 14.3.0.pre.rc2'
 
 # KAS GRPC protocol definitions
 gem 'kas-grpc', '~> 0.0.2'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 51ccc8a03cc..8a135d809ba 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -4,63 +4,63 @@ GEM
     RedCloth (4.3.2)
     acme-client (2.0.6)
       faraday (>= 0.17, < 2.0.0)
-    actioncable (6.1.3.2)
-      actionpack (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    actioncable (6.1.4.1)
+      actionpack (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailbox (6.1.3.2)
-      actionpack (= 6.1.3.2)
-      activejob (= 6.1.3.2)
-      activerecord (= 6.1.3.2)
-      activestorage (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    actionmailbox (6.1.4.1)
+      actionpack (= 6.1.4.1)
+      activejob (= 6.1.4.1)
+      activerecord (= 6.1.4.1)
+      activestorage (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       mail (>= 2.7.1)
-    actionmailer (6.1.3.2)
-      actionpack (= 6.1.3.2)
-      actionview (= 6.1.3.2)
-      activejob (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    actionmailer (6.1.4.1)
+      actionpack (= 6.1.4.1)
+      actionview (= 6.1.4.1)
+      activejob (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (6.1.3.2)
-      actionview (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    actionpack (6.1.4.1)
+      actionview (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actiontext (6.1.3.2)
-      actionpack (= 6.1.3.2)
-      activerecord (= 6.1.3.2)
-      activestorage (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    actiontext (6.1.4.1)
+      actionpack (= 6.1.4.1)
+      activerecord (= 6.1.4.1)
+      activestorage (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       nokogiri (>= 1.8.5)
-    actionview (6.1.3.2)
-      activesupport (= 6.1.3.2)
+    actionview (6.1.4.1)
+      activesupport (= 6.1.4.1)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activejob (6.1.3.2)
-      activesupport (= 6.1.3.2)
+    activejob (6.1.4.1)
+      activesupport (= 6.1.4.1)
       globalid (>= 0.3.6)
-    activemodel (6.1.3.2)
-      activesupport (= 6.1.3.2)
-    activerecord (6.1.3.2)
-      activemodel (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    activemodel (6.1.4.1)
+      activesupport (= 6.1.4.1)
+    activerecord (6.1.4.1)
+      activemodel (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
     activerecord-explain-analyze (0.1.0)
       activerecord (>= 4)
       pg
-    activestorage (6.1.3.2)
-      actionpack (= 6.1.3.2)
-      activejob (= 6.1.3.2)
-      activerecord (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    activestorage (6.1.4.1)
+      actionpack (= 6.1.4.1)
+      activejob (= 6.1.4.1)
+      activerecord (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       marcel (~> 1.0.0)
-      mini_mime (~> 1.0.2)
-    activesupport (6.1.3.2)
+      mini_mime (>= 1.1.0)
+    activesupport (6.1.4.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -193,8 +193,7 @@ GEM
       open4 (~> 1.3)
     coderay (1.1.3)
     colored2 (3.1.2)
-    commonmarker (0.21.0)
-      ruby-enum (~> 0.5)
+    commonmarker (0.23.2)
     concurrent-ruby (1.1.9)
     connection_pool (2.2.2)
     contracts (0.11.0)
@@ -446,7 +445,7 @@ GEM
       rails (>= 3.2.0)
     git (1.7.0)
       rchardet (~> 1.8)
-    gitaly (14.3.0.pre.rc1)
+    gitaly (14.3.0.pre.rc2)
       grpc (~> 1.0)
     github-markup (1.7.0)
     gitlab (4.16.1)
@@ -461,7 +460,7 @@ GEM
       activesupport (>= 3.0)
       request_store (>= 1.0)
       scientist (~> 1.6, >= 1.6.0)
-    gitlab-fog-azure-rm (1.1.1)
+    gitlab-fog-azure-rm (1.2.0)
       azure-storage-blob (~> 2.0)
       azure-storage-common (~> 2.0)
       fog-core (= 2.1.0)
@@ -484,8 +483,8 @@ GEM
       addressable (~> 2.7)
       omniauth (~> 1.9)
       openid_connect (~> 1.2)
-    gitlab-sidekiq-fetcher (0.5.6)
-      sidekiq (~> 5)
+    gitlab-sidekiq-fetcher (0.8.0)
+      sidekiq (~> 6.1)
     gitlab-styles (6.3.0)
       rubocop (~> 0.91, >= 0.91.1)
       rubocop-gitlab-security (~> 0.1.1)
@@ -499,8 +498,8 @@ GEM
       omniauth (~> 1.3)
       pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
       rubyntlm (~> 0.5)
-    globalid (0.4.2)
-      activesupport (>= 4.2.0)
+    globalid (0.5.2)
+      activesupport (>= 5.0)
     gon (6.4.0)
       actionpack (>= 3.0.20)
       i18n (>= 0.7)
@@ -536,7 +535,7 @@ GEM
       mustermann-grape (~> 1.0.0)
       rack (>= 1.3.0)
       rack-accept
-    grape-entity (0.9.0)
+    grape-entity (0.10.0)
       activesupport (>= 3.0.0)
       multi_json (>= 1.3.2)
     grape-path-helpers (1.7.0)
@@ -693,7 +692,7 @@ GEM
     lefthook (0.7.5)
     letter_opener (1.7.0)
       launchy (~> 2.2)
-    letter_opener_web (1.4.0)
+    letter_opener_web (1.4.1)
       actionmailer (>= 3.2)
       letter_opener (~> 1.0)
       railties (>= 3.2)
@@ -740,7 +739,7 @@ GEM
     mime-types-data (3.2020.0512)
     mini_histogram (0.3.1)
     mini_magick (4.10.1)
-    mini_mime (1.0.2)
+    mini_mime (1.1.1)
     mini_portile2 (2.5.3)
     minitest (5.11.3)
     mixlib-cli (2.1.8)
@@ -777,7 +776,7 @@ GEM
       net-ssh (>= 2.6.5, < 7.0.0)
     net-ssh (6.0.0)
     netrc (0.11.0)
-    nio4r (2.5.4)
+    nio4r (2.5.8)
     no_proxy_fix (0.1.2)
     nokogiri (1.11.7)
       mini_portile2 (~> 2.5.0)
@@ -901,7 +900,7 @@ GEM
     peek (1.1.0)
       railties (>= 4.0.0)
     pg (1.2.3)
-    pg_query (2.1.0)
+    pg_query (2.1.1)
       google-protobuf (>= 3.17.1)
     plist (3.6.0)
     png_quantizator (0.2.1)
@@ -927,7 +926,7 @@ GEM
       pry (~> 0.13.0)
     pry-rails (0.3.9)
       pry (>= 0.10.4)
-    pry-shell (0.4.1)
+    pry-shell (0.5.0)
       pry (~> 0.13.0)
       tty-markdown
       tty-prompt
@@ -953,27 +952,25 @@ GEM
       httpclient
       json-jwt (>= 1.11.0)
       rack (>= 2.1.0)
-    rack-protection (2.0.5)
-      rack
     rack-proxy (0.6.0)
       rack
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
     rack-timeout (0.5.2)
-    rails (6.1.3.2)
-      actioncable (= 6.1.3.2)
-      actionmailbox (= 6.1.3.2)
-      actionmailer (= 6.1.3.2)
-      actionpack (= 6.1.3.2)
-      actiontext (= 6.1.3.2)
-      actionview (= 6.1.3.2)
-      activejob (= 6.1.3.2)
-      activemodel (= 6.1.3.2)
-      activerecord (= 6.1.3.2)
-      activestorage (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    rails (6.1.4.1)
+      actioncable (= 6.1.4.1)
+      actionmailbox (= 6.1.4.1)
+      actionmailer (= 6.1.4.1)
+      actionpack (= 6.1.4.1)
+      actiontext (= 6.1.4.1)
+      actionview (= 6.1.4.1)
+      activejob (= 6.1.4.1)
+      activemodel (= 6.1.4.1)
+      activerecord (= 6.1.4.1)
+      activestorage (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       bundler (>= 1.15.0)
-      railties (= 6.1.3.2)
+      railties (= 6.1.4.1)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.5)
       actionpack (>= 5.0.1.rc1)
@@ -987,11 +984,11 @@ GEM
     rails-i18n (6.0.0)
       i18n (>= 0.7, < 2)
       railties (>= 6.0.0, < 7)
-    railties (6.1.3.2)
-      actionpack (= 6.1.3.2)
-      activesupport (= 6.1.3.2)
+    railties (6.1.4.1)
+      actionpack (= 6.1.4.1)
+      activesupport (= 6.1.4.1)
       method_source
-      rake (>= 0.8.7)
+      rake (>= 0.13)
       thor (~> 1.0)
     rainbow (3.0.0)
     rake (13.0.6)
@@ -1011,7 +1008,7 @@ GEM
     recaptcha (4.13.1)
       json
     recursive-open-struct (1.1.3)
-    redis (4.1.4)
+    redis (4.4.0)
     redis-actionpack (5.2.0)
       actionpack (>= 5, < 7)
       redis-rack (>= 2.1.0, < 3)
@@ -1045,7 +1042,7 @@ GEM
     rexml (3.2.5)
     rinku (2.0.0)
     rotp (6.2.0)
-    rouge (3.26.0)
+    rouge (3.26.1)
     rqrcode (0.7.0)
       chunky_png
     rqrcode-rails3 (0.1.7)
@@ -1109,8 +1106,6 @@ GEM
     rubocop-rspec (1.44.1)
       rubocop (~> 0.87)
       rubocop-ast (>= 0.7.1)
-    ruby-enum (0.8.0)
-      i18n
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
     ruby-magic (0.4.0)
@@ -1169,11 +1164,10 @@ GEM
     shellany (0.0.1)
     shoulda-matchers (4.0.1)
       activesupport (>= 4.2.0)
-    sidekiq (5.2.9)
-      connection_pool (~> 2.2, >= 2.2.2)
+    sidekiq (6.2.2)
+      connection_pool (>= 2.2.2)
       rack (~> 2.0)
-      rack-protection (>= 1.5.0)
-      redis (>= 3.3.5, < 4.2)
+      redis (>= 4.2.0)
     sidekiq-cron (1.0.4)
       fugit (~> 1.1)
       sidekiq (>= 4.2.1)
@@ -1251,7 +1245,7 @@ GEM
       unicode-display_width (~> 1.1, >= 1.1.1)
     terser (1.0.2)
       execjs (>= 0.3.0, < 3)
-    test-prof (0.12.0)
+    test-prof (1.0.7)
     test_file_finder (0.1.4)
       faraday (~> 1.0)
     text (1.3.1)
@@ -1351,7 +1345,7 @@ GEM
       crack (>= 0.3.2)
       hashdiff (>= 0.4.0, < 2.0.0)
     webrick (1.6.1)
-    websocket-driver (0.7.3)
+    websocket-driver (0.7.5)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
     wikicloth (0.8.1)
@@ -1408,7 +1402,7 @@ DEPENDENCIES
   capybara-screenshot (~> 1.0.22)
   carrierwave (~> 1.3)
   charlock_holmes (~> 0.7.7)
-  commonmarker (~> 0.21)
+  commonmarker (~> 0.23.2)
   concurrent-ruby (~> 1.1)
   connection_pool (~> 2.0)
   countries (~> 3.0)
@@ -1458,19 +1452,19 @@ DEPENDENCIES
   gettext (~> 3.3)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 14.3.0.pre.rc1)
+  gitaly (~> 14.3.0.pre.rc2)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
   gitlab-dangerfiles (~> 2.3.0)
   gitlab-experiment (~> 0.6.4)
-  gitlab-fog-azure-rm (~> 1.1.1)
+  gitlab-fog-azure-rm (~> 1.2.0)
   gitlab-labkit (~> 0.21.1)
   gitlab-license (~> 2.0)
   gitlab-mail_room (~> 0.0.9)
   gitlab-markup (~> 1.7.1)
   gitlab-net-dns (~> 0.9.1)
   gitlab-omniauth-openid-connect (~> 0.8.0)
-  gitlab-sidekiq-fetcher (= 0.5.6)
+  gitlab-sidekiq-fetcher (= 0.8.0)
   gitlab-styles (~> 6.3.0)
   gitlab_chronic_duration (~> 0.10.6.2)
   gitlab_omniauth-ldap (~> 2.1.1)
@@ -1479,7 +1473,7 @@ DEPENDENCIES
   google-protobuf (~> 3.17.1)
   gpgme (~> 2.0.19)
   grape (~> 1.5.2)
-  grape-entity (~> 0.9.0)
+  grape-entity (~> 0.10.0)
   grape-path-helpers (~> 1.7.0)
   grape_logging (~> 1.7)
   graphiql-rails (~> 1.4.10)
@@ -1512,7 +1506,7 @@ DEPENDENCIES
   kramdown (~> 2.3.1)
   kubeclient (~> 4.9.2)
   lefthook (~> 0.7.0)
-  letter_opener_web (~> 1.4.0)
+  letter_opener_web (~> 1.4.1)
   license_finder (~> 6.0)
   licensee (~> 9.14.1)
   lockbox (~> 0.6.2)
@@ -1563,7 +1557,7 @@ DEPENDENCIES
   prometheus-client-mmap (~> 0.15.0)
   pry-byebug
   pry-rails (~> 0.3.9)
-  pry-shell (~> 0.4.0)
+  pry-shell (~> 0.5.0)
   puma (~> 5.3.1)
   puma_worker_killer (~> 0.3.1)
   rack (~> 2.2.3)
@@ -1572,7 +1566,7 @@ DEPENDENCIES
   rack-oauth2 (~> 1.16.0)
   rack-proxy (~> 0.6.0)
   rack-timeout (~> 0.5.1)
-  rails (~> 6.1.3.2)
+  rails (~> 6.1.4.1)
   rails-controller-testing
   rails-i18n (~> 6.0)
   rainbow (~> 3.0)
@@ -1581,14 +1575,14 @@ DEPENDENCIES
   rdoc (~> 6.3.2)
   re2 (~> 1.2.0)
   recaptcha (~> 4.11)
-  redis (~> 4.1.4)
+  redis (~> 4.4.0)
   redis-actionpack (~> 5.2.0)
   redis-namespace (~> 1.8.1)
   request_store (~> 1.5)
   responders (~> 3.0)
   retriable (~> 3.1.2)
   rexml (~> 3.2.5)
-  rouge (~> 3.26.0)
+  rouge (~> 3.26.1)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
   rspec-rails (~> 5.0.1)
@@ -1611,7 +1605,7 @@ DEPENDENCIES
   sentry-raven (~> 3.1)
   settingslogic (~> 2.0.9)
   shoulda-matchers (~> 4.0.1)
-  sidekiq (~> 5.2.7)
+  sidekiq (~> 6.2.2)
   sidekiq-cron (~> 1.0)
   simple_po_parser (~> 1.1.2)
   simplecov (~> 0.18.5)
@@ -1628,7 +1622,7 @@ DEPENDENCIES
   state_machines-activerecord (~> 0.8.0)
   sys-filesystem (~> 1.1.6)
   terser (= 1.0.2)
-  test-prof (~> 0.12.0)
+  test-prof (~> 1.0.7)
   test_file_finder (~> 0.1.3)
   thin (~> 1.8.0)
   thrift (>= 0.14.0)
@@ -1650,4 +1644,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.1)
 
 BUNDLED WITH
-   2.2.20
+   2.2.24
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 0eb5dc16a3f..2c1f53c0b3a 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15r6ab17iwhhq92by4ah9z4wwvjbr07qn16x8pn2ypgqwvfy74h7";
+      sha256 = "0ilq5mniarm0zlvnkagqj9n9p73ljrhphciz02aymrpfxxxclz2x";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q1r3x9fbq5wlgn4xhqw48la09q7f97zna7ld5fglk3jpmh973x5";
+      sha256 = "16azdnjws215clb056b9mabglx4b8f61hr82hv7hm80dmn89zqq6";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nqdaykzgib8fsldkxdkw0w44jzz4grvb028crzg0qpwvv03g2wp";
+      sha256 = "00s07l2ac5igch1g2rpa0linmiq7mhgk6v6wxkckg8gbiqijb592";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wdgv5llgbl4nayx5j78lfvhhjssrzfmypb45mjy37mgm8z5l5m5";
+      sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zfrkcnp9wy1dm4b6iqf29858dp04a62asfmldainqmv4a7931q7";
+      sha256 = "0m4fy4qqh09vnzbhx383vjdfid6fzbs49bzzg415x05nmmjkx582";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r6db2g3fsrca1hp9kbyvjx9psipsxw0g306qharkcblxl8h1ysn";
+      sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p80rbahcxhxlkxgf4bh580hbifn9q4gr5g9fy8fd0z5g6gr9xxq";
+      sha256 = "1q7c0i0kwarxgcbxk71wa9jnlg45grbxmhlrh7dk9bgcv7r7r7hn";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gpd3hh4ryyr84drj6m0b5sy6929nyf50bfgksw1hpc594542nal";
+      sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fg58qma2zgrz0gr61p61qcz8c3h88fd5lbdrkpkm96aq5shwh68";
+      sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   activerecord-explain-analyze = {
     dependencies = ["activerecord" "pg"];
@@ -126,10 +126,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sbpkk3r8qi47bd0ilznq4gpfyfwm2bwvxqb5z0wc75h3zj1jhqg";
+      sha256 = "17knzz9fvqg4x582vy0xmlgjkxfb13xyzl2rgw19qfma86hxsvvi";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -137,10 +137,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1csxddyhl6k773ycxjvmyshyr4g9jb1icbs3pnm7crnavqs4h1yr";
+      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -790,15 +790,14 @@
     version = "3.1.2";
   };
   commonmarker = {
-    dependencies = ["ruby-enum"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vwpkmwfr8lx8b6cfvwh56f1ygyf2da5ah37mxbdr9mxmfwig5fr";
+      sha256 = "0sshs8mvjgk73sfz3bi9apq0p99kfj7n9bg1cyldl4yyy2z05prs";
       type = "gem";
     };
-    version = "0.21.0";
+    version = "0.23.2";
   };
   concurrent-ruby = {
     groups = ["default" "development" "test"];
@@ -1911,10 +1910,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k0jrimdg0pij75hndkrl28hqgvsnl7sdn5k6mjv3sjwbm1p217w";
+      sha256 = "197db842msm326ib8r3gqlavf5d11r4cd9jg4wjnyar3ccyr9dn7";
       type = "gem";
     };
-    version = "14.3.0.pre.rc1";
+    version = "14.3.0.pre.rc2";
   };
   github-markup = {
     groups = ["default"];
@@ -1976,10 +1975,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k5f3vyy2jqv3zdkdqal6sgn447zakz8xcc04432qd806s7g9i89";
+      sha256 = "1hi9v0zy863gnk17w0fp1ks2kr1s2z6q0bkx5wdbq6yawycjs94h";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.2.0";
   };
   gitlab-labkit = {
     dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "pg_query" "redis"];
@@ -2049,10 +2048,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0838p0vnyl65571d8j5hljwyfyhsnfs6dlj6di57gpmwrbl9sdpr";
+      sha256 = "0qkkwd2sj9l6nmvipd1308ni01m2n8ixqwl6syl493cm5am4qmlw";
       type = "gem";
     };
-    version = "0.5.6";
+    version = "0.8.0";
   };
   gitlab-styles = {
     dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-performance" "rubocop-rails" "rubocop-rspec"];
@@ -2093,10 +2092,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
+      sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm";
       type = "gem";
     };
-    version = "0.4.2";
+    version = "0.5.2";
   };
   gon = {
     dependencies = ["actionpack" "i18n" "multi_json" "request_store"];
@@ -2191,10 +2190,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sqk33djlyvkinj0vxblfcib86bk9dy0iq2c3j2yalxyrpns3kfr";
+      sha256 = "1zic5fx8s0424vdarhslmxdqmfnlfv3k4prfyxrrwvf9pdy1xvcs";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.10.0";
   };
   grape-path-helpers = {
     dependencies = ["activesupport" "grape" "rake" "ruby2_keywords"];
@@ -2832,10 +2831,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pianlrbf9n7jrqxpyxgsfk1j1d312d57d6gq7yxni6ax2q0293q";
+      sha256 = "0kgz2n0cyw3m8ipvijlikb6bldmzhnq451b9d7w5l74gw2fhqckg";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
   libyajl2 = {
     groups = ["default"];
@@ -3054,10 +3053,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
+      sha256 = "173dp4vqvx1sl6aq83daxwn5xvb5rn3jgynjmb91swl7gmgp17yl";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.1.1";
   };
   mini_portile2 = {
     groups = ["default" "development" "test"];
@@ -3302,10 +3301,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cbwp1kbv6b2qfxv8sarv0d0ilb257jihlvdqj8f5pdm0ksq1sgk";
+      sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v";
       type = "gem";
     };
-    version = "2.5.4";
+    version = "2.5.8";
   };
   no_proxy_fix = {
     groups = ["default" "development"];
@@ -3805,10 +3804,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12dibsqndfnckc24yryy8v467rxp7p80jx21jhm8z7swp8118jhx";
+      sha256 = "0cf1b97nznl6adkx25j2x96sq8xx2b4fpic230fx65k3vqqn8a4r";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.1.1";
   };
   plist = {
     groups = ["default"];
@@ -3927,10 +3926,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wyx2rz58lfys1h62h6inz7ggq8xckqyfxndk8jq2cbkkdi2n6d7";
+      sha256 = "1jn3f5d9h2kg3hc4q7nzxfian4bhs23hh8n6g6hm9nzxqqbh9448";
       type = "gem";
     };
-    version = "0.4.1";
+    version = "0.5.0";
   };
   public_suffix = {
     groups = ["default" "development" "test"];
@@ -4048,17 +4047,6 @@
     };
     version = "1.16.0";
   };
-  rack-protection = {
-    dependencies = ["rack"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15167q25rmxipqwi6hjqj3i1byi9iwl3xq9b7mdar7qiz39pmjsk";
-      type = "gem";
-    };
-    version = "2.0.5";
-  };
   rack-proxy = {
     dependencies = ["rack"];
     groups = ["default"];
@@ -4097,10 +4085,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0flnpli87b9j0zvb3c4l5addjbznbpkbmp1wzfjc1gh8qxlhcs1n";
+      sha256 = "1y59m2x8rdc581bjgyyr9dabi3vk3frqhhpbb5ldpbj622kxfpbz";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -4152,10 +4140,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17r1pr8d467vh3zkciw4wmrcixj9zjrvd11nxn2z091bkzf66xq2";
+      sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.4.1";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -4300,10 +4288,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j0p82yb2a0z2sv38jq9xdzs0kvbslpyfdxky9f3znpy3igxj6yh";
+      sha256 = "1ig832dp0xmpp6a934nifzaj7wm9lzjxzasw911fagycs8p6m720";
       type = "gem";
     };
-    version = "4.1.4";
+    version = "4.4.0";
   };
   redis-actionpack = {
     dependencies = ["actionpack" "redis-rack" "redis-store"];
@@ -4465,14 +4453,14 @@
     version = "6.2.0";
   };
   rouge = {
-    groups = ["default"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b4b300i3m4m4kw7w1n9wgxwy16zccnb7271miksyzd0wq5b9pm3";
+      sha256 = "197k0vskf72wxx0gzwld2jzg27bb7982xlvnzy9adlvkzp7nh8vf";
       type = "gem";
     };
-    version = "3.26.0";
+    version = "3.26.1";
   };
   rqrcode = {
     dependencies = ["chunky_png"];
@@ -4671,17 +4659,6 @@
     };
     version = "1.44.1";
   };
-  ruby-enum = {
-    dependencies = ["i18n"];
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0d3dyx2z41zd6va9dwn3q8caf710vzdaf57xspc0y17aqmnprwnw";
-      type = "gem";
-    };
-    version = "0.8.0";
-  };
   ruby-fogbugz = {
     dependencies = ["crack"];
     groups = ["default"];
@@ -5008,15 +4985,15 @@
     version = "4.0.1";
   };
   sidekiq = {
-    dependencies = ["connection_pool" "rack" "rack-protection" "redis"];
+    dependencies = ["connection_pool" "rack" "redis"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kw4z9mr8h1rddx6f81gf7glw9pf90w0kvgc2fx4g9hspgh9xh7y";
+      sha256 = "104a97cl94aclg71ngrr097zjbdf6cibnz4q3rqjb88izmd7cfk6";
       type = "gem";
     };
-    version = "5.2.9";
+    version = "6.2.2";
   };
   sidekiq-cron = {
     dependencies = ["fugit" "sidekiq"];
@@ -5351,10 +5328,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pdb0szrj4mbczhlx2inszpj54rgnayvy2f2fff4q7jll2iz61i0";
+      sha256 = "1vg0zjfgibdcgkzb4c25v0f4v6v8mvpzvgcag194rwglmkkyrwkx";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "1.0.7";
   };
   test_file_finder = {
     dependencies = ["faraday"];
@@ -5824,10 +5801,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i3rs4kcj0jba8idxla3s6xd1xfln3k8b4cb1dik2lda3ifnp3dh";
+      sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
       type = "gem";
     };
-    version = "0.7.3";
+    version = "0.7.5";
   };
   websocket-extensions = {
     groups = ["default" "test"];
diff --git a/pkgs/applications/video/ustreamer/default.nix b/pkgs/applications/video/ustreamer/default.nix
index 933747f3989..580c10da1d5 100644
--- a/pkgs/applications/video/ustreamer/default.nix
+++ b/pkgs/applications/video/ustreamer/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ustreamer";
-  version = "3.27";
+  version = "4.6";
 
   src = fetchFromGitHub {
     owner = "pikvm";
     repo = "ustreamer";
     rev = "v${version}";
-    sha256 = "1max2171abdpix0wq7mdkji5lvkfzisj166qfgmqkkwc2nh721iw";
+    sha256 = "sha256-FBgnE9EKZf3aYrGNf9cday9r4Q7Ztu7g+0LnFKAhvrI=";
   };
 
   buildInputs = [ libbsd libevent libjpeg ];
diff --git a/pkgs/build-support/node/fetch-yarn-deps/default.nix b/pkgs/build-support/node/fetch-yarn-deps/default.nix
index 91aae055f6a..6d67b87915a 100644
--- a/pkgs/build-support/node/fetch-yarn-deps/default.nix
+++ b/pkgs/build-support/node/fetch-yarn-deps/default.nix
@@ -49,7 +49,7 @@ in {
       hash_ =
         if hash != "" then { outputHashAlgo = null; outputHash = hash; }
         else if sha256 != "" then { outputHashAlgo = "sha256"; outputHash = sha256; }
-        else throw "fetchYarnDeps requires a hash";
+        else { outputHashAlgo = "sha256"; outputHash = lib.fakeSha256; };
     in stdenv.mkDerivation {
       inherit name;
 
diff --git a/pkgs/build-support/node/fetch-yarn-deps/index.js b/pkgs/build-support/node/fetch-yarn-deps/index.js
index a9c5ab29cce..e728ad89e1c 100755
--- a/pkgs/build-support/node/fetch-yarn-deps/index.js
+++ b/pkgs/build-support/node/fetch-yarn-deps/index.js
@@ -18,6 +18,20 @@ const exec = async (...args) => {
 	return res
 }
 
+// This has to match the logic in pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/urlToName.js
+// so that fixup_yarn_lock produces the same paths
+const urlToName = url => {
+  const isCodeloadGitTarballUrl = url.startsWith('https://codeload.github.com/') && url.includes('/tar.gz/')
+
+  if (url.startsWith('git+') || isCodeloadGitTarballUrl) {
+    return path.basename(url)
+  } else {
+    return url
+      .replace(/https:\/\/(.)*(.com)\//g, '') // prevents having long directory names
+      .replace(/[@/%:-]/g, '_') // replace @ and : and - and % characters with underscore
+  }
+}
+
 const downloadFileHttps = (fileName, url, expectedHash) => {
 	return new Promise((resolve, reject) => {
 		https.get(url, (res) => {
@@ -61,19 +75,18 @@ const downloadGit = async (fileName, url, rev) => {
 const downloadPkg = (pkg, verbose) => {
 	const [ url, hash ] = pkg.resolved.split('#')
 	if (verbose) console.log('downloading ' + url)
+	const fileName = urlToName(url)
 	if (url.startsWith('https://codeload.github.com/') && url.includes('/tar.gz/')) {
-		const fileName = path.basename(url)
 		const s = url.split('/')
 		downloadGit(fileName, `https://github.com/${s[3]}/${s[4]}.git`, s[6])
 	} else if (url.startsWith('https://')) {
-		const fileName = url
-			.replace(/https:\/\/(.)*(.com)\//g, '') // prevents having long directory names
-			.replace(/[@/%:-]/g, '_') // replace @ and : and - and % characters with underscore
-
 		return downloadFileHttps(fileName, url, hash)
+	} else if (url.startsWith('git:')) {
+		return downloadGit(fileName, url.replace(/^git\+/, ''), hash)
 	} else if (url.startsWith('git+')) {
-		const fileName = path.basename(url)
 		return downloadGit(fileName, url.replace(/^git\+/, ''), hash)
+	} else if (url.startsWith('file:')) {
+		console.warn(`ignoring unsupported file:path url "${url}"`)
 	} else {
 		throw new Error('don\'t know how to download "' + url + '"')
 	}
diff --git a/pkgs/data/documentation/execline-man-pages/default.nix b/pkgs/data/documentation/execline-man-pages/default.nix
index 0b1cb34bb3b..1e4a34cba88 100644
--- a/pkgs/data/documentation/execline-man-pages/default.nix
+++ b/pkgs/data/documentation/execline-man-pages/default.nix
@@ -2,8 +2,8 @@
 
 buildManPages {
   pname = "execline-man-pages";
-  version = "2.8.1.0.1";
-  sha256 = "0d3lzxy7wv91q3nr6bw1wfmrfj285i15wmj4c8v9k9pxjg42iwwx";
+  version = "2.8.1.0.2";
+  sha256 = "1fl3pyjh9328l1h2b6s08j048jl4pfyyc24mjs45qx545kcp65q4";
   description = "Port of the documentation for the execline suite to mdoc";
   maintainers = [ lib.maintainers.sternenseemann ];
 }
diff --git a/pkgs/data/documentation/s6-man-pages/default.nix b/pkgs/data/documentation/s6-man-pages/default.nix
index 583f1ff99fe..d38df8cf037 100644
--- a/pkgs/data/documentation/s6-man-pages/default.nix
+++ b/pkgs/data/documentation/s6-man-pages/default.nix
@@ -2,8 +2,8 @@
 
 buildManPages {
   pname = "s6-man-pages";
-  version = "2.11.0.0.1";
-  sha256 = "00nxlpdf0kkdadyv84vj5w66y926pccqls8prkbip3zmcmnqgghs";
+  version = "2.11.0.0.2";
+  sha256 = "1ddab4l4wwrg2jdcrdqp1rx8dzbzbdsvx4mzayraxva4q97d1g9r";
   description = "Port of the documentation for the s6 supervision suite to mdoc";
   maintainers = [ lib.maintainers.sternenseemann ];
 }
diff --git a/pkgs/data/documentation/s6-networking-man-pages/default.nix b/pkgs/data/documentation/s6-networking-man-pages/default.nix
index 453125cc682..769f34348b1 100644
--- a/pkgs/data/documentation/s6-networking-man-pages/default.nix
+++ b/pkgs/data/documentation/s6-networking-man-pages/default.nix
@@ -2,8 +2,8 @@
 
 buildManPages {
   pname = "s6-networking-man-pages";
-  version = "2.5.0.0.1";
-  sha256 = "02xvyby23b2x30jxd4nw9c5629j4hdaxq9sph3qhajlhl53yiyf2";
+  version = "2.5.0.0.2";
+  sha256 = "1ix8qrivp9prw0m401d7s9vkxhw16a4sxfhrs7abf9qqhs2zkd1r";
   description = "Port of the documentation for the s6-networking suite to mdoc";
   maintainers = [ lib.maintainers.sternenseemann ];
 }
diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix
index c8526c48988..b7a59907b48 100644
--- a/pkgs/desktops/pantheon/apps/appcenter/default.nix
+++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -39,15 +39,6 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-d7DGyAC8itBxTfuabDPN16W4S4d42s5UPp8AusZfy5k=";
   };
 
-  patches = [
-    # Try to remove other backends to make flatpak backend work.
-    # https://github.com/NixOS/nixpkgs/issues/70214
-    ./flatpak-only.patch
-    # The homepage banner does not show up on first run,
-    # has issues with app icon and mouse scrolling.
-    ./drop-homepage-banner.patch
-  ];
-
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
diff --git a/pkgs/desktops/pantheon/apps/appcenter/drop-homepage-banner.patch b/pkgs/desktops/pantheon/apps/appcenter/drop-homepage-banner.patch
deleted file mode 100644
index 4841a7b3ee6..00000000000
--- a/pkgs/desktops/pantheon/apps/appcenter/drop-homepage-banner.patch
+++ /dev/null
@@ -1,234 +0,0 @@
-From c1916699cd388cc8d9968127e43ba955471623bf Mon Sep 17 00:00:00 2001
-From: Bobby Rong <rjl931189261@126.com>
-Date: Wed, 27 Oct 2021 09:33:15 +0800
-Subject: [PATCH 2/2] Drop homepage banner
-
----
- src/Views/Homepage.vala | 181 +---------------------------------------
- 1 file changed, 1 insertion(+), 180 deletions(-)
-
-diff --git a/src/Views/Homepage.vala b/src/Views/Homepage.vala
-index 52cb36cc..80a1d221 100644
---- a/src/Views/Homepage.vala
-+++ b/src/Views/Homepage.vala
-@@ -31,67 +31,12 @@ public class AppCenter.Homepage : AbstractView {
-     public bool viewing_package { get; private set; default = false; }
- 
-     public AppStream.Category currently_viewed_category;
--    private Hdy.Carousel banner_carousel;
--    private Gtk.Revealer banner_revealer;
--    private Gtk.FlowBox recently_updated_carousel;
--    private Gtk.Revealer recently_updated_revealer;
--
--    private uint banner_timeout_id;
- 
-     construct {
--        banner_carousel = new Hdy.Carousel () {
--            allow_long_swipes = true
--        };
--
--        var banner_event_box = new Gtk.EventBox ();
--        banner_event_box.events |= Gdk.EventMask.ENTER_NOTIFY_MASK;
--        banner_event_box.events |= Gdk.EventMask.LEAVE_NOTIFY_MASK;
--        banner_event_box.add (banner_carousel);
--
--        var banner_dots = new Hdy.CarouselIndicatorDots () {
--            carousel = banner_carousel
--        };
--
--        var banner_grid = new Gtk.Grid () {
--            orientation = Gtk.Orientation.VERTICAL
--        };
--        banner_grid.add (banner_event_box);
--        banner_grid.add (banner_dots);
--
--        banner_revealer = new Gtk.Revealer ();
--        banner_revealer.add (banner_grid);
--
--        var recently_updated_label = new Granite.HeaderLabel (_("Recently Updated")) {
--            margin_start = 12
--        };
--
--        recently_updated_carousel = new Gtk.FlowBox () {
--            activate_on_single_click = true,
--            column_spacing = 12,
--            row_spacing = 12,
--            homogeneous = true,
--            max_children_per_line = 5,
--            min_children_per_line = 3
--        };
--
--        var recently_updated_grid = new Gtk.Grid () {
--            margin_end = 12,
--            margin_start = 12
--        };
--        recently_updated_grid.attach (recently_updated_label, 0, 0);
--        recently_updated_grid.attach (recently_updated_carousel, 0, 1);
--
--        recently_updated_revealer = new Gtk.Revealer ();
--        recently_updated_revealer.add (recently_updated_grid );
--
--        var categories_label = new Granite.HeaderLabel (_("Categories")) {
--            margin_start = 24,
--            margin_top = 24
--        };
--
-         category_flow = new Widgets.CategoryFlowBox () {
-             margin_start = 12,
-             margin_end =12,
-+            margin_top = 12,
-             valign = Gtk.Align.START
-         };
- 
-@@ -99,9 +44,6 @@ public class AppCenter.Homepage : AbstractView {
-             column_spacing = 24,
-             orientation = Gtk.Orientation.VERTICAL
-         };
--        grid.add (banner_revealer);
--        grid.add (recently_updated_revealer);
--        grid.add (categories_label);
-         grid.add (category_flow);
- 
-         scrolled_window = new Gtk.ScrolledWindow (null, null) {
-@@ -111,19 +53,6 @@ public class AppCenter.Homepage : AbstractView {
- 
-         add (scrolled_window);
- 
--        var local_package = App.local_package;
--        if (local_package != null) {
--            var banner = new Widgets.Banner (local_package);
--
--            banner_carousel.prepend (banner);
--
--            banner.clicked.connect (() => {
--                show_package (local_package);
--            });
--        }
--
--        load_banners_and_carousels.begin ();
--
-         category_flow.child_activated.connect ((child) => {
-             var item = child as Widgets.CategoryItem;
-             if (item != null) {
-@@ -159,94 +88,8 @@ public class AppCenter.Homepage : AbstractView {
-                         }
-                     }
-                 }
--
--                return GLib.Source.REMOVE;
-             });
-         });
--
--        banner_event_box.enter_notify_event.connect (() => {
--            banner_timeout_stop ();
--        });
--
--        banner_event_box.leave_notify_event.connect (() => {
--            banner_timeout_start ();
--        });
--
--        recently_updated_carousel.child_activated.connect ((child) => {
--            var package_row_grid = (AppCenter.Widgets.ListPackageRowGrid) child.get_child ();
--
--            show_package (package_row_grid.package);
--        });
--    }
--
--    private async void load_banners_and_carousels () {
--        unowned var fp_client = AppCenterCore.FlatpakBackend.get_default ();
--        var packages_by_release_date = fp_client.get_featured_packages_by_release_date ();
--        var packages_in_banner = new Gee.LinkedList<AppCenterCore.Package> ();
--
--        int package_count = 0;
--        foreach (var package in packages_by_release_date) {
--            if (package_count >= MAX_PACKAGES_IN_BANNER) {
--                break;
--            }
--
--            var installed = false;
--            foreach (var origin_package in package.origin_packages) {
--                try {
--                    if (yield origin_package.backend.is_package_installed (origin_package)) {
--                        installed = true;
--                        break;
--                    }
--                } catch (Error e) {
--                    continue;
--                }
--            }
--
--            if (!installed) {
--                packages_in_banner.add (package);
--                package_count++;
--            }
--        }
--
--        foreach (var package in packages_in_banner) {
--            var banner = new Widgets.Banner (package);
--            banner.clicked.connect (() => {
--                show_package (package);
--            });
--
--            banner_carousel.add (banner);
--        }
--
--        banner_carousel.show_all ();
--        banner_revealer.reveal_child = true;
--        banner_timeout_start ();
--
--        foreach (var package in packages_by_release_date) {
--            if (recently_updated_carousel.get_children ().length () >= MAX_PACKAGES_IN_CAROUSEL) {
--                break;
--            }
--
--            var installed = false;
--            foreach (var origin_package in package.origin_packages) {
--                try {
--                    if (yield origin_package.backend.is_package_installed (origin_package)) {
--                        installed = true;
--                        break;
--                    }
--                } catch (Error e) {
--                    continue;
--                }
--            }
--
--            if (!installed && !(package in packages_in_banner)) {
--                var package_row = new AppCenter.Widgets.ListPackageRowGrid (package);
--                recently_updated_carousel.add (package_row);
--            }
--        }
--        recently_updated_carousel.show_all ();
--        recently_updated_revealer.reveal_child = recently_updated_carousel.get_children ().length () > 0;
--
--        page_loaded ();
-     }
- 
-     public override void show_package (
-@@ -307,26 +150,4 @@ public class AppCenter.Homepage : AbstractView {
-         var apps = client.get_applications_for_category (category);
-         app_list_view.add_packages (apps);
-     }
--
--    private void banner_timeout_start () {
--        banner_timeout_id = Timeout.add (MILLISECONDS_BETWEEN_BANNER_ITEMS, () => {
--            var new_index = (uint) banner_carousel.position + 1;
--            var max_index = banner_carousel.n_pages - 1; // 0-based index
--
--            if (banner_carousel.position >= max_index) {
--                new_index = 0;
--            }
--
--            banner_carousel.switch_child (new_index, Granite.TRANSITION_DURATION_OPEN);
--
--            return Source.CONTINUE;
--        });
--    }
--
--    private void banner_timeout_stop () {
--        if (banner_timeout_id != 0) {
--            Source.remove (banner_timeout_id);
--            banner_timeout_id = 0;
--        }
--    }
- }
diff --git a/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch b/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch
deleted file mode 100644
index aa8cde89616..00000000000
--- a/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 5d3f20b49a89b55e39339a0f90ae7f846356b0e1 Mon Sep 17 00:00:00 2001
-From: Bobby Rong <rjl931189261@126.com>
-Date: Wed, 22 Sep 2021 11:54:24 +0800
-Subject: [PATCH 1/2] Drop PackageKitBackend and UbuntuDriversBackend
-
----
- src/Application.vala            | 14 ---------
- src/Core/BackendAggregator.vala |  2 --
- src/Core/UpdateManager.vala     | 56 ---------------------------------
- src/MainWindow.vala             | 17 ----------
- 4 files changed, 89 deletions(-)
-
-diff --git a/src/Application.vala b/src/Application.vala
-index 65fae5aa..9d42b14f 100644
---- a/src/Application.vala
-+++ b/src/Application.vala
-@@ -167,10 +167,6 @@ public class AppCenter.App : Gtk.Application {
- 
-         var client = AppCenterCore.Client.get_default ();
- 
--        if (fake_update_packages != null) {
--            AppCenterCore.PackageKitBackend.get_default ().fake_packages = fake_update_packages;
--        }
--
-         if (silent) {
-             NetworkMonitor.get_default ().network_changed.connect ((available) => {
-                 schedule_cache_update (!available);
-@@ -183,16 +179,6 @@ public class AppCenter.App : Gtk.Application {
-             return;
-         }
- 
--        if (local_path != null) {
--            var file = File.new_for_commandline_arg (local_path);
--
--            try {
--                local_package = AppCenterCore.PackageKitBackend.get_default ().add_local_component_file (file);
--            } catch (Error e) {
--                warning ("Failed to load local AppStream XML file: %s", e.message);
--            }
--        }
--
-         if (main_window == null) {
-             main_window = new MainWindow (this);
- 
-diff --git a/src/Core/BackendAggregator.vala b/src/Core/BackendAggregator.vala
-index 2f8bdedf..b705ca87 100644
---- a/src/Core/BackendAggregator.vala
-+++ b/src/Core/BackendAggregator.vala
-@@ -26,8 +26,6 @@ public class AppCenterCore.BackendAggregator : Backend, Object {
- 
-     construct {
-         backends = new Gee.ArrayList<unowned Backend> ();
--        backends.add (PackageKitBackend.get_default ());
--        backends.add (UbuntuDriversBackend.get_default ());
-         backends.add (FlatpakBackend.get_default ());
- 
-         unowned Gtk.Application app = (Gtk.Application) GLib.Application.get_default ();
-diff --git a/src/Core/UpdateManager.vala b/src/Core/UpdateManager.vala
-index 29fa397a..ce42dd57 100644
---- a/src/Core/UpdateManager.vala
-+++ b/src/Core/UpdateManager.vala
-@@ -53,42 +53,9 @@ public class AppCenterCore.UpdateManager : Object {
-             installed_package.update_state ();
-         }
- 
--        Pk.Results pk_updates;
--        unowned PackageKitBackend client = PackageKitBackend.get_default ();
--        try {
--            pk_updates = yield client.get_updates (cancellable);
--        } catch (Error e) {
--            warning ("Unable to get updates from PackageKit backend: %s", e.message);
--            return 0;
--        }
--
-         uint os_count = 0;
-         string os_desc = "";
- 
--        var package_array = pk_updates.get_package_array ();
--        debug ("PackageKit backend reports %d updates", package_array.length);
--
--        package_array.foreach ((pk_package) => {
--            var pkg_name = pk_package.get_name ();
--            var appcenter_package = client.lookup_package_by_id (pkg_name);
--            if (appcenter_package != null) {
--                debug ("Added %s to app updates", pkg_name);
--                apps_with_updates.add (appcenter_package);
--                appcenter_package.latest_version = pk_package.get_version ();
--            } else {
--                debug ("Added %s to OS updates", pkg_name);
--                os_count++;
--                unowned string pkg_summary = pk_package.get_summary ();
--                unowned string pkg_version = pk_package.get_version ();
--                os_desc += Markup.printf_escaped (
--                    "<li>%s\n\t%s\n\t%s</li>\n",
--                    pkg_name,
--                    pkg_summary,
--                    _("Version: %s").printf (pkg_version)
--                );
--            }
--        });
--
-         os_updates.component.set_pkgnames ({});
-         os_updates.change_information.clear_update_info ();
- 
-@@ -160,29 +127,6 @@ public class AppCenterCore.UpdateManager : Object {
-             count += 1;
-         }
- 
--        pk_updates.get_details_array ().foreach ((pk_detail) => {
--            var pk_package = new Pk.Package ();
--            try {
--                pk_package.set_id (pk_detail.get_package_id ());
--                var pkg_name = pk_package.get_name ();
--                var appcenter_package = client.lookup_package_by_id (pkg_name);
--                    if (appcenter_package != null) {
--                        appcenter_package.change_information.updatable_packages.@set (client, pk_package.get_id ());
--                        appcenter_package.change_information.size += pk_detail.size;
--                        appcenter_package.update_state ();
--                    } else {
--                        var pkgnames = os_updates.component.pkgnames;
--                        pkgnames += pkg_name;
--                        os_updates.component.pkgnames = pkgnames;
--
--                        os_updates.change_information.updatable_packages.@set (client, pk_package.get_id ());
--                        os_updates.change_information.size += pk_detail.size;
--                    }
--            } catch (Error e) {
--                critical (e.message);
--            }
--        });
--
-         os_updates.update_state ();
-         return count;
-     }
-diff --git a/src/MainWindow.vala b/src/MainWindow.vala
-index a32ce47b..b9f8594a 100644
---- a/src/MainWindow.vala
-+++ b/src/MainWindow.vala
-@@ -292,23 +292,6 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow {
-     }
- 
-     public override bool delete_event (Gdk.EventAny event) {
--        unowned AppCenterCore.PackageKitBackend client = AppCenterCore.PackageKitBackend.get_default ();
--        if (client.working) {
--            if (task_finished_connection != 0U) {
--                client.disconnect (task_finished_connection);
--            }
--
--            hide ();
--            task_finished_connection = client.notify["working"].connect (() => {
--                if (!visible && !client.working) {
--                    destroy ();
--                }
--            });
--
--            AppCenterCore.Client.get_default ().cancel_updates (false); //Timeouts keep running
--            return true;
--        }
--
-         return false;
-     }
- 
diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
index 743ed40d6dc..5562eb3e77d 100644
--- a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -26,7 +25,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-mail";
-  version = "6.2.0";
+  version = "6.3.0";
 
   repoName = "mail";
 
@@ -34,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1ab620zhwqqjq1bs1alvpcw9jmdxjij0ywczvwbg8gqvcsc80lkn";
+    sha256 = "sha256-lIVAMTtRrzJI5Qcd6y24ZmtzFWeTSbcKiEhG8hLC+PM=";
   };
 
   passthru = {
@@ -43,12 +42,6 @@ stdenv.mkDerivation rec {
     };
   };
 
-  patches = [
-    # The app stuck when loading gravatar, temporarily reverts part
-    # of https://github.com/elementary/mail/pull/600 to fix this
-    ./revert-fix-warning.patch
-  ];
-
   nativeBuildInputs = [
     appstream
     desktop-file-utils
diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch b/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch
deleted file mode 100644
index 85534aaf4c6..00000000000
--- a/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 9e61e9493e78b83b9599886561ee596c096030ed Mon Sep 17 00:00:00 2001
-From: Bobby Rong <rjl931189261@126.com>
-Date: Thu, 29 Jul 2021 13:57:21 +0800
-Subject: [PATCH] Partly revert "Fix Warnings in Vala Code (#600)"
-
-This partly reverts commit 9477c24201d3c9c3c7bcc650e0290daa0ee1ab21.
----
- src/MessageList/MessageListItem.vala | 27 ++++++++++++++++++++++++++-
- 1 file changed, 26 insertions(+), 1 deletion(-)
-
-diff --git a/src/MessageList/MessageListItem.vala b/src/MessageList/MessageListItem.vala
-index 96b61027..a7ef8f9e 100644
---- a/src/MessageList/MessageListItem.vala
-+++ b/src/MessageList/MessageListItem.vala
-@@ -290,7 +290,7 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
-         expanded = false;
-         show_all ();
- 
--        avatar.set_loadable_icon (new GravatarIcon (parsed_address, get_style_context ().get_scale ()));
-+        download_gravatar.begin (parsed_address, avatar.size);
- 
-         /* Override default handler to stop event propagation. Otherwise clicking the menu will
-            expand or collapse the MessageListItem. */
-@@ -348,6 +348,31 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
-         });
-     }
- 
-+    private async void download_gravatar (string address, int size) {
-+        if (avatars[address] == null) {
-+            var uri = "https://secure.gravatar.com/avatar/%s?d=404&s=%d".printf (
-+                Checksum.compute_for_string (ChecksumType.MD5, address.strip ().down ()),
-+                size * get_style_context ().get_scale ()
-+            );
-+
-+            var server_file = File.new_for_uri (uri);
-+            var path = Path.build_filename (Environment.get_tmp_dir (), server_file.get_basename ());
-+            var local_file = File.new_for_path (path);
-+
-+            try {
-+                yield server_file.copy_async (local_file, FileCopyFlags.OVERWRITE, Priority.DEFAULT, null);
-+                avatars[address] = new Gdk.Pixbuf.from_file_at_scale (path, size, size, true);
-+            } catch (Error e) {
-+                debug ("Unable to fetch gravatar: %s", e.message);
-+                return;
-+            }
-+        }
-+
-+        avatar.set_image_load_func (() => {
-+            return avatars[address];
-+        });
-+    }
-+
-     private void add_inline_composer (ComposerWidget.Type composer_type) {
-         var message_list_box = (MessageListBox) get_parent ();
-         message_list_box.add_inline_composer.begin (composer_type, this);
diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix
index 4eb574d69f2..3dc2173e5ac 100644
--- a/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-screenshot";
-  version = "6.0.0";
+  version = "6.0.1";
 
   repoName = "screenshot";
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1fvsl9zdkv7bgx3jpy7pr9lflm4ckr3swdby379mdxn2x6kxji0x";
+    sha256 = "sha256-MDmk+0IUCe6PSV5QOjjDRedv7X3lcBJ04jn9cE9DP3M=";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index c1144dd4ecd..f196ba970bd 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -15,6 +15,7 @@
 , switchboard
 , fwupd
 , appstream
+, nixos-artwork
 }:
 
 stdenv.mkDerivation rec {
@@ -53,9 +54,11 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
-    # The NixOS logo is not centered in the circular background and path
-    # to the background is hardcoded, we will drop the background.
-    ./remove-logo-background.patch
+    # Use NixOS's default wallpaper
+    (substituteAll {
+      src = ./fix-background-path.patch;
+      default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}";
+    })
   ];
 
   meta = with lib; {
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-background-path.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-background-path.patch
new file mode 100644
index 00000000000..6fea8869133
--- /dev/null
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-background-path.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Views/OperatingSystemView.vala b/src/Views/OperatingSystemView.vala
+index fdb92e7e..4161538e 100644
+--- a/src/Views/OperatingSystemView.vala
++++ b/src/Views/OperatingSystemView.vala
+@@ -47,7 +47,7 @@ public class About.OperatingSystemView : Gtk.Grid {
+         };
+         logo.set_image_load_func ((size) => {
+             try {
+-                return new Gdk.Pixbuf.from_file_at_scale ("/usr/share/backgrounds/elementaryos-default", -1, size, true);
++                return new Gdk.Pixbuf.from_file_at_scale ("@default_wallpaper@", -1, size, true);
+             } catch (Error e) {
+                 critical (e.message);
+             }
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch
deleted file mode 100644
index bc7805a22c4..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/src/Views/OperatingSystemView.vala b/src/Views/OperatingSystemView.vala
-index fdb92e7..87bb3a4 100644
---- a/src/Views/OperatingSystemView.vala
-+++ b/src/Views/OperatingSystemView.vala
-@@ -39,21 +39,6 @@ public class About.OperatingSystemView : Gtk.Grid {
-             logo_icon_name = "distributor-logo";
-         }
- 
--        var logo = new Hdy.Avatar (128, "", false) {
--            // In case the wallpaper can't be loaded, we don't want an icon or text
--            icon_name = "invalid-icon-name",
--            // We need this for the shadow to not get clipped by Gtk.Overlay
--            margin = 6
--        };
--        logo.set_image_load_func ((size) => {
--            try {
--                return new Gdk.Pixbuf.from_file_at_scale ("/usr/share/backgrounds/elementaryos-default", -1, size, true);
--            } catch (Error e) {
--                critical (e.message);
--            }
--        });
--        logo.get_style_context ().add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
--
-         var icon = new Gtk.Image () {
-             icon_name = logo_icon_name + "-symbolic",
-             // 128 minus 3px padding on each side
-@@ -65,8 +50,7 @@ public class About.OperatingSystemView : Gtk.Grid {
-         icon_style_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
- 
-         var logo_overlay = new Gtk.Overlay ();
--        logo_overlay.add (logo);
--        logo_overlay.add_overlay (icon);
-+        logo_overlay.add (icon);
- 
-         // Intentionally not using GLib.OsInfoKey.PRETTY_NAME here because we
-         // want more granular control over text formatting
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
index 0fbb1eb81e7..8e6cbf08063 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
@@ -7,6 +7,7 @@
 , pkg-config
 , vala
 , libgee
+, libhandy
 , granite
 , gtk3
 , switchboard
@@ -14,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-display";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1dqd34v124y71nnk0l617a53x652m0sb7b58465imr6ppyhx4vsv";
+    sha256 = "sha256-3sYZCazGnTjIi3Iry5673TMI13sD0GuY+46AK+NJH70=";
   };
 
   passthru = {
@@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    libhandy
     switchboard
   ];
 
diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index 1751636da00..f302fd99402 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , meson
@@ -26,11 +28,14 @@ stdenv.mkDerivation rec {
     sha256 = "0gqnrm968j4v699yhhiyw5fqjy4zbvvrjci2v1jrlycn09c2yrwf";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
+  patches = [
+    # Update gtk-theme-name and gtk-font-name for Pantheon 6
+    # https://github.com/elementary/default-settings/pull/252
+    (fetchpatch {
+      url = "https://github.com/elementary/default-settings/commit/be24c151492bb9115c75bd1a7abc88714240294a.patch";
+      sha256 = "sha256-EglFiN4CLbL8osfNGLvjD220Al35uBXuRNC9Ud3QYBI=";
+    })
+  ];
 
   nativeBuildInputs = [
     accountsservice
@@ -80,6 +85,12 @@ stdenv.mkDerivation rec {
     rm -rf $out/share/applications
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta = with lib; {
     description = "Default settings and configuration files for elementary";
     homepage = "https://github.com/elementary/default-settings";
diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix
index db757b1aa4a..d0aa4885042 100644
--- a/pkgs/desktops/pantheon/desktop/gala/default.nix
+++ b/pkgs/desktops/pantheon/desktop/gala/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pantheon
 , pkg-config
@@ -38,11 +40,16 @@ stdenv.mkDerivation rec {
     sha256 = "1phnhj731kvk8ykmm33ypcxk8fkfny9k6kdapl582qh4d47wcy6f";
   };
 
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = "pantheon.${pname}";
-    };
-  };
+  patches = [
+    ./plugins-dir.patch
+    # Multitasking view: Don't use smooth scroll events to handle mouse wheel
+    # Avoid breaking the multitasking view scroll once xf86-input-libinput 1.2.0 lands
+    # https://github.com/elementary/gala/pull/1266
+    (fetchpatch {
+      url = "https://github.com/elementary/gala/commit/d2dcfdefdf97c1b49654179a7acd01ebfe017308.patch";
+      sha256 = "sha256-2lKrCz3fSjrfKfysuUHzeUjhmMm84K47n882CLpfAyg=";
+    })
+  ];
 
   nativeBuildInputs = [
     desktop-file-utils
@@ -73,15 +80,17 @@ stdenv.mkDerivation rec {
     mutter
   ];
 
-  patches = [
-    ./plugins-dir.patch
-  ];
-
   postPatch = ''
     chmod +x build-aux/meson/post_install.py
     patchShebangs build-aux/meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.${pname}";
+    };
+  };
+
   meta =  with lib; {
     description = "A window & compositing manager based on mutter and designed by elementary for use with Pantheon";
     homepage = "https://github.com/elementary/gala";
diff --git a/pkgs/desktops/plasma-5/breeze-gtk.nix b/pkgs/desktops/plasma-5/breeze-gtk.nix
index 1be3fe1c309..bff3546aa33 100644
--- a/pkgs/desktops/plasma-5/breeze-gtk.nix
+++ b/pkgs/desktops/plasma-5/breeze-gtk.nix
@@ -6,6 +6,9 @@ mkDerivation {
   name = "breeze-gtk";
   nativeBuildInputs = [ extra-cmake-modules sassc python3 python3.pkgs.pycairo breeze-qt5 ];
   buildInputs = [ qtbase ];
+  patches = [
+    ./patches/0001-fix-add-executable-bit.patch
+  ];
   postPatch = ''
     sed -i cmake/FindGTKEngine.cmake \
       -e "s|\''${KDE_INSTALL_FULL_LIBDIR}|${getLib gtk2}/lib|"
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index 5e9e799e2e7..b69eba34b15 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.22.5/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.23.1/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/kwayland-integration.nix b/pkgs/desktops/plasma-5/kwayland-integration.nix
index f886a87feb5..02e963ba904 100644
--- a/pkgs/desktops/plasma-5/kwayland-integration.nix
+++ b/pkgs/desktops/plasma-5/kwayland-integration.nix
@@ -2,10 +2,11 @@
   mkDerivation, lib,
   extra-cmake-modules,
   kguiaddons, kidletime, kwayland, kwindowsystem, qtbase,
+  wayland-protocols, wayland-scanner, wayland
 }:
 
 mkDerivation {
   name = "kwayland-integration";
-  nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase ];
+  nativeBuildInputs = [ extra-cmake-modules wayland-scanner ];
+  buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase wayland-protocols wayland ];
 }
diff --git a/pkgs/desktops/plasma-5/kwin/default.nix b/pkgs/desktops/plasma-5/kwin/default.nix
index c650f4ef83d..87b435c2f37 100644
--- a/pkgs/desktops/plasma-5/kwin/default.nix
+++ b/pkgs/desktops/plasma-5/kwin/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, fetchpatch,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
 
   epoxy, lcms2, libICE, libSM, libcap, libdrm, libinput, libxkbcommon, mesa,
@@ -40,18 +40,6 @@ mkDerivation {
     ./0002-xwayland.patch
     ./0003-plugins-qpa-allow-using-nixos-wrapper.patch
     ./0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
-    # Fix build against libglvnd 1.3.4+
-    # Remove with release 5.22.90
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma/kwin/-/commit/839710201c389b7f4ed248cb3818e755a37ce977.patch";
-      sha256 = "09rldhy0sbmqdfpyjzwm20cwnmrmj0w2751vyi5xlr414g0rzyc1";
-    })
-    # Fixup previous patch for i686
-    # Remove with release 5.22.90
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma/kwin/-/commit/38e24ecd6416a975db0989c21b70d6a4cc242f35.patch";
-      sha256 = "0zsjmzswcnvfd2jm1c8i9aijpbap1141mjv6y4j282bplyqlp966";
-    })
   ];
   CXXFLAGS = [
     ''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
diff --git a/pkgs/desktops/plasma-5/libkscreen/default.nix b/pkgs/desktops/plasma-5/libkscreen/default.nix
index 5cd9ae94308..ae623a80d7d 100644
--- a/pkgs/desktops/plasma-5/libkscreen/default.nix
+++ b/pkgs/desktops/plasma-5/libkscreen/default.nix
@@ -1,13 +1,16 @@
 {
   mkDerivation, lib, propagate,
   extra-cmake-modules,
-  kwayland, libXrandr, qtbase, qtx11extras
+  qtbase,
+  wayland-scanner, kwayland,
+  plasma-wayland-protocols, wayland,
+  libXrandr, qtx11extras
 }:
 
 mkDerivation {
   name = "libkscreen";
-  nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ kwayland libXrandr qtx11extras ];
+  nativeBuildInputs = [ extra-cmake-modules wayland-scanner ];
+  buildInputs = [ kwayland plasma-wayland-protocols wayland libXrandr qtx11extras ];
   outputs = [ "out" "dev" ];
   patches = [
     ./libkscreen-backends-path.patch
diff --git a/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch
index fbbb11ae755..cda82e08442 100644
--- a/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch
+++ b/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch
@@ -13,8 +13,9 @@ index efed8ff..841761a 100644
 +++ b/processui/scripting.cpp
 @@ -167,7 +167,7 @@ void Scripting::loadContextMenu() {
      QStringList scripts;
-     const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "ksysguard/scripts/", QStandardPaths::LocateDirectory);
-     Q_FOREACH (const QString& dir, dirs) {
+     const QStringList dirs =
+         QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("ksysguard/scripts/"), QStandardPaths::LocateDirectory);
+     Q_FOREACH (const QString &dir, dirs) {
 -        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
 +        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
          while (it.hasNext()) {
@@ -22,4 +23,3 @@ index efed8ff..841761a 100644
          }
 -- 
 2.5.2
-
diff --git a/pkgs/desktops/plasma-5/libksysguard/default.nix b/pkgs/desktops/plasma-5/libksysguard/default.nix
index ee9237a318c..19bbc6390c9 100644
--- a/pkgs/desktops/plasma-5/libksysguard/default.nix
+++ b/pkgs/desktops/plasma-5/libksysguard/default.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules,
   kauth, kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n, kiconthemes,
   knewstuff, kservice, kwidgetsaddons, kwindowsystem, plasma-framework,
-  qtbase, qtscript, qtwebengine, qtx11extras, libnl
+  qtbase, qtscript, qtwebengine, qtx11extras, libnl, libpcap, qtsensors, lm_sensors,
 }:
 
 mkDerivation {
@@ -15,7 +15,7 @@ mkDerivation {
   buildInputs = [
     kauth kconfig ki18n kiconthemes kwindowsystem kcompletion kconfigwidgets
     kcoreaddons kservice kwidgetsaddons plasma-framework qtscript qtx11extras
-    qtwebengine knewstuff libnl
+    qtwebengine knewstuff libnl libpcap qtsensors lm_sensors
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/pkgs/desktops/plasma-5/patches/0001-fix-add-executable-bit.patch b/pkgs/desktops/plasma-5/patches/0001-fix-add-executable-bit.patch
new file mode 100644
index 00000000000..8ed82222059
--- /dev/null
+++ b/pkgs/desktops/plasma-5/patches/0001-fix-add-executable-bit.patch
@@ -0,0 +1,25 @@
+From da6a4651f74625f4c7f3c31f1125cfa4e774780b Mon Sep 17 00:00:00 2001
+From: Yaroslav Bolyukin <iam@lach.pw>
+Date: Mon, 27 Sep 2021 22:45:58 +0300
+Subject: [PATCH] fix: add executable bit
+
+Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
+---
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 79ff12d..4f3d746 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -2,7 +2,7 @@ file(GLOB_RECURSE SCSS_SOURCES "*.scss")
+ file(GLOB CSS_SOURCES "*.css")
+ file(GLOB_RECURSE GTK2_SOURCES "gtk2/*")
+ 
+-configure_file(build_theme.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/build_theme.sh @ONLY)
++configure_file(build_theme.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/build_theme.sh FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE @ONLY)
+ 
+ set(SOURCES
+     ${SCSS_SOURCES}
+-- 
+2.33.0
diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
index 1dc3d99b5e4..457902ad185 100644
--- a/pkgs/desktops/plasma-5/plasma-desktop/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, fetchpatch,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
 
   boost, fontconfig, ibus, libXcursor, libXft, libcanberra_kde, libpulseaudio,
@@ -36,11 +36,6 @@ mkDerivation {
   patches = [
     ./hwclock-path.patch
     ./tzdir.patch
-    # https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/563
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma/plasma-desktop/-/commit/8d9bf2032b8a2e5de75edf5713c42866f5b80649.patch";
-      sha256 = "sha256-2jqqFjBljbhf7I+fTsIvuFs3Ic662KTKRnbcSm5Jing=";
-    })
   ];
   CXXFLAGS = [
     ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/sbin/hwclock\"''
diff --git a/pkgs/desktops/plasma-5/plasma-nm/0001-mobile-broadband-provider-info-path.patch b/pkgs/desktops/plasma-5/plasma-nm/0001-mobile-broadband-provider-info-path.patch
deleted file mode 100644
index 79b5cfb437e..00000000000
--- a/pkgs/desktops/plasma-5/plasma-nm/0001-mobile-broadband-provider-info-path.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From faf13c97ff1192a201843b9d52f4002dbd9022af Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 25 Oct 2015 09:09:27 -0500
-Subject: [PATCH] mobile-broadband-provider-info path
-
----
- libs/editor/mobileproviders.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libs/editor/mobileproviders.cpp b/libs/editor/mobileproviders.cpp
-index 568cb34..98a5992 100644
---- a/libs/editor/mobileproviders.cpp
-+++ b/libs/editor/mobileproviders.cpp
-@@ -26,7 +26,7 @@
- 
- #include <KLocale>
- 
--const QString MobileProviders::ProvidersFile = "/usr/share/mobile-broadband-provider-info/serviceproviders.xml";
-+const QString MobileProviders::ProvidersFile = "@mobile_broadband_provider_info@/share/mobile-broadband-provider-info/serviceproviders.xml";
- 
- bool localeAwareCompare(const QString & one, const QString & two) {
-     return one.localeAwareCompare(two) < 0;
--- 
-2.6.2
-
diff --git a/pkgs/desktops/plasma-5/plasma-nm/0002-openvpn-binary-path.patch b/pkgs/desktops/plasma-5/plasma-nm/0002-openvpn-binary-path.patch
index 3bc871f0906..c32e73bc2c6 100644
--- a/pkgs/desktops/plasma-5/plasma-nm/0002-openvpn-binary-path.patch
+++ b/pkgs/desktops/plasma-5/plasma-nm/0002-openvpn-binary-path.patch
@@ -6,7 +6,7 @@ index 2f11ba1d..310f11b4 100644
      connect(m_ui->cmbProxyType, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &OpenVpnAdvancedWidget::proxyTypeChanged);
  
      // start openVPN process and get its cipher list
--    const QString openVpnBinary = QStandardPaths::findExecutable("openvpn", QStringList() << "/sbin" << "/usr/sbin");
+-    const QString openVpnBinary = QStandardPaths::findExecutable("openvpn", QStringList{"/sbin", "/usr/sbin"});
 +    const QString openVpnBinary = "@openvpn@/bin/openvpn";
      const QStringList ciphersArgs(QLatin1String("--show-ciphers"));
      const QStringList versionArgs(QLatin1String("--version"));
diff --git a/pkgs/desktops/plasma-5/plasma-nm/default.nix b/pkgs/desktops/plasma-5/plasma-nm/default.nix
index e563bdd837e..5c82112f3b1 100644
--- a/pkgs/desktops/plasma-5/plasma-nm/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-nm/default.nix
@@ -25,10 +25,6 @@ mkDerivation {
   ];
   patches = [
     (substituteAll {
-      src = ./0001-mobile-broadband-provider-info-path.patch;
-      mobile_broadband_provider_info = mobile-broadband-provider-info;
-    })
-    (substituteAll {
       src = ./0002-openvpn-binary-path.patch;
       inherit openvpn;
     })
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
index f9347de7d56..508d3949884 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
@@ -4,56 +4,56 @@ Date: Mon, 7 Sep 2020 18:09:52 +0100
 Subject: [PATCH] startkde
 
 ---
- startkde/plasma-session/startup.cpp     |  2 +-
- startkde/startplasma-waylandsession.cpp |  2 +-
- startkde/startplasma-x11.cpp            |  2 +-
- startkde/startplasma.cpp                | 16 ++++++++--------
- 4 files changed, 11 insertions(+), 11 deletions(-)
+ startkde/plasma-session/startup.cpp     | 2 +-
+ startkde/startplasma-waylandsession.cpp | 2 +-
+ startkde/startplasma-x11.cpp            | 2 +-
+ startkde/startplasma.cpp                | 8 ++++----
+ 4 files changed, 7 insertions(+), 7 deletions(-)
 
 diff --git a/startkde/plasma-session/startup.cpp b/startkde/plasma-session/startup.cpp
-index c3e77d4..88cb0e9 100644
+index 270744053..356160e96 100644
 --- a/startkde/plasma-session/startup.cpp
 +++ b/startkde/plasma-session/startup.cpp
-@@ -223,7 +223,7 @@ Startup::Startup(QObject *parent)
-     upAndRunning(QStringLiteral("ksmserver"));
+@@ -143,7 +143,7 @@ Startup::Startup(QObject *parent)
      const AutoStart autostart;
  
+     // Keep for KF5; remove in KF6 (KInit will be gone then)
 -    QProcess::execute(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), QStringList());
 +    QProcess::execute(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), QStringList());
  
-     KJob *phase1;
-     QProcessEnvironment kdedProcessEnv;
+     KJob *windowManagerJob = nullptr;
+     if (qEnvironmentVariable("XDG_SESSION_TYPE") != QLatin1String("wayland")) {
 diff --git a/startkde/startplasma-waylandsession.cpp b/startkde/startplasma-waylandsession.cpp
-index 4fbfe18..6ba916c 100644
+index 3a054a04f..b2e7ab3fb 100644
 --- a/startkde/startplasma-waylandsession.cpp
 +++ b/startkde/startplasma-waylandsession.cpp
-@@ -65,7 +65,7 @@ int main(int argc, char **argv)
-     waitForKonqi();
+@@ -33,7 +33,7 @@ int main(int argc, char **argv)
      out << "startplasma-waylandsession: Shutting down...\n";
  
+     // Keep for KF5; remove in KF6 (KInit will be gone then)
 -    runSync(QStringLiteral("kdeinit5_shutdown"), {});
 +    runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {});
  
-     cleanupX11();
      out << "startplasma-waylandsession: Done.\n";
+ 
 diff --git a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp
-index 4ddf9f8..e0e59cd 100644
+index d6b2c5439..534eeb0e5 100644
 --- a/startkde/startplasma-x11.cpp
 +++ b/startkde/startplasma-x11.cpp
-@@ -110,7 +110,7 @@ int main(int argc, char **argv)
- 
+@@ -90,7 +90,7 @@ int main(int argc, char **argv)
      out << "startkde: Shutting down...\n";
  
+     // Keep for KF5; remove in KF6 (KInit will be gone then)
 -    runSync(QStringLiteral("kdeinit5_shutdown"), {});
 +    runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {});
  
-     cleanupPlasmaEnvironment();
-     cleanupX11();
+     cleanupPlasmaEnvironment(oldSystemdEnvironment);
+ 
 diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp
-index 9809197..1250e3e 100644
+index 008fdfcaf..72468f21c 100644
 --- a/startkde/startplasma.cpp
 +++ b/startkde/startplasma.cpp
-@@ -46,7 +46,7 @@ QTextStream out(stderr);
+@@ -39,7 +39,7 @@ QTextStream out(stderr);
  void messageBox(const QString &text)
  {
      out << text;
@@ -62,38 +62,16 @@ index 9809197..1250e3e 100644
  }
  
  QStringList allServices(const QLatin1String &prefix)
-@@ -267,8 +267,8 @@ void setupX11()
+@@ -340,7 +340,7 @@ void setupX11()
      //     If the user has overwritten fonts, the cursor font may be different now
      //     so don't move this up.
  
 -    runSync(QStringLiteral("xsetroot"), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")});
--    runSync(QStringLiteral("xprop"),
 +    runSync(QStringLiteral(NIXPKGS_XSETROOT), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")});
-+    runSync(QStringLiteral(NIXPKGS_XPROP),
-             {QStringLiteral("-root"),
-              QStringLiteral("-f"),
-              QStringLiteral("KDE_FULL_SESSION"),
-@@ -276,7 +276,7 @@ void setupX11()
-              QStringLiteral("-set"),
-              QStringLiteral("KDE_FULL_SESSION"),
-              QStringLiteral("true")});
--    runSync(QStringLiteral("xprop"),
-+    runSync(QStringLiteral(NIXPKGS_XPROP),
-             {QStringLiteral("-root"),
-              QStringLiteral("-f"),
-              QStringLiteral("KDE_SESSION_VERSION"),
-@@ -288,8 +288,8 @@ void setupX11()
- 
- void cleanupX11()
- {
--    runSync(QStringLiteral("xprop"), {QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_FULL_SESSION")});
--    runSync(QStringLiteral("xprop"), {QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_SESSION_VERSION")});
-+    runSync(QStringLiteral(NIXPKGS_XPROP), {QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_FULL_SESSION")});
-+    runSync(QStringLiteral(NIXPKGS_XPROP), {QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_SESSION_VERSION")});
  }
  
- // TODO: Check if Necessary
-@@ -321,7 +321,7 @@ void setupFontDpi()
+ void cleanupPlasmaEnvironment(const std::optional<QStringList> &oldSystemdEnvironment)
+@@ -403,7 +403,7 @@ void setupFontDpi()
      // TODO port to c++?
      const QByteArray input = "Xft.dpi: " + QByteArray::number(fontsCfg.readEntry("forceFontDPI", 0));
      QProcess p;
@@ -102,7 +80,7 @@ index 9809197..1250e3e 100644
      p.setProcessChannelMode(QProcess::ForwardedChannels);
      p.write(input);
      p.closeWriteChannel();
-@@ -343,7 +343,7 @@ QProcess *setupKSplash()
+@@ -425,7 +425,7 @@ QProcess *setupKSplash()
          KConfigGroup ksplashCfg = cfg.group("KSplash");
          if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) {
              p = new QProcess;
@@ -112,5 +90,4 @@ index 9809197..1250e3e 100644
      }
      return p;
 -- 
-2.30.0
-
+2.33.0
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index fac10cf31d4..17d4bc15e09 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib,
+  mkDerivation, lib, fetchpatch,
 
   extra-cmake-modules, kdoctools,
 
@@ -52,6 +52,12 @@ mkDerivation {
   patches = [
     ./0001-startkde.patch
     ./0002-absolute-wallpaper-install-dir.patch
+    # Included in 5.23.2
+    (fetchpatch {
+      name = "ignore-placeholder-screens";
+      url = "https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1125.patch";
+      sha256 = "sha256-lvcAxb301lQbfEKPcxMlfap9g7TjHOk50ZYX91RC7gY=";
+    })
   ];
 
   # QT_INSTALL_BINS refers to qtbase, and qdbus is in qttools
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index c90bc704237..d3df742f999 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,427 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/bluedevil-5.22.5.tar.xz";
-      sha256 = "01fc5zk3qh3kx8z3dpikaaidi6vg21s75kmpd9w65rj5akg98452";
-      name = "bluedevil-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/bluedevil-5.23.1.tar.xz";
+      sha256 = "1fxl1v27jk1hnxn7s9cqnw1h0pcghpyr2kxbqlx6fhnk0gp44gra";
+      name = "bluedevil-5.23.1.tar.xz";
     };
   };
   breeze = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/breeze-5.22.5.tar.xz";
-      sha256 = "09ll0bddsbbhz7ihqcn0wbd2llbjrblgk90gp556kpy09jh4rz73";
-      name = "breeze-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/breeze-5.23.1.tar.xz";
+      sha256 = "108l31v692f0yp1chbgw7nfjxs9qqyxm491zwg5p1n27jdgxq4dc";
+      name = "breeze-5.23.1.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/breeze-grub-5.22.5.tar.xz";
-      sha256 = "1p08pmhkac3s5pccryy5s33594kr0v8z6j1hg94l419nzaqqya1v";
-      name = "breeze-grub-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/breeze-grub-5.23.1.tar.xz";
+      sha256 = "1qmixw5q8i1inx65yn84sc44rbllffmjpzbbrxhjxazfa90kjh63";
+      name = "breeze-grub-5.23.1.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/breeze-gtk-5.22.5.tar.xz";
-      sha256 = "0lifs97wad9cg5hp1vdd5ag9fkcbqj3h2bkg6x5jd4f41j0x2fy2";
-      name = "breeze-gtk-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/breeze-gtk-5.23.1.tar.xz";
+      sha256 = "11yjanh6m52sv717bma5m7is8mmz8raqf3i7xjgd9kiafdbp6rjh";
+      name = "breeze-gtk-5.23.1.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/breeze-plymouth-5.22.5.tar.xz";
-      sha256 = "1735ii7is873yz6rhcsrj81crvmdxj4a368k22rkj8nm374s44g1";
-      name = "breeze-plymouth-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/breeze-plymouth-5.23.1.tar.xz";
+      sha256 = "0f4lxp4h2aji2gnrbplvs2xmwca0zcq3z1dm4fa31qy7ipr0b9qw";
+      name = "breeze-plymouth-5.23.1.tar.xz";
     };
   };
   discover = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/discover-5.22.5.tar.xz";
-      sha256 = "1c22910ainm4819xzkri8j2x8lng0g6zgmh1k770jsgjyg49x069";
-      name = "discover-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/discover-5.23.1.tar.xz";
+      sha256 = "0wgfws2m5x2bgqcx8h50jhvgj98pmyywr5h3f560mxwd3admq9a4";
+      name = "discover-5.23.1.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/drkonqi-5.22.5.tar.xz";
-      sha256 = "1f23p35wzsk0wx2kz0r7x616in6kizzdvl9j37v2a94hh8z3f7my";
-      name = "drkonqi-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/drkonqi-5.23.1.tar.xz";
+      sha256 = "19fksscf29lw4dvdf4s8z97q60yn77w35qmz298myw0n6cd9n1vk";
+      name = "drkonqi-5.23.1.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kactivitymanagerd-5.22.5.tar.xz";
-      sha256 = "069a862myj9b0303qc6j8iv3mdja8qhzx5ax52206pjrglvn9ar2";
-      name = "kactivitymanagerd-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kactivitymanagerd-5.23.1.tar.xz";
+      sha256 = "02gaky1ibzfkv5gx6hpwksm06jb025k9hb7lqrbp5wbn2j5m3g7a";
+      name = "kactivitymanagerd-5.23.1.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kde-cli-tools-5.22.5.tar.xz";
-      sha256 = "1jj5vywai9di05wzr81dzvrcsb5h6l300llw3ma49f0jl4z3gjwh";
-      name = "kde-cli-tools-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kde-cli-tools-5.23.1.tar.xz";
+      sha256 = "1qm7s2zdvq4i8lry736npwfy95xkrhwi6zhmqlb5j21y9g2hh6ns";
+      name = "kde-cli-tools-5.23.1.tar.xz";
     };
   };
-  kde-gtk-config = {
-    version = "5.22.5";
+  kdecoration = {
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kde-gtk-config-5.22.5.tar.xz";
-      sha256 = "0v0yjy6diwby3y71kkipx8h0wxfc49nwr2r3g2j8cf9ybqnwmy6s";
-      name = "kde-gtk-config-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kdecoration-5.23.1.tar.xz";
+      sha256 = "09y3n2ifdkcpp21b15pw2k8jfqhwp19rwqyl31il5js36ymsx1qm";
+      name = "kdecoration-5.23.1.tar.xz";
     };
   };
-  kdecoration = {
-    version = "5.22.5";
+  kde-gtk-config = {
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kdecoration-5.22.5.tar.xz";
-      sha256 = "1vqv44ls79x2d71ldkkkzpk4mzpv110y270wf1gbkmxaxwp20xxm";
-      name = "kdecoration-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kde-gtk-config-5.23.1.tar.xz";
+      sha256 = "0g2p6rnc6qij4mrbz955gpjsda6ck3g0y68rkkkm4849j72pinbx";
+      name = "kde-gtk-config-5.23.1.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kdeplasma-addons-5.22.5.tar.xz";
-      sha256 = "00ricjqxcafhji8b33zqynrlh56z3nr516v5jghp8cz2wclvnh32";
-      name = "kdeplasma-addons-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kdeplasma-addons-5.23.1.tar.xz";
+      sha256 = "126rrj22431i1immbrvagndi36bfapxcyjrhy6q7qxlg8lwmmvl4";
+      name = "kdeplasma-addons-5.23.1.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kgamma5-5.22.5.tar.xz";
-      sha256 = "0m2h4wwkg3dnkvq31z8mvn4q1r7hwi1q2d7csy350ycrv9x7f402";
-      name = "kgamma5-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kgamma5-5.23.1.tar.xz";
+      sha256 = "11d5qdhgxn51q7fs0jmaswxm68wygk7b38kj0f1h665fsc56sxfg";
+      name = "kgamma5-5.23.1.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/khotkeys-5.22.5.tar.xz";
-      sha256 = "1l0p9q7bmljism188mzssryyd31b1x0alivnpsk0jhhjr9hwbqb4";
-      name = "khotkeys-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/khotkeys-5.23.1.tar.xz";
+      sha256 = "0kz8pgwrcrsqf6zsb3zyx7a4g43svdm7iq6jm9p0ncfjnrl0ks6s";
+      name = "khotkeys-5.23.1.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kinfocenter-5.22.5.tar.xz";
-      sha256 = "1pxr4pihy6asflpij5r4payxnbagzkli3qm5zh4zgap4bhq447lm";
-      name = "kinfocenter-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kinfocenter-5.23.1.tar.xz";
+      sha256 = "01690mvak6i7c17ksfar8793c33y7x391pw5bfa0ggm428k8jbz1";
+      name = "kinfocenter-5.23.1.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kmenuedit-5.22.5.tar.xz";
-      sha256 = "1in8q0hd8wgcnwmx0cpv2w5l2w75xhv5j38mc5py322h9gkg1mqs";
-      name = "kmenuedit-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kmenuedit-5.23.1.tar.xz";
+      sha256 = "124imx7afbihdp3d10yap6ww9404b63va35h4hfsr5dglfmjfhpk";
+      name = "kmenuedit-5.23.1.tar.xz";
     };
   };
   kscreen = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kscreen-5.22.5.tar.xz";
-      sha256 = "0q0ykp10nwfzzxjrcra11k4b81di4r37jbhis4b9wn9j0pqv3ykb";
-      name = "kscreen-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kscreen-5.23.1.tar.xz";
+      sha256 = "1j8z8dgp7l0iccyblnq5mf6xysaa17z0ljw9zwvq8ir57cnky55g";
+      name = "kscreen-5.23.1.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kscreenlocker-5.22.5.tar.xz";
-      sha256 = "107icbr0cdcpbzi5npgx3fw2m2wp1z91k1iw26n595dp3n2czv98";
-      name = "kscreenlocker-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kscreenlocker-5.23.1.tar.xz";
+      sha256 = "0qxmmchl73s9ci0b8by5j6ik8aikwd1xcxyfxhp3fhav519i7i50";
+      name = "kscreenlocker-5.23.1.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/ksshaskpass-5.22.5.tar.xz";
-      sha256 = "0ig2cx80ba57k9mq7bcnmriymjln7kvr81mgm5rsdi4asal2zpgp";
-      name = "ksshaskpass-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/ksshaskpass-5.23.1.tar.xz";
+      sha256 = "0azb195s2f068k2vj9piby36lh786gvkzvnnajzs74pmqpl8kay1";
+      name = "ksshaskpass-5.23.1.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/ksystemstats-5.22.5.tar.xz";
-      sha256 = "1cb5hbwnj6j9ziin6bflcz9b8jyvjqbqqhqbzvgs8dyji2xz0gb8";
-      name = "ksystemstats-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/ksystemstats-5.23.1.tar.xz";
+      sha256 = "0zkag07lhrz5d7bwhl4lyj2cxh0is9z8z9lavl1dmwfnjs86a0z6";
+      name = "ksystemstats-5.23.1.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kwallet-pam-5.22.5.tar.xz";
-      sha256 = "03rj2kgda1as547jjvvigkb4pblh1w9jv8hsrjrs5vwfir0ag8nq";
-      name = "kwallet-pam-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kwallet-pam-5.23.1.tar.xz";
+      sha256 = "02jycjh7l437f2r9a2861yd8j7ayy0f63qkda67703p4va412rk3";
+      name = "kwallet-pam-5.23.1.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kwayland-integration-5.22.5.tar.xz";
-      sha256 = "0kgv6klb32y7ckflsi5xbs8ajn7zg461621fqhmgn1x54w931g2c";
-      name = "kwayland-integration-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kwayland-integration-5.23.1.tar.xz";
+      sha256 = "0shdq4wrb2p7agc1ds6vm49g75bsizsmlwdikq5sqpgzbgv10dgp";
+      name = "kwayland-integration-5.23.1.tar.xz";
     };
   };
   kwayland-server = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kwayland-server-5.22.5.tar.xz";
-      sha256 = "17gkbcam9dpqbw618rvb5ia8inp0yvpyr3bxd0fn4fdj57bbsr6x";
-      name = "kwayland-server-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kwayland-server-5.23.1.tar.xz";
+      sha256 = "0mwxllkqgmvr7lq0kkikndn68y6mxl9hmfm8kjmnq95zq5nimbgb";
+      name = "kwayland-server-5.23.1.tar.xz";
     };
   };
   kwin = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kwin-5.22.5.tar.xz";
-      sha256 = "18zmzhmjr6q5vsfd7lr0ym5ga7l2x8xcxqizmpfnb7hv3kaax38j";
-      name = "kwin-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kwin-5.23.1.tar.xz";
+      sha256 = "0ccbb41xsa257vabd17m3fx9h760izizgy9xrg9mpg5shjmxff2q";
+      name = "kwin-5.23.1.tar.xz";
     };
   };
   kwrited = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/kwrited-5.22.5.tar.xz";
-      sha256 = "02cffj88hqs5rfvrkkmk9z23qsdnqhavm98hksx1v5ajjh4rbgb3";
-      name = "kwrited-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/kwrited-5.23.1.tar.xz";
+      sha256 = "16sg4mffwhpx5c2dp6zki9128zjpkcyjlm8nd8jdkcdq5ww4f4pk";
+      name = "kwrited-5.23.1.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/layer-shell-qt-5.22.5.tar.xz";
-      sha256 = "0i9gsckqk9608drxvym6ghcwxqilcf6ilcxq48sbrnpswid71k7z";
-      name = "layer-shell-qt-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/layer-shell-qt-5.23.1.tar.xz";
+      sha256 = "02lyzc93ymz5jr05sy5pf1aqyx098q3jhzxk28k6fslzxq327767";
+      name = "layer-shell-qt-5.23.1.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/libkscreen-5.22.5.tar.xz";
-      sha256 = "1qqnra28r698kbps6ywk22ncac4sm3f9d9wrwmicp963mkmwlksv";
-      name = "libkscreen-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/libkscreen-5.23.1.tar.xz";
+      sha256 = "0hyh0j95i0xrbh07770axby3lqhmiclzxwx1bplmnpayymwdac1r";
+      name = "libkscreen-5.23.1.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/libksysguard-5.22.5.tar.xz";
-      sha256 = "1hkjsjfl4hsxbk998hpq4f38rahqfx6nmznbh0dqrymadfbsn8m5";
-      name = "libksysguard-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/libksysguard-5.23.1.tar.xz";
+      sha256 = "12c1qy736036rfvk42pnb0z32sjqfk4x4069v7iycy4nd91xyg88";
+      name = "libksysguard-5.23.1.tar.xz";
     };
   };
   milou = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/milou-5.22.5.tar.xz";
-      sha256 = "1d1zg1fbhl6cbxfhgrp9njvpcn052psn96cfyw314255v532phpp";
-      name = "milou-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/milou-5.23.1.tar.xz";
+      sha256 = "047z4dklk7hixk6m0xw2y2mhrdzmczz1ikhzvxnxhgmghm3w14cg";
+      name = "milou-5.23.1.tar.xz";
     };
   };
   oxygen = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/oxygen-5.22.5.tar.xz";
-      sha256 = "0fy4dr8kjyh96w482qbf47vkbnb2qqwwp8d0jlf0xc20w6fb4fqc";
-      name = "oxygen-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/oxygen-5.23.1.tar.xz";
+      sha256 = "0dxj1fr8p6dnlqwr5bs3f8s1g12vndapc8b07h6hzhcwi26wm81f";
+      name = "oxygen-5.23.1.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-browser-integration-5.22.5.tar.xz";
-      sha256 = "1zkz4qd9nk2kw8zx0mj0p5q4yclmfgz5ihfmgqb2iw4j0d2ckw8f";
-      name = "plasma-browser-integration-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-browser-integration-5.23.1.tar.xz";
+      sha256 = "1yaayy60dgj652rjzhh659anspw4cf7rqgmzdw471nzds3zpfr6x";
+      name = "plasma-browser-integration-5.23.1.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-desktop-5.22.5.tar.xz";
-      sha256 = "1kmcmpfjgmiazalczjchyrvgy365s1gqdnyv3xav4g4irb62llxl";
-      name = "plasma-desktop-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-desktop-5.23.1.tar.xz";
+      sha256 = "102fkhmh33xw7w2sq20d5v4576apyqp9dwh8v3nwd8vfjbq6lv7f";
+      name = "plasma-desktop-5.23.1.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-disks-5.22.5.tar.xz";
-      sha256 = "14ml1vxdp6brms8yqg5x96bad2r9n81cki91fsq6qk0aq098dqbh";
-      name = "plasma-disks-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-disks-5.23.1.tar.xz";
+      sha256 = "11cssgdz4h9ln4738gphg544f9jmzmzax3chq1pp7dzk8cgh4fxq";
+      name = "plasma-disks-5.23.1.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-firewall-5.22.5.tar.xz";
-      sha256 = "19ii5ha3m9jmfrdg59z9nfx8frmp4f2gc3a7c0krsnajhyrm0npg";
-      name = "plasma-firewall-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-firewall-5.23.1.tar.xz";
+      sha256 = "066b36kxycffwmhgls51q8hpww06j2v2hcc9z4bzmix7jhpzkk0w";
+      name = "plasma-firewall-5.23.1.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-integration-5.22.5.tar.xz";
-      sha256 = "0w7jnsyz876k6kzppd6lx0i58ywbfhaycsnq3nn2s10im7ql7ir8";
-      name = "plasma-integration-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-integration-5.23.1.tar.xz";
+      sha256 = "0wfbvp6r6nh7x8q4ddhf19bnkvlcspcxy2hjsb2nnr0nvs3k8aya";
+      name = "plasma-integration-5.23.1.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-nano-5.22.5.tar.xz";
-      sha256 = "0i8r8mxf00c0rfnybxy2nzl2hn2r7vqfzwlbmkykd6b1z333xfjh";
-      name = "plasma-nano-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-nano-5.23.1.tar.xz";
+      sha256 = "1ybd12jkw3sbcqzv8pqmkrvww1l73igb907zv457ha5rwy9hi60a";
+      name = "plasma-nano-5.23.1.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-nm-5.22.5.tar.xz";
-      sha256 = "0jgwp41l4h16qyif2bwnsdfd190ykpddv7gi3zrcmc57fnhrzavz";
-      name = "plasma-nm-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-nm-5.23.1.tar.xz";
+      sha256 = "0qsh5wrk97i9nxpp3la6fp6fvrk0f0gxh71nrzr0c9bc7307imfi";
+      name = "plasma-nm-5.23.1.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-pa-5.22.5.tar.xz";
-      sha256 = "1axm564si8g9j9f9ndvq39x7s6awiwiiyqnvs1wf76miyyjfdba0";
-      name = "plasma-pa-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-pa-5.23.1.tar.xz";
+      sha256 = "0zm5clsj9lfdv0v80g7bzb2cldcghaqn0d9nwywwrpmclmqik7x7";
+      name = "plasma-pa-5.23.1.tar.xz";
     };
   };
   plasma-phone-components = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-phone-components-5.22.5.tar.xz";
-      sha256 = "1m2swgkydjrpxsnj87fs8zkyavba6zrfrzvimbhxf15c3199yrj0";
-      name = "plasma-phone-components-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-phone-components-5.23.1.tar.xz";
+      sha256 = "174wvb5jrzsfmn09q4qspf3rdi5nr6faf2n1zc9p1dkwn67pkml2";
+      name = "plasma-phone-components-5.23.1.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-sdk-5.22.5.tar.xz";
-      sha256 = "0gvmvdlqjm2kvkb7bw3bhryql4d9mp0max89l9y25kzqadd6byad";
-      name = "plasma-sdk-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-sdk-5.23.1.tar.xz";
+      sha256 = "1sqywr9d6ghyyff713z1v45207ivddda5hxd7dzpxaf36nb3imq0";
+      name = "plasma-sdk-5.23.1.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-systemmonitor-5.22.5.tar.xz";
-      sha256 = "18s72vdcx4jrjs1hfr7mq8zjng2pmba2x23k11jdk8hxl7msm7nx";
-      name = "plasma-systemmonitor-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-systemmonitor-5.23.1.tar.xz";
+      sha256 = "1kqrkjz8iks5h737a6hpbb104gbaxangrwlzjfgi2h280j2288f8";
+      name = "plasma-systemmonitor-5.23.1.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-tests-5.22.5.tar.xz";
-      sha256 = "1wmwm9mmdy98qrmr0r8h99j0cpmib2vyv66jk99wf43bwddy2hxi";
-      name = "plasma-tests-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-tests-5.23.1.tar.xz";
+      sha256 = "1cnn9s9cw6p5aidbsj7ysarcp9jdlxpa54zm0gy9cxp5jbz4hypm";
+      name = "plasma-tests-5.23.1.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-thunderbolt-5.22.5.tar.xz";
-      sha256 = "13rjn21sdga5yx9983zx26jdb260lg5815ilfjnkdfp7g6ckjlmc";
-      name = "plasma-thunderbolt-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-thunderbolt-5.23.1.tar.xz";
+      sha256 = "138irsg1mqq31i9rn0ddrhbjym23c1r1w5y1mhrvaqwxqqd5yp0a";
+      name = "plasma-thunderbolt-5.23.1.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-vault-5.22.5.tar.xz";
-      sha256 = "1ap9kp9agnqljlszzkd14sivpfz9ihjlhq67lhg2sg570s8ng4a0";
-      name = "plasma-vault-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-vault-5.23.1.tar.xz";
+      sha256 = "0kwcbdm48pg907sah734xnknsa8azlpasxnj9xnagqi91kly5ay5";
+      name = "plasma-vault-5.23.1.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-workspace-5.22.5.tar.xz";
-      sha256 = "01inn7jawqn5brcmbglqs3szfzkq637qzf39kya8siq3lgg14bpj";
-      name = "plasma-workspace-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-workspace-5.23.1.tar.xz";
+      sha256 = "1bggh6xrlcxa5yh5398a2bhrgqnzv6hw6ifwws7wrkdkazw7kygv";
+      name = "plasma-workspace-5.23.1.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plasma-workspace-wallpapers-5.22.5.tar.xz";
-      sha256 = "1h582vqw14zyngfyjppg6lgs17d1nmc7gcr8kw1zzbc0ynbl68dy";
-      name = "plasma-workspace-wallpapers-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plasma-workspace-wallpapers-5.23.1.tar.xz";
+      sha256 = "1aplxn4kd48rc5p7x5218iscwlp2sr2sh5qyyl43z28fns0bh9pv";
+      name = "plasma-workspace-wallpapers-5.23.1.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/plymouth-kcm-5.22.5.tar.xz";
-      sha256 = "1rn8c0z6ycagmxm72gs9cm6pwv1fy8zg5881brglpxy8x63prb9g";
-      name = "plymouth-kcm-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/plymouth-kcm-5.23.1.tar.xz";
+      sha256 = "1fdsw7mfcfa90598981w2yb23nbwjqh9ncr8y0ab0l3i0qf8c727";
+      name = "plymouth-kcm-5.23.1.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.22.5";
+    version = "1-5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/polkit-kde-agent-1-5.22.5.tar.xz";
-      sha256 = "1a1b4baszlx01x4n66wikgw8z7wwnycz5rqzjr8r6q1b9dafmqv0";
-      name = "polkit-kde-agent-1-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/polkit-kde-agent-1-5.23.1.tar.xz";
+      sha256 = "0agmrd64jpvkiy4636hyi7cv9wrj7w6krqihz3d6fm84gqiifrj1";
+      name = "polkit-kde-agent-1-5.23.1.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/powerdevil-5.22.5.tar.xz";
-      sha256 = "17qw7w9h60illpzd1zlymdipx0mpwfhn12d9k0f165qcabk02wsr";
-      name = "powerdevil-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/powerdevil-5.23.1.tar.xz";
+      sha256 = "15n0xm2yzwinjs33iwgg3jln7ddrc3rvj4m97ya3j16bsqw5j6kj";
+      name = "powerdevil-5.23.1.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/qqc2-breeze-style-5.22.5.tar.xz";
-      sha256 = "0qi8b11f45lnyy09w3b65h0s7qj7d40b7ppwy8mapr92m0zqrkpf";
-      name = "qqc2-breeze-style-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/qqc2-breeze-style-5.23.1.tar.xz";
+      sha256 = "087mqgs9gdrwykqncvm0vvwhrnl77qilp89gmcgkr44kdsnp5682";
+      name = "qqc2-breeze-style-5.23.1.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/sddm-kcm-5.22.5.tar.xz";
-      sha256 = "163p426bd9zfval5zz2hmq3na0px3pz016shzzgna3rqwh7s8sa6";
-      name = "sddm-kcm-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/sddm-kcm-5.23.1.tar.xz";
+      sha256 = "0i40yj686dfrvkd78msczzh9ffslccnjgmwps29rz1fr8kvjj9mp";
+      name = "sddm-kcm-5.23.1.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/systemsettings-5.22.5.tar.xz";
-      sha256 = "1fvmp6nhmn71hxrf0nfg9m8ifp36kvk5k550hiazgz63l7x7hyfc";
-      name = "systemsettings-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/systemsettings-5.23.1.tar.xz";
+      sha256 = "0m3fvxr9l1whdgkd9i3wc2gw6yb12di59ihkdxnbbir5j4qm3m3w";
+      name = "systemsettings-5.23.1.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.22.5";
+    version = "5.23.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.22.5/xdg-desktop-portal-kde-5.22.5.tar.xz";
-      sha256 = "00d6dh9jh15y0ndcrm86wzhmpv81s9pm0x0pbiywdia606yp27c6";
-      name = "xdg-desktop-portal-kde-5.22.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.23.1/xdg-desktop-portal-kde-5.23.1.tar.xz";
+      sha256 = "1bpjq6nd7yc3az9zl13jq088jp2zbdgzqdaxl69wszzaq324qrpp";
+      name = "xdg-desktop-portal-kde-5.23.1.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/interpreters/sollya/default.nix b/pkgs/development/interpreters/sollya/default.nix
index 5c439347f07..eb20f61a990 100644
--- a/pkgs/development/interpreters/sollya/default.nix
+++ b/pkgs/development/interpreters/sollya/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.sollya.org/";
     license = licenses.cecill-c;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kio/0002-Debug-module-loader.patch b/pkgs/development/libraries/kde-frameworks/kio/0002-Debug-module-loader.patch
deleted file mode 100644
index 9653e3ad3f3..00000000000
--- a/pkgs/development/libraries/kde-frameworks/kio/0002-Debug-module-loader.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 59d26b68704373d405b70806f890ddd545cc976a Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@mailbox.org>
-Date: Sun, 28 Mar 2021 10:31:48 -0500
-Subject: [PATCH 2/2] Debug module loader
-
----
- src/kiod/kiod_main.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/kiod/kiod_main.cpp b/src/kiod/kiod_main.cpp
-index 1976ee1..eb402bf 100644
---- a/src/kiod/kiod_main.cpp
-+++ b/src/kiod/kiod_main.cpp
-@@ -49,7 +49,7 @@ void KIOD::loadModule(const QString &name)
-         module->setModuleName(name); // makes it register to DBus
-         m_modules.insert(name, module);
-     } else {
--        qCWarning(KIOD_CATEGORY) << "Error loading plugin:" << result.errorText;
-+        qCWarning(KIOD_CATEGORY) << "Error loading plugin:" << name << result.errorText;
-     }
- }
- 
--- 
-2.30.1
-
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index 12df0496a94..5c05e0159b5 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -26,6 +26,5 @@ mkDerivation {
   outputs = [ "out" "dev" ];
   patches = [
     ./0001-Remove-impure-smbd-search-path.patch
-    ./0002-Debug-module-loader.patch
  ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch
index eaa25985e07..933271def27 100644
--- a/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch
+++ b/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch
@@ -21,6 +21,5 @@ index f03d882..d5aee56 100644
          const QStringList nameFilters = {QStringLiteral("metadata.json"), QStringLiteral("metadata.desktop")};
 
          QDirIterator it(plugindir, nameFilters, QDir::Files, flags);
--- 
+--
 2.30.1
-
diff --git a/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/pkgs/development/libraries/plasma-wayland-protocols/default.nix
index 0523b460114..cbac71de200 100644
--- a/pkgs/development/libraries/plasma-wayland-protocols/default.nix
+++ b/pkgs/development/libraries/plasma-wayland-protocols/default.nix
@@ -1,4 +1,6 @@
-{ mkDerivation, fetchurl, lib
+{ mkDerivation
+, fetchurl
+, lib
 , extra-cmake-modules
 , qtbase
 }:
diff --git a/pkgs/development/python-modules/cwcwidth/default.nix b/pkgs/development/python-modules/cwcwidth/default.nix
index a17a8a936aa..940d41129e5 100644
--- a/pkgs/development/python-modules/cwcwidth/default.nix
+++ b/pkgs/development/python-modules/cwcwidth/default.nix
@@ -29,6 +29,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/sebastinas/cwcwidth";
     changelog = "https://github.com/sebastinas/cwcwidth/blob/main/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/gvm-tools/default.nix b/pkgs/development/python-modules/gvm-tools/default.nix
index 8d3d4f240bd..17fb02fd10d 100644
--- a/pkgs/development/python-modules/gvm-tools/default.nix
+++ b/pkgs/development/python-modules/gvm-tools/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytestCheckHook
 , python-gvm
@@ -10,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "gvm-tools";
-  version = "21.6.1";
+  version = "21.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +18,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1n9alryf52xkwxwagmq8bdn3a8scnmgh3qfdjwj6jybcyk36rv6n";
+    sha256 = "sha256-LGdbqkIKdmtUOGSoCme6oVG1aCbtASSxi9K9f3khafA=";
   };
 
   nativeBuildInputs = [
@@ -34,15 +33,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/greenbone/gvm-tools/pull/520
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/greenbone/gvm-tools/commit/db65495181ca339610b1007a33cc13285a470242.patch";
-      sha256 = "069rg742pxjd36vap0xp6367rd69pji4yfxbycc7z0b8gvf80w5z";
-    })
-  ];
-
   disabledTests = [
     # Don't test sending
     "SendTargetTestCase"
diff --git a/pkgs/development/python-modules/oslo-context/default.nix b/pkgs/development/python-modules/oslo-context/default.nix
index b4e52abd423..f38b9bb09b3 100644
--- a/pkgs/development/python-modules/oslo-context/default.nix
+++ b/pkgs/development/python-modules/oslo-context/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "oslo.context";
-  version = "3.3.1";
+  version = "3.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f578ea38569cf0a677e2167178196b21a54175471358c4320ddfd5c97c52f4d1";
+    sha256 = "970f96361c5de9a5dc86d48a648289d77118180ca13ba5eeb307137736ffa953";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/poppler-qt5/default.nix b/pkgs/development/python-modules/poppler-qt5/default.nix
index 857f9716251..a2dfaf8e483 100644
--- a/pkgs/development/python-modules/poppler-qt5/default.nix
+++ b/pkgs/development/python-modules/poppler-qt5/default.nix
@@ -54,6 +54,6 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://github.com/frescobaldi/python-poppler-qt5";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyatv/default.nix b/pkgs/development/python-modules/pyatv/default.nix
index d3c76697f09..092e5b91f16 100644
--- a/pkgs/development/python-modules/pyatv/default.nix
+++ b/pkgs/development/python-modules/pyatv/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "pyatv";
-  version = "0.9.5";
+  version = "0.9.6";
 
   format = "setuptools";
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "postlund";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7aeXTR0ecrm5+KHRCdW3+HLjU3U7Ja/J6JTU5QscCto=";
+    sha256 = "0navm7a0k1679kj7nbkbyl7s2q0wq0xmcnizmnvp0arkd5xqmqv1";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyqt-builder/default.nix b/pkgs/development/python-modules/pyqt-builder/default.nix
index d116ed275dc..08eb002ec31 100644
--- a/pkgs/development/python-modules/pyqt-builder/default.nix
+++ b/pkgs/development/python-modules/pyqt-builder/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     description = "PEP 517 compliant build system for PyQt";
     homepage = "https://pypi.org/project/PyQt-builder/";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index b3945696b7e..9604d47c4e2 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -35,6 +35,6 @@ buildPythonPackage rec {
     description = "Creates C++ bindings for Python modules";
     homepage    = "https://riverbankcomputing.com/";
     license     = licenses.gpl3Only;
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/textdistance/default.nix b/pkgs/development/python-modules/textdistance/default.nix
index d4a71dd9962..314a9efd940 100644
--- a/pkgs/development/python-modules/textdistance/default.nix
+++ b/pkgs/development/python-modules/textdistance/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "textdistance";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "114j3ignw4y9yq1cp08p4bfw518vyr3p0h8ba2mikwy74qxxzy26";
+    sha256 = "a43bb6f71dcccd3fc2060065c9513a7927879680512889749fd1fd800c4bad8e";
   };
 
   # There aren't tests
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     description = "Python library for comparing distance between two or more sequences";
     homepage = "https://github.com/life4/textdistance";
     license = licenses.mit;
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/yq/default.nix b/pkgs/development/python-modules/yq/default.nix
index 922276e3889..a9225d43543 100644
--- a/pkgs/development/python-modules/yq/default.nix
+++ b/pkgs/development/python-modules/yq/default.nix
@@ -45,7 +45,10 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "yq" ];
 
-  passthru.tests = { inherit (nixosTests) yq; };
+  doInstallCheck = true;
+  installCheckPhase = ''
+    echo '{"hello":{"foo":"bar"}}' | $out/bin/yq -y . | grep 'foo: bar'
+  '';
 
   meta = with lib; {
     description = "Command-line YAML processor - jq wrapper for YAML documents";
diff --git a/pkgs/development/tools/misc/terraformer/default.nix b/pkgs/development/tools/misc/terraformer/default.nix
index adc89609c4a..9f3fe2c36d4 100644
--- a/pkgs/development/tools/misc/terraformer/default.nix
+++ b/pkgs/development/tools/misc/terraformer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terraformer";
-  version = "0.8.17";
+  version = "0.8.18";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = pname;
     rev = version;
-    sha256 = "sha256-E71I2fRGg8HTa9vFMQqjIxtqoR0J4Puz2AmlyZMhye8=";
+    sha256 = "sha256-F+OmeXCb0Q2Qqu0T+dqdxvUYszg4ED/zoayH9iO6PCM=";
   };
 
-  vendorSha256 = "sha256-x5wyje27029BZMk17sIHzd68Nlh5ifLn+YXv4hPs04Q=";
+  vendorSha256 = "sha256-MCw5EkGjQDY75lpCA6iwuAhOXOAnDuDM+9L7eBnagEU=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/games/factorio/update.py b/pkgs/games/factorio/update.py
index 833a4ae068e..c234b36264e 100755
--- a/pkgs/games/factorio/update.py
+++ b/pkgs/games/factorio/update.py
@@ -23,6 +23,8 @@ FLAGS = flags.FLAGS
 flags.DEFINE_string('username', '', 'Factorio username for retrieving binaries.')
 flags.DEFINE_string('token', '', 'Factorio token for retrieving binaries.')
 flags.DEFINE_string('out', '', 'Output path for versions.json.')
+flags.DEFINE_list('release_type', '', 'If non-empty, a comma-separated list of release types to update (e.g. alpha).')
+flags.DEFINE_list('release_channel', '', 'If non-empty, a comma-separated list of release channels to update (e.g. experimental).')
 
 
 @dataclass
@@ -65,7 +67,7 @@ RELEASE_CHANNELS = [
 
 def find_versions_json() -> str:
     if FLAGS.out:
-        return out
+        return FLAGS.out
     try_paths = ["pkgs/games/factorio/versions.json", "versions.json"]
     for path in try_paths:
         if os.path.exists(path):
@@ -118,6 +120,12 @@ def merge_versions(old: OurVersionJSON, new: OurVersionJSON) -> OurVersionJSON:
         old_system = old.get(system_name, {})
         old_release_type = old_system.get(release_type_name, {})
         old_release = old_release_type.get(release_channel_name, {})
+        if FLAGS.release_type and release_type_name not in FLAGS.release_type:
+            logging.info("%s/%s/%s: not in --release_type, not updating", system_name, release_type_name, release_channel_name)
+            return old_release
+        if FLAGS.release_channel and release_channel_name not in FLAGS.release_channel:
+            logging.info("%s/%s/%s: not in --release_channel, not updating", system_name, release_type_name, release_channel_name)
+            return old_release
         if not "sha256" in old_release:
             logging.info("%s/%s/%s: not copying sha256 since it's missing", system_name, release_type_name, release_channel_name)
             return release
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index 90d47260502..5d985854229 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,12 +2,12 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.42.tar.xz",
+        "name": "factorio_alpha_x64-1.1.45.tar.xz",
         "needsAuth": true,
-        "sha256": "08h2pxzsk7sigjqnqm1jxya3i9i5g2mgl378gmbp2jcy2mnn4dvm",
+        "sha256": "1gqf8p253qwlsg66fzh6nb264ckmg2wrrvg7grcxxniki7whd759",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.42/alpha/linux64",
-        "version": "1.1.42"
+        "url": "https://factorio.com/get-download/1.1.45/alpha/linux64",
+        "version": "1.1.45"
       },
       "stable": {
         "name": "factorio_alpha_x64-1.1.42.tar.xz",
@@ -30,12 +30,12 @@
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.42.tar.xz",
+        "name": "factorio_headless_x64-1.1.45.tar.xz",
         "needsAuth": false,
-        "sha256": "1l217fcjcwfi0g5dilsi703cl0wyxsqdqn422hwdbp2ql839k422",
+        "sha256": "1ga35yricj5k2b00hwyb7jgpa0c4v73q3lj9sn424rjxixy6naxf",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.42/headless/linux64",
-        "version": "1.1.42"
+        "url": "https://factorio.com/get-download/1.1.45/headless/linux64",
+        "version": "1.1.45"
       },
       "stable": {
         "name": "factorio_headless_x64-1.1.42.tar.xz",
diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix
index c2f9e206e9c..70684b767c5 100644
--- a/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/pkgs/servers/mautrix-whatsapp/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "mautrix-whatsapp";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "whatsapp";
     rev = "v${version}";
-    sha256 = "bFuJa4pKwqQmpJDqYwA97CjrTeQ1Q8V/pNqD0ff6x/U=";
+    sha256 = "DKW54bxhohvtz71zqFi4ZacK1pVys6aR5B9naD7PYPk=";
   };
 
   buildInputs = [ olm ];
 
-  vendorSha256 = "NTORR0ixVozUllWlGziTUSJNy1zHoPWQMZbmPUchpQ0=";
+  vendorSha256 = "Y9mUl7fWZiXBEEDX3w2HXMlQKJntv16WeQC1bQQ7hHs=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index dc66534cd8a..d674ccb7024 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb";
-  version = "2.4.2";
+  version = "2.5.0";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl libkrb5 ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner  = "timescale";
     repo   = "timescaledb";
     rev    = "refs/tags/${version}";
-    sha256 = "10c5qx8qq7gbs2pq56gn4nadbc8i6r28528hp2nqdg881yaiga3m";
+    sha256 = "0j8fbhf69q0074c02ilzdrhwc1ciyw6dq48217xxv274df2lcxzd";
   };
 
   cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" "-DTAP_CHECKS=OFF" ]
diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix
index 29d56fd98fd..c2711bcc613 100644
--- a/pkgs/servers/teleport/default.nix
+++ b/pkgs/servers/teleport/default.nix
@@ -9,14 +9,14 @@ let
 in
 buildGoModule rec {
   pname = "teleport";
-  version = "7.3.0";
+  version = "7.3.2";
 
   # This repo has a private submodule "e" which fetchgit cannot handle without failing.
   src = fetchFromGitHub {
     owner = "gravitational";
     repo = "teleport";
     rev = "v${version}";
-    sha256 = "sha256-Dy6L0dvbR8wgcRePG1jFmiJV3oYtBZuExD2bf8Uq78Y=";
+    sha256 = "sha256-ZigVfz4P5bVn+5qApmLGlNmzU52ncFjkSbwbPOKI4MA=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/shells/fish/wrapper.nix b/pkgs/shells/fish/wrapper.nix
index 6713a69d560..f978f2bdfa4 100644
--- a/pkgs/shells/fish/wrapper.nix
+++ b/pkgs/shells/fish/wrapper.nix
@@ -20,6 +20,6 @@ in writeShellScriptBin "fish" ''
     set --prepend fish_complete_path ${escapeShellArgs complPath}
     set --prepend fish_function_path ${escapeShellArgs funcPath}
     set --local fish_conf_source_path ${escapeShellArgs confPath}
-    for c in $fish_conf_source_path/*; source $c; end
+    for c in \$fish_conf_source_path/*; source \$c; end
   " "$@"
 '')
diff --git a/pkgs/tools/audio/acousticbrainz-client/default.nix b/pkgs/tools/audio/acousticbrainz-client/default.nix
index a08710fe121..65160567968 100644
--- a/pkgs/tools/audio/acousticbrainz-client/default.nix
+++ b/pkgs/tools/audio/acousticbrainz-client/default.nix
@@ -36,6 +36,6 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://github.com/MTG/acousticbrainz-client";
     # essentia-extractor is only available for those platforms
     platforms = [ "x86_64-linux" "i686-linux" ];
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/audio/isrcsubmit/default.nix b/pkgs/tools/audio/isrcsubmit/default.nix
index 457ca2b0d1c..530094b8506 100644
--- a/pkgs/tools/audio/isrcsubmit/default.nix
+++ b/pkgs/tools/audio/isrcsubmit/default.nix
@@ -19,6 +19,6 @@ python3Packages.buildPythonApplication rec {
     description = "Script to submit ISRCs from disc to MusicBrainz";
     license = licenses.gpl3Plus;
     homepage = "http://jonnyjd.github.io/musicbrainz-isrcsubmit/";
-    maintainers = with maintainers; [ eduardosm ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/security/rbw/default.nix b/pkgs/tools/security/rbw/default.nix
index 17ecdee6d30..c799c9b2a87 100644
--- a/pkgs/tools/security/rbw/default.nix
+++ b/pkgs/tools/security/rbw/default.nix
@@ -9,27 +9,32 @@
 , Security
 , libiconv
 
-# rbw-fzf
-, withFzf ? false, fzf, perl
+  # rbw-fzf
+, withFzf ? false
+, fzf
+, perl
 
-# rbw-rofi
-, withRofi ? false, rofi, xclip
+  # rbw-rofi
+, withRofi ? false
+, rofi
+, xclip
 
-# pass-import
-, withPass ? false, pass
+  # pass-import
+, withPass ? false
+, pass
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rbw";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchCrate {
     inherit version;
     crateName = pname;
-    sha256 = "17x4q29rsljbalc70r3ks4r6g5zc6jl4si75i33fcicxsvx6f39q";
+    sha256 = "sha256-6O33rn/MTo7Dymwh57xQJ5v7n4yNSoICyR9gRwF4AH4=";
   };
 
-  cargoSha256 = "14095ds8f5knrqcriphjlbvasc29n9rf8h5vlkmhpxyk7wh9azzc";
+  cargoSha256 = "sha256-BrjKUovVV6BDZXtILVC0qaAF5xzE3715u9w9OYIJFbk=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index a472b502b61..87be68c9975 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -30,11 +30,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.6.7";
+  version = "0.4.6.8";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "16hga7195va8v0x062dc05nbz4sm3dscifcqpl8235dj47hmqrpz";
+    sha256 = "0sj7qn6d6js6gk4vjfkc7p9g021czbfaq00yfq3mn5ycnhvimkhm";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/pkgs/tools/security/tpm2-tools/default.nix b/pkgs/tools/security/tpm2-tools/default.nix
index 25a781d8fd8..3a2e62d4b59 100644
--- a/pkgs/tools/security/tpm2-tools/default.nix
+++ b/pkgs/tools/security/tpm2-tools/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tpm2-tools";
-  version = "5.1.1";
+  version = "5.2";
 
   src = fetchurl {
     url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-VQCBD3r5mTkbq7EyFtdYQ77p8/nRVE/u1eUD2AEXSjs=";
+    sha256 = "sha256-wLQC9qezRW6OskRSEeLUHEbH52ngX+TYkJ/2QRn3pjA=";
   };
 
   nativeBuildInputs = [ pandoc pkg-config makeWrapper ];
diff --git a/pkgs/tools/system/thinkfan/default.nix b/pkgs/tools/system/thinkfan/default.nix
index a53ef4ae9f8..8da87ecfa71 100644
--- a/pkgs/tools/system/thinkfan/default.nix
+++ b/pkgs/tools/system/thinkfan/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "thinkfan";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "vmatare";
     repo = "thinkfan";
     rev = version;
-    sha256 = "01l1pnj1cgy3dwgyys2s5iqzyv6kk47vlpy09qjafk8py21ijik3";
+    sha256 = "sha256-ZCZqi7A4qdWtDSkTw6ktHIZnPhdes2AX7+QBroaDDfI=";
   };
 
   postPatch = ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index fcaaef1694e..cc75d4d8199 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4734,6 +4734,18 @@ with pkgs;
 
   strawberry = libsForQt5.callPackage ../applications/audio/strawberry { };
 
+  schildichat-desktop = callPackage ../applications/networking/instant-messengers/schildichat/schildichat-desktop.nix {
+    inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
+    electron = electron_13;
+  };
+  schildichat-desktop-wayland = schildichat-desktop.override {
+    useWayland = true;
+  };
+
+  schildichat-web = callPackage ../applications/networking/instant-messengers/schildichat/schildichat-web.nix {
+    conf = config.schildichat-web.conf or {};
+  };
+
   tealdeer = callPackage ../tools/misc/tealdeer {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -31197,30 +31209,31 @@ with pkgs;
 
   gromacs = callPackage ../applications/science/molecular-dynamics/gromacs {
     singlePrec = true;
-    mpiEnabled = false;
     fftw = fftwSinglePrec;
-    cmake = cmakeCurses;
   };
 
   gromacsMpi = lowPrio (gromacs.override {
     singlePrec = true;
-    mpiEnabled = true;
+    enableMpi = true;
     fftw = fftwSinglePrec;
-    cmake = cmakeCurses;
   });
 
   gromacsDouble = lowPrio (gromacs.override {
     singlePrec = false;
-    mpiEnabled = false;
     fftw = fftw;
-    cmake = cmakeCurses;
   });
 
   gromacsDoubleMpi = lowPrio (gromacs.override {
     singlePrec = false;
-    mpiEnabled = true;
+    enableMpi = true;
     fftw = fftw;
-    cmake = cmakeCurses;
+  });
+
+  gromacsCudaMpi = lowPrio (gromacs.override {
+    singlePrec = true;
+    enableMpi = true;
+    enableCuda = true;
+    fftw = fftwSinglePrec;
   });
 
   zegrapher = libsForQt5.callPackage ../applications/science/math/zegrapher { };