From c87f67bd28d3ad8025f931261664e38aa94658fe Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 16 Feb 2009 23:53:18 +0000 Subject: [PATCH] * Support for KDE 4.2. Set services.xserver.sessionType to "kde4" to enable. It looks great ;-) svn path=/nixos/trunk/; revision=14089 --- upstart-jobs/xserver.nix | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/upstart-jobs/xserver.nix b/upstart-jobs/xserver.nix index e8c31717002..a2961137d9d 100644 --- a/upstart-jobs/xserver.nix +++ b/upstart-jobs/xserver.nix @@ -44,6 +44,7 @@ let if wm != "" then wm else if sessionType == "gnome" then "metacity" else if sessionType == "kde" then "none" /* started by startkde */ else + if sessionType == "kde4" then "none" /* started by startkde */ else "twm"; @@ -274,7 +275,7 @@ let ### Show a background image. # (but not if we're starting a full desktop environment that does it for us) - ${if sessionType != "kde" then '' + ${if sessionType != "kde" && sessionType != "kde4" then '' if test -e $HOME/.background-image; then ${pkgs.feh}/bin/feh --bg-scale $HOME/.background-image @@ -292,6 +293,14 @@ let export XDG_DATA_DIRS=${pkgs.kdebase}/share exec ${pkgs.kdebase}/bin/startkde + '' else if sessionType == "kde4" then '' + + # Start KDE. + export KDEDIRS=$HOME/.nix-profile:/nix/var/nix/profiles/default:${pkgs.kde42.kdelibs}:${pkgs.kde42.kdebase}:${pkgs.kde42.kdebase_runtime}:${pkgs.kde42.kdebase_workspace} + export XDG_CONFIG_DIRS=${pkgs.kde42.kdelibs}/etc/xdg:${pkgs.kde42.kdebase_runtime}/etc/xdg:${pkgs.kde42.kdebase_workspace}/etc/xdg + export XDG_DATA_DIRS=${pkgs.kde42.kdelibs}/share:${pkgs.kde42.kdebase}/share:${pkgs.kde42.kdebase_runtime}/share:${pkgs.kde42.kdebase_workspace}/share:${pkgs.shared_mime_info}/share + exec ${pkgs.kde42.kdebase_workspace}/bin/startkde + '' else '' # For all other session types, we currently just start a @@ -382,13 +391,22 @@ rec { pkgs.kdebase xorg.xset # used by startkde, non-essential ] + ++ optional (sessionType == "kde4") [ + xorg.xmessage # so that startkde can show error messages + pkgs.qt4 # needed for qdbus + pkgs.kde42.kdelibs + pkgs.kde42.kdebase + pkgs.kde42.kdebase_runtime + pkgs.kde42.kdebase_workspace + xorg.xset # used by startkde, non-essential + ] ++ optional (videoDriver == "nvidia") [ kernelPackages.nvidiaDrivers ]; extraEtc = - optional (sessionType == "kde") + optional (sessionType == "kde" || sessionType == "kde4") { source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; target = "X11/xkb"; }