46 lines
1.1 KiB
Nix
46 lines
1.1 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: {
|
|
options = {
|
|
crony.zsh.enable = lib.mkEnableOption "Enable zsh and customize it.";
|
|
};
|
|
|
|
config = lib.mkIf config.crony.zsh.enable {
|
|
# Setup zsh
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
historySubstringSearch.enable = true;
|
|
|
|
dotDir = ".config/zsh";
|
|
|
|
initExtra = ''
|
|
# VI Mode escape timeout fix
|
|
export KEYTIMEOUT=1
|
|
|
|
# Substring search settings
|
|
export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND="bg=blue,fg=black,bold"
|
|
export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=black,bold'
|
|
bindkey -M vicmd 'k' history-substring-search-up
|
|
bindkey -M vicmd 'j' history-substring-search-down
|
|
'';
|
|
|
|
antidote = {
|
|
enable = true;
|
|
plugins = [
|
|
"zap-zsh/supercharge"
|
|
"zap-zsh/completions"
|
|
"zap-zsh/vim"
|
|
"chivalryq/git-alias"
|
|
"zdharma-continuum/fast-syntax-highlighting"
|
|
"zsh-users/zsh-history-substring-search"
|
|
"MichaelAquilina/zsh-you-should-use"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|