2024-07-30 15:06:34 +01:00
|
|
|
{ ... }:
|
|
|
|
{
|
2024-07-03 07:15:39 +01:00
|
|
|
programs.zsh = {
|
|
|
|
enable = true;
|
|
|
|
enableCompletion = true;
|
|
|
|
autocd = true;
|
|
|
|
autosuggestion.enable = true;
|
|
|
|
defaultKeymap = "emacs";
|
|
|
|
syntaxHighlighting = {
|
|
|
|
enable = true;
|
2024-07-30 15:06:34 +01:00
|
|
|
highlighters = [
|
|
|
|
"brackets"
|
|
|
|
"cursor"
|
|
|
|
];
|
2024-07-03 07:15:39 +01:00
|
|
|
};
|
|
|
|
historySubstringSearch.enable = true;
|
|
|
|
history = {
|
|
|
|
extended = true;
|
|
|
|
share = true;
|
|
|
|
ignoreDups = true;
|
|
|
|
ignoreAllDups = true;
|
|
|
|
ignoreSpace = true;
|
|
|
|
expireDuplicatesFirst = true;
|
|
|
|
};
|
|
|
|
initExtra = ''
|
|
|
|
## completion config and styling
|
|
|
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
|
|
|
zstyle ':completion:*' menu 'select=long-list'
|
|
|
|
|
|
|
|
## transient prompt
|
|
|
|
source ${./transient.zsh}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
}
|