{ stdenv, fetchFromGitHub, makeWrapper, tmux }:

stdenv.mkDerivation {
  name = "tmux-cssh-20151015";

  src = fetchFromGitHub {
    owner = "dennishafemann";
    repo = "tmux-cssh";
    rev = "21750733c5b6fa2fe23b9e50ce69d8564f2f742a";
    sha256 = "473e27f3b69864b905d1340d97917cd202705c761611eb3aec4c24521f69b52c";
  };

  buildInputs = [ makeWrapper ];

  installPhase = ''
    mkdir -p $out/bin
    cp tmux-cssh $out/bin/tmux-cssh
    wrapProgram $out/bin/tmux-cssh --suffix PATH : ${tmux}/bin
  '';

  meta = {
    homepage = https://github.com/dennishafemann/tmux-cssh;
    description = "SSH to multiple hosts at the same time using tmux";

    longDescription =
      ''
      tmux is a terminal multiplexer, like e.g. screen, which gives you a
      possibility to use multiple virtual terminal session within one real
      terminal session. tmux-cssh (tmux-cluster-ssh) sets a comfortable and
      easy to use functionality, clustering and synchronizing virtual
      tmux-sessions, on top of tmux. No need for a x-server or x-forwarding.
      tmux-cssh works just with tmux and in an low-level terminal-environment,
      like most server do.
      '';

    license = stdenv.lib.licenses.asl20;

    platforms = stdenv.lib.platforms.unix;
    maintainers = with stdenv.lib.maintainers; [ zimbatm ];
  };
}
