{stdenv, fetchFromGitHub, writeText, erlang }:

let
  shell = drv: stdenv.mkDerivation {
    name = "interactive-shell-${drv.name}";
    buildInputs = [ drv ];
  };

  pkg = self: stdenv.mkDerivation {
    name = "webdriver";
    version = "0.0.0+build.18.7ceaf1f";

    src = fetchFromGitHub {
        owner = "Quviq";
        repo = "webdrv";
        rev = "7ceaf1f67d834e841ca0133b4bf899a9fa2db6bb";
        sha256 = "1pq6pmlr6xb4hv2fvmlrvzd8c70kdcidlgjv4p8n9pwvkif0cb87";
    };

    setupHook = writeText "setupHook.sh" ''
       addToSearchPath ERL_LIBS "$1/lib/erlang/lib/"
    '';

    buildInputs = [ erlang ];

    installFlags = [ "PREFIX=$(out)/lib/erlang/lib" ];

    meta = {
      description = "WebDriver implementation in Erlang";
      license = stdenv.lib.licenses.mit;
      homepage = "https://github.com/Quviq/webdrv";
      maintainers = with stdenv.lib.maintainers; [ ericbmerritt ];
    };

    passthru = {
      env = shell self;
    };

};
in stdenv.lib.fix pkg