anchor.diff:            packageRequires = with self; [ evil ];
           });
   
  -        evil-magit = super.evil-magit.overrideAttrs (attrs: {
  -          # searches for Git at build time
  -          nativeBuildInputs =
  -            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
  -        });
  -
  -        eopengrok = super.eopengrok.overrideAttrs (attrs: {
  -          nativeBuildInputs =
  -            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
  -        });
  +        evil-magit = buildWithGit super.evil-magit;
  +
  +        eopengrok = buildWithGit super.eopengrok;
   
           ess-R-data-view = super.ess-R-data-view.override {
             inherit (self.melpaPackages) ess ctable popup;
           };
   
  -        forge = super.forge.overrideAttrs (attrs: {
  -          # searches for Git at build time
  -          nativeBuildInputs =
  -            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
  -        });
  +        forge = buildWithGit super.forge;
   
           flycheck-rtags = fix-rtags super.flycheck-rtags;
   
  
positive.code:           propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
          });
  
          egg = super.egg.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          # missing dependencies
          evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
            packageRequires = with self; [ evil highlight ];
          });
  
          kapacitor = super.kapacitor.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          gerrit = super.gerrit.overrideAttrs (attrs: {
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          gerrit-download = super.gerrit-download.overrideAttrs (attrs: {
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          github-pullrequest = super.github-pullrequest.overrideAttrs (attrs: {
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          helm-rtags = fix-rtags super.helm-rtags;
  
          jist = super.jist.overrideAttrs (attrs: {
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          mandoku = super.mandoku.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          mandoku-tls = super.mandoku-tls.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          magit-p4 = super.magit-p4.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          magit-rbr = super.magit-rbr.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          magit-diff-flycheck = super.magit-diff-flycheck.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          magit-reviewboard = super.magit-reviewboard.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          magit-patch-changelog = super.magit-patch-changelog.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          magit-circleci = super.magit-circleci.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          orgit =
            (super.orgit.overrideAttrs (attrs: {
              # searches for Git at build time
              nativeBuildInputs =
                (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
            }));
  
          orgit-forge = super.orgit-forge.overrideAttrs (attrs: {
            # searches for Git at build time
            nativeBuildInputs =
              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
          });
  
          # tries to write to $HOME
          php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
  
negative.code:         propagatedUserEnvPkgs = [ epkg ];
        });
      }) else null;
  
    buildWithGit = pkg: pkg.overrideAttrs (attrs: {
      nativeBuildInputs =
        (attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
    });
  
    fix-rtags = pkg:
      if pkg != null then dontConfigure (externalSrc pkg external.rtags)
  