diff options
author | William A. Kennington III <william@wkennington.com> | 2015-11-05 10:07:28 -0800 |
---|---|---|
committer | William A. Kennington III <william@wkennington.com> | 2015-11-05 10:07:28 -0800 |
commit | 2837a5e091fe897356861b78f8fb96ed545f0863 (patch) | |
tree | e0e9c38d8b3a8f39f6f2b45e5ed7af0a043869b1 /nixos/modules/services | |
parent | bf41c5c23374f8443d03658e814b09205a7c2a99 (diff) | |
parent | 3d87c5f9c3104739c5c47c2d387101afba2b0089 (diff) | |
download | nixlib-2837a5e091fe897356861b78f8fb96ed545f0863.tar nixlib-2837a5e091fe897356861b78f8fb96ed545f0863.tar.gz nixlib-2837a5e091fe897356861b78f8fb96ed545f0863.tar.bz2 nixlib-2837a5e091fe897356861b78f8fb96ed545f0863.tar.lz nixlib-2837a5e091fe897356861b78f8fb96ed545f0863.tar.xz nixlib-2837a5e091fe897356861b78f8fb96ed545f0863.tar.zst nixlib-2837a5e091fe897356861b78f8fb96ed545f0863.zip |
Merge branch 'master.upstream' into staging.upstream
Diffstat (limited to 'nixos/modules/services')
-rw-r--r-- | nixos/modules/services/hardware/tlp.nix | 11 | ||||
-rw-r--r-- | nixos/modules/services/x11/desktop-managers/kde5.nix | 135 |
2 files changed, 95 insertions, 51 deletions
diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix index f221c82e2eda..9bd246bfb637 100644 --- a/nixos/modules/services/hardware/tlp.nix +++ b/nixos/modules/services/hardware/tlp.nix @@ -8,7 +8,16 @@ cfg = config.services.tlp; tlp = pkgs.tlp.override { kmod = config.system.sbin.modprobe; }; -confFile = pkgs.writeText "tlp" (builtins.readFile "${tlp}/etc/default/tlp" + cfg.extraConfig); +# XXX: We can't use writeTextFile + readFile here because it triggers +# TLP build to get the .drv (even on --dry-run). +confFile = pkgs.runCommand "tlp" + { config = cfg.extraConfig; + passAsFile = [ "config" ]; + } + '' + cat ${tlp}/etc/default/tlp > $out + cat $configPath >> $out + ''; in diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 5061d59b7c7f..6fdd5b4fa36d 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -8,38 +8,9 @@ let cfg = xcfg.desktopManager.kde5; xorg = pkgs.xorg; - phononBackends = { - gstreamer = [ - pkgs.phonon_backend_gstreamer - pkgs.gst_all.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.phonon_qt5_backend_gstreamer - pkgs.gst_all_1.gstreamer - pkgs.gst_all_1.gst-plugins-base - pkgs.gst_all_1.gst-plugins-good - pkgs.gst_all_1.gst-plugins-ugly - pkgs.gst_all_1.gst-plugins-bad - pkgs.gst_all_1.gst-libav # for mp3 playback - ]; - - vlc = [ - pkgs.phonon_qt5_backend_vlc - pkgs.phonon_backend_vlc - ]; - }; - - phononBackendPackages = flip concatMap cfg.phononBackends - (name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends); - kf5 = pkgs.kf5_stable; - - plasma5 = pkgs.plasma5_stable.override { inherit kf5; }; - - kdeApps = pkgs.kdeApps_stable.override { inherit kf5; }; + plasma5 = pkgs.plasma5_stable; + kdeApps = pkgs.kdeApps_stable; in @@ -53,14 +24,24 @@ in description = "Enable the Plasma 5 (KDE 5) desktop environment."; }; - phononBackends = mkOption { - type = types.listOf types.str; - default = ["gstreamer"]; - example = ["gstreamer" "vlc"]; - description = '' - Phonon backends to use in KDE. Only the VLC and GStreamer backends are - available. The GStreamer backend is preferred by upstream. - ''; + phonon = { + + gstreamer = { + enable = mkOption { + type = types.bool; + default = true; + description = "Enable the GStreamer Phonon backend (recommended)."; + }; + }; + + vlc = { + enable = mkOption { + type = types.bool; + default = false; + description = "Enable the VLC Phonon backend."; + }; + }; + }; }; @@ -88,23 +69,77 @@ in }; environment.systemPackages = - filter isDerivation (builtins.attrValues plasma5) - ++ filter isDerivation (builtins.attrValues kf5) - ++ [ + [ pkgs.qt4 # qtconfig is the only way to set Qt 4 theme - kdeApps.kde-baseapps - kdeApps.kde-base-artwork - kdeApps.kmix + kf5.frameworkintegration + kf5.kinit + + plasma5.breeze + plasma5.kde-cli-tools + plasma5.kdeplasma-addons + plasma5.kgamma5 + plasma5.khelpcenter + plasma5.khotkeys + plasma5.kinfocenter + plasma5.kmenuedit + plasma5.kscreen + plasma5.ksysguard + plasma5.kwayland + plasma5.kwin + plasma5.kwrited + plasma5.milou + plasma5.oxygen + plasma5.polkit-kde-agent + plasma5.systemsettings + + plasma5.plasma-desktop + plasma5.plasma-workspace + plasma5.plasma-workspace-wallpapers + + kdeApps.ark + kdeApps.dolphin + kdeApps.dolphin-plugins + kdeApps.ffmpegthumbs + kdeApps.gwenview + kdeApps.kate + kdeApps.kdegraphics-thumbnailers kdeApps.konsole - kdeApps.oxygen-icons - - kdeApps.kde-runtime + kdeApps.okular + kdeApps.print-manager + kdeApps.oxygen-icons pkgs.hicolor_icon_theme + plasma5.kde-gtk-config pkgs.orion # GTK theme, nearly identical to Breeze - ] ++ phononBackendPackages; + ] + ++ lib.optional config.hardware.bluetooth.enable plasma5.bluedevil + ++ lib.optional config.networking.networkmanager.enable plasma5.plasma-nm + ++ lib.optional config.hardware.pulseaudio.enable plasma5.plasma-pa + ++ lib.optional config.powerManagement.enable plasma5.powerdevil + ++ lib.optionals cfg.phonon.gstreamer.enable + [ + pkgs.phonon_backend_gstreamer + pkgs.gst_all.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.phonon_qt5_backend_gstreamer + pkgs.gst_all_1.gstreamer + pkgs.gst_all_1.gst-plugins-base + pkgs.gst_all_1.gst-plugins-good + pkgs.gst_all_1.gst-plugins-ugly + pkgs.gst_all_1.gst-plugins-bad + pkgs.gst_all_1.gst-libav # for mp3 playback + ] + ++ lib.optionals cfg.phonon.vlc.enable + [ + pkgs.phonon_qt5_backend_vlc + pkgs.phonon_backend_vlc + ]; environment.pathsToLink = [ "/share" ]; @@ -114,7 +149,7 @@ in }; environment.profileRelativeEnvVars = - mkIf (lib.elem "gstreamer" cfg.phononBackends) + mkIf cfg.phonon.gstreamer.enable { GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ]; GST_PLUGIN_SYSTEM_PATH_1_0 = [ "/lib/gstreamer-1.0" ]; |