* Style change. Tried to have the kde4 module set a default for

services.xserver.desktopManager.default (so that the user doesn't
  have to) but it doesn't work yet.

svn path=/nixos/trunk/; revision=16800
This commit is contained in:
Eelco Dolstra 2009-08-21 10:13:27 +00:00
parent 4d72704d77
commit fb730174a1

View File

@ -1,73 +1,70 @@
{pkgs, config, ...}: { config, pkgs, ... }:
with pkgs.lib;
let let
inherit (pkgs.lib) mkOption mkIf;
xcfg = config.services.xserver; xcfg = config.services.xserver;
cfg = xcfg.desktopManager.kde4; cfg = xcfg.desktopManager.kde4;
xorg = xcfg.package; xorg = xcfg.package;
options = { services = { xserver = { desktopManager = {
kde4 = {
enable = mkOption {
default = false;
example = true;
description = "Enable the kde 4 desktop manager.";
};
};
}; }; }; };
in in
mkIf (xcfg.enable && cfg.enable) { {
require = [
options
# environment.kdePackages imports = [ ./kde-environment.nix ];
./kde-environment.nix
];
services = {
xserver = {
desktopManager = { options = {
session = [{
name = "kde4"; services.xserver.desktopManager.kde4.enable = mkOption {
start = '' default = false;
example = true;
description = "Enable the KDE 4 desktop environment.";
};
};
config = mkIf (xcfg.enable && cfg.enable) {
# If KDE 4 is enabled, make it default desktop manager (unless
# overriden by the user's configuration).
# !!! doesn't work yet ("Multiple definitions. Only one is allowed
# for this option.")
# services.xserver.desktopManager.default = mkOverride 900 "kde4";
services.xserver.desktopManager.session = singleton
{ name = "kde4";
bgSupport = true;
start =
''
# Start KDE. # Start KDE.
exec ${pkgs.kde42.kdebase_workspace}/bin/startkde exec ${pkgs.kde42.kdebase_workspace}/bin/startkde
''; '';
}];
}; };
}; security.setuidPrograms = [ "kcheckpass" ];
};
security = { environment.kdePackages =
extraSetuidPrograms = [ [ pkgs.kde42.kdelibs
"kcheckpass" pkgs.kde42.kdebase
]; pkgs.kde42.kdebase_runtime
}; pkgs.kde42.kdebase_workspace
pkgs.shared_mime_info
];
environment = { environment.x11Packages =
kdePackages = [ [ xorg.xmessage # so that startkde can show error messages
pkgs.kde42.kdelibs pkgs.qt4 # needed for qdbus
pkgs.kde42.kdebase xorg.xset # used by startkde, non-essential
pkgs.kde42.kdebase_runtime ];
pkgs.kde42.kdebase_workspace
pkgs.shared_mime_info
];
x11Packages = [ environment.etc = singleton
xorg.xmessage # so that startkde can show error messages
pkgs.qt4 # needed for qdbus
xorg.xset # used by startkde, non-essential
];
etc = [
{ source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
target = "X11/xkb"; target = "X11/xkb";
} };
];
}; };
} }