dotfiles/modules/zsh.nix

96 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.git.extraConfig = {
user.signingkey = "~/.ssh/id_ed25519.pub";
};
programs.zsh = {
enable = true;
history = {
size = 1000000;
extended = true;
append = true;
expireDuplicatesFirst = true;
ignoreDups = true;
ignoreAllDups = true;
ignoreSpace = true;
};
syntaxHighlighting.enable = true;
# defaultKeymap = "vicmd";
prezto = {
enable = true;
editor.keymap = "vi";
editor.dotExpansion = true;
pmodules = [
# "environment"
# "terminal"
# "utility"
# "directory"
# "editor"
# "history"
# "syntax-highlighting"
# "history-substring-search"
# "autosuggestions"
# "completion"
];
};
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;
};
};
}