dotfiles/modules/zsh.nix

95 lines
1.9 KiB
Nix

{
pkgs,
...
}:
{
home.packages = with pkgs; [
zsh-completions
fd
htop
ripgrep
wget
lazygit
];
programs.bat = {
enable = true;
};
programs.dircolors = {
enable = true;
enableZshIntegration = true;
};
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
config = {
hide_env_diff = true;
};
};
programs.zsh = {
enable = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
autosuggestion.enable = true;
autocd = true;
history = {
size = 1000000;
extended = true;
append = true;
expireDuplicatesFirst = true;
ignoreDups = true;
ignoreAllDups = true;
ignoreSpace = true;
};
historySubstringSearch.enable = true;
# prezto = {
# enable = true;
# editor.keymap = "vi";
# editor.dotExpansion = true;
# pmodules = [
# # "environment"
# # "terminal"
# # "utility"
# # "directory"
# # "editor"
# # "history"
# # "syntax-highlighting"
# # "history-substring-search"
# # "autosuggestions"
# ];
# };
shellAliases = {
cat = "bat --theme=\"$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo 'gruvbox-dark' || echo 'gruvbox-light')\"";
lg = "lazygit";
diff = "delta";
};
};
programs.fzf.enable = true;
programs.fzf.enableZshIntegration = true;
programs.zoxide.enable = true;
programs.zoxide.enableZshIntegration = true;
programs.eza = {
enable = true;
enableZshIntegration = true;
extraOptions = [ "--group-directories-first" ];
};
programs.starship = {
enable = true;
enableZshIntegration = true;
settings = {
nodejs.disabled = true;
package.disabled = true;
aws.disabled = true;
python.disabled = true;
};
};
}