Removed the kde4_next nixos module
Merged its differences into kde4. This commit fixes #4519.
This commit is contained in:
parent
1ef52d5db1
commit
50be0d5447
@ -18,7 +18,7 @@ in
|
|||||||
# determines the default: later modules (if enabled) are preferred.
|
# determines the default: later modules (if enabled) are preferred.
|
||||||
# E.g., if KDE is enabled, it supersedes xterm.
|
# E.g., if KDE is enabled, it supersedes xterm.
|
||||||
imports = [
|
imports = [
|
||||||
./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde4_next.nix
|
./none.nix ./xterm.nix ./xfce.nix ./kde4.nix
|
||||||
./e17.nix ./e18.nix ./e19.nix ./gnome3.nix ./xbmc.nix
|
./e17.nix ./e18.nix ./e19.nix ./gnome3.nix ./xbmc.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -146,8 +146,10 @@ in
|
|||||||
pkgs.strigi # used by nepomuk
|
pkgs.strigi # used by nepomuk
|
||||||
pkgs.mysql # used by akonadi
|
pkgs.mysql # used by akonadi
|
||||||
]
|
]
|
||||||
++ [ nepomukConfig ] ++ phononBackendPackages
|
++ lib.optional config.hardware.pulseaudio.enable pkgs.kde4.kmix # Perhaps this should always be enabled
|
||||||
++ config.environment.kdePackages;
|
++ lib.optional config.hardware.bluetooth.enable pkgs.kde4.bluedevil
|
||||||
|
++ lib.optional config.networking.networkmanager.enable pkgs.kde4.networkmanagement
|
||||||
|
++ [ nepomukConfig ] ++ phononBackendPackages;
|
||||||
|
|
||||||
environment.pathsToLink = [ "/share" ];
|
environment.pathsToLink = [ "/share" ];
|
||||||
|
|
||||||
|
@ -1,163 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
xcfg = config.services.xserver;
|
|
||||||
cfg = xcfg.desktopManager.kde4_next;
|
|
||||||
xorg = pkgs.xorg;
|
|
||||||
kde = pkgs.kde4_next;
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# files), segfault sometimes and consume significant resources.
|
|
||||||
# They can be re-enabled in the KDE System Settings under "Desktop
|
|
||||||
# Search".
|
|
||||||
nepomukConfig = pkgs.writeTextFile
|
|
||||||
{ name = "nepomuk-config";
|
|
||||||
destination = "/share/config/nepomukserverrc";
|
|
||||||
text =
|
|
||||||
''
|
|
||||||
[Basic Settings]
|
|
||||||
Start Nepomuk=false
|
|
||||||
|
|
||||||
[Service-nepomukstrigiservice]
|
|
||||||
autostart=false
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
phononBackends = {
|
|
||||||
gstreamer = [
|
|
||||||
pkgs.phonon_backend_gstreamer
|
|
||||||
pkgs.gst_all.gstPluginsBase
|
|
||||||
pkgs.gst_all.gstPluginsGood
|
|
||||||
pkgs.gst_all.gstPluginsUgly
|
|
||||||
pkgs.gst_all.gstPluginsBad
|
|
||||||
pkgs.gst_all.gstFfmpeg # for mp3 playback
|
|
||||||
pkgs.gst_all.gstreamer # needed?
|
|
||||||
];
|
|
||||||
|
|
||||||
vlc = [pkgs.phonon_backend_vlc];
|
|
||||||
};
|
|
||||||
|
|
||||||
phononBackendPackages = flip concatMap cfg.phononBackends
|
|
||||||
(name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends);
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
|
|
||||||
services.xserver.desktopManager.kde4_next = {
|
|
||||||
enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "Enable the KDE 4 desktop environment.";
|
|
||||||
};
|
|
||||||
|
|
||||||
phononBackends = mkOption {
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = ["gstreamer"];
|
|
||||||
example = ["gstreamer" "vlc"];
|
|
||||||
description = "Which phonon multimedia backend kde should use";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
config = mkIf (xcfg.enable && cfg.enable) {
|
|
||||||
|
|
||||||
# If KDE 4 is enabled, make it the default desktop manager (unless
|
|
||||||
# overridden 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_next";
|
|
||||||
bgSupport = true;
|
|
||||||
start =
|
|
||||||
''
|
|
||||||
# The KDE icon cache is supposed to update itself
|
|
||||||
# automatically, but it uses the timestamp on the icon
|
|
||||||
# theme directory as a trigger. Since in Nix the
|
|
||||||
# timestamp is always the same, this doesn't work. So as
|
|
||||||
# a workaround, nuke the icon cache on login. This isn't
|
|
||||||
# perfect, since it may require logging out after
|
|
||||||
# installing new applications to update the cache.
|
|
||||||
# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
|
|
||||||
rm -fv $HOME/.kde/cache-*/icon-cache.kcache
|
|
||||||
|
|
||||||
# Qt writes a weird ‘libraryPath’ line to
|
|
||||||
# ~/.config/Trolltech.conf that causes the KDE plugin
|
|
||||||
# paths of previous KDE invocations to be searched.
|
|
||||||
# Obviously using mismatching KDE libraries is potentially
|
|
||||||
# disastrous, so here we nuke references to the Nix store
|
|
||||||
# in Trolltech.conf. A better solution would be to stop
|
|
||||||
# Qt from doing this wackiness in the first place.
|
|
||||||
if [ -e $HOME/.config/Trolltech.conf ]; then
|
|
||||||
sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Start KDE.
|
|
||||||
exec ${kde.kdebase_workspace}/bin/startkde
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
security.setuidOwners = singleton
|
|
||||||
{ program = "kcheckpass";
|
|
||||||
source = "${kde.kdebase_workspace}/lib/kde4/libexec/kcheckpass";
|
|
||||||
owner = "root";
|
|
||||||
group = "root";
|
|
||||||
setuid = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages =
|
|
||||||
[ kde.kdelibs
|
|
||||||
|
|
||||||
kde.kde_baseapps # Splitted kdebase
|
|
||||||
kde.kde_workspace
|
|
||||||
kde.kde_runtime
|
|
||||||
kde.konsole
|
|
||||||
kde.kate
|
|
||||||
|
|
||||||
kde.kde_wallpapers # contains kdm's default background
|
|
||||||
kde.oxygen_icons
|
|
||||||
pkgs.virtuoso # to enable Nepomuk to find Virtuoso
|
|
||||||
|
|
||||||
# Starts KDE's Polkit authentication agent.
|
|
||||||
kde.polkit_kde_agent
|
|
||||||
|
|
||||||
# Miscellaneous runtime dependencies.
|
|
||||||
kde.qt4 # needed for qdbus
|
|
||||||
pkgs.shared_mime_info
|
|
||||||
xorg.xmessage # so that startkde can show error messages
|
|
||||||
xorg.xset # used by startkde, non-essential
|
|
||||||
xorg.xauth # used by kdesu
|
|
||||||
pkgs.shared_desktop_ontologies # used by nepomuk
|
|
||||||
pkgs.strigi # used by nepomuk
|
|
||||||
pkgs.mysql # used by akonadi
|
|
||||||
]
|
|
||||||
++ lib.optional config.hardware.pulseaudio.enable kde.kmix # Perhaps this should always be enabled
|
|
||||||
++ lib.optional config.hardware.bluetooth.enable kde.bluedevil
|
|
||||||
++ lib.optional config.networking.networkmanager.enable kde.networkmanagement
|
|
||||||
++ [ nepomukConfig ] ++ phononBackendPackages;
|
|
||||||
|
|
||||||
environment.pathsToLink = [ "/share" ];
|
|
||||||
|
|
||||||
environment.etc = singleton
|
|
||||||
{ source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
|
|
||||||
target = "X11/xkb";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable helpful DBus services.
|
|
||||||
services.udisks2.enable = true;
|
|
||||||
services.upower.enable = config.powerManagement.enable;
|
|
||||||
|
|
||||||
security.pam.services.kde = { allowNullPassword = true; };
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user