{...}: { 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} ''; }; }