diff --git a/system/options.nix b/system/options.nix
index 59c3001df3bb..9128e794e025 100644
--- a/system/options.nix
+++ b/system/options.nix
@@ -3083,6 +3083,22 @@ root ALL=(ALL) SETENV: ALL
};
};
+
+ kde = {
+
+ extraPackages = mkOption {
+ default = [];
+ merge = backwardPkgsFunListMerge;
+ description = ''
+ Additional KDE packages to be used when
+ is
+ "kde" or "kde4".
+ By default, you only get the KDE base packages.
+ '';
+ };
+
+ };
+
passthru = mkOption {
default = {};
@@ -3093,6 +3109,7 @@ root ALL=(ALL) SETENV: ALL
";
};
+
require = [
# newtworking
(import ../upstart-jobs/dhclient.nix)
diff --git a/system/system.nix b/system/system.nix
index 7fc5974cc394..607195ab0cbe 100644
--- a/system/system.nix
+++ b/system/system.nix
@@ -280,7 +280,8 @@ rec {
++ pkgs.lib.optionals (config.services.xserver.sessionType == "kde")
[ pkgs.kdebase
pkgs.kdelibs
- ];
+ ]
+ ++ config.kde.extraPackages;
usersGroups = import ./users-groups.nix { inherit pkgs config upstartJobs defaultShell; };