anchor.diff:    xcfg = config.services.xserver;
     cfg = xcfg.desktopManager.kde4;
     xorg = pkgs.xorg;
  -
  -  isKDE47 = pkgs.kde4 ? kde_wallpapers;
   
     # Disable Nepomuk and Strigi by default.  As of KDE 4.7, they don't
     # really work very well (e.g. searching files often fails to find
  
positive.code:       };
  
      environment.systemPackages =
        (if !isKDE47 then
          # KDE <= 4.6
          [ # temporary workarounds
            pkgs.shared_desktop_ontologies
            pkgs.strigi
  
            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
            pkgs.gst_all.gstFfmpeg # for mp3 playback
            xorg.xmessage # so that startkde can show error messages
            xorg.xset # used by startkde, non-essential
          ] ++ optional (pkgs ? phonon_backend_gstreamer) pkgs.phonon_backend_gstreamer
        else
          # KDE >= 4.7
          [ pkgs.kde4.kdelibs
  
            pkgs.kde4.kde_baseapps # Splitted kdebase
  
negative.code:       };
  
      # Enable helpful DBus services.
      services.udisks.enable = true;
      services.upower = mkIf config.powerManagement.enable { enable = true; };
  
      security.pam.services = [ { name = "kde"; allowNullPassword = true; } ];
  
  