about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/mmlgui/default.nix6
-rw-r--r--pkgs/applications/audio/open-stage-control/default.nix6
-rw-r--r--pkgs/applications/editors/sublime/4/packages.nix12
-rw-r--r--pkgs/applications/file-managers/krusader/compat-fix.patch20
-rw-r--r--pkgs/applications/file-managers/krusader/default.nix9
-rw-r--r--pkgs/applications/gis/qgis/unwrapped-ltr.nix4
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix4
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix4
-rw-r--r--pkgs/applications/misc/clipcat/default.nix8
-rw-r--r--pkgs/applications/misc/khard/default.nix4
-rw-r--r--pkgs/applications/misc/prusa-slicer/super-slicer.nix4
-rw-r--r--pkgs/applications/networking/browsers/mullvad-browser/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/tor-browser/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/linkerd/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/linkerd/edge.nix6
-rw-r--r--pkgs/applications/networking/dnscontrol/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/mirage/default.nix92
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/webcord/default.nix6
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/generic.nix5
-rw-r--r--pkgs/applications/office/mendeley/default.nix22
-rw-r--r--pkgs/applications/office/trilium/desktop.nix6
-rw-r--r--pkgs/applications/office/trilium/server.nix4
-rw-r--r--pkgs/applications/radio/cloudlog/default.nix4
-rw-r--r--pkgs/applications/radio/qlog/default.nix2
-rw-r--r--pkgs/applications/radio/quisk/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/xearth/default.nix8
-rw-r--r--pkgs/applications/science/math/lp_solve/default.nix6
-rw-r--r--pkgs/applications/version-management/forgejo/default.nix8
-rw-r--r--pkgs/applications/version-management/git-cache/default.nix27
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-rw-r--r--pkgs/applications/virtualization/kraft/default.nix6
-rw-r--r--pkgs/applications/window-managers/i3/bumblebee-status/default.nix67
-rw-r--r--pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix162
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix3
-rw-r--r--pkgs/applications/window-managers/sway/wrapper.nix3
37 files changed, 382 insertions, 177 deletions
diff --git a/pkgs/applications/audio/mmlgui/default.nix b/pkgs/applications/audio/mmlgui/default.nix
index 4959a567c417..d31ece0187d3 100644
--- a/pkgs/applications/audio/mmlgui/default.nix
+++ b/pkgs/applications/audio/mmlgui/default.nix
@@ -15,14 +15,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mmlgui";
-  version = "unstable-2023-09-20";
+  version = "unstable-2023-11-16";
 
   src = fetchFromGitHub {
     owner = "superctr";
     repo = "mmlgui";
-    rev = "a941dbcb34d2e1d56ac4489fbec5f893e9b8fb6d";
+    rev = "627bfc7b67d4d87253517ba71df2d699a8acdd10";
     fetchSubmodules = true;
-    hash = "sha256-d5DznY0WRJpiUEtUQ8Yihc0Ej8+k5cYTqrzUSp/1wg4=";
+    hash = "sha256-d/QLRlSfCrrcvzIhwEBKB5chK+XqO/R8xJ5VfagDi4U=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/open-stage-control/default.nix b/pkgs/applications/audio/open-stage-control/default.nix
index 91e043a59346..e0d284bc951e 100644
--- a/pkgs/applications/audio/open-stage-control/default.nix
+++ b/pkgs/applications/audio/open-stage-control/default.nix
@@ -2,13 +2,13 @@
 
 buildNpmPackage rec {
   pname = "open-stage-control";
-  version = "1.25.5";
+  version = "1.25.6";
 
   src = fetchFromGitHub {
     owner = "jean-emmanuel";
     repo = "open-stage-control";
     rev = "v${version}";
-    hash = "sha256-N0bL/kgw5tIVcD4fGYrahdola/w9ouct0+AUqw+dUOg=";
+    hash = "sha256-ZjNnchI8W0Xeuz1DHf3Q0cIL97BFXb3zY/HWQnrqqnk=";
   };
 
   # Remove some Electron stuff from package.json
@@ -16,7 +16,7 @@ buildNpmPackage rec {
     sed -i -e '/"electron"\|"electron-installer-debian"/d' package.json
   '';
 
-  npmDepsHash = "sha256-unjoBWVwmUqxAU3mDC37sXzoh7aEOdny4Asa70+sZnk=";
+  npmDepsHash = "sha256-UqjYNXdNoQmirIgU9DRgkp14SIrawfrfi9mD2h6ACyU=";
 
   nativeBuildInputs = [
     copyDesktopItems
diff --git a/pkgs/applications/editors/sublime/4/packages.nix b/pkgs/applications/editors/sublime/4/packages.nix
index ac64c8eac9bc..d583467ad832 100644
--- a/pkgs/applications/editors/sublime/4/packages.nix
+++ b/pkgs/applications/editors/sublime/4/packages.nix
@@ -5,15 +5,15 @@ let
 in
   {
     sublime4 = common {
-      buildVersion = "4152";
-      x64sha256 = "bt48g1GZWYlwQcZQboUHU8GZYmA7cb2fc6Ylrh5NNVQ=";
-      aarch64sha256 = "nSH5a5KRYzqLMnLo2mFk3WpjL9p6Qh3zNy8oFPEHHoA=";
+      buildVersion = "4169";
+      x64sha256 = "jk9wKC0QgfhiHDYUcnDhsmgJsBPOUmCkyvQeI54IJJ4=";
+      aarch64sha256 = "/W/xGbE+8gGu1zNh6lERZrfG9Dh9QUGkYiqTzp216JI=";
     } {};
 
     sublime4-dev = common {
-      buildVersion = "4155";
+      buildVersion = "4168";
       dev = true;
-      x64sha256 = "owcux1/CjXQsJ8/6ex3CWV1/Wvh/ofZFH7yNQtxl9d4=";
-      aarch64sha256 = "YAcdpBDmaajQPvyp8ypJNom+XOKx2YKA2uylfxlKuZY=";
+      x64sha256 = "KfW1Mh78CUBTmthHQd1s15a7GrmssSnWZ1RgaarJeag=";
+      aarch64sha256 = "qJ9oix1kwWN+TUb5/WSKyHcHzB+Q87XolMOhmqx1OFc=";
     } {};
   }
diff --git a/pkgs/applications/file-managers/krusader/compat-fix.patch b/pkgs/applications/file-managers/krusader/compat-fix.patch
new file mode 100644
index 000000000000..5411982b97ba
--- /dev/null
+++ b/pkgs/applications/file-managers/krusader/compat-fix.patch
@@ -0,0 +1,20 @@
+diff --git a/app/compat.h b/app/compat.h
+index b63d561..c051f35 100644
+--- a/app/compat.h
++++ b/app/compat.h
+@@ -11,13 +11,13 @@
+ 
+ #if __has_include(<KCompletion/kcompletion_version.h>)
+ #  include <KCompletion/kcompletion_version.h>
+-#else // Pre KF-5.91 header layout
++#elif __has_include(<kcompletion_version.h>) // Pre KF-5.91 header layout
+ #  include <kcompletion_version.h>
+ #endif
+ 
+ #if __has_include(<KArchive/karchive_version.h>)
+ #  include <KArchive/karchive_version.h>
+-#else // Pre KF-5.91 header layout
++#elif __has_include(<karchive_version.h>) // Pre KF-5.91 header layout
+ #  include <karchive_version.h>
+ #endif
+ 
diff --git a/pkgs/applications/file-managers/krusader/default.nix b/pkgs/applications/file-managers/krusader/default.nix
index b2639fe84984..ec7e47f896c6 100644
--- a/pkgs/applications/file-managers/krusader/default.nix
+++ b/pkgs/applications/file-managers/krusader/default.nix
@@ -15,13 +15,18 @@
 
 mkDerivation rec {
   pname = "krusader";
-  version = "2.7.2";
+  version = "2.8.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-QaOaQ7PELdHR7K6obfMMr/agYf7MHWb2CFmyo8qXYQk=";
+    hash = "sha256-jkzwWpMYsLwbCUGBG5iLLyuwwEoNHjeZghKpGQzywpo=";
   };
 
+  patches = [
+    # Fix compilation error due to forceful header include
+    ./compat-fix.patch
+  ];
+
   nativeBuildInputs = [
     extra-cmake-modules
     kdoctools
diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
index f6cc1bbc408a..ba587bb76365 100644
--- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix
+++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
@@ -76,14 +76,14 @@ let
     urllib3
   ];
 in mkDerivation rec {
-  version = "3.28.12";
+  version = "3.28.13";
   pname = "qgis-ltr-unwrapped";
 
   src = fetchFromGitHub {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-C80ZrQW7WFXz8UMXSt3FJcK2gDd292H24Ic3pJD/yqI=";
+    hash = "sha256-5UHyRxWFqhTq97VNb8AU8QYGaY0lmGB8bo8yXp1vnFQ=";
   };
 
   passthru = {
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index 3faf4d304a5f..8bc888bca918 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -77,14 +77,14 @@ let
     urllib3
   ];
 in mkDerivation rec {
-  version = "3.34.0";
+  version = "3.34.1";
   pname = "qgis-unwrapped";
 
   src = fetchFromGitHub {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-+Yzp8kfd7cfxTwsrxRo+6uS+2Aj4HfKA2E8hSf7htsU=";
+    hash = "sha256-y+MATjhGUh0Qu4mNRALmP04Zd2/ozvaJnJDdM38Cy+w=";
   };
 
   passthru = {
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 85b067d9fb29..6350cec90e95 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -67,11 +67,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "inkscape";
-  version = "1.3";
+  version = "1.3.1";
 
   src = fetchurl {
     url = "https://inkscape.org/release/inkscape-${version}/source/archive/xz/dl/inkscape-${version}.tar.xz";
-    sha256 = "sha256-v08oawJeAWm4lIzBTVGZqbTCBNdhyJTEtISWVx7HYwc=";
+    sha256 = "sha256-Qh4ANf5bOwVKCGXcgjW+P55uLepUGQ2Sa4gKTOBbANg=";
   };
 
   # Inkscape hits the ARGMAX when linking on macOS. It appears to be
diff --git a/pkgs/applications/misc/clipcat/default.nix b/pkgs/applications/misc/clipcat/default.nix
index 1870c92e47f8..bf2e89cf89a3 100644
--- a/pkgs/applications/misc/clipcat/default.nix
+++ b/pkgs/applications/misc/clipcat/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "clipcat";
-  version = "0.6.2";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "xrelkd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-sofP+zyyakB4w1R3wS/FNDTOWwNeDJyB5CBtR3yZsmE=";
+    hash = "sha256-MEyKUSEGVELk00TtKdfEgfzc3zwBllYrIjtC4NVbmRo=";
   };
 
-  cargoHash = "sha256-aOXAjxmk5uqBOw/l1CW/LbeBucr7p4iudbVY6d7yEjg=";
+  cargoHash = "sha256-LiTZfkp0uuKgfl4uaxNEJAn7UlrHHaWh/ivaJxYhULY=";
 
   nativeBuildInputs = [
     protobuf
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   # cargo-nextest help us retry the failed test cases
   NEXTEST_RETRIES = 5;
 
-  # Some test cases need to interactive with X11, we use xvfb-run here
+  # Some test cases interact with X11, we use xvfb-run here
   checkPhase = ''
     xvfb-run --auto-servernum cargo nextest run --release --workspace --no-fail-fast --no-capture
   '';
diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix
index ff1bb3aa2e90..bc779fb9b65f 100644
--- a/pkgs/applications/misc/khard/default.nix
+++ b/pkgs/applications/misc/khard/default.nix
@@ -1,12 +1,12 @@
 { lib, python3, fetchPypi, khard, testers }:
 
 python3.pkgs.buildPythonApplication rec {
-  version = "0.18.0";
+  version = "0.19.0";
   pname = "khard";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05860fdayqap128l7i6bcmi9kdyi2gx02g2pmh88d56xgysd927y";
+    sha256 = "sha256-5ki+adfz7m0+FbxC9+IXHLn8oeLKLkASuU15lyDATKQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
index 308c0949f134..fc8e5cc7aa07 100644
--- a/pkgs/applications/misc/prusa-slicer/super-slicer.nix
+++ b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
@@ -30,8 +30,8 @@ let
       inherit patches;
     };
     beta = {
-      version = "2.5.59.2";
-      sha256 = "sha256-IgE+NWy2DUrPR2ROfK1F67e8B3eoM9yRVQ0GZTxJ42I=";
+      version = "2.5.59.3";
+      sha256 = "sha256-chHKEEMN0Dllebk7zQDg7mf2BU441RlSyXvXgiCmgA4=";
       inherit patches;
     };
   };
diff --git a/pkgs/applications/networking/browsers/mullvad-browser/default.nix b/pkgs/applications/networking/browsers/mullvad-browser/default.nix
index 532e48d1fab2..5794a04489da 100644
--- a/pkgs/applications/networking/browsers/mullvad-browser/default.nix
+++ b/pkgs/applications/networking/browsers/mullvad-browser/default.nix
@@ -35,6 +35,7 @@
 , waylandSupport ? stdenv.isLinux
 , libxkbcommon
 , libdrm
+, libGL
 
 , mediaSupport ? true
 , ffmpeg
@@ -82,7 +83,7 @@ let
       stdenv.cc.libc
       zlib
     ] ++ lib.optionals libnotifySupport [ libnotify ]
-      ++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
+      ++ lib.optionals waylandSupport [ libxkbcommon libdrm libGL ]
       ++ lib.optionals pipewireSupport [ pipewire ]
       ++ lib.optionals pulseaudioSupport [ libpulseaudio ]
       ++ lib.optionals libvaSupport [ libva ]
diff --git a/pkgs/applications/networking/browsers/tor-browser/default.nix b/pkgs/applications/networking/browsers/tor-browser/default.nix
index b2ed9cca471a..ce72abe79e7b 100644
--- a/pkgs/applications/networking/browsers/tor-browser/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser/default.nix
@@ -31,6 +31,7 @@
 , waylandSupport ? stdenv.isLinux
 , libxkbcommon
 , libdrm
+, libGL
 
 , audioSupport ? mediaSupport
 
@@ -98,7 +99,7 @@ lib.warnIf (useHardenedMalloc != null)
       stdenv.cc.libc
       zlib
     ] ++ lib.optionals libnotifySupport [ libnotify ]
-      ++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
+      ++ lib.optionals waylandSupport [ libxkbcommon libdrm libGL ]
       ++ lib.optionals pipewireSupport [ pipewire ]
       ++ lib.optionals pulseaudioSupport [ libpulseaudio ]
       ++ lib.optionals libvaSupport [ libva ]
diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix
index 3544669ee9cf..79d5649e2b97 100644
--- a/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "stable";
-  version = "2.14.2";
-  sha256 = "0j7w1x88fxbwlmdj111l3v02m8a2p75zsjj847d09a901jav3ih5";
+  version = "2.14.5";
+  sha256 = "1xdqqv62sr0hmjd64lvfvnrxhgdjsvb9xxxp2vvx0iz6rpp00n1x";
   vendorHash = "sha256-yEwz9CopCbK8mOUxzjDG3nsbWzhJlA3JTO4nYN8G68E=";
 }
diff --git a/pkgs/applications/networking/cluster/linkerd/edge.nix b/pkgs/applications/networking/cluster/linkerd/edge.nix
index 8fdbdc3a3e27..5df669ed94a5 100644
--- a/pkgs/applications/networking/cluster/linkerd/edge.nix
+++ b/pkgs/applications/networking/cluster/linkerd/edge.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "edge";
-  version = "23.10.4";
-  sha256 = "1fbzxkfc957kdhk60x3ywwpn54zq8njqk313cgfygnrmmj3m67j9";
-  vendorHash = "sha256-WEnopX/tIRoA5wiiCMue1T3wottxv744Mp7XJl63j4k=";
+  version = "23.11.4";
+  sha256 = "0j6yzjd2rnm6vzn2fky83pw3v943n3chhnr7a302rnafprlbmmp4";
+  vendorHash = "sha256-1s2vj9GSNe4j9TtIo69uakrg8PnBHNchlApryBeHmKs=";
 }
diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix
index e9b43a6aa1a8..826be33128a1 100644
--- a/pkgs/applications/networking/dnscontrol/default.nix
+++ b/pkgs/applications/networking/dnscontrol/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dnscontrol";
-  version = "4.6.0";
+  version = "4.6.1";
 
   src = fetchFromGitHub {
     owner = "StackExchange";
-    repo = pname;
+    repo = "dnscontrol";
     rev = "v${version}";
-    sha256 = "sha256-CyQKQNuCJLtm73ngrGtUmVUfiseXEp2fcKVGvQ1ET5A=";
+    sha256 = "sha256-FJxr3uq2f8jDG3g06SRO8sTIc6qHqSAOJVYHr4Ug1ag=";
   };
 
-  vendorHash = "sha256-Q8Xw2vuxiYpkY0/gQlUVWO7WQszv2x1cvbV03Wi1GNg=";
+  vendorHash = "sha256-O7uuUkS9kX0TdevSg1mrrPMVl4kMZW3rwoIVb/eaNiM=";
 
   subPackages = [ "." ];
 
@@ -27,7 +27,7 @@ buildGoModule rec {
     homepage = "https://dnscontrol.org/";
     changelog = "https://github.com/StackExchange/dnscontrol/releases/tag/${src.rev}";
     license = licenses.mit;
-    maintainers = with maintainers; [ mmahut SuperSandro2000 ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
     mainProgram = "dnscontrol";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix b/pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix
index 2308a4b61647..2debdc6140d2 100644
--- a/pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix
+++ b/pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , fetchYarnDeps
 , yarn
-, fixup_yarn_lock
+, prefetch-yarn-deps
 , nodejs
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-N9lUAhfYLlEAIaWSNS3Ecq+aBTz+f7Z22Sclwj9rp6w=";
   };
 
-  nativeBuildInputs = [ yarn fixup_yarn_lock nodejs ];
+  nativeBuildInputs = [ yarn prefetch-yarn-deps nodejs ];
 
   configurePhase = ''
     runHook preConfigure
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
     export HOME=$PWD/tmp
     mkdir -p $HOME
 
-    fixup_yarn_lock yarn.lock
+    fixup-yarn-lock yarn.lock
     yarn config --offline set yarn-offline-mirror $offlineCache
     yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
     patchShebangs node_modules
diff --git a/pkgs/applications/networking/instant-messengers/mirage/default.nix b/pkgs/applications/networking/instant-messengers/mirage/default.nix
deleted file mode 100644
index b6c9f61f821e..000000000000
--- a/pkgs/applications/networking/instant-messengers/mirage/default.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib
-, stdenv
-, mkDerivation
-, fetchFromGitHub
-, libXScrnSaver
-, olm
-, pkg-config
-, pyotherside
-, python3Packages
-, qmake
-, qtbase
-, qtgraphicaleffects
-, qtkeychain
-, qtmultimedia
-, qtquickcontrols2
-, wrapQtAppsHook
-}:
-
-mkDerivation rec {
-  pname = "mirage";
-  version = "0.7.2";
-
-  src = fetchFromGitHub {
-    owner = "mirukana";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-dJS4lAXHHNUEAG75gQaS9+aQTTTj8KHqHjISioynFdY=";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    python3Packages.wrapPython
-    qmake
-    wrapQtAppsHook
-  ];
-
-  buildInputs = [
-    libXScrnSaver
-    olm
-    pyotherside
-    qtbase
-    qtgraphicaleffects
-    qtkeychain
-    qtmultimedia
-    qtquickcontrols2
-  ] ++ pythonPath;
-
-  pythonPath = with python3Packages; [
-    pillow
-    aiofiles
-    appdirs
-    cairosvg
-    filetype
-    html-sanitizer
-    lxml
-    mistune
-    pymediainfo
-    plyer
-    sortedcontainers
-    watchgod
-    redbaron
-    hsluv
-    simpleaudio
-    setuptools
-    watchgod
-    dbus-python
-    matrix-nio
-  ] ++ matrix-nio.optional-dependencies.e2e;
-
-  qmakeFlags = [
-    "PREFIX=${placeholder "out"}"
-    "CONFIG+=qtquickcompiler"
-  ];
-
-  dontWrapQtApps = true;
-  postInstall = ''
-    buildPythonPath "$out $pythonPath"
-    wrapProgram $out/bin/mirage \
-      --prefix PYTHONPATH : "$PYTHONPATH" \
-      "''${qtWrapperArgs[@]}"
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/mirukana/mirage";
-    description = "A fancy, customizable, keyboard-operable Qt/QML+Python Matrix chat client for encrypted and decentralized communication";
-    license = licenses.lgpl3Plus;
-    maintainers = with maintainers; [ colemickens AndersonTorres ];
-    inherit (qtbase.meta) platforms;
-    broken = stdenv.isDarwin || python3Packages.isPy37 || python3Packages.isPy38;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
index 3dd912da90d7..dcf33a91f951 100644
--- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -21,13 +21,13 @@
 
 mkDerivation rec {
   pname = "twinkle";
-  version = "unstable-2021-02-06";
+  version = "unstable-2023-03-25";
 
   src = fetchFromGitHub {
     owner = "LubosD";
     repo = "twinkle";
-    rev = "2301b66a3f54b266675415d261985488d86e9e4c";
-    sha256 = "xSwcaj1Hm62iL7C/AxqjVR07VEae8gDgYdr2EWmCoOM=";
+    rev = "355813d5640ad58c84dc063826069384470ce310";
+    hash = "sha256-u+RewFwW17Oz2+lJLlmwebaGn4ebTBquox9Av7Jh1as=";
   };
 
   buildInputs = [
@@ -56,6 +56,7 @@ mkDerivation rec {
     "-DWITH_G729=On"
     "-DWITH_SPEEX=On"
     "-DWITH_ILBC=On"
+    "-DHAVE_LIBATOMIC=atomic"
     /* "-DWITH_DIAMONDCARD=On" seems ancient and broken */
   ];
 
diff --git a/pkgs/applications/networking/instant-messengers/webcord/default.nix b/pkgs/applications/networking/instant-messengers/webcord/default.nix
index df995010198d..2a8a8bb93e72 100644
--- a/pkgs/applications/networking/instant-messengers/webcord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/webcord/default.nix
@@ -13,16 +13,16 @@
 
 buildNpmPackage rec {
   pname = "webcord";
-  version = "4.5.1";
+  version = "4.5.2";
 
   src = fetchFromGitHub {
     owner = "SpacingBat3";
     repo = "WebCord";
     rev = "v${version}";
-    hash = "sha256-isrExJeONhIxJUXOsMMq8l9xF9amInBGnb5D+DKuzHw=";
+    hash = "sha256-0bSUfIqEkkjnwp+6zTg/KUpcQvOwUo5q7KnF8MLyIoo=";
   };
 
-  npmDepsHash = "sha256-RTYPxS6uLLCIu4JfQqMQP8y8+S5uwe3KXWNlbe7/A7Q=";
+  npmDepsHash = "sha256-uO83IsNo/Efd+j5nVvwaao0u9hZUv0jDE8/x61QmYA4=";
 
   nativeBuildInputs = [
     copyDesktopItems
diff --git a/pkgs/applications/networking/remote/citrix-workspace/generic.nix b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
index 052369bfcc92..03d56274bd79 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/generic.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
@@ -4,6 +4,7 @@
 , gnome2, mesa, nss, nspr, gtk_engines, freetype, dconf, libpng12, libxml2
 , libjpeg, libredirect, tzdata, cacert, systemd, libcxxabi, libcxx, e2fsprogs, symlinkJoin
 , libpulseaudio, pcsclite, glib-networking, llvmPackages_12, opencv4
+, libfaketime
 
 , homepage, version, prefix, hash
 
@@ -59,6 +60,7 @@ stdenv.mkDerivation rec {
     more
     which
     wrapGAppsHook
+    libfaketime
   ];
 
   buildInputs = [
@@ -153,7 +155,8 @@ stdenv.mkDerivation rec {
 
     # Run upstream installer in the store-path.
     sed -i -e 's,^ANSWER="",ANSWER="$INSTALLER_YES",g' -e 's,/bin/true,true,g' ./${prefix}/hinst
-    ${stdenv.shell} ${prefix}/hinst CDROM "$(pwd)"
+    source_date=$(date --utc --date=@$SOURCE_DATE_EPOCH "+%F %T")
+    faketime -f "$source_date" ${stdenv.shell} ${prefix}/hinst CDROM "$(pwd)"
 
     if [ -f "$ICAInstDir/util/setlog" ]; then
       chmod +x "$ICAInstDir/util/setlog"
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index fc3b7216b7a2..81857f99f37d 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -6,27 +6,27 @@
 }:
 
 let
-  name = "mendeley";
-  version = "2.80.1";
+  pname = "mendeley";
+  version = "2.105.0";
 
-  executableName = "${name}-reference-manager";
+  executableName = "${pname}-reference-manager";
 
   src = fetchurl {
-    url = "https://static.mendeley.com/bin/desktop/mendeley-reference-manager-2.80.1-x86_64.AppImage";
-    sha256 = "sha256-uqmu7Yf4tXDlNGkeEZut4m339S6ZNKhAmej+epKLB/8=";
+    url = "https://static.mendeley.com/bin/desktop/mendeley-reference-manager-${version}-x86_64.AppImage";
+    hash = "sha256-vs430WLApRu+Xw2gYgriOD0jsQqTW+qhI1g4r67W9aM=";
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
-in appimageTools.wrapType2 rec {
-  inherit name src;
+in appimageTools.wrapType2 {
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${executableName}
+    mv $out/bin/$name $out/bin/${executableName}
     install -m 444 -D ${appimageContents}/${executableName}.desktop $out/share/applications/${executableName}.desktop
-    ${imagemagick}/bin/convert ${appimageContents}/${executableName}.png -resize 512x512 ${name}_512.png
-    install -m 444 -D ${name}_512.png $out/share/icons/hicolor/512x512/apps/${executableName}.png
+    ${imagemagick}/bin/convert ${appimageContents}/${executableName}.png -resize 512x512 ${pname}_512.png
+    install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${executableName}.png
 
     substituteInPlace $out/share/applications/${executableName}.desktop \
       --replace 'Exec=AppRun' 'Exec=${executableName}'
diff --git a/pkgs/applications/office/trilium/desktop.nix b/pkgs/applications/office/trilium/desktop.nix
index f425284f47e8..48df671bd924 100644
--- a/pkgs/applications/office/trilium/desktop.nix
+++ b/pkgs/applications/office/trilium/desktop.nix
@@ -7,13 +7,13 @@
 
 let
   pname = "trilium-desktop";
-  version = "0.61.14";
+  version = "0.62.2";
 
   linuxSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-  linuxSource.sha256 = "1yxkgbnajlzhc62g4siq1hs7vd5hkvmdg4zsk1wqijhp0f4iix3s";
+  linuxSource.sha256 = "17vg22kzg6346c8fb2kzm5zdspb9p24isd2irxhw7gh2z6vnwh1d";
 
   darwinSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-mac-x64-${version}.zip";
-  darwinSource.sha256 = "1pvyy1k50n90ww3spm7bkmx0lzdi22na66mcpcwyls15r9kqb1ib";
+  darwinSource.sha256 = "03y5wkpdf4hc7724sjipgahlp6nh72z0wgm0qsqji5x5sxpambb8";
 
   meta = metaCommon // {
     mainProgram = "trilium";
diff --git a/pkgs/applications/office/trilium/server.nix b/pkgs/applications/office/trilium/server.nix
index 64ba568e276c..a2b6a3338395 100644
--- a/pkgs/applications/office/trilium/server.nix
+++ b/pkgs/applications/office/trilium/server.nix
@@ -3,8 +3,8 @@
 
 let
   serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-  serverSource.sha256 = "0l49jnsgbzppc2sfh4fykidl0skzlc2kbgsyz0dcnh9g2i562fq9";
-  version = "0.61.14";
+  serverSource.sha256 = "0vip61c24n9d6bnpcgg9dwxc604xigmi1ayvm1mmlgah1fk56swg";
+  version = "0.62.2";
 in stdenv.mkDerivation {
   pname = "trilium-server";
   inherit version;
diff --git a/pkgs/applications/radio/cloudlog/default.nix b/pkgs/applications/radio/cloudlog/default.nix
index 073909b80e5c..b11c762a9241 100644
--- a/pkgs/applications/radio/cloudlog/default.nix
+++ b/pkgs/applications/radio/cloudlog/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "cloudlog";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "magicbug";
     repo = "Cloudlog";
     rev = version;
-    hash = "sha256-4+aP+y7TNCq7zGOK3HCrl1NQOmpOHezfbL9B1vW2AUo=";
+    hash = "sha256-wFtMMphHz8JBX4hpgD85wn4G7Qs4/nwRcrW12A1tQm4=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/radio/qlog/default.nix b/pkgs/applications/radio/qlog/default.nix
index 098b51954a4e..03add3ba34f9 100644
--- a/pkgs/applications/radio/qlog/default.nix
+++ b/pkgs/applications/radio/qlog/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     description = "Amateur radio logbook software";
     license = with licenses; [ gpl3Only ];
     homepage = "https://github.com/foldynl/QLog";
-    maintainers = with maintainers; [ mkg20001 ];
+    maintainers = with maintainers; [ oliver-koss mkg20001 ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/radio/quisk/default.nix b/pkgs/applications/radio/quisk/default.nix
index 785f5cd8d94b..310395c0308a 100644
--- a/pkgs/applications/radio/quisk/default.nix
+++ b/pkgs/applications/radio/quisk/default.nix
@@ -8,11 +8,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "quisk";
-  version = "4.2.22";
+  version = "4.2.24";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-F6xSE1EgWlHlrd4W79tmhTg/FS7QUPH3NWzWIljAAg4=";
+    sha256 = "sha256-myxWcx1/a9sMv+sfa0Gwjx72t0rGoxn5USEfFgfKEro=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/astronomy/xearth/default.nix b/pkgs/applications/science/astronomy/xearth/default.nix
index bd92ae01ebb1..7fcc588658ae 100644
--- a/pkgs/applications/science/astronomy/xearth/default.nix
+++ b/pkgs/applications/science/astronomy/xearth/default.nix
@@ -17,14 +17,18 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "sets the X root window to an image of the Earth";
-    homepage = "http://xplanet.org";
+    homepage = "https://xearth.org";
     longDescription =
       '' Xearth  sets  the X root window to an image of the Earth, as seen from your favorite vantage point in space,
          correctly shaded for the current position of the Sun.
          By default, xearth updates the displayed image every  five  minutes.
       '';
     maintainers = [ maintainers.mafo ];
-    license = "xearth";
+    license  = {
+      fullName = "xearth license";
+      url = "https://xearth.org/copyright.html";
+      free = true;
+    };
     platforms=platforms.unix;
   };
 
diff --git a/pkgs/applications/science/math/lp_solve/default.nix b/pkgs/applications/science/math/lp_solve/default.nix
index 6a1bc86abced..ee54def6eb97 100644
--- a/pkgs/applications/science/math/lp_solve/default.nix
+++ b/pkgs/applications/science/math/lp_solve/default.nix
@@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
     autoSignDarwinBinariesHook
   ];
 
+  env = {
+    NIX_CFLAGS_COMPILE = "-Wno-error=implicit-int";
+  } // lib.optionalAttrs (stdenv.isDarwin && stdenv.isx86_64) {
+    NIX_LDFLAGS = "-headerpad_max_install_names";
+  };
+
   dontConfigure = true;
 
   buildPhase =
diff --git a/pkgs/applications/version-management/forgejo/default.nix b/pkgs/applications/version-management/forgejo/default.nix
index 18edd594f914..689167e3fbf8 100644
--- a/pkgs/applications/version-management/forgejo/default.nix
+++ b/pkgs/applications/version-management/forgejo/default.nix
@@ -24,7 +24,7 @@ let
     pname = "forgejo-frontend";
     inherit (forgejo) src version;
 
-    npmDepsHash = "sha256-YZzVw+WWqTmJafqnZ5vrzb7P6V4DTMNQwW1/+wvZEM8=";
+    npmDepsHash = "sha256-7ruJczJ2cE51UmoER8C3JsGm0p3RTwfqKx0eErB7LZs=";
 
     patches = [
       ./package-json-npm-build-frontend.patch
@@ -39,17 +39,17 @@ let
 in
 buildGoModule rec {
   pname = "forgejo";
-  version = "1.20.5-1";
+  version = "1.21.1-0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "forgejo";
     repo = "forgejo";
     rev = "v${version}";
-    hash = "sha256-4arWZge+RC2lwa6CQIEsDHo229cElspm0TJo3JHz2WQ=";
+    hash = "sha256-e7Y1YBJq3PwYl7hf5KUa/CSI4ihbpN/TjWwltjNwXRM=";
   };
 
-  vendorHash = "sha256-dgtZjsLBwblhdge3BvdbK/mN/TeZKps9K5dJbqomtjo=";
+  vendorHash = "sha256-+/wOEF44dSqy7ZThZyd66xyI3wVnFwZbsAd4ujyVku8=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/version-management/git-cache/default.nix b/pkgs/applications/version-management/git-cache/default.nix
new file mode 100644
index 000000000000..147570c7afd1
--- /dev/null
+++ b/pkgs/applications/version-management/git-cache/default.nix
@@ -0,0 +1,27 @@
+{fetchFromGitHub, lib, stdenv}:
+
+stdenv.mkDerivation {
+  pname = "git-cache";
+  version = "2018-06-18";
+
+  src = fetchFromGitHub {
+    owner = "Seb35";
+    repo = "git-cache";
+    rev = "354f661e40b358c5916c06957bd6b2c65426f452";
+    hash = "sha256-V7rQOy+s9Lzdc+RTA2QGPfyavw4De/qQ+tWrzYtO2qA=";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    install -Dm555 git-cache $out/bin/git-cache
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/Seb35/git-cache";
+    license = licenses.wtfpl;
+    description = "A program to add and manage a system-wide or user-wide cache for remote git repositories";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ maxhearnden ];
+  };
+}
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index ba1f724cbf4f..08db1f5d4a66 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -6,12 +6,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "streamlink";
-  version = "6.3.1";
+  version = "6.4.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-k8Dfrl0Xie5zF/GhVdP/RKGajDyGblAwu49UekX1WEQ=";
+    hash = "sha256-jj2ssAkzS60gbcm1Ddw3aNakifx4JKxCu0vHDQqSbqw=";
   };
 
   nativeCheckInputs = with python3Packages; [
diff --git a/pkgs/applications/virtualization/kraft/default.nix b/pkgs/applications/virtualization/kraft/default.nix
index 688e6eff949b..e0d7a5a0dd18 100644
--- a/pkgs/applications/virtualization/kraft/default.nix
+++ b/pkgs/applications/virtualization/kraft/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "kraftkit";
-  version = "0.6.6";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "unikraft";
     repo = "kraftkit";
     rev = "v${version}";
-    hash = "sha256-3dI3F1cCeLEOd+zusWUDZWLrVaaKHXzwOL/mF/yPZC8=";
+    hash = "sha256-4T108ZMM10evGricLj8S+XYw3NXfUI68KlcraWA+nd0=";
   };
 
-  vendorHash = "sha256-4zciooCUNVLTQ/0tctqV3hExR5vRY5VumHzGtL8xdws=";
+  vendorHash = "sha256-qu0GQdjaYXj932KKBphP4CQWsAOssI4+42tPAD3iqik=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/window-managers/i3/bumblebee-status/default.nix b/pkgs/applications/window-managers/i3/bumblebee-status/default.nix
new file mode 100644
index 000000000000..9583d71052bb
--- /dev/null
+++ b/pkgs/applications/window-managers/i3/bumblebee-status/default.nix
@@ -0,0 +1,67 @@
+{ pkgs
+, lib
+, glibcLocales
+, python
+, fetchFromGitHub
+  # Usage: bumblebee-status.override { plugins = p: [p.arandr p.bluetooth2]; };
+, plugins ? p: [ ]
+}:
+let
+  version = "2.2.0";
+
+  # { <name> = { name = "..."; propagatedBuildInputs = [ ... ]; buildInputs = [ ... ]; } }
+  allPlugins =
+    lib.mapAttrs
+      (name: value: value // { inherit name; })
+      (import ./plugins.nix { inherit pkgs python; });
+
+  # [ { name = "..."; propagatedBuildInputs = [ ... ]; buildInputs = [ ... ]; } ]
+  selectedPlugins = plugins allPlugins;
+in
+python.pkgs.buildPythonPackage {
+  pname = "bumblebee-status";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "tobi-wan-kenobi";
+    repo = "bumblebee-status";
+    rev = "v${version}";
+    hash = "sha256-+RCg2XZv0AJnexi7vnQhEXB1qSoKBN1yKWm3etdys1s=";
+  };
+
+  buildInputs = lib.concatMap (p: p.buildInputs or [ ]) selectedPlugins;
+  propagatedBuildInputs = lib.concatMap (p: p.propagatedBuildInputs or [ ]) selectedPlugins;
+
+  checkInputs = with python.pkgs; [ freezegun netifaces psutil pytest pytest-mock requests ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    # Fixes `locale.Error: unsupported locale setting` in some tests.
+    export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive";
+
+    # FIXME: We skip the `dunst` module tests, some of which fail with
+    # `RuntimeError: killall -s SIGUSR2 dunst not found`.
+    # This is not solved by adding `pkgs.killall` to `checkInputs`.
+    ${python.interpreter} -m pytest -k 'not test_dunst.py'
+
+    runHook postCheck
+  '';
+
+  postInstall = ''
+    # Remove binary cache files
+    find $out -name "__pycache__" -type d | xargs rm -rv
+
+    # Make themes available for bumblebee-status to detect them
+    cp -r ./themes $out/${python.sitePackages}
+  '';
+
+  meta = with lib; {
+    description = "A modular, theme-able status line generator for the i3 window manager";
+    homepage = "https://github.com/tobi-wan-kenobi/bumblebee-status";
+    mainProgram = "bumblebee-status";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ augustebaum ];
+  };
+}
diff --git a/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix b/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix
new file mode 100644
index 000000000000..6a1dda584207
--- /dev/null
+++ b/pkgs/applications/window-managers/i3/bumblebee-status/plugins.nix
@@ -0,0 +1,162 @@
+{ pkgs
+, python
+, ...
+}:
+# propagatedBuildInputs are for Python libraries and executables
+# buildInputs are for libraries
+let
+  py = python.pkgs;
+in
+{
+  amixer.propagatedBuildInputs = [ pkgs.alsa-utils ];
+  # aptitude is unpackaged
+  # apt.propagatedBuildInputs = [aptitude];
+  arandr.propagatedBuildInputs = [ py.tkinter pkgs.arandr pkgs.xorg.xrandr ];
+  # checkupdates is unpackaged
+  # arch-update.propagatedBuildInputs = [checkupdates];
+  # checkupdates is unpackaged
+  # arch_update.propagatedBuildInputs = [checkupdates];
+  # yay is unpackaged
+  # aur-update.propagatedBuildInputs = [yay];
+  battery = { };
+  battery-upower = { };
+  battery_upower = { };
+  bluetooth.propagatedBuildInputs = [ pkgs.bluez pkgs.blueman pkgs.dbus ];
+  bluetooth2.propagatedBuildInputs = [ pkgs.bluez pkgs.blueman pkgs.dbus py.dbus-python ];
+  blugon.propagatedBuildInputs = [ pkgs.blugon ];
+  # If you do not allow this plugin to query the system's ACPI, i.e. the plugin option `use_acpi` is set to `False`, then you need at least one of [ brightnessctl light xbacklight ]
+  brightness.propagatedBuildInputs = [ ];
+  caffeine.propagatedBuildInputs = [ pkgs.xdg-utils pkgs.xdotool pkgs.xorg.xprop pkgs.libnotify ];
+  cmus.propagatedBuildInputs = [ pkgs.cmus ];
+  cpu.propagatedBuildInputs = [ py.psutil pkgs.gnome.gnome-system-monitor ];
+  cpu2.propagatedBuildInputs = [ py.psutil pkgs.lm_sensors ];
+  cpu3.propagatedBuildInputs = [ py.psutil pkgs.lm_sensors ];
+  currency.propagatedBuildInputs = [ py.requests ];
+  date = { };
+  datetime = { };
+  datetimetz.propagatedBuildInputs = [ py.tzlocal py.pytz ];
+  datetz = { };
+  deadbeef.propagatedBuildInputs = [ pkgs.deadbeef ];
+  debug = { };
+  deezer.propagatedBuildInputs = [ py.dbus-python ];
+  disk = { };
+  # dnf is unpackaged
+  # dnf.propagatedBuildInputs = [dnf];
+  docker_ps.propagatedBuildInputs = [ py.docker ];
+  dunst.propagatedBuildInputs = [ pkgs.dunst ];
+  dunstctl.propagatedBuildInputs = [ pkgs.dunst ];
+  # emerge is unpackaged
+  # emerge_status.propagatedBuildInputs = [emerge];
+  error = { };
+  gcalendar.propagatedBuildInputs = [
+    py.google-api-python-client
+    py.google-auth-httplib2
+    py.google-auth-oauthlib
+  ];
+  getcrypto.propagatedBuildInputs = [ py.requests ];
+  git.propagatedBuildInputs = [ pkgs.xcwd pkgs.pygit2 ];
+  github.propagatedBuildInputs = [ py.requests ];
+  gitlab.propagatedBuildInputs = [ py.requests ];
+  # gpmdp-remote is unpackaged
+  # gpmdp.propagatedBuildInputs = [gpmdp-remote];
+  hddtemp = { };
+  hostname = { };
+  http_status = { };
+  indicator.propagatedBuildInputs = [ pkgs.xorg.xset ];
+  kernel = { };
+  keys = { };
+  # python3Packages.xkbgroup is unpackaged
+  layout = {
+    buildInputs = [ pkgs.xorg.libX11 ];
+    # propagatedBuildInputs = [py.xkbgroup];
+  };
+  # python3Packages.xkbgroup is unpackaged
+  layout-xkb = {
+    buildInputs = [ pkgs.xorg.libX11 ];
+    # propagatedBuildInputs = [py.xkbgroup];
+  };
+  layout-xkbswitch.propagatedBuildInputs = [ pkgs.xkb-switch ];
+  # python3Packages.xkbgroup is unpackaged
+  # NOTE: Yes, there is also a plugin named `layout-xkb` with a dash.
+  layout_xkb = {
+    buildInputs = [ pkgs.xorg.libX11 ];
+    # propagatedBuildInputs = [python3Packages.xkbgroup];
+  };
+  # NOTE: Yes, there is also a plugin named `layout-xkbswitch` with a dash.
+  layout_xkbswitch.propagatedBuildInputs = [ pkgs.xkb-switch ];
+  libvirtvms.propagatedBuildInputs = [ py.libvirt ];
+  load.propagatedBuildInputs = [ pkgs.gnome.gnome-system-monitor ];
+  memory.propagatedBuildInputs = [ pkgs.gnome.gnome-system-monitor ];
+  messagereceiver = { };
+  mocp.propagatedBuildInputs = [ pkgs.moc ];
+  mpd.propagatedBuildInputs = [ pkgs.mpc-cli ];
+  network.propagatedBuildInputs = [ py.netifaces pkgs.iw ];
+  network_traffic.propagatedBuildInputs = [ py.netifaces ];
+  nic.propagatedBuildInputs = [ py.netifaces pkgs.iw ];
+  notmuch_count.propagatedBuildInputs = [ pkgs.notmuch ];
+  # nvidian-smi is unpackaged
+  # nvidiagpu.propagatedBuildInputs = [nvidia-smi];
+  octoprint.propagatedBuildInputs = [ py.tkinter ];
+  # optimus-manager is unpackaged
+  # optman.propagatedBuildInputs = [optimus-manager];
+  pacman.propagatedBuildInputs = [ pkgs.fakeroot pkgs.pacman ];
+  pamixer.propagatedBuildInputs = [ pkgs.pamixer ];
+  persian_date.propagatedBuildInputs = [ py.jdatetime ];
+  pihole = { };
+  ping.propagatedBuildInputs = [ pkgs.iputils ];
+  pipewire.buildInputs = [ pkgs.wireplumber ];
+  playerctl.propagatedBuildInputs = [ pkgs.playerctl ];
+  pomodoro = { };
+  # emerge is unpackaged
+  # portage_status.propagatedBuildInputs = [emerge];
+  # prime-select is unpackaged
+  # prime.propagatedBuildInputs = [prime-select];
+  progress.propagatedBuildInputs = [ pkgs.progress ];
+  publicip.propagatedBuildInputs = [ py.netifaces ];
+  # Deprecated in favor of pulsectl
+  # pulseaudio = {};
+  pulsectl.propagatedBuildInputs = [ pkgs.pulsectl ];
+  redshift.propagatedBuildInputs = [ pkgs.redshift ];
+  # rofication is unpackaged
+  # rofication.propagatedBuildInputs = [rofication];
+  rotation.propagatedBuildInputs = [ pkgs.xorg.xrandr ];
+  rss = { };
+  sensors.propagatedBuildInputs = [ pkgs.lm_sensors ];
+  sensors2.propagatedBuildInputs = [ pkgs.lm_sensors ];
+  shell = { };
+  shortcut = { };
+  smartstatus.propagatedBuildInputs = [ pkgs.smartmontools ];
+  solaar.propagatedBuildInputs = [ pkgs.solaar ];
+  spaceapi.propagatedBuildInputs = [ py.requests ];
+  spacer = { };
+  speedtest.propagatedBuildInputs = [ py.speedtest-cli ];
+  spotify.propagatedBuildInputs = [ py.dbus-python ];
+  stock = { };
+  # suntime is not packaged yet
+  # sun.propagatedBuildInputs = [ py.requests python-dateutil suntime ];
+  system.propagatedBuildInputs = [ py.tkinter ];
+  taskwarrior.propagatedBuildInputs = [ py.taskw ];
+  test = { };
+  thunderbird = { };
+  time = { };
+  timetz = { };
+  title.propagatedBuildInputs = [ py.i3ipc ];
+  todo = { };
+  todo_org = { };
+  todoist.propagatedBuildInputs = [ py.requests ];
+  traffic = { };
+  # Needs `systemctl`
+  twmn.propagatedBuildInputs = [ ];
+  uptime = { };
+  usage.propagatedBuildInputs = [ py.sqlite pkgs.activitywatch ];
+  vault.propagatedBuildInputs = [ pkgs.pass ];
+  vpn.propagatedBuildInputs = [ py.tkinter pkgs.networkmanager ];
+  wakatime.propagatedBuildInputs = [ py.requests ];
+  watson.propagatedBuildInputs = [ pkgs.watson ];
+  weather.propagatedBuildInputs = [ py.requests ];
+  xkcd = { };
+  # i3 is optional
+  xrandr.propagatedBuildInputs = [ pkgs.xorg.xrandr ];
+  yubikey.propagatedBuildInputs = [ pkgs.yubico ];
+  zpool = { };
+}
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index fe1b789a23cf..06c3de8cd3fa 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -11,6 +11,7 @@
 , lm_sensors
 , iw
 , iproute2
+, withICUCalendar ? false
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -34,7 +35,7 @@ rustPlatform.buildRustPackage rec {
     "notmuch"
     "maildir"
     "pulseaudio"
-  ];
+  ] ++ (lib.optionals withICUCalendar [ "icu_calendar" ]);
 
   prePatch = ''
     substituteInPlace src/util.rs \
diff --git a/pkgs/applications/window-managers/sway/wrapper.nix b/pkgs/applications/window-managers/sway/wrapper.nix
index 056d552caa97..7510e1e9582b 100644
--- a/pkgs/applications/window-managers/sway/wrapper.nix
+++ b/pkgs/applications/window-managers/sway/wrapper.nix
@@ -1,4 +1,5 @@
 { lib
+, sway-unwrapped
 , makeWrapper, symlinkJoin, writeShellScriptBin
 , withBaseWrapper ? true, extraSessionCommands ? "", dbus
 , withGtkWrapper ? false, wrapGAppsHook, gdk-pixbuf, glib, gtk3
@@ -10,8 +11,6 @@
 , dbusSupport ? true
 }:
 
-sway-unwrapped:
-
 assert extraSessionCommands != "" -> withBaseWrapper;
 
 with lib;