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:
- https://github.com/zsh-users/zsh-syntax-highlightingw
- https://github.com/zsh-users/zsh-autosuggestions
- https://github.com/zsh-users/zsh-completions
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:
- Set modern built-in shell options that make zsh much more enjoyable.
- Load ~/.exports
- Try to load plugins from your system path (check it if you installed the plugins from packages), homebrew path, or our plugin dir
- If all fail, git clones the plugins to the plugin dir and loads them
- Set a lot more built-in options to make zsh comfy.
- Load ~/.aliases
- 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