{
  config,
  pkgs,
  inputs,
  ...
}:
{
  programs.zsh = {
    autosuggestion = {
      enable = true;
      highlight = "fg=#800000,bg=#fafad2,bold";
      strategy = [
        "history"
      ]; # "history" or "completion" or "match_prev_cmd"
    };
    enable = true;
    history = {
      expireDuplicatesFirst = true; # disabled when using "match_prev_cmd" strategy
      extended = true;
      ignoreAllDups = true; # disabled when using "match_prev_cmd" strategy
      ignoreDups = true;
      ignorePatterns = [
        "ls"
        "ll"
        "la"
        "l"
        "history"
        "exit"
        "rm"
        "cp"
        "mv"
      ];
      save = 10000;
      size = 10000;
    };

    # plugins = [
    #   {
    #     name = "powerlevel10k";
    #     src = pkgs.zsh-powerlevel10k;
    #     file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
    #   }
    #   {
    #     name = "powerlevel10k-config";
    #     src = ./p10k-config;
    #     file = "p10k.zsh";
    #   }
    # ];
    # shellAliases = {
    #   la="eza -lahF --icons=always --hyperlink";
    #   lD="eza -ld .* --icons=always --hyperlink";
    #   ll="eza -lhF --icons=always --hyperlink";
    #   ls="eza";
    #   lS="eza -l -ssize --icons=always --hyperlink";
    #   lSn="eza -l -snewest --icons=always --hyperlink";
    #   lT="eza -T";
    # };
    syntaxHighlighting.enable = true;
    oh-my-zsh = {
      enable = true;
      plugins = [ "git" ];
      theme = "intheloop";
    };
    # zprof.enable = true; # Enable zprof for profiling load times
  };
}