{ pkgs, ... }:

{
  programs.fish = {
    enable = true;

    generateCompletions = true;

    plugins =
      [
        {
          name = "fishbang";
          src = pkgs.fetchFromGitHub {
            name = "fishbang";
            owner = "BrewingWeasel";
            repo = "fishbang";
            rev = "master";
            sha256 = "sha256-VHtjt3Xobvs0DTXJ1mFU8i84EEsNQv3yqbhjs7c1mNE=";
          };
        }
      ];

    shellAliases = {
      ls = "eza";
      cat = "bat";
      grep = "rg";
    };

    shellInit = ''
      set fish_term24bit 1
    '';
  };
}
