{ config, ... }: { programs.zsh = { enable = true; autocd = true; enableAutosuggestions = true; enableCompletion = true; syntaxHighlighting.enable = true; dotDir = "~/.config/zsh"; history.path = "~/.config/zsh/.zsh_history"; initExtra = '' setopt appendhistory parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } setopt PROMPT_SUBST PROMPT='%B%F{183}%m%f%F{111}[%f%F{158}%~%f%F{111}]%f%F{111}$(parse_git_branch)%f %F{183}>%f%f%b ' if [[ "$TERM" == "dumb" ]] then unsetopt zle unsetopt prompt_cr unsetopt prompt_subst unfunction precmd unfunction preexec PS1='$ ' fi ''; }; }