Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 70 lines 1.7 kB view raw
1{ 2 lib, 3 stdenv, 4 pkgs, 5 buildFishPlugin, 6 fetchFromGitHub, 7 fd, 8 unixtools, 9 procps, 10 clownfish, 11 fishtape_3, 12}: 13let 14 # we want `pkgs.fzf`, not `fishPlugins.fzf` 15 inherit (pkgs) fzf; 16in 17buildFishPlugin rec { 18 pname = "fzf.fish"; 19 version = "10.3"; 20 21 src = fetchFromGitHub { 22 owner = "PatrickF1"; 23 repo = "fzf.fish"; 24 rev = "v${version}"; 25 hash = "sha256-T8KYLA/r/gOKvAivKRoeqIwE2pINlxFQtZJHpOy9GMM="; 26 }; 27 28 nativeCheckInputs = [ 29 fzf 30 fd 31 unixtools.script 32 procps 33 ]; 34 checkPlugins = [ 35 clownfish 36 fishtape_3 37 ]; 38 checkFunctionDirs = [ "./functions" ]; 39 checkPhase = '' 40 # Disable git tests which inspect the project's git repo, which isn't 41 # possible since we strip the impure .git from our build input 42 rm -r tests/*git* 43 rm -r tests/preview_changed_file/modified_path_with_spaces.fish 44 rm -r tests/preview_changed_file/renamed_path_modifications.fish 45 46 # Disable tests that are failing, probably because of our wrappers 47 rm -r tests/configure_bindings 48 rm -r tests/search_variables 49 50 # Disable tests that are failing, because there is not 'rev' command 51 rm tests/preview_file/custom_file_preview.fish 52 '' 53 + ( 54 if stdenv.hostPlatform.isDarwin then 55 ''script /dev/null fish -c "fishtape tests/*/*.fish"'' 56 else 57 ''script -c 'fish -c "fishtape tests/*/*.fish"' '' 58 ); 59 60 meta = with lib; { 61 description = "Augment your fish command line with fzf key bindings"; 62 homepage = "https://github.com/PatrickF1/fzf.fish"; 63 changelog = "https://github.com/PatrickF1/fzf.fish/releases/tag/${src.rev}"; 64 license = licenses.mit; 65 maintainers = with maintainers; [ 66 euxane 67 natsukium 68 ]; 69 }; 70}