{
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
};
}