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