anchor.diff:  
         preferLocalBuild = true;
   
  -      # Let each plugin tell us (through its `mozillaPlugin') attribute
  -      # where to find the plugin in its tree.
  -      plugins = map (x: x + x.mozillaPlugin) plugins;
         libs = lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
         gtk_modules = map (x: x + x.gtkModule) gtk_modules;
   
  
positive.code:       disallowedRequisites = [ stdenv.cc ];
  
        meta = browser.meta // {
          description =
            browser.meta.description
            + " (with plugins: "
            + lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins))
            + ")";
          hydraPlatforms = [];
          priority = (browser.meta.priority or 0) - 1; # prefer wrapper over the package
        };
      };
  in
    lib.makeOverridable wrapper
  
negative.code:       #                           #
        #############################
  
        # TODO: remove this after the next release (21.03)
        configPlugins = lib.filter (a: builtins.hasAttr a cfg) [
          "enableAdobeFlash"
          "enableAdobeReader"
          "enableBluejeans"
          "enableDjvu"
          "enableFriBIDPlugin"
          "enableGoogleTalkPlugin"
          "enableMPlayer"
          "enableVLC"
          "icedtea"
          "jre"
        ];
        pluginsError =
          "Your configuration mentions ${lib.concatMapStringsSep ", " (p: browserName + "." + p) configPlugins}. All plugin related options have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins).";
  
      in if configPlugins != [] then throw pluginsError else
        (stdenv.mkDerivation {
        inherit pname version;
  
        desktopItem = makeDesktopItem {
  