{ pkgs, terminal, ... }: { home.packages = with pkgs; [ zoxide ]; programs.zsh.enable = true; programs.zoxide.enable = true; programs.zsh = { enableCompletion = false; syntaxHighlighting.enable = false; shellAliases = terminal.shellAliases; history.size = 10000; antidote = { enable = true; plugins = [ "MichaelAquilina/zsh-autoswitch-virtualenv" "jeffreytse/zsh-vi-mode" "zdharma-continuum/fast-syntax-highlighting kind:defer" "zsh-users/zsh-autosuggestions kind:defer" "zsh-users/zsh-history-substring-search kind:defer" ]; }; initContent = '' # zsh-autocomplete # bindkey -M menuselect '^M' .accept-line # run code when selected completion autoload -Uz compinit if [ "$(date +'%j')" != "$(stat -f '%Sm' -t '%j' ~/.zcompdump 2>/dev/null)" ]; then compinit else compinit -C fi ''; }; }