|
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" ];
|
68 | 80 |
|
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 |
|
|
0 commit comments