{ pkgs , ... }: { programs.fish = { enable = true; plugins = [ { name = "tide"; src = pkgs.fetchFromGitHub { # https://github.com/IlanCosman/tide owner = "IlanCosman"; repo = "tide"; rev = "a3426e157f94b8a9cb5bcf96946b1e55625a1948"; sha256 = "1fwqmsrd6bpf67rgj6f362abjmpk6q8yynyskc4niwg3g15diqq5"; }; } { name = "fzf"; src = pkgs.fetchFromGitHub { owner = "PatrickF1"; repo = "fzf.fish"; rev = "6d00ecc6e5b2b1313cfcb25515941ecfd5342b30"; sha256 = "1sd5f6707hys6dibs1zb6f1imlkspqad5i24j4gf7lk9cby0zh6i"; }; } { name = "ghq"; src = pkgs.fetchFromGitHub { owner = "decors"; repo = "fish-ghq"; rev = "cafaaabe63c124bf0714f89ec715cfe9ece87fa2"; sha256 = "0cv7jpvdfdha4hrnjr887jv1pc6vcrxv2ahy7z6x562y7fd77gg9"; }; } ]; interactiveShellInit = '' bind \es __ghq_repository_search ''; shellInit = '' if test -n $KITTY_INSTALLATION_DIR then set -x KITTY_SHELL_INTEGRATION no-cursor fi ''; functions = { ds = "du -hd1 $argv[1] | sort -h"; }; }; xdg.configFile."fish/completions" = { recursive = true; source = ./fish/completions; }; xdg.configFile."fish/functions" = { recursive = true; source = ./fish/functions; }; }