nixos/lxqt: add options iconThemePackage and extraPackages (#439536)

authored by José Romildo Malaquias and committed by GitHub d2dfeea0 c37de9b4

+22 -10
+22 -10
nixos/modules/services/x11/desktop-managers/lxqt.nix
··· 9 with lib; 10 11 let 12 - xcfg = config.services.xserver; 13 - cfg = xcfg.desktopManager.lxqt; 14 15 in 16 ··· 21 22 options = { 23 24 - services.xserver.desktopManager.lxqt.enable = mkOption { 25 - type = types.bool; 26 - default = false; 27 - description = "Enable the LXQt desktop manager"; 28 }; 29 30 environment.lxqt.excludePackages = mkOption { 31 default = [ ]; 32 - example = literalExpression "[ pkgs.lxqt.qterminal ]"; 33 - type = types.listOf types.package; 34 description = "Which LXQt packages to exclude from the default environment"; 35 }; 36 ··· 61 environment.systemPackages = 62 pkgs.lxqt.preRequisitePackages 63 ++ pkgs.lxqt.corePackages 64 - ++ (utils.removePackagesByName pkgs.lxqt.optionalPackages config.environment.lxqt.excludePackages); 65 66 # Link some extra directories in /run/current-system/software/share 67 environment.pathsToLink = [ "/share" ]; ··· 69 programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-qt; 70 71 # virtual file systems support for PCManFM-QT 72 - services.gvfs.enable = true; 73 74 services.upower.enable = config.powerManagement.enable; 75
··· 9 with lib; 10 11 let 12 + cfg = config.services.xserver.desktopManager.lxqt; 13 14 in 15 ··· 20 21 options = { 22 23 + services.xserver.desktopManager.lxqt.enable = mkEnableOption "the LXQt desktop manager"; 24 + 25 + services.xserver.desktopManager.lxqt.iconThemePackage = 26 + lib.mkPackageOption pkgs [ "kdePackages" "breeze-icons" ] { } 27 + // { 28 + description = "The package that provides a default icon theme."; 29 + }; 30 + 31 + services.xserver.desktopManager.lxqt.extraPackages = lib.mkOption { 32 + type = with lib.types; listOf package; 33 + default = [ ]; 34 + defaultText = lib.literalExpression "[ ]"; 35 + example = lib.literalExpression "with pkgs; [ xscreensaver ]"; 36 + description = "Extra packages to be installed system wide."; 37 }; 38 39 environment.lxqt.excludePackages = mkOption { 40 + type = with lib.types; listOf package; 41 default = [ ]; 42 + defaultText = lib.literalExpression "[ ]"; 43 + example = lib.literalExpression "with pkgs; [ lxqt.qterminal ]"; 44 description = "Which LXQt packages to exclude from the default environment"; 45 }; 46 ··· 71 environment.systemPackages = 72 pkgs.lxqt.preRequisitePackages 73 ++ pkgs.lxqt.corePackages 74 + ++ [ cfg.iconThemePackage ] 75 + ++ (utils.removePackagesByName pkgs.lxqt.optionalPackages config.environment.lxqt.excludePackages) 76 + ++ cfg.extraPackages; 77 78 # Link some extra directories in /run/current-system/software/share 79 environment.pathsToLink = [ "/share" ]; ··· 81 programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-qt; 82 83 # virtual file systems support for PCManFM-QT 84 + services.gvfs.enable = mkDefault true; 85 86 services.upower.enable = config.powerManagement.enable; 87