about summary refs log tree commit diff
path: root/pkgs/desktops/deepin/core
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/deepin/core')
-rw-r--r--pkgs/desktops/deepin/core/dde-application-manager/default.nix27
-rw-r--r--pkgs/desktops/deepin/core/dde-calendar/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-clipboard/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-control-center/default.nix6
-rw-r--r--pkgs/desktops/deepin/core/dde-file-manager/default.nix20
-rw-r--r--pkgs/desktops/deepin/core/dde-grand-search/default.nix83
-rw-r--r--pkgs/desktops/deepin/core/dde-grand-search/fix-dbus-path-for-daemon.diff9
-rw-r--r--pkgs/desktops/deepin/core/dde-grand-search/patch-check-v23-interface.diff13
-rw-r--r--pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-launchpad/default.nix43
-rw-r--r--pkgs/desktops/deepin/core/dde-network-core/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-polkit-agent/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-session-shell/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-session-ui/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-session/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-shell/default.nix94
-rw-r--r--pkgs/desktops/deepin/core/dde-shell/disable-plugins-use-qt5.diff18
-rw-r--r--pkgs/desktops/deepin/core/dde-shell/fix-path-for-nixos.diff17
-rw-r--r--pkgs/desktops/deepin/core/dde-shell/only-use-qt6.diff26
-rw-r--r--pkgs/desktops/deepin/core/dde-widgets/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/deepin-kwin/default.nix4
21 files changed, 318 insertions, 78 deletions
diff --git a/pkgs/desktops/deepin/core/dde-application-manager/default.nix b/pkgs/desktops/deepin/core/dde-application-manager/default.nix
index b386d0bbeabf5..bb4a2c299ae3f 100644
--- a/pkgs/desktops/deepin/core/dde-application-manager/default.nix
+++ b/pkgs/desktops/deepin/core/dde-application-manager/default.nix
@@ -1,45 +1,32 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , pkg-config
-, wrapQtAppsHook
-, qtbase
+, qt6Packages
+, dtk6core
 }:
 
 stdenv.mkDerivation rec {
   pname = "dde-application-manager";
-  version = "1.1.8";
+  version = "1.2.13";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-ImyXSyQWMFLvmtx9mBxrr4/IFOgOH1BW650mbiwFh5U=";
+    hash = "sha256-nyT5bp37gOWKbpPBmLULJmeL9oZyBwIC5vYwPyBLcAc=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "set-more-scale-envs-to-application.patch";
-      url = "https://github.com/linuxdeepin/dde-application-manager/commit/a1f8ad276d88c81249dd3468779862186a180238.patch";
-      hash = "sha256-/iKg6NZZomNEKYsZCZP1IfNr7ZAXiA9RVBnyf+M/f4w=";
-    })
-    (fetchpatch {
-      name = "support-execSearchPath-to-prevent-systemd-from-finding-binaries.patch";
-      url = "https://github.com/linuxdeepin/dde-application-manager/commit/2eaca7c6b8b841d571e9d3510f9f14c321cd976e.patch";
-      hash = "sha256-GWUIv4NIBLQpnY4GcjLShMjiXAfPi3zKdol3whchC/Y=";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     pkg-config
-    wrapQtAppsHook
+    qt6Packages.wrapQtAppsHook
   ];
 
   buildInputs = [
-    qtbase
+    qt6Packages.qtbase
+    dtk6core
   ];
 
   meta = with lib; {
diff --git a/pkgs/desktops/deepin/core/dde-calendar/default.nix b/pkgs/desktops/deepin/core/dde-calendar/default.nix
index b244898566e9e..59c09cea1b2f5 100644
--- a/pkgs/desktops/deepin/core/dde-calendar/default.nix
+++ b/pkgs/desktops/deepin/core/dde-calendar/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-calendar";
-  version = "5.12.1";
+  version = "5.13.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-p+KtObh2JT7aPcDCi0jmaNmLqB1aU3IvAiYrGmhErcI=";
+    hash = "sha256-Hn759Cxtzv+HBllA2vdZcH6P8EWZkjawpgkmLiE2+uA=";
   };
 
   patches = [
diff --git a/pkgs/desktops/deepin/core/dde-clipboard/default.nix b/pkgs/desktops/deepin/core/dde-clipboard/default.nix
index 78f2fd0da6a29..efa6faf080d2a 100644
--- a/pkgs/desktops/deepin/core/dde-clipboard/default.nix
+++ b/pkgs/desktops/deepin/core/dde-clipboard/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-clipboard";
-  version = "6.0.7";
+  version = "6.0.9";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-6CbCor0vgVMsMt8KY2uWrNqOsBEIaz7s2nViiHz+m1g=";
+    hash = "sha256-9sBAurO3v/9HOc5k1RrtdNHusImTHLklpxetLMuQuW4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/core/dde-control-center/default.nix b/pkgs/desktops/deepin/core/dde-control-center/default.nix
index ffb94b9b52b3f..2f6a8afb9d6a3 100644
--- a/pkgs/desktops/deepin/core/dde-control-center/default.nix
+++ b/pkgs/desktops/deepin/core/dde-control-center/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-control-center";
-  version = "6.0.44";
+  version = "6.0.55";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-NN2CSIYByxeTZraK48lAsQSJYAOTDHzKT1FOa+VWMo0=";
+    hash = "sha256-dCUtCS7Vmd7LX34JA70P3dgsmSdRefgO//NERhKlRlE=";
   };
 
   postPatch = ''
@@ -61,6 +61,8 @@ stdenv.mkDerivation rec {
     gtest
   ];
 
+  env.PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
+
   cmakeFlags = [
     "-DCVERSION=${version}"
     "-DDISABLE_AUTHENTICATION=YES"
diff --git a/pkgs/desktops/deepin/core/dde-file-manager/default.nix b/pkgs/desktops/deepin/core/dde-file-manager/default.nix
index 42d371628b3e0..cfc610420957c 100644
--- a/pkgs/desktops/deepin/core/dde-file-manager/default.nix
+++ b/pkgs/desktops/deepin/core/dde-file-manager/default.nix
@@ -43,13 +43,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-file-manager";
-  version = "6.0.40";
+  version = "6.0.51";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-fvxP6wle4hezt9nEDpTgK+xB4J5XIC0mP5jWCmkjJPA=";
+    hash = "sha256-MvrOhdejQPK693wFlqkERuwYM88ALtFNnbyu7H3TI4Q=";
   };
 
   nativeBuildInputs = [
@@ -69,25 +69,25 @@ stdenv.mkDerivation rec {
     patchShebangs .
 
     substituteInPlace src/plugins/filemanager/dfmplugin-vault/utils/vaultdefine.h \
-      --replace "/usr/bin/deepin-compressor" "deepin-compressor"
+      --replace-fail "/usr/bin/deepin-compressor" "deepin-compressor"
 
     substituteInPlace src/plugins/filemanager/dfmplugin-avfsbrowser/utils/avfsutils.cpp \
-      --replace "/usr/bin/mountavfs" "mountavfs" \
-      --replace "/usr/bin/umountavfs" "umountavfs"
+      --replace-fail "/usr/bin/mountavfs" "mountavfs" \
+      --replace-fail "/usr/bin/umountavfs" "umountavfs"
 
     substituteInPlace src/plugins/common/core/dfmplugin-menu/{extendmenuscene/extendmenu/dcustomactionparser.cpp,oemmenuscene/oemmenu.cpp} \
-      --replace "/usr" "$out"
+      --replace-fail "/usr" "$out"
 
     substituteInPlace src/tools/upgrade/dialog/processdialog.cpp \
-      --replace "/usr/bin/dde-file-manager" "dde-file-manager" \
-      --replace "/usr/bin/dde-desktop" "dde-desktop"
+      --replace-fail "/usr/bin/dde-file-manager" "dde-file-manager" \
+      --replace-fail "/usr/bin/dde-desktop" "dde-desktop"
 
     substituteInPlace src/dfm-base/file/local/localfilehandler.cpp \
-      --replace "/usr/lib/deepin-daemon" "/run/current-system/sw/lib/deepin-daemon"
+      --replace-fail "/usr/lib/deepin-daemon" "/run/current-system/sw/lib/deepin-daemon"
 
     substituteInPlace src/plugins/desktop/ddplugin-background/backgroundservice.cpp \
       src/plugins/desktop/ddplugin-wallpapersetting/wallpapersettings.cpp \
-      --replace "/usr/share/backgrounds" "/run/current-system/sw/share/backgrounds"
+      --replace-fail "/usr/share/backgrounds" "/run/current-system/sw/share/backgrounds"
 
     find . -type f -regex ".*\\.\\(service\\|policy\\|desktop\\)" -exec sed -i -e "s|/usr/|$out/|g" {} \;
   '';
diff --git a/pkgs/desktops/deepin/core/dde-grand-search/default.nix b/pkgs/desktops/deepin/core/dde-grand-search/default.nix
new file mode 100644
index 0000000000000..8b653004f27a3
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-grand-search/default.nix
@@ -0,0 +1,83 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, qttools
+, pkg-config
+, wrapQtAppsHook
+, dtkwidget
+, dde-qt-dbus-factory
+, dde-dock
+, deepin-pdfium
+, qt5integration
+, qt5platform-plugins
+, taglib
+, ffmpeg
+, ffmpegthumbnailer
+, pcre
+, dbus
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dde-grand-search";
+  version = "5.4.9";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    hash = "sha256-WybwV1QIuV7O1SSgQU1ABsMf5QW9KJ95YyIa8Tz8pJ0=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    qttools
+    pkg-config
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    dtkwidget
+    dde-dock
+    dde-qt-dbus-factory
+    deepin-pdfium
+    qt5integration
+    qt5platform-plugins
+    taglib
+    ffmpeg
+    ffmpegthumbnailer
+    pcre
+  ];
+
+  patches = [
+    # This patch revert the commit e6735e7
+    # FIXME: why StartManager can't work, is dde-api-proxy still required?
+    ./fix-dbus-path-for-daemon.diff
+    ./patch-check-v23-interface.diff
+  ];
+
+  postPatch = ''
+    # fix access permit to daemon
+    substituteInPlace src/libgrand-search-daemon/dbusservice/grandsearchinterface.cpp \
+      --replace-fail "/usr/bin/dde-grand-search" "$out/bin/.dde-grand-search-wrapped"
+
+    for file in $(grep -rl "/usr/bin/dde-grand-search"); do
+      substituteInPlace $file --replace-fail "/usr/bin/dde-grand-search" "$out/bin/dde-grand-search"
+    done
+
+    substituteAllInPlace src/grand-search-daemon/data/com.deepin.dde.daemon.GrandSearch.service
+  '';
+
+  cmakeFlags = [
+    "-DVERSION=${version}"
+    "-DNIX_DEEPIN_VERSION=23"
+  ];
+
+  meta = {
+    description = "System-wide desktop search for DDE";
+    homepage = "https://github.com/linuxdeepin/dde-grand-search";
+    license = lib.licenses.gpl3Plus;
+    platforms = lib.platforms.linux;
+    maintainers = lib.teams.deepin.members;
+  };
+}
diff --git a/pkgs/desktops/deepin/core/dde-grand-search/fix-dbus-path-for-daemon.diff b/pkgs/desktops/deepin/core/dde-grand-search/fix-dbus-path-for-daemon.diff
new file mode 100644
index 0000000000000..dd036bf6ec5e8
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-grand-search/fix-dbus-path-for-daemon.diff
@@ -0,0 +1,9 @@
+diff --git a/src/grand-search-daemon/data/com.deepin.dde.daemon.GrandSearch.service b/src/grand-search-daemon/data/com.deepin.dde.daemon.GrandSearch.service
+index 14823cb..33dd51e 100644
+--- a/src/grand-search-daemon/data/com.deepin.dde.daemon.GrandSearch.service
++++ b/src/grand-search-daemon/data/com.deepin.dde.daemon.GrandSearch.service
+@@ -1,3 +1,3 @@
+ [D-BUS Service]
+ Name=com.deepin.dde.daemon.GrandSearch
+-Exec=/usr/bin/dbus-send --print-reply --session --dest=com.deepin.SessionManager /com/deepin/StartManager com.deepin.StartManager.Launch string:/usr/share/applications/dde-grand-search-daemon.desktop
++Exec=@out@/bin/dde-grand-search-daemon
diff --git a/pkgs/desktops/deepin/core/dde-grand-search/patch-check-v23-interface.diff b/pkgs/desktops/deepin/core/dde-grand-search/patch-check-v23-interface.diff
new file mode 100644
index 0000000000000..bcb9f2b6c0c2f
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-grand-search/patch-check-v23-interface.diff
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 76dac13..f43600e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -24,7 +24,7 @@ endif()
+ 
+ #Indentify the version
+ find_package(DtkCMake REQUIRED)
+-if (${DEEPIN_OS_VERSION} MATCHES "23")
++if (${NIX_DEEPIN_VERSION} MATCHES "23")
+     add_definitions(-DCOMPILE_ON_V23)
+     set(COMPLIE_ON_V23 TRUE)
+     message("COMPILE ON v23")
diff --git a/pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix b/pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix
index c1a26e100a298..5003129c1ea9e 100644
--- a/pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix
+++ b/pkgs/desktops/deepin/core/dde-gsettings-schemas/default.nix
@@ -3,7 +3,7 @@
 , runCommand
 , glib
 , gtk3
-, dde-dock
+, dde-grand-search
 , startdde
 , dde-session-shell
 , dde-file-manager
@@ -17,7 +17,7 @@
 
 let
   gsettingsOverridePackages = [
-    dde-dock
+    dde-grand-search
     startdde
     dde-session-shell
     dde-file-manager
diff --git a/pkgs/desktops/deepin/core/dde-launchpad/default.nix b/pkgs/desktops/deepin/core/dde-launchpad/default.nix
index f531418750d4b..7544bc5751752 100644
--- a/pkgs/desktops/deepin/core/dde-launchpad/default.nix
+++ b/pkgs/desktops/deepin/core/dde-launchpad/default.nix
@@ -2,57 +2,48 @@
 , lib
 , fetchFromGitHub
 , cmake
-, qttools
 , pkg-config
-, wrapQtAppsHook
-, dtkwidget
-, dtkdeclarative
-, qtbase
-, appstream-qt
-, kitemmodels
-, qt5integration
+, qt6Packages
+, qt6integration
+, qt6platform-plugins
+, dtk6declarative
+, dde-shell
 }:
 
 stdenv.mkDerivation rec {
   pname = "dde-launchpad";
-  version = "0.4.4";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-az8BC3n44NGpATNu3Exjn3H7Rumx/YqDXztEGqCpAbY=";
+    hash = "sha256-nT89cUx7Bxf+d+fgqvXZ9U0i/qf1oP2alUB90UXpNcM=";
   };
 
-  postPatch = ''
-    substituteInPlace desktopintegration.cpp \
-      --replace "AppStreamQt/pool.h" "AppStreamQt5/pool.h"
-  '';
-
   nativeBuildInputs = [
     cmake
-    qttools
     pkg-config
-    wrapQtAppsHook
+    qt6Packages.qttools
+    qt6Packages.wrapQtAppsHook
   ];
 
   buildInputs = [
-    dtkwidget
-    dtkdeclarative
+    qt6integration
+    qt6platform-plugins
+    dtk6declarative
+    dde-shell
+  ] ++ (with qt6Packages; [
     qtbase
+    qtsvg
+    qtwayland
     appstream-qt
-    kitemmodels
-  ];
+  ]);
 
   cmakeFlags = [
     "-DSYSTEMD_USER_UNIT_DIR=${placeholder "out"}/lib/systemd/user"
   ];
 
-  # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH
-  qtWrapperArgs = [
-    "--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}"
-  ];
-
   meta = with lib; {
     description = "'launcher' or 'start menu' component for DDE";
     mainProgram = "dde-launchpad";
diff --git a/pkgs/desktops/deepin/core/dde-network-core/default.nix b/pkgs/desktops/deepin/core/dde-network-core/default.nix
index f9d97f735a62c..58c7f30f14e56 100644
--- a/pkgs/desktops/deepin/core/dde-network-core/default.nix
+++ b/pkgs/desktops/deepin/core/dde-network-core/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-network-core";
-  version = "2.0.21";
+  version = "2.0.26";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-xuPEh0o62seyxlW+MKGgv/DdheYibSI1K0RJAjxraCw=";
+    hash = "sha256-eicwutePtKPY5DmNmIFSTQkdrE/i2RKfu766lQWy+iY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/core/dde-polkit-agent/default.nix b/pkgs/desktops/deepin/core/dde-polkit-agent/default.nix
index f3f93be7f30e4..2e6bd31a9395c 100644
--- a/pkgs/desktops/deepin/core/dde-polkit-agent/default.nix
+++ b/pkgs/desktops/deepin/core/dde-polkit-agent/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-polkit-agent";
-  version = "6.0.5";
+  version = "6.0.7";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-NSMwNL4ttCaqo0h0sF11bOJ20FhOB+SG27K4k8F4O/o=";
+    hash = "sha256-r2WVyy1lqcBJIQnRsPWlBFWQtSeZkq98J1S4dkipCys=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/core/dde-session-shell/default.nix b/pkgs/desktops/deepin/core/dde-session-shell/default.nix
index cfaa12338eb2b..a9c283c6ff98e 100644
--- a/pkgs/desktops/deepin/core/dde-session-shell/default.nix
+++ b/pkgs/desktops/deepin/core/dde-session-shell/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-session-shell";
-  version = "6.0.17";
+  version = "6.0.20";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-X/aBMxrYeCT3I9ynV8cPzS23H44fHLkpkztewnfTNxA=";
+    hash = "sha256-RPVGjCg7U0nWxqesoSNDtEzh/+OYDSsX31YU+LLllVM=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/core/dde-session-ui/default.nix b/pkgs/desktops/deepin/core/dde-session-ui/default.nix
index 190ad0bbc7048..478214bc199eb 100644
--- a/pkgs/desktops/deepin/core/dde-session-ui/default.nix
+++ b/pkgs/desktops/deepin/core/dde-session-ui/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-session-ui";
-  version = "6.0.16";
+  version = "6.0.19";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-hxunGK7DxRuAbmi6PtylHCBajV3b1qbFVA+AiuOCcN0=";
+    hash = "sha256-elDtY7fZf2I8ngEmMB9sRRhm78nEDf5ag6jny7UDG70=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/core/dde-session/default.nix b/pkgs/desktops/deepin/core/dde-session/default.nix
index 0e919c144d46c..9b1b493840936 100644
--- a/pkgs/desktops/deepin/core/dde-session/default.nix
+++ b/pkgs/desktops/deepin/core/dde-session/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-session";
-  version = "1.2.5";
+  version = "1.2.10";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-YYGRjVbVFyzmRhYu6sDtxzghocgM7Myr3K77AqWQk3E=";
+    hash = "sha256-nLoSVsPyrNA996H7C8N77aiheaiLs3Sd7ZVuxiuNLE4=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/core/dde-shell/default.nix b/pkgs/desktops/deepin/core/dde-shell/default.nix
new file mode 100644
index 0000000000000..8a66181c2fc94
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-shell/default.nix
@@ -0,0 +1,94 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, pkg-config
+, wrapQtAppsHook
+, wayland-scanner
+, dtk6declarative
+, dtk6widget
+, dde-qt-dbus-factory
+, qt6Packages
+, qt6integration
+, qt6platform-plugins
+, kdePackages
+, wayland
+, wayland-protocols
+, yaml-cpp
+, xorg
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "dde-shell";
+  version = "0.0.23-unstable-2024-06-11";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = "dde-shell";
+    rev = "d68cc64ad2cd6978af2f34deb3ef48f991d54fc3";
+    hash = "sha256-hVrdfbtcL3EJitiDghNSuGr5MX/VVT1J3tuY6wjwYcw=";
+  };
+
+  patches = [
+    ./disable-plugins-use-qt5.diff
+    ./fix-path-for-nixos.diff
+    ./only-use-qt6.diff # remove in next release
+  ];
+
+  postPatch = ''
+    for file in $(grep -rl "/usr/lib/dde-dock/tmp"); do
+      substituteInPlace $file --replace-fail "/usr/lib/dde-dock/tmp" "/run/current-system/sw/lib/dde-dock/tmp"
+    done
+
+    for file in $(grep -rl "/usr/lib/deepin-daemon"); do
+      substituteInPlace $file --replace-fail "/usr/lib/deepin-daemon" "/run/current-system/sw/lib/deepin-daemon"
+    done
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+    pkg-config
+    qt6Packages.wrapQtAppsHook
+    qt6Packages.qttools
+    wayland-scanner
+  ];
+
+  buildInputs = [
+    dtk6declarative
+    dtk6widget
+    dde-qt-dbus-factory
+    qt6Packages.qtbase
+    qt6Packages.qtwayland
+    qt6Packages.qtsvg
+    qt6platform-plugins
+    kdePackages.networkmanager-qt
+    wayland
+    wayland-protocols
+    yaml-cpp
+    xorg.libXcursor
+    xorg.libXres
+  ];
+
+  env.PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
+
+  cmakeFlags = [
+    "-DQML_INSTALL_DIR=${placeholder "out"}/${qt6Packages.qtbase.qtQmlPrefix}"
+  ];
+
+  qtWrapperArgs = [
+     # qt6integration must be placed before qtsvg in QT_PLUGIN_PATH
+     "--prefix QT_PLUGIN_PATH : ${qt6integration}/${qt6Packages.qtbase.qtPluginPrefix}"
+     "--suffix DDE_SHELL_PLUGIN_PATH : /run/current-system/sw/lib/dde-shell"
+     "--suffix DDE_SHELL_PACKAGE_PATH : /run/current-system/sw/share/dde-shell"
+  ];
+
+  meta = {
+    description = "A plugin system that integrates plugins developed on DDE";
+    homepage = "https://github.com/linuxdeepin/dde-shell";
+    license = with lib.licenses; [ gpl3Plus ];
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ rewine ];
+  };
+})
diff --git a/pkgs/desktops/deepin/core/dde-shell/disable-plugins-use-qt5.diff b/pkgs/desktops/deepin/core/dde-shell/disable-plugins-use-qt5.diff
new file mode 100644
index 0000000000000..0e1107abc7dc9
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-shell/disable-plugins-use-qt5.diff
@@ -0,0 +1,18 @@
+diff --git a/panels/dock/CMakeLists.txt b/panels/dock/CMakeLists.txt
+index 1a20179..83c5ff2 100644
+--- a/panels/dock/CMakeLists.txt
++++ b/panels/dock/CMakeLists.txt
+@@ -85,11 +85,11 @@ add_subdirectory(searchitem)
+ add_subdirectory(launcherItem)
+ add_subdirectory(showdesktop)
+ add_subdirectory(taskmanager)
+-add_subdirectory(tray)
++ add_subdirectory(tray)
+ add_subdirectory(multitaskview)
+ 
+ # dock plugin load program
+-add_subdirectory(dockplugin)
++#add_subdirectory(dockplugin)
+ 
+ # dock qml element(include Dock.xx defines and DockCompositor)
+ file(
diff --git a/pkgs/desktops/deepin/core/dde-shell/fix-path-for-nixos.diff b/pkgs/desktops/deepin/core/dde-shell/fix-path-for-nixos.diff
new file mode 100644
index 0000000000000..cc334a3220a4e
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-shell/fix-path-for-nixos.diff
@@ -0,0 +1,17 @@
+diff --git a/misc/DDEShellConfig.cmake.in b/misc/DDEShellConfig.cmake.in
+index e28cc2f..3875769 100644
+--- a/misc/DDEShellConfig.cmake.in
++++ b/misc/DDEShellConfig.cmake.in
+@@ -5,9 +5,9 @@ find_dependency(Dtk@DTK_VERSION_MAJOR@Gui)
+ find_package(Qt@QT_VERSION_MAJOR@ COMPONENTS Qml Quick REQUIRED)
+ 
+ include(${CMAKE_CURRENT_LIST_DIR}/DDEShellTargets.cmake)
+-set(DDE_SHELL_PACKAGE_INSTALL_DIR @CMAKE_INSTALL_PREFIX@/@DDE_SHELL_PACKAGE_INSTALL_DIR@)
+-set(DDE_SHELL_PLUGIN_INSTALL_DIR @CMAKE_INSTALL_PREFIX@/@DDE_SHELL_PLUGIN_INSTALL_DIR@)
+-set(DDE_SHELL_TRANSLATION_INSTALL_DIR @CMAKE_INSTALL_PREFIX@/@DDE_SHELL_TRANSLATION_INSTALL_DIR@)
++set(DDE_SHELL_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/dde-shell)
++set(DDE_SHELL_PLUGIN_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/dde-shell)
++set(DDE_SHELL_TRANSLATION_INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/dde-shell)
+ check_required_components(Dtk@DTK_VERSION_MAJOR@Core)
+ 
+ include("${CMAKE_CURRENT_LIST_DIR}/DDEShellPackageMacros.cmake")
diff --git a/pkgs/desktops/deepin/core/dde-shell/only-use-qt6.diff b/pkgs/desktops/deepin/core/dde-shell/only-use-qt6.diff
new file mode 100644
index 0000000000000..cdfad415403e1
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-shell/only-use-qt6.diff
@@ -0,0 +1,26 @@
+diff --git a/panels/dock/tray/CMakeLists.txt b/panels/dock/tray/CMakeLists.txt
+index ed6da31..1a33d06 100644
+--- a/panels/dock/tray/CMakeLists.txt
++++ b/panels/dock/tray/CMakeLists.txt
+@@ -10,7 +10,7 @@ endif()
+ 
+ # project(dde-dock)
+ 
+-find_package(DtkTools REQUIRED)
++find_package(Dtk6Tools REQUIRED)
+ 
+ set(CMAKE_THREAD_LIBS_INIT "-lpthread")
+ set(CMAKE_HAVE_THREADS_LIBRARY 1)
+diff --git a/panels/dock/tray/frame/CMakeLists.txt b/panels/dock/tray/frame/CMakeLists.txt
+index b55aa48..0a397cb 100644
+--- a/panels/dock/tray/frame/CMakeLists.txt
++++ b/panels/dock/tray/frame/CMakeLists.txt
+@@ -22,7 +22,7 @@ find_package(Qt6WaylandClient REQUIRED)
+ find_package(Dtk6Gui REQUIRED)
+ find_package(Dtk6Core REQUIRED)
+ find_package(Dtk6Widget REQUIRED)
+-find_package(DtkCMake REQUIRED)
++find_package(Dtk6CMake REQUIRED)
+ # find_package(dbusmenu-qt6 REQUIRED)
+ find_package(ECM REQUIRED NO_MODULE)
+ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
diff --git a/pkgs/desktops/deepin/core/dde-widgets/default.nix b/pkgs/desktops/deepin/core/dde-widgets/default.nix
index f7455a92e0b72..786f6dab521ea 100644
--- a/pkgs/desktops/deepin/core/dde-widgets/default.nix
+++ b/pkgs/desktops/deepin/core/dde-widgets/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-widgets";
-  version = "6.0.19";
+  version = "6.0.22";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-oB0lyfmxBSwqjXO+etYdc+DghZVSBU+LXYqK1WS5DaU=";
+    hash = "sha256-rE/7AoTID9UWxAS+LVYY5WYDNAo8GnSJmUrJFn3l+1M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/core/deepin-kwin/default.nix b/pkgs/desktops/deepin/core/deepin-kwin/default.nix
index a46088a63dd65..507b234605877 100644
--- a/pkgs/desktops/deepin/core/deepin-kwin/default.nix
+++ b/pkgs/desktops/deepin/core/deepin-kwin/default.nix
@@ -36,13 +36,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-kwin";
-  version = "5.25.17";
+  version = "5.25.26";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-Zi6SNNiwty16b3cCMK52zrXqglq8TqK2x8smSD504+o=";
+    hash = "sha256-xBCJu89OV+JMGsd/txAqj2Kce91mnOsRK31WGz7qS40=";
   };
 
   patches = [