summary refs log tree commit diff
diff options
context:
space:
mode:
authorromildo <malaquias@gmail.com>2017-03-24 11:13:06 -0300
committerromildo <malaquias@gmail.com>2017-03-29 06:17:23 -0300
commit2630e7384fa623337ca35a541eae371152d21768 (patch)
tree238ce6731c1371e0127b5be3e76ff85197b11718
parent53a402120115daef8a5661847b778035c344c47f (diff)
downloadnixpkgs-2630e7384fa623337ca35a541eae371152d21768.tar
nixpkgs-2630e7384fa623337ca35a541eae371152d21768.tar.gz
nixpkgs-2630e7384fa623337ca35a541eae371152d21768.tar.bz2
nixpkgs-2630e7384fa623337ca35a541eae371152d21768.tar.lz
nixpkgs-2630e7384fa623337ca35a541eae371152d21768.tar.xz
nixpkgs-2630e7384fa623337ca35a541eae371152d21768.tar.zst
nixpkgs-2630e7384fa623337ca35a541eae371152d21768.zip
qt5ct: add a nixos module to enable qt5ct
In order to use qt5ct (Qt5 Configuration Tool) to configure Qt5
settings (theme, font, icons, etc.) under DE/WM without Qt
integration, the environment variable QT_QPA_PLATFORMTHEME should be
set to "qt5ct".

It can be done automatically by this module, or by setting the
variable explicitly in the user or in the system configuration.
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/programs/qt5ct.nix31
2 files changed, 32 insertions, 0 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index d1ccb2f15fc..af2f55c775c 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -87,6 +87,7 @@
   ./programs/mtr.nix
   ./programs/nano.nix
   ./programs/oblogout.nix
+  ./programs/qt5ct.nix
   ./programs/screen.nix
   ./programs/shadow.nix
   ./programs/shell.nix
diff --git a/nixos/modules/programs/qt5ct.nix b/nixos/modules/programs/qt5ct.nix
new file mode 100644
index 00000000000..550634e65be
--- /dev/null
+++ b/nixos/modules/programs/qt5ct.nix
@@ -0,0 +1,31 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  meta.maintainers = [ maintainers.romildo ];
+
+  ###### interface
+  options = {
+    programs.qt5ct = {
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Whether to enable the Qt5 Configuration Tool (qt5ct), a
+          program that allows users to configure Qt5 settings (theme,
+          font, icons, etc.) under desktop environments or window
+          manager without Qt integration.
+
+          Official home page: <link xlink:href="https://sourceforge.net/projects/qt5ct/">https://sourceforge.net/projects/qt5ct/</link>
+        '';
+      };
+    };
+  };
+
+  ###### implementation
+  config = mkIf config.programs.qt5ct.enable {
+    environment.variables.QT_QPA_PLATFORMTHEME = "qt5ct";
+    environment.systemPackages = [ pkgs.qt5ct ];
+  };
+}