anchor.diff:      };
   
       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" ];
  
positive.code:   xcfg = config.services.xserver;
    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;
  
negative.code:         description = "Enable the Plasma 5 (KDE 5) desktop environment.";
        };
  
        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.";
            };
          };
  
        };
  
      };
  