From a1df35a590153b9ce679ca564fe9520f2c7bd643 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 25 Jul 2011 00:52:59 +0000 Subject: [PATCH] * Don't enable HAL by default anymore. It's obsolete. It's still enabled by modules that need it (KDE < 4.7, Xfce). * Don't enable the PolicyKit module by default either, it's also obsolete (replaced by PolKit). It's still enabled if HAL is enabled. svn path=/nixos/trunk/; revision=27933 --- modules/security/policykit.nix | 12 +++++++++++- modules/services/hardware/hal.nix | 4 +++- modules/services/x11/desktop-managers/kde4.nix | 9 ++++++++- modules/services/x11/desktop-managers/xfce.nix | 2 ++ 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/modules/security/policykit.nix b/modules/security/policykit.nix index 39075dd760f..747ad24922e 100644 --- a/modules/security/policykit.nix +++ b/modules/security/policykit.nix @@ -19,7 +19,17 @@ in { - config = { + options = { + + security.policykit.enable = mkOption { + default = false; + description = "Enable PolicyKit (obsolete)."; + }; + + }; + + + config = mkIf config.security.policykit.enable { environment.systemPackages = [ pkgs.policykit ]; diff --git a/modules/services/hardware/hal.nix b/modules/services/hardware/hal.nix index 25a24ce5e34..598475d79e7 100644 --- a/modules/services/hardware/hal.nix +++ b/modules/services/hardware/hal.nix @@ -26,7 +26,7 @@ in services.hal = { enable = mkOption { - default = true; + default = false; description = '' Whether to start the HAL daemon. ''; @@ -52,6 +52,8 @@ in services.hal.packages = [ hal pkgs.hal_info ]; + security.policykit.enable = true; + users.extraUsers = singleton { name = "haldaemon"; uid = config.ids.uids.haldaemon; diff --git a/modules/services/x11/desktop-managers/kde4.nix b/modules/services/x11/desktop-managers/kde4.nix index 439e8846947..9cfbee8ecc7 100644 --- a/modules/services/x11/desktop-managers/kde4.nix +++ b/modules/services/x11/desktop-managers/kde4.nix @@ -8,6 +8,8 @@ let cfg = xcfg.desktopManager.kde4; xorg = pkgs.xorg; + isKDE47 = !(pkgs.kde4 ? kdebase); + in { @@ -77,7 +79,7 @@ in }; environment.systemPackages = - (if pkgs.kde4 ? kdebase then + (if !isKDE47 then # KDE <= 4.6 [ # temporary workarounds pkgs.shared_desktop_ontologies @@ -132,6 +134,11 @@ in target = "X11/xkb"; }; + # Enable required DBus services. + services.hal = mkIf (!isKDE47) { enable = true; }; + services.udisks = mkIf isKDE47 { enable = true; }; + services.upower = mkIf isKDE47 { enable = true; }; + }; } diff --git a/modules/services/x11/desktop-managers/xfce.nix b/modules/services/x11/desktop-managers/xfce.nix index 4e8689f7ca7..a9a0cd27e1a 100644 --- a/modules/services/x11/desktop-managers/xfce.nix +++ b/modules/services/x11/desktop-managers/xfce.nix @@ -74,6 +74,8 @@ in environment.pathsToLink = [ "/share/xfce4" "/share/themes" "/share/mime" ]; + services.hal.enable = true; + }; }