{ pkgs, ... }:
let
  theme = import ../theme.nix;
in
{
  catppuccin = {
    fish = {
      enable = true;
      flavor = theme.flavor;
    };
    starship = {
      enable = true;
      flavor = theme.flavor;
    };
  };

  programs = {
    fish = {
      enable = true;
      # Start starship when creating a new shell
      interactiveShellInit = ''
        starship init fish | source
        fortune | cowsay -f tux
      '';
      plugins = [
        {
          # !! to get the previous command
          # https://github.com/BrewingWeasel/fishbang
          name = "fishbang";
          src = pkgs.fetchFromGitHub {
            owner = "BrewingWeasel";
            repo = "fishbang";
            rev = "50389667eb9ac79edcff9b987c83e1de8ac93921";
            hash = "sha256-IneNWyfo29C7FDA5b6pTZRX3HpP6y/dRM6GXuLq2+zc=";
          };
        }
      ];
      shellAliases = {
        nix-shell = "nix-shell --run fish"; # Start nix-shells using fishcd
      };
    };

    starship = {
      enable = true;
      settings = {
        directory.substitutions = {
          "Documents" = "󰈙 ";
          "Downloads" = " ";
          "Music" = "󰓃 ";
          "Pictures" = " ";
          "Git" = " ";
          "nextcloud" = " ";
        };
      };
    };
  };
}