View on GitHub (for install instructions) Link to heading

Try it in Docker (with veeship included): docker run --rm -it ghcr.io/vipau/zsimple:latest
Or with a minimal configuration: docker run --rm -it ghcr.io/vipau/zsimple:void-latest

Why zsimple Link to heading

If you are looking for a .zshrc that has no plugin manager, only 3 highly trusted plugins, and extremely minimal but modern config and that works well on Linux and MacOS, you… I hope you found it here, and if something doesn’t work on your setup, shoot me an email or open an issue on GitHub :)

Showcase Link to heading

Full match with tab, including backwards in word + good tab menu with shift-tab to go backwards

Embedded man pages

Autocompletions and autosuggestions

The plugins Link to heading

These are the only plugins that this zshrc uses, all from the zsh-users GitHub account:

These are also packaged in most distributions and homebrew, and installing them that way will make automated upgrades easier to handle.

How it works Link to heading

My dotfiles now live in these places:

  • ~/.zshrc - Main config. This is zsimple. Possibly with your tweaks.
  • ~/.aliases - Aliases that work with any shell
  • ~/.exports - Exported variables
  • ~/.zsh/plugins - Plugins (if installed from zsimple)

The .zshrc does the following:

  1. Set modern built-in shell options that make zsh much more enjoyable.
  2. Load ~/.exports
  3. Try to load plugins from your system path (check it if you installed the plugins from packages), homebrew path, or our plugin dir
  4. If all fail, git clones the plugins to the plugin dir and loads them
  5. Set a lot more built-in options to make zsh comfy.
  6. Load ~/.aliases
  7. Only if starship is installed, launch it (see veeship)

How to update plugins Link to heading

If your plugins were downloaded from your system’s package manager or homebrew, update them from there. If they were git cloned by our script, and you find them in ~/.zsh/plugins and I left a small function in my ~/.aliases to update them.
If you included my aliases file, you can just run zsimple-upgrade-plugins

alias zsimple-upgrade-plugins='for d in "${ZSH_PLUGIN_DIR:-$HOME/.zsh/plugins}"/*; do echo "Updating ${d%/.git}" ; git -C "${d%/.git}" pull ; done'

How to install Link to heading

Read the GitHub Readme