31 lines
726 B
Nix
31 lines
726 B
Nix
|
{...}: {
|
||
|
programs.zsh = {
|
||
|
enable = true;
|
||
|
enableCompletion = true;
|
||
|
autocd = true;
|
||
|
autosuggestion.enable = true;
|
||
|
defaultKeymap = "emacs";
|
||
|
syntaxHighlighting = {
|
||
|
enable = true;
|
||
|
highlighters = ["brackets" "cursor"];
|
||
|
};
|
||
|
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}
|
||
|
'';
|
||
|
};
|
||
|
}
|