{ stdenv, lib, fetchFromGitHub, ncurses }: let INSTALL_PATH="${placeholder "out"}/share/fzf-tab"; in stdenv.mkDerivation rec { pname = "zsh-fzf-tab"; version = "unstable-2023-06-11"; src = fetchFromGitHub { owner = "Aloxaf"; repo = "fzf-tab"; rev = "c2b4aa5ad2532cca91f23908ac7f00efb7ff09c9"; sha256 = "sha256-gvZp8P3quOtcy1Xtt1LAW1cfZ/zCtnAmnWqcwrKel6w="; }; strictDeps = true; buildInputs = [ ncurses ]; # https://github.com/Aloxaf/fzf-tab/issues/337 env = lib.optionalAttrs stdenv.cc.isClang { NIX_CFLAGS_COMPILE = toString [ "-Wno-error=implicit-function-declaration" "-Wno-error=implicit-int" ]; }; postConfigure = '' pushd modules ./configure --disable-gdbm --without-tcsetpgrp popd ''; postBuild = '' pushd modules make -j$NIX_BUILD_CORES popd ''; installPhase = '' mkdir -p ${INSTALL_PATH} cp -r lib ${INSTALL_PATH}/lib install -D fzf-tab.zsh ${INSTALL_PATH}/fzf-tab.zsh install -D fzf-tab.plugin.zsh ${INSTALL_PATH}/fzf-tab.plugin.zsh install -D modules/Src/aloxaf/fzftab.so ${INSTALL_PATH}/modules/Src/aloxaf/fzftab.so ''; meta = with lib; { homepage = "https://github.com/Aloxaf/fzf-tab"; description = "Replace zsh's default completion selection menu with fzf!"; license = licenses.mit; maintainers = with maintainers; [ vonfry ]; platforms = platforms.unix; }; }