summary refs log tree commit diff
diff options
context:
space:
mode:
authorlinsui <linsui555@gmail.com>2022-10-23 21:46:02 +0800
committerlinsui <linsui555@gmail.com>2023-01-10 20:48:45 +0800
commit16f0d689deae07f24967d0ab95c014d6d3a317a4 (patch)
tree76021542b828f63fb72a05dab2934e2c32b3afde
parent41bd3b658ae1608027fea98d7fe757623c2c58f9 (diff)
downloadnixpkgs-16f0d689deae07f24967d0ab95c014d6d3a317a4.tar
nixpkgs-16f0d689deae07f24967d0ab95c014d6d3a317a4.tar.gz
nixpkgs-16f0d689deae07f24967d0ab95c014d6d3a317a4.tar.bz2
nixpkgs-16f0d689deae07f24967d0ab95c014d6d3a317a4.tar.lz
nixpkgs-16f0d689deae07f24967d0ab95c014d6d3a317a4.tar.xz
nixpkgs-16f0d689deae07f24967d0ab95c014d6d3a317a4.tar.zst
nixpkgs-16f0d689deae07f24967d0ab95c014d6d3a317a4.zip
Add gnome theme for qt6
-rw-r--r--nixos/modules/config/qt5.nix10
-rw-r--r--pkgs/data/themes/adwaita-qt/default.nix19
-rw-r--r--pkgs/development/libraries/qgnomeplatform/default.nix18
-rw-r--r--pkgs/top-level/all-packages.nix8
4 files changed, 47 insertions, 8 deletions
diff --git a/nixos/modules/config/qt5.nix b/nixos/modules/config/qt5.nix
index cb3180d7b96..7225388f99d 100644
--- a/nixos/modules/config/qt5.nix
+++ b/nixos/modules/config/qt5.nix
@@ -12,7 +12,13 @@ let
   isLxqt = cfg.platformTheme == "lxqt";
   isKde = cfg.platformTheme == "kde";
 
-  packages = if isQGnome then [ pkgs.qgnomeplatform pkgs.adwaita-qt ]
+  packages =
+    if isQGnome then [
+      pkgs.qgnomeplatform
+      pkgs.adwaita-qt
+      pkgs.qgnomeplatform-qt6
+      pkgs.adwaita-qt6
+    ]
     else if isQtStyle then [ pkgs.libsForQt5.qtstyleplugins ]
     else if isQt5ct then [ pkgs.libsForQt5.qt5ct ]
     else if isLxqt then [ pkgs.lxqt.lxqt-qtplugin pkgs.lxqt.lxqt-config ]
@@ -40,6 +46,7 @@ in
         example = "gnome";
         relatedPackages = [
           "qgnomeplatform"
+          "qgnomeplatform-qt6"
           ["libsForQt5" "qtstyleplugins"]
           ["libsForQt5" "qt5ct"]
           ["lxqt" "lxqt-qtplugin"]
@@ -71,6 +78,7 @@ in
         example = "adwaita";
         relatedPackages = [
           "adwaita-qt"
+          "adwaita-qt6"
           ["libsForQt5" "qtstyleplugins"]
         ];
         description = lib.mdDoc ''
diff --git a/pkgs/data/themes/adwaita-qt/default.nix b/pkgs/data/themes/adwaita-qt/default.nix
index 79690fa4e6a..2a5d768b1ae 100644
--- a/pkgs/data/themes/adwaita-qt/default.nix
+++ b/pkgs/data/themes/adwaita-qt/default.nix
@@ -1,16 +1,17 @@
-{ mkDerivation
-, stdenv
+{ stdenv
 , lib
 , fetchFromGitHub
 , nix-update-script
 , cmake
 , ninja
 , qtbase
+, qtwayland
 , qt5
 , xorg
+, useQt6 ? false
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "adwaita-qt";
   version = "1.4.1";
 
@@ -30,9 +31,19 @@ mkDerivation rec {
 
   buildInputs = [
     qtbase
-    qt5.qtx11extras
   ] ++ lib.optionals stdenv.isLinux [
     xorg.libxcb
+  ] ++ lib.optionals (!useQt6) [
+    qt5.qtx11extras
+  ] ++ lib.optionals useQt6 [
+    qtwayland
+  ];
+
+  # Qt setup hook complains about missing `wrapQtAppsHook` otherwise.
+  dontWrapQtApps = true;
+
+  cmakeFlags = lib.optionals useQt6 [
+    "-DUSE_QT6=true"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/qgnomeplatform/default.nix b/pkgs/development/libraries/qgnomeplatform/default.nix
index 7f03baba0f4..12a41104cfd 100644
--- a/pkgs/development/libraries/qgnomeplatform/default.nix
+++ b/pkgs/development/libraries/qgnomeplatform/default.nix
@@ -1,19 +1,22 @@
-{ mkDerivation
+{ stdenv
 , lib
 , fetchFromGitHub
 , nix-update-script
 , cmake
 , pkg-config
 , adwaita-qt
+, adwaita-qt6
 , glib
 , gtk3
 , qtbase
+, qtwayland
 , pantheon
 , substituteAll
 , gsettings-desktop-schemas
+, useQt6 ? false
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "qgnomeplatform";
   version = "0.8.4";
 
@@ -38,15 +41,24 @@ mkDerivation rec {
   ];
 
   buildInputs = [
-    adwaita-qt
     glib
     gtk3
     qtbase
+  ] ++ lib.optionals (!useQt6) [
+    adwaita-qt
+  ] ++ lib.optionals useQt6 [
+    adwaita-qt6
+    qtwayland
   ];
 
+  # Qt setup hook complains about missing `wrapQtAppsHook` otherwise.
+  dontWrapQtApps = true;
+
   cmakeFlags = [
     "-DGLIB_SCHEMAS_DIR=${glib.getSchemaPath gsettings-desktop-schemas}"
     "-DQT_PLUGINS_DIR=${placeholder "out"}/${qtbase.qtPluginPrefix}"
+  ] ++ lib.optionals useQt6 [
+    "-DUSE_QT6=true"
   ];
 
   passthru = {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4402528916f..3a9775e72eb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -22554,6 +22554,10 @@ with pkgs;
 
   qgnomeplatform = libsForQt5.callPackage ../development/libraries/qgnomeplatform { };
 
+  qgnomeplatform-qt6 = qt6Packages.callPackage ../development/libraries/qgnomeplatform {
+    useQt6 = true;
+  };
+
   randomx = darwin.apple_sdk_11_0.callPackage ../development/libraries/randomx { };
 
   remodel = callPackage ../development/tools/remodel {
@@ -26425,6 +26429,10 @@ with pkgs;
 
   adwaita-qt = libsForQt5.callPackage ../data/themes/adwaita-qt { };
 
+  adwaita-qt6 = qt6Packages.callPackage ../data/themes/adwaita-qt {
+    useQt6 = true;
+  };
+
   adw-gtk3 = callPackage ../data/themes/adw-gtk3 { };
 
   agave = callPackage ../data/fonts/agave { };