Hi!

KDE3 desktop was broken for a while, and nobody noticed. I propose to remove 
it. The proposed patch is attached.
If someone objects, reply in 50h, please, otherwise I'll commit it.
>From d55491b05d1662dee177d16e9a9041ae002e54bc Mon Sep 17 00:00:00 2001
From: Yury G. Kudryashov <urkud.ur...@gmail.com>
Date: Tue, 25 May 2010 10:49:31 +0400
Subject: [PATCH] Remove KDE3 desktop

We have no full KDE3 desktop anyway. KDE3 desktop was broken for a while, and nobody noticed.
---
 modules/module-list.nix                            |    2 -
 modules/services/x11/desktop-managers/default.nix  |    1 -
 .../x11/desktop-managers/kde-environment.nix       |   35 ---------
 modules/services/x11/desktop-managers/kde.nix      |   73 --------------------
 modules/services/x11/desktop-managers/kde4.nix     |   33 ++++++----
 5 files changed, 20 insertions(+), 124 deletions(-)
 delete mode 100644 modules/services/x11/desktop-managers/kde-environment.nix
 delete mode 100644 modules/services/x11/desktop-managers/kde.nix

diff --git a/modules/module-list.nix b/modules/module-list.nix
index 5ba6fe6..8c22e92 100644
--- a/modules/module-list.nix
+++ b/modules/module-list.nix
@@ -114,8 +114,6 @@
   ./services/web-servers/tomcat.nix
   ./services/x11/desktop-managers/default.nix
   ./services/x11/desktop-managers/gnome.nix
-  ./services/x11/desktop-managers/kde-environment.nix
-  ./services/x11/desktop-managers/kde.nix
   ./services/x11/desktop-managers/kde4.nix
   ./services/x11/desktop-managers/none.nix
   ./services/x11/desktop-managers/xterm.nix
diff --git a/modules/services/x11/desktop-managers/default.nix b/modules/services/x11/desktop-managers/default.nix
index a775684..d8303d4 100644
--- a/modules/services/x11/desktop-managers/default.nix
+++ b/modules/services/x11/desktop-managers/default.nix
@@ -12,7 +12,6 @@ in
 
 {
   imports = [
-    ./kde.nix
     ./kde4.nix
     ./gnome.nix
     ./xterm.nix
diff --git a/modules/services/x11/desktop-managers/kde-environment.nix b/modules/services/x11/desktop-managers/kde-environment.nix
deleted file mode 100644
index bb0f82b..0000000
--- a/modules/services/x11/desktop-managers/kde-environment.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{pkgs, config, ...}:
-
-let
-  inherit (pkgs.lib) mkDefaultValue mkOption mkIf types;
-  kdePackages = config.environment.kdePackages;
-
-  options = {
-
-    environment = {
-
-      kdePackages = mkOption {
-        default = [];
-        example = [ pkgs.kde4.kdegames ];
-        type = types.list types.package;
-        description = ''
-          Additional KDE packages to be used when you use KDE as a desktop
-          manager.  By default, you only get the KDE base packages.
-          Just adds packages to systemPackages and x11Packages. Will be removed
-          in the future.
-        '';
-      };
-
-    };
-  };
-in
-
-mkIf (kdePackages != [] && config.services.xserver.enable) {
-  require = options;
-
-  environment = {
-    x11Packages = kdePackages;
-    systemPackages = kdePackages;
-    pathsToLink = [ "/etc/xdg" "/etc/dbus-1" "/share" "/plugins" ];
-  };
-}
diff --git a/modules/services/x11/desktop-managers/kde.nix b/modules/services/x11/desktop-managers/kde.nix
deleted file mode 100644
index 442a79f..0000000
--- a/modules/services/x11/desktop-managers/kde.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{pkgs, config, ...}:
-
-let
-  inherit (pkgs.lib) mkOption mkIf;
-  xcfg = config.services.xserver;
-  cfg = xcfg.desktopManager.kde;
-  xorg = xcfg.package;
-
-  options = { services = { xserver = { desktopManager = {
-
-    kde = {
-      enable = mkOption {
-        default = false;
-        example = true;
-        description = "Enable the kde desktop manager.";
-      };
-    };
-
-  }; }; }; };
-in
-
-mkIf (xcfg.enable && cfg.enable) {
-  require = [
-    options
-
-    # environment.kdePackages
-    ./kde-environment.nix
-  ];
-
-  services = {
-    xserver = {
-
-      desktopManager = {
-        session = [{
-          name = "kde";
-          start = ''
-            # A quick hack to make KDE screen locking work.  It calls
-            # kcheckpass, which needs to be setuid in order to read the
-            # shadow password file.  We have a setuid wrapper around
-            # kcheckpass.  However, startkde adds $kdebase/bin to the start
-            # of $PATH if it's not already in $PATH, thus overriding the
-            # setuid wrapper directory.  So here we add $kdebase/bin to the
-            # end of $PATH to keep startkde from doing that.
-            export PATH=$PATH:${pkgs.kdebase}/bin
-            
-            # Start KDE.
-            exec ${pkgs.kdebase}/bin/startkde
-          '';
-        }];
-      };
-
-    };
-  };
-
-  security.setuidPrograms = [ "kcheckpass" ];
-
-  environment = {
-    kdePackages = [
-      pkgs.kdelibs
-      pkgs.kdebase
-    ];
-
-    x11Packages = [
-      xorg.xset # used by startkde, non-essential
-    ];
-
-    etc = [
-      { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
-        target = "X11/xkb";
-      }
-    ];
-  };
-}
diff --git a/modules/services/x11/desktop-managers/kde4.nix b/modules/services/x11/desktop-managers/kde4.nix
index 7fd978b..5f47fa6 100644
--- a/modules/services/x11/desktop-managers/kde4.nix
+++ b/modules/services/x11/desktop-managers/kde4.nix
@@ -11,10 +11,6 @@ let
 in
 
 {
-
-  imports = [ ./kde-environment.nix ];
-
-    
   options = {
 
     services.xserver.desktopManager.kde4.enable = mkOption {
@@ -23,6 +19,14 @@ in
       description = "Enable the KDE 4 desktop environment.";
     };
 
+    environment.kdePackages = mkOption {
+      default = [];
+      example = [ pkgs.kde4.digikam ];
+      type = types.list types.package;
+      description = "Additional KDE 4 programs. Only minimal set is installed by
+        default.";
+    };
+
   };
 
   
@@ -46,28 +50,31 @@ in
 
     security.setuidPrograms = [ "kcheckpass" ];
 
-    environment.kdePackages =
-      [ pkgs.kde4.kdelibs
+    environment = {
+      kdePackages = [
+        pkgs.kde4.kdelibs
         pkgs.kde4.kdebase
         pkgs.kde4.kdebase_runtime
         pkgs.kde4.kdebase_workspace
+        pkgs.kde4.oxygen_icons
+        pkgs.kde4.qt4 # needed for qdbus
         pkgs.shared_mime_info
         pkgs.gst_all.gstreamer
         pkgs.gst_all.gstPluginsBase
         pkgs.gst_all.gstPluginsGood
-      ] ++ optional (pkgs.kde4 ? oxygen_icons) pkgs.kde4.oxygen_icons;
-
-    environment.x11Packages =
-      [ xorg.xmessage # so that startkde can show error messages
-        pkgs.kde4.qt4 # needed for qdbus
+        xorg.xmessage # so that startkde can show error messages
         xorg.xset # used by startkde, non-essential
       ];
 
-    environment.etc = singleton
+      x11Packages = config.environment.kdePackages;
+
+      pathsToLink = [ "/etc/xdg" "/etc/dbus-1" "/share" ];
+
+      etc = singleton
       { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
         target = "X11/xkb";
       };
-
+    };
   };
 
 }
-- 
1.7.1


_______________________________________________
nix-dev mailing list
nix-dev@cs.uu.nl
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to