mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-17 08:28:20 +00:00
* 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:
parent
4d72704d77
commit
fb730174a1
|
@ -1,73 +1,70 @@
|
|||
{pkgs, config, ...}:
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
inherit (pkgs.lib) mkOption mkIf;
|
||||
|
||||
xcfg = config.services.xserver;
|
||||
cfg = xcfg.desktopManager.kde4;
|
||||
xorg = xcfg.package;
|
||||
|
||||
options = { services = { xserver = { desktopManager = {
|
||||
|
||||
kde4 = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
example = true;
|
||||
description = "Enable the kde 4 desktop manager.";
|
||||
};
|
||||
};
|
||||
|
||||
}; }; }; };
|
||||
in
|
||||
|
||||
mkIf (xcfg.enable && cfg.enable) {
|
||||
require = [
|
||||
options
|
||||
{
|
||||
|
||||
# environment.kdePackages
|
||||
./kde-environment.nix
|
||||
];
|
||||
imports = [ ./kde-environment.nix ];
|
||||
|
||||
services = {
|
||||
xserver = {
|
||||
|
||||
options = {
|
||||
|
||||
desktopManager = {
|
||||
session = [{
|
||||
name = "kde4";
|
||||
start = ''
|
||||
services.xserver.desktopManager.kde4.enable = mkOption {
|
||||
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.
|
||||
exec ${pkgs.kde42.kdebase_workspace}/bin/startkde
|
||||
'';
|
||||
}];
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
security.setuidPrograms = [ "kcheckpass" ];
|
||||
|
||||
security = {
|
||||
extraSetuidPrograms = [
|
||||
"kcheckpass"
|
||||
];
|
||||
};
|
||||
environment.kdePackages =
|
||||
[ pkgs.kde42.kdelibs
|
||||
pkgs.kde42.kdebase
|
||||
pkgs.kde42.kdebase_runtime
|
||||
pkgs.kde42.kdebase_workspace
|
||||
pkgs.shared_mime_info
|
||||
];
|
||||
|
||||
environment = {
|
||||
kdePackages = [
|
||||
pkgs.kde42.kdelibs
|
||||
pkgs.kde42.kdebase
|
||||
pkgs.kde42.kdebase_runtime
|
||||
pkgs.kde42.kdebase_workspace
|
||||
pkgs.shared_mime_info
|
||||
];
|
||||
environment.x11Packages =
|
||||
[ xorg.xmessage # so that startkde can show error messages
|
||||
pkgs.qt4 # needed for qdbus
|
||||
xorg.xset # used by startkde, non-essential
|
||||
];
|
||||
|
||||
x11Packages = [
|
||||
xorg.xmessage # so that startkde can show error messages
|
||||
pkgs.qt4 # needed for qdbus
|
||||
xorg.xset # used by startkde, non-essential
|
||||
];
|
||||
|
||||
etc = [
|
||||
environment.etc = singleton
|
||||
{ source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
|
||||
target = "X11/xkb";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue