about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2020-05-01 17:59:52 -0400
committerGitHub <noreply@github.com>2020-05-01 17:59:52 -0400
commit76c1884a2007718d3a57d60af9d0ddea0f32425e (patch)
treed5edb595bcf9c4840416716a33ca28b4bad0c03b /pkgs/desktops
parent4b942e88cb4907037912b63aa030169bca95bc5e (diff)
parent2c9560df2a46e68fa6145a7522c4ec47de92fbab (diff)
downloadnixlib-76c1884a2007718d3a57d60af9d0ddea0f32425e.tar
nixlib-76c1884a2007718d3a57d60af9d0ddea0f32425e.tar.gz
nixlib-76c1884a2007718d3a57d60af9d0ddea0f32425e.tar.bz2
nixlib-76c1884a2007718d3a57d60af9d0ddea0f32425e.tar.lz
nixlib-76c1884a2007718d3a57d60af9d0ddea0f32425e.tar.xz
nixlib-76c1884a2007718d3a57d60af9d0ddea0f32425e.tar.zst
nixlib-76c1884a2007718d3a57d60af9d0ddea0f32425e.zip
Merge pull request #86079 from romildo/upd.lxqt
lxqt: update to version 0.15.0
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/lxqt/compton-conf/default.nix20
-rw-r--r--pkgs/desktops/lxqt/default.nix73
-rw-r--r--pkgs/desktops/lxqt/libfm-qt/default.nix28
-rw-r--r--pkgs/desktops/lxqt/liblxqt/default.nix22
-rw-r--r--pkgs/desktops/lxqt/libqtxdg/default.nix30
-rw-r--r--pkgs/desktops/lxqt/libsysstat/default.nix24
-rw-r--r--pkgs/desktops/lxqt/lximage-qt/default.nix23
-rw-r--r--pkgs/desktops/lxqt/lxqt-about/default.nix20
-rw-r--r--pkgs/desktops/lxqt/lxqt-admin/default.nix21
-rw-r--r--pkgs/desktops/lxqt/lxqt-archiver/default.nix27
-rw-r--r--pkgs/desktops/lxqt/lxqt-build-tools/default.nix29
-rw-r--r--pkgs/desktops/lxqt/lxqt-config/default.nix26
-rw-r--r--pkgs/desktops/lxqt/lxqt-globalkeys/default.nix21
-rw-r--r--pkgs/desktops/lxqt/lxqt-notificationd/default.nix21
-rw-r--r--pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix21
-rw-r--r--pkgs/desktops/lxqt/lxqt-panel/default.nix41
-rw-r--r--pkgs/desktops/lxqt/lxqt-policykit/default.nix26
-rw-r--r--pkgs/desktops/lxqt/lxqt-powermanagement/default.nix23
-rw-r--r--pkgs/desktops/lxqt/lxqt-qtplugin/default.nix23
-rw-r--r--pkgs/desktops/lxqt/lxqt-runner/default.nix27
-rw-r--r--pkgs/desktops/lxqt/lxqt-session/default.nix24
-rw-r--r--pkgs/desktops/lxqt/lxqt-sudo/default.nix22
-rw-r--r--pkgs/desktops/lxqt/lxqt-themes/default.nix14
-rw-r--r--pkgs/desktops/lxqt/obconf-qt/default.nix22
-rw-r--r--pkgs/desktops/lxqt/pavucontrol-qt/default.nix20
-rw-r--r--pkgs/desktops/lxqt/pcmanfm-qt/default.nix22
-rw-r--r--pkgs/desktops/lxqt/qlipper/default.nix24
-rw-r--r--pkgs/desktops/lxqt/qps/default.nix37
-rw-r--r--pkgs/desktops/lxqt/qterminal/default.nix19
-rw-r--r--pkgs/desktops/lxqt/qtermwidget/default.nix26
-rw-r--r--pkgs/desktops/lxqt/screengrab/default.nix22
-rwxr-xr-xpkgs/desktops/lxqt/update.sh39
32 files changed, 625 insertions, 212 deletions
diff --git a/pkgs/desktops/lxqt/compton-conf/default.nix b/pkgs/desktops/lxqt/compton-conf/default.nix
index fe44b707f76e..b41d766c1adf 100644
--- a/pkgs/desktops/lxqt/compton-conf/default.nix
+++ b/pkgs/desktops/lxqt/compton-conf/default.nix
@@ -1,15 +1,23 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, lxqt,
-  libconfig }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, qtbase
+, qttools
+, lxqt
+, libconfig
+}:
 
 mkDerivation rec {
   pname = "compton-conf";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0bx21r83ahmsqf7bm1h17pi4y9js1iqsv7nwnlq58rc0ddkkhcdb";
+    sha256 = "1wqnajarkrpmc60jr1zw5w39lvlf9ii4ri9wgyn55hh1rkbzi7py";
   };
 
   nativeBuildInputs = [
@@ -27,7 +35,9 @@ mkDerivation rec {
   preConfigure = ''
     substituteInPlace autostart/CMakeLists.txt \
       --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" \
-    '';
+  '';
+
+  passthru.updateScript = lxqt.lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
     description = "GUI configuration tool for compton X composite manager";
diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix
index 6b03c2a6c9e8..45714260381b 100644
--- a/pkgs/desktops/lxqt/default.nix
+++ b/pkgs/desktops/lxqt/default.nix
@@ -1,48 +1,55 @@
 { pkgs, makeScope, libsForQt5 }:
-
 let
   packages = self: with self; {
 
+    # Update script tailored to LXQt packages from git repository
+    lxqtUpdateScript = { pname, version, src }:
+      pkgs.genericUpdater {
+        inherit pname version;
+        attrPath = "lxqt.${pname}";
+        versionLister = "${pkgs.common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
+      };
+
     # For compiling information, see:
     # - https://github.com/lxqt/lxqt/wiki/Building-from-source
 
     ### BASE
-    libqtxdg = callPackage ./libqtxdg { };
-    lxqt-build-tools = callPackage ./lxqt-build-tools { };
-    libsysstat = callPackage ./libsysstat { };
-    liblxqt = callPackage ./liblxqt { };
+    libqtxdg = callPackage ./libqtxdg {};
+    lxqt-build-tools = callPackage ./lxqt-build-tools {};
+    libsysstat = callPackage ./libsysstat {};
+    liblxqt = callPackage ./liblxqt {};
 
     ### CORE 1
-    libfm-qt = callPackage ./libfm-qt { };
-    lxqt-about = callPackage ./lxqt-about { };
-    lxqt-admin = callPackage ./lxqt-admin { };
-    lxqt-config = callPackage ./lxqt-config { };
-    lxqt-globalkeys = callPackage ./lxqt-globalkeys { };
-    lxqt-notificationd = callPackage ./lxqt-notificationd { };
-    lxqt-openssh-askpass = callPackage ./lxqt-openssh-askpass { };
-    lxqt-policykit = callPackage ./lxqt-policykit { };
-    lxqt-powermanagement = callPackage ./lxqt-powermanagement { };
-    lxqt-qtplugin = callPackage ./lxqt-qtplugin { };
-    lxqt-session = callPackage ./lxqt-session { };
-    lxqt-sudo = callPackage ./lxqt-sudo { };
-    lxqt-themes = callPackage ./lxqt-themes { };
-    pavucontrol-qt = libsForQt5.callPackage ./pavucontrol-qt { };
-    qtermwidget = callPackage ./qtermwidget { };
+    libfm-qt = callPackage ./libfm-qt {};
+    lxqt-about = callPackage ./lxqt-about {};
+    lxqt-admin = callPackage ./lxqt-admin {};
+    lxqt-config = callPackage ./lxqt-config {};
+    lxqt-globalkeys = callPackage ./lxqt-globalkeys {};
+    lxqt-notificationd = callPackage ./lxqt-notificationd {};
+    lxqt-openssh-askpass = callPackage ./lxqt-openssh-askpass {};
+    lxqt-policykit = callPackage ./lxqt-policykit {};
+    lxqt-powermanagement = callPackage ./lxqt-powermanagement {};
+    lxqt-qtplugin = callPackage ./lxqt-qtplugin {};
+    lxqt-session = callPackage ./lxqt-session {};
+    lxqt-sudo = callPackage ./lxqt-sudo {};
+    lxqt-themes = callPackage ./lxqt-themes {};
+    pavucontrol-qt = libsForQt5.callPackage ./pavucontrol-qt {};
+    qtermwidget = callPackage ./qtermwidget {};
 
     ### CORE 2
-    lxqt-panel = callPackage ./lxqt-panel { };
-    lxqt-runner = callPackage ./lxqt-runner { };
-    pcmanfm-qt = callPackage ./pcmanfm-qt { };
+    lxqt-panel = callPackage ./lxqt-panel {};
+    lxqt-runner = callPackage ./lxqt-runner {};
+    pcmanfm-qt = callPackage ./pcmanfm-qt {};
 
     ### OPTIONAL
-    qterminal = callPackage ./qterminal { };
-    compton-conf = pkgs.qt5.callPackage ./compton-conf { };
-    obconf-qt = callPackage ./obconf-qt { };
-    lximage-qt = callPackage ./lximage-qt { };
-    qps = callPackage ./qps { };
-    screengrab = callPackage ./screengrab { };
-    qlipper = callPackage ./qlipper { };
-    lxqt-archiver = callPackage ./lxqt-archiver { };
+    qterminal = callPackage ./qterminal {};
+    compton-conf = pkgs.qt5.callPackage ./compton-conf {};
+    obconf-qt = callPackage ./obconf-qt {};
+    lximage-qt = callPackage ./lximage-qt {};
+    qps = callPackage ./qps {};
+    screengrab = callPackage ./screengrab {};
+    qlipper = callPackage ./qlipper {};
+    lxqt-archiver = callPackage ./lxqt-archiver {};
 
     preRequisitePackages = [
       pkgs.gvfs # virtual file systems support for PCManFM-QT
@@ -107,5 +114,5 @@ let
     ];
 
   };
-
-in makeScope libsForQt5.newScope packages
+in
+makeScope libsForQt5.newScope packages
diff --git a/pkgs/desktops/lxqt/libfm-qt/default.nix b/pkgs/desktops/lxqt/libfm-qt/default.nix
index d383b46a9aed..ba83f0e3167a 100644
--- a/pkgs/desktops/lxqt/libfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/libfm-qt/default.nix
@@ -1,18 +1,28 @@
-{
-  lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools,
-  pcre, libexif, xorg, libfm, menu-cache,
-  qtx11extras, qttools
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, lxqt-build-tools
+, pcre
+, libexif
+, xorg
+, libfm
+, menu-cache
+, qtx11extras
+, qttools
+, lxqtUpdateScript
 }:
 
 mkDerivation rec {
-  pname = "libfm-qt-unstable";
-  version = "2019-09-22";
+  pname = "libfm-qt";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = "libfm-qt";
-    rev = "7c94e9efb996df0602f1f2b34b0216ba9b6df498";
-    sha256 = "1fnli2kh7n4hxmqwcb1n06lyk67d9a2fx6z70gas5jzym7r2h5vw";
+    rev = version;
+    sha256 = "0isshh627zr69kdmjxsy75i1nh95ky2wfhgy90g8j4zijpkdrd3l";
   };
 
   nativeBuildInputs = [
@@ -33,6 +43,8 @@ mkDerivation rec {
     menu-cache
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Core library of PCManFM-Qt (Qt binding for libfm)";
     homepage = "https://github.com/lxqt/libfm-qt";
diff --git a/pkgs/desktops/lxqt/liblxqt/default.nix b/pkgs/desktops/lxqt/liblxqt/default.nix
index ec7fe0a76652..e72593548cc0 100644
--- a/pkgs/desktops/lxqt/liblxqt/default.nix
+++ b/pkgs/desktops/lxqt/liblxqt/default.nix
@@ -1,15 +1,27 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras,
-  qttools, qtsvg, libqtxdg, polkit-qt, kwindowsystem, xorg }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtx11extras
+, qttools
+, qtsvg
+, libqtxdg
+, polkit-qt
+, kwindowsystem
+, xorg
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "liblxqt";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0g2502lcws5j74p82qhfryz9n51cvi85hb50r5s227xhkv91q65k";
+    sha256 = "1dqxsz8fy6xyzbkxhsymmr71yw4d5dwjgqd4rdjn0r9gk8ajrfzp";
   };
 
   nativeBuildInputs = [
@@ -31,6 +43,8 @@ mkDerivation rec {
     sed -i "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt
   '';
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Core utility library for all LXQt components";
     homepage = "https://github.com/lxqt/liblxqt";
diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix
index 14bb21e14695..526da0d84a4d 100644
--- a/pkgs/desktops/lxqt/libqtxdg/default.nix
+++ b/pkgs/desktops/lxqt/libqtxdg/default.nix
@@ -1,28 +1,42 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qtsvg, lxqt-build-tools }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, qtbase
+, qtsvg
+, lxqt-build-tools
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "libqtxdg";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "16jqnpc740a6phq7vcgy85hl7253yzyw4m5h71r0vijk79ir73b5";
+    sha256 = "00dzs6zc8prc0mxmvq0pmpy1qi8rysg97as7jfd0ndk5jii0nd85";
   };
 
-  nativeBuildInputs = [ cmake lxqt-build-tools ];
+  nativeBuildInputs = [
+    cmake
+    lxqt-build-tools
+  ];
 
-  buildInputs = [ qtbase qtsvg ];
+  buildInputs = [
+    qtbase
+    qtsvg
+  ];
 
   preConfigure = ''
     cmakeFlagsArray+=(
-      "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=$out/$qtPluginPrefix"
-      "-DCMAKE_INSTALL_INCLUDEDIR=include"
-      "-DCMAKE_INSTALL_LIBDIR=lib"
+      "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=$out/$qtPluginPrefix/iconengines"
     )
   '';
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Qt implementation of freedesktop.org xdg specs";
     homepage = "https://github.com/lxqt/libqtxdg";
diff --git a/pkgs/desktops/lxqt/libsysstat/default.nix b/pkgs/desktops/lxqt/libsysstat/default.nix
index 0e63d32c746e..642b57fe0d75 100644
--- a/pkgs/desktops/lxqt/libsysstat/default.nix
+++ b/pkgs/desktops/lxqt/libsysstat/default.nix
@@ -1,19 +1,33 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, lxqt-build-tools }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, qtbase
+, lxqt-build-tools
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "libsysstat";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "10h9n7km7yx8bnmzxi4nn1yqq03hizjkrx4745j0mczy7niiffsz";
+    sha256 = "1dlshyv7pd7gwl55rd3msppjdpz2pwp5f4da9a9wapg7kiskqahf";
   };
 
-  nativeBuildInputs = [ cmake lxqt-build-tools ];
+  nativeBuildInputs = [
+    cmake
+    lxqt-build-tools
+  ];
 
-  buildInputs = [ qtbase ];
+  buildInputs = [
+    qtbase
+  ];
+
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
     description = "Library used to query system info and statistics";
diff --git a/pkgs/desktops/lxqt/lximage-qt/default.nix b/pkgs/desktops/lxqt/lximage-qt/default.nix
index e47a9ec1b48a..22ce26526acb 100644
--- a/pkgs/desktops/lxqt/lximage-qt/default.nix
+++ b/pkgs/desktops/lxqt/lximage-qt/default.nix
@@ -1,15 +1,28 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools,
-  qtx11extras, qtsvg, xorg, lxqt-build-tools, libfm-qt, libexif }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, qtbase
+, qttools
+, qtx11extras
+, qtsvg
+, xorg
+, lxqt-build-tools
+, libfm-qt
+, libexif
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lximage-qt";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "175l2w5w6iag01v05jq90pxx0al24wpw3mgsbcgqhl4z6h860r32";
+    sha256 = "1pz0ird5vyrz1xycfn2vqh628f2mzwrx0psnp4hqdmj1xk9bjkbp";
   };
 
   nativeBuildInputs = [
@@ -29,6 +42,8 @@ mkDerivation rec {
     libexif
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "The image viewer and screenshot tool for lxqt";
     homepage = "https://github.com/lxqt/lximage-qt";
diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix
index 19a06925b3ed..01365129467d 100644
--- a/pkgs/desktops/lxqt/lxqt-about/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-about/default.nix
@@ -1,14 +1,26 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtx11extras
+, qttools
+, qtsvg
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-about";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0dj2rhbhnkzmv1iqqyq0bcp03imwnvxdr7rnpqnrs9kkjacm8zvr";
+    sha256 = "0bgwh9jbvpnsdcij0bfkgzg0pb0ljjalv65q4q0hlha430pmpv3x";
   };
 
   nativeBuildInputs = [
@@ -25,6 +37,8 @@ mkDerivation rec {
     libqtxdg
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Dialogue window providing information about LXQt and the system it's running on";
     homepage = "https://github.com/lxqt/lxqt-about";
diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix
index 0a9ef8cfb840..21a637bc6693 100644
--- a/pkgs/desktops/lxqt/lxqt-admin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix
@@ -1,14 +1,27 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, polkit-qt }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtx11extras
+, qttools
+, qtsvg
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, polkit-qt
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-admin";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "121qj46app2bqdr24g5sz2mdjfd9w86wpgkwap46s0zgxm4li44i";
+    sha256 = "16fbnlvla8lq6rkv5gpmkw2jj9h1wzd3jcf8sjrbns6ygyfdxx3a";
   };
 
   nativeBuildInputs = [
@@ -31,6 +44,8 @@ mkDerivation rec {
       -i lxqt-admin-user/CMakeLists.txt
   '';
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "LXQt system administration tool";
     homepage = "https://github.com/lxqt/lxqt-admin";
diff --git a/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
index 2c4d040a432b..ae772272c4b2 100644
--- a/pkgs/desktops/lxqt/lxqt-archiver/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
@@ -1,15 +1,26 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, json-glib, libfm-qt, qtbase, qttools, qtx11extras }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, lxqt-build-tools
+, json-glib
+, libfm-qt
+, qtbase
+, qttools
+, qtx11extras
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
-  # pname = "lxqt-archiver";
-  pname = "lxqt-archiver-unstable";
-  version = "2019-09-25";
+  pname = "lxqt-archiver";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = "lxqt-archiver";
-    rev = "62501255434b2ba6a8fd043a5af13dc0df038a5b";
-    sha256 = "1af58k68karmnay7xgngzlmcgkmvx6hay5m1xbl5id9hh16n20in";
+    rev = version;
+    sha256 = "0c0y8sy12laqyanvy6mmnpjvy1yb8k3241pbxhc3nyl5zrq3hzdh";
   };
 
   nativeBuildInputs = [
@@ -26,10 +37,10 @@ mkDerivation rec {
     qtx11extras
   ];
 
-  cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
-
   hardeningDisable = [ "format" ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Archive tool for the LXQt desktop environment";
     homepage = "https://github.com/lxqt/lxqt-archiver/";
diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
index d06cb7be9286..92ce3c2fe508 100644
--- a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
@@ -1,19 +1,36 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, glib }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, pcre
+, qtbase
+, glib
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-build-tools";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0i7m9s4g5rsw28vclc9nh0zcapx85cqfwxkx7rrw7wa12svy7pm2";
+    sha256 = "18l1w9lyf3nyj05wjhaj4lclak6qydlhw9bqi6kxgr1bv8k709lf";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig setupHook ];
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    setupHook
+  ];
 
-  buildInputs = [ qtbase glib pcre ];
+  buildInputs = [
+    qtbase
+    glib
+    pcre
+  ];
 
   setupHook = ./setup-hook.sh;
 
@@ -24,6 +41,8 @@ mkDerivation rec {
     cp ${./LXQtConfigVars.cmake} $out/share/cmake/lxqt-build-tools/modules/LXQtConfigVars.cmake
   '';
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Various packaging tools and scripts for LXQt applications";
     homepage = "https://github.com/lxqt/lxqt-build-tools";
diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix
index 41fe965161db..677b90b25c53 100644
--- a/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -1,16 +1,30 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase,
-  qtx11extras, qttools, qtsvg, kwindowsystem, libkscreen, liblxqt,
-  libqtxdg, xorg }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, lxqt-build-tools
+, qtbase
+, qtx11extras
+, qttools
+, qtsvg
+, kwindowsystem
+, libkscreen
+, liblxqt
+, libqtxdg
+, xorg
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-config";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0x1k08587i2pakxlrj2n0l82r179sfywnzn2cphxiy89r5zpn7vi";
+    sha256 = "1nqkc716rl4c0rad4vqlqadm6lljrhwpdflaa5k9lrdiingr0s7s";
   };
 
   nativeBuildInputs = [
@@ -41,6 +55,8 @@ mkDerivation rec {
     sed -i "/\''${XORG_LIBINPUT_INCLUDE_DIRS}/a ${xorg.xf86inputlibinput.dev}/include/xorg" lxqt-config-input/CMakeLists.txt
   '';
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Tools to configure LXQt and the underlying operating system";
     homepage = "https://github.com/lxqt/lxqt-config";
diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index ca760d2a090c..59e2096dea43 100644
--- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -1,14 +1,27 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtbase
+, qttools
+, qtx11extras
+, qtsvg
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-globalkeys";
-  version = "0.14.3";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1ij9abjnqbnkcb7qqk3x7y4amr6l7kkmwhdpc0x2qk4yikn5ijdg";
+    sha256 = "09vib713zbmnwicijycl3n9q35l45lrcw129lf9z95s3ch81x1hm";
   };
 
   nativeBuildInputs = [
@@ -26,6 +39,8 @@ mkDerivation rec {
     libqtxdg
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "LXQt service for global keyboard shortcuts registration";
     homepage = "https://github.com/lxqt/lxqt-globalkeys";
diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
index 5790be3c77f5..43f9bf319324 100644
--- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
@@ -1,14 +1,27 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, qtx11extras }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtbase
+, qttools
+, qtsvg
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, qtx11extras
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-notificationd";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1ihaf2i361j2snyy6kg8ccpfnc8hppvacmxjqzb1lpyaf1ajd139";
+    sha256 = "0vqk1rc4fn2s0ls6sl03vzsb16xczrxab4rzjim3azm4pwsxjd1k";
   };
 
   nativeBuildInputs = [
@@ -26,6 +39,8 @@ mkDerivation rec {
     qtx11extras
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "The LXQt notification daemon";
     homepage = "https://github.com/lxqt/lxqt-notificationd";
diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index 26730f57b43e..a164571800ac 100644
--- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -1,14 +1,27 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtbase
+, qttools
+, qtsvg
+, qtx11extras
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-openssh-askpass";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "04jmvhhlhhspwzj4hfq7fnaa3h7h02z3rlq8p55hzlzkvshqqh1q";
+    sha256 = "056bj3ssp4vqapzqg3da3m95vi92043j7mv70lmpznxdwyjwgxc3";
   };
 
   nativeBuildInputs = [
@@ -26,6 +39,8 @@ mkDerivation rec {
     libqtxdg
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "GUI to query passwords on behalf of SSH agents";
     homepage = "https://github.com/lxqt/lxqt-openssh-askpass";
diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix
index 57938a5f521f..705d6aec7930 100644
--- a/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -1,21 +1,42 @@
-{
-  lib, mkDerivation, fetchFromGitHub,
-  cmake, pkgconfig, lxqt-build-tools,
-  qtbase, qttools, qtx11extras, qtsvg, libdbusmenu, kwindowsystem, solid,
-  kguiaddons, liblxqt, libqtxdg, lxqt-globalkeys, libsysstat,
-  xorg, libstatgrab, lm_sensors, libpulseaudio, alsaLib, menu-cache,
-  lxmenu-data, pcre, libXdamage
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, lxqt-build-tools
+, qtbase
+, qttools
+, qtx11extras
+, qtsvg
+, libdbusmenu
+, kwindowsystem
+, solid
+, kguiaddons
+, liblxqt
+, libqtxdg
+, lxqt-globalkeys
+, libsysstat
+, xorg
+, libstatgrab
+, lm_sensors
+, libpulseaudio
+, alsaLib
+, menu-cache
+, lxmenu-data
+, pcre
+, libXdamage
+, lxqtUpdateScript
 }:
 
 mkDerivation rec {
   pname = "lxqt-panel";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1py3i7qgm6h2iwjwqfjml1rp06s7ls1d7z5i9iizsmfshdzkaq86";
+    sha256 = "0k2gqf9f4g8fpny8p5m1anzk7mdxm9dgh6xlngz25nj4mshnq3xs";
   };
 
   nativeBuildInputs = [
@@ -49,6 +70,8 @@ mkDerivation rec {
     libXdamage
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "The LXQt desktop panel";
     homepage = "https://github.com/lxqt/lxqt-panel";
diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
index 33a2d517fa41..7575c805a31c 100644
--- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
@@ -1,18 +1,30 @@
-{
-  lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools,
-  qtbase, qttools, qtx11extras, qtsvg, polkit-qt, kwindowsystem, liblxqt,
-  libqtxdg, pcre
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, lxqt-build-tools
+, qtbase
+, qttools
+, qtx11extras
+, qtsvg
+, polkit-qt
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, pcre
+, lxqtUpdateScript
 }:
 
 mkDerivation rec {
   pname = "lxqt-policykit";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0mh9jw09r0mk8xmgvmzk3yyfix0pzqya28rcx71fqjpbdv1sc44l";
+    sha256 = "001zgjxgvzp7clfqr46sx8m3a7v38xxgxjqrpz01lxx18zik3d9h";
   };
 
   nativeBuildInputs = [
@@ -33,6 +45,8 @@ mkDerivation rec {
     pcre
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "The LXQt PolicyKit agent";
     homepage = "https://github.com/lxqt/lxqt-policykit";
diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
index 997a9cda3d97..2b48a2a04b5a 100644
--- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
@@ -1,14 +1,29 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, solid, kidletime, liblxqt, libqtxdg }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtbase
+, qttools
+, qtx11extras
+, qtsvg
+, kwindowsystem
+, solid
+, kidletime
+, liblxqt
+, libqtxdg
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-powermanagement";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1nhp4a28bpczhwz8b8da355zsxr1qwmkrm3bwllwp39liw947clx";
+    sha256 = "0gqxy4d05gibsvq27qdfwp5v19310l0ln4bvwaan6ailbyyya90f";
   };
 
   nativeBuildInputs = [
@@ -28,6 +43,8 @@ mkDerivation rec {
     libqtxdg
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Power management module for LXQt";
     homepage = "https://github.com/lxqt/lxqt-powermanagement";
diff --git a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
index abb09aae838f..02a43b4a8c17 100644
--- a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
@@ -1,18 +1,27 @@
-{
-  lib, mkDerivation, fetchFromGitHub,
-  cmake, lxqt-build-tools,
-  qtbase, qtx11extras, qttools, qtsvg, libdbusmenu, libqtxdg, libfm-qt
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtbase
+, qtx11extras
+, qttools
+, qtsvg
+, libdbusmenu
+, libqtxdg
+, libfm-qt
+, lxqtUpdateScript
 }:
 
 mkDerivation rec {
   pname = "lxqt-qtplugin";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "16n50lxnya03zcviw65sy5dyg9dsrn64k91mrqfvraf6d90md4al";
+    sha256 = "17x5jr78rbsf4pbvc4y3wwkpvsmynzkxy2ifvwhqyc2gmjspp8il";
   };
 
   nativeBuildInputs = [
@@ -35,6 +44,8 @@ mkDerivation rec {
       --replace "DESTINATION \"\''${QT_PLUGINS_DIR}" "DESTINATION \"$qtPluginPrefix"
   '';
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "LXQt Qt platform integration plugin";
     homepage = "https://github.com/lxqt/lxqt-qtplugin";
diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix
index e4f39184ffdf..8a27ef41610e 100644
--- a/pkgs/desktops/lxqt/lxqt-runner/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix
@@ -1,15 +1,32 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, lxqt-globalkeys, qtx11extras,
-menu-cache, muparser, pcre }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, lxqt-build-tools
+, qtbase
+, qttools
+, qtsvg
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, lxqt-globalkeys
+, qtx11extras
+, menu-cache
+, muparser
+, pcre
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-runner";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "01a8ycpkzcbh85y4025pd3nbpnzxh98ll1xwz4ykz13yvm0l2n1w";
+    sha256 = "1x6s4k27cvj2k51hwpcp3l686c2am504ckry4fm76h0mlnkffjm5";
   };
 
   nativeBuildInputs = [
@@ -32,6 +49,8 @@ mkDerivation rec {
     pcre
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Tool used to launch programs quickly by typing their names";
     homepage = "https://github.com/lxqt/lxqt-runner";
diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix
index 0493dd9fbb13..2e513b23988f 100644
--- a/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -1,14 +1,30 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg, xorg, xdg-user-dirs }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, lxqt-build-tools
+, qtbase
+, qttools
+, qtsvg
+, qtx11extras
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, xorg
+, xdg-user-dirs
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-session";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0s6b0lblb795zz1p7sy677c1iznhmdzc4vw3jkc2agmsrhm7if7s";
+    sha256 = "0kbk13dpmr75yd905n30k51cl7srrxz31ma4kacx450qgr5rwawn";
   };
 
   nativeBuildInputs = [
@@ -30,6 +46,8 @@ mkDerivation rec {
     xdg-user-dirs
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "An alternative session manager ported from the original razor-session";
     homepage = "https://github.com/lxqt/lxqt-session";
diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
index 9c76f0383b57..5f8fbcd2a6a6 100644
--- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
@@ -1,14 +1,28 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg, sudo }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtbase
+, qttools
+, qtx11extras
+, qtsvg
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, sudo
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-sudo";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1my0wpic20493rdlabp9ghag1g3nhwafk2yklkgczlajmarakgpc";
+    sha256 = "1j8pxqxb2c10hrfq34nfx75pc0cz6044j4w458nnxbgvl5b8cdcb";
   };
 
   nativeBuildInputs = [
@@ -27,6 +41,8 @@ mkDerivation rec {
     sudo
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "GUI frontend for sudo/su";
     homepage = "https://github.com/lxqt/lxqt-sudo";
diff --git a/pkgs/desktops/lxqt/lxqt-themes/default.nix b/pkgs/desktops/lxqt/lxqt-themes/default.nix
index 1cc56d62a06e..4613017b8a96 100644
--- a/pkgs/desktops/lxqt/lxqt-themes/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-themes/default.nix
@@ -1,14 +1,20 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "lxqt-themes";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "09dkcgnf3lmfly8v90p6wjlj5rin83pbailvvpx2jr8a48a8zb9f";
+    sha256 = "1magzckhgrac2b5jm83hj3s8x4hyfnbh2v86lfa4c36whnfvsz29";
   };
 
   nativeBuildInputs = [
@@ -16,6 +22,8 @@ mkDerivation rec {
     lxqt-build-tools
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Themes, graphics and icons for LXQt";
     homepage = "https://github.com/lxqt/lxqt-themes";
diff --git a/pkgs/desktops/lxqt/obconf-qt/default.nix b/pkgs/desktops/lxqt/obconf-qt/default.nix
index 1b1e2e92b0fb..91baba60d8a6 100644
--- a/pkgs/desktops/lxqt/obconf-qt/default.nix
+++ b/pkgs/desktops/lxqt/obconf-qt/default.nix
@@ -1,15 +1,27 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, qttools,
-  qtx11extras, xorg, lxqt-build-tools, openbox }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, pcre
+, qtbase
+, qttools
+, qtx11extras
+, xorg
+, lxqt-build-tools
+, openbox
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "obconf-qt";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "15dizs072ylmld1lxwgqkvybqy8ms8zki5586xm305jnlmrkb4lq";
+    sha256 = "13bah70k78kscrr01z7dwdzwhay8mz0f7gfsg2a6w113mgqkn7ib";
   };
 
   nativeBuildInputs = [
@@ -29,6 +41,8 @@ mkDerivation rec {
     openbox
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "The Qt port of obconf, the Openbox configuration tool";
     homepage = "https://github.com/lxqt/obconf-qt";
diff --git a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
index 308077bc0992..24343d423744 100644
--- a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
+++ b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
@@ -1,15 +1,25 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt, libpulseaudio,
-  pcre, qtbase, qttools, qtx11extras }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, lxqt
+, libpulseaudio
+, pcre
+, qtbase
+, qttools
+, qtx11extras
+}:
 
 mkDerivation rec {
   pname = "pavucontrol-qt";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "124dk41v8l5pv7afi1h7fgbhm8zj605yfd8b769sn7id2bqj7bis";
+    sha256 = "0ppm79c6pkz2hvs1rri55d3s46j6r0vhiv634wzap9qshjb1j367";
   };
 
   nativeBuildInputs = [
@@ -26,6 +36,8 @@ mkDerivation rec {
     pcre
   ];
 
+  passthru.updateScript = lxqt.lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "A Pulseaudio mixer in Qt (port of pavucontrol)";
     homepage = "https://github.com/lxqt/pavucontrol-qt";
diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
index b294cdf52ab0..f5a5b18cfc05 100644
--- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
@@ -1,15 +1,27 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt, qtbase, qttools,
-  qtx11extras, libfm-qt, menu-cache, lxmenu-data }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, lxqt
+, qtbase
+, qttools
+, qtx11extras
+, libfm-qt
+, menu-cache
+, lxmenu-data
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "pcmanfm-qt";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1zchxlbyiifing94mqwh45pp7z3ihldknqiaz0kanq1cnma1jj6k";
+    sha256 = "16zwd2jfrmsnzfpywirkrpyilq1jj99liwvg77l20b1dbql9dc0q";
   };
 
   nativeBuildInputs = [
@@ -28,6 +40,8 @@ mkDerivation rec {
     lxmenu-data
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "File manager and desktop icon manager (Qt port of PCManFM and libfm)";
     homepage = "https://github.com/lxqt/pcmanfm-qt";
diff --git a/pkgs/desktops/lxqt/qlipper/default.nix b/pkgs/desktops/lxqt/qlipper/default.nix
index d5da4737f8f2..fca585c45931 100644
--- a/pkgs/desktops/lxqt/qlipper/default.nix
+++ b/pkgs/desktops/lxqt/qlipper/default.nix
@@ -1,19 +1,33 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qttools }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, qtbase
+, qttools
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "qlipper";
-  version = "5.1.1";
+  version = "5.1.2";
 
   src = fetchFromGitHub {
     owner = "pvanek";
     repo = pname;
     rev = version;
-    sha256 = "0vlm4ab9isi7i2bimnyrk6083j2dfdrs14qj59vjcjri7mcwmf76";
+    sha256 = "0zpkcqfylcfwvadp1bidcrr64d8ls5c7bdnkfqwjjd32sd35ly60";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [
+    cmake
+  ];
 
-  buildInputs = [ qtbase qttools ];
+  buildInputs = [
+    qtbase
+    qttools
+  ];
+
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
     description = "Cross-platform clipboard history applet";
diff --git a/pkgs/desktops/lxqt/qps/default.nix b/pkgs/desktops/lxqt/qps/default.nix
index cba01522de01..7ef9db40f7c1 100644
--- a/pkgs/desktops/lxqt/qps/default.nix
+++ b/pkgs/desktops/lxqt/qps/default.nix
@@ -1,26 +1,49 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qtx11extras, qttools,
-  lxqt-build-tools }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, kwindowsystem
+, liblxqt
+, libqtxdg
+, lxqt-build-tools
+, lxqtUpdateScript
+, qtbase
+, qttools
+, qtx11extras
+}:
 
 mkDerivation rec {
   pname = "qps";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "03rl59yk3b24j0y0k8dpdpb3yi4f1l642zn5pp5br3s2vwx1vzkg";
+    sha256 = "0jg7sfhdm5xsahzcw8hc2vpp5p3sqzdqwp4my65nj85i7wzgxmva";
   };
 
-  nativeBuildInputs = [ cmake lxqt-build-tools ];
+  nativeBuildInputs = [
+    cmake
+    lxqt-build-tools
+  ];
 
-  buildInputs = [ qtbase qtx11extras qttools ];
+  buildInputs = [
+    kwindowsystem
+    liblxqt
+    libqtxdg
+    qtbase
+    qttools
+    qtx11extras
+  ];
+
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
     description = "Qt based process manager";
     homepage = "https://github.com/lxqt/qps";
     license = licenses.gpl2;
-    platforms = with platforms; linux;  # does not build on darwin
+    platforms = with platforms; linux; # does not build on darwin
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/pkgs/desktops/lxqt/qterminal/default.nix b/pkgs/desktops/lxqt/qterminal/default.nix
index 2b4844654b01..c7bcf6dad3bc 100644
--- a/pkgs/desktops/lxqt/qterminal/default.nix
+++ b/pkgs/desktops/lxqt/qterminal/default.nix
@@ -1,15 +1,24 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtermwidget,
-  qtbase, qttools, qtx11extras }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, lxqt-build-tools
+, qtermwidget
+, qtbase
+, qttools
+, qtx11extras
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "qterminal";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0bq6lvns56caijdmjm05nsj9vg69v9x5vid24bfxasck6q8nw24w";
+    sha256 = "1vna0fvdasrdx7l5zxaaxi1v9fy34g2qblgkdhpczxivnmmxm5a3";
   };
 
   nativeBuildInputs = [
@@ -24,6 +33,8 @@ mkDerivation rec {
     qtermwidget
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "A lightweight Qt-based terminal emulator";
     homepage = "https://github.com/lxqt/qterminal";
diff --git a/pkgs/desktops/lxqt/qtermwidget/default.nix b/pkgs/desktops/lxqt/qtermwidget/default.nix
index d20d4445c252..fc3fb4a5db0e 100644
--- a/pkgs/desktops/lxqt/qtermwidget/default.nix
+++ b/pkgs/desktops/lxqt/qtermwidget/default.nix
@@ -1,19 +1,35 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qttools, lxqt-build-tools }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, qtbase
+, qttools
+, lxqt-build-tools
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "qtermwidget";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1pz8dwb86jpga4vfyn5v9n2s6dx3zh74yfp1kjsmsmhf878zs6lv";
+    sha256 = "07wvcc650998yav9hr4hpm842j0iqdvls3mn9n2n4v8xvm7cii2m";
   };
 
-  nativeBuildInputs = [ cmake lxqt-build-tools ];
+  nativeBuildInputs = [
+    cmake
+    lxqt-build-tools
+  ];
 
-  buildInputs = [ qtbase qttools ];
+  buildInputs = [
+    qtbase
+    qttools
+  ];
+
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
     description = "A terminal emulator widget for Qt 5";
diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix
index 7eff539091fc..6a2e14fa50d8 100644
--- a/pkgs/desktops/lxqt/screengrab/default.nix
+++ b/pkgs/desktops/lxqt/screengrab/default.nix
@@ -1,14 +1,28 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, libqtxdg, xorg, autoPatchelfHook }:
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, qtbase
+, qttools
+, qtx11extras
+, qtsvg
+, kwindowsystem
+, libqtxdg
+, xorg
+, autoPatchelfHook
+, lxqtUpdateScript
+}:
 
 mkDerivation rec {
   pname = "screengrab";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1syvdqq45dr8hwigl9ax1wxr33m8z23nh6xzzlqbflyyd93xzjmn";
+    sha256 = "07wm9q0nkrvmyb12kvh0709qrwizlxgy6i5j2czhb4giljrpr4x6";
   };
 
   nativeBuildInputs = [
@@ -28,6 +42,8 @@ mkDerivation rec {
     xorg.libXdmcp
   ];
 
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
   meta = with lib; {
     description = "Crossplatform tool for fast making screenshots";
     homepage = "https://github.com/lxqt/screengrab";
diff --git a/pkgs/desktops/lxqt/update.sh b/pkgs/desktops/lxqt/update.sh
deleted file mode 100755
index 47d3dfb3d5fe..000000000000
--- a/pkgs/desktops/lxqt/update.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p libarchive curl common-updater-scripts
-
-set -eu -o pipefail
-
-cd "$(dirname "${BASH_SOURCE[0]}")"
-root=../../..
-export NIXPKGS_ALLOW_UNFREE=1
-
-lxqt_version=0.14.1
-lxqtrepo=https://downloads.lxqt.org/${lxqt_version}.html
-
-version() {
-    (cd "$root" && nix-instantiate --eval --strict -A "$1.version" 2>/dev/null | tr -d '"')
-}
-
-update_lxqt() {
-    local pname
-    local pversion
-    curl -sS ${lxqtrepo} | sed -rne 's|.*<a href=.*>(.+) (.+)</a><br>|\1 \2|p' |
-        while read pname pversion; do
-            local pversionold=$(version lxqt.$pname)
-            if [[ "$pversion" = "$pversionold" ]]; then
-                echo "nothing to do, $pname $pversion is current"
-            else
-                echo "$pname: $pversionold -> $pversion"
-                (cd "$root"
-                 local pfile=$(EDITOR=echo nix edit -f. lxqt.$pname 2>/dev/null)
-                 update-source-version lxqt.$pname "$pversion"
-                 git add $pfile
-                 git commit -m "lxqt.$pname: $pversionold -> $pversion"
-                )
-            fi
-            echo
-        done
-    echo DONE
-}
-
-update_lxqt