anchor.diff:    f = { mkDerivation, ansi-terminal, base, blaze-html, blaze-markup
         , cmark, cmdargs, containers, directory, edit-distance, filepath
         , haskeline, HUnit, mtl, parsec, process, split, stdenv, text
  +      , darwin, glfw3, SDL2, SDL2_image, SDL2_gfx, SDL2_mixer, SDL2_ttf
  +      , clang , makeWrapper
   
  -      , darwin, glfw3, SDL2, SDL2_image, SDL2_gfx, SDL2_mixer, SDL2_ttf
  +      , libXext, libXcursor, libXinerama, libXi, libXrandr, libXScrnSaver, libXxf86vm
         }:
         mkDerivation {
           pname = "CarpHask";
  
positive.code:           directory edit-distance filepath haskeline mtl parsec process split
            text
          ];
          pkgconfigDepends = [ glfw3 SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_ttf ];
          executableHaskellDepends = [
            base cmdargs containers directory haskeline parsec process
          ];
          executableFrameworkDepends = with darwin.apple_sdk.frameworks; [
            Carbon Cocoa IOKit CoreFoundation CoreVideo IOKit ForceFeedback
          ];
          testHaskellDepends = [ base containers HUnit ];
          testTarget = "CarpHask-test";
          postCheck = ''
  
negative.code: 
    if pkgs.lib.inNixShell
    then drv.env.overrideAttrs (o: {
      buildInputs = o.buildInputs ++ [ haskellPackages.cabal-install pkgs.clang ];
    })
    else drv
  