From 2630e7384fa623337ca35a541eae371152d21768 Mon Sep 17 00:00:00 2001 From: romildo Date: Fri, 24 Mar 2017 11:13:06 -0300 Subject: [PATCH] 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. --- nixos/modules/module-list.nix | 1 + nixos/modules/programs/qt5ct.nix | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 nixos/modules/programs/qt5ct.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index d1ccb2f15fc3..af2f55c775c9 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 000000000000..550634e65be9 --- /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: https://sourceforge.net/projects/qt5ct/ + ''; + }; + }; + }; + + ###### implementation + config = mkIf config.programs.qt5ct.enable { + environment.variables.QT_QPA_PLATFORMTHEME = "qt5ct"; + environment.systemPackages = [ pkgs.qt5ct ]; + }; +}