Extensible zsh config powered by zinit + oh-my-zsh.
mv ~/.zshrc ~/.zshrc_bakup # Backup your zshrc
git clone --depth=1 https://github.com/ofirgall/zsh-conf ~/.zsh-conf/ # Clone zsh-conf
ln -s ~/.zsh-conf/entrypoint.zsh ~/.zshrc # Link ~/.zshrc to point to ~/.zsh-conf/entrypoint.zsh
ln -s ~/.zsh-conf/env.zsh ~/.zshenv # Link ~/.zshenv to point to ~/.zsh-conf/env.zsh
# Generate personal zsh config folder
mkdir ~/.my-zsh-conf/
cp ~/.zsh-conf/vars.zsh ~/.my-zsh-conf/
Remove starship.toml symlink (generated by zsh-conf)
rm ~/.config/starship.toml
- starship - Prompt.
- zsh-autosuggestions - Suggest completions with dimmed text (hit
Right
to accept) - fzf-tab - Use fzf for tab completions.
- zsh-fzf-history-search - Use fzf for reverse search (ctrl-r).
- oh-my-zsh/sudo - Hit escape twice to toggle sudo for current command.
- zsh-autopair - Add closing pair while typing.
- zsh-histdb - History per dir (requires sqlite3).
- cd-to-git - cd to git dir's with fzf.
- up - Go up multiple dirs
up <N>
. - git-open -
git open
to open current git repo in browser. - zsh-vi-mode - vim mode in zsh (Disabled by default).
- zsh-completions - Add more default completions.
Every config file that is being sourced from ~/.zsh-conf/
is also being sourced from ~/.my-zsh-conf/
.
In addition ~/.my_zshrc
is loaded as well.
For example in order to add aliases you should create ~/.my-zsh-conf/aliases.zsh
and add them there. You can add them in ~/.my_zshrc
as well.
You can extend starship.toml
as well.
- vars.zsh - Config variables.
- aliases.zsh - Aliases.
- settings.zsh - zsh settings.
- design.zsh - Prompt.
- plugin_settings.zsh - Settings for plugins.
- plugins.zsh - Plugins declarations.
- hooks.zsh - zsh hooks.
- binaries.zsh - Binaries to install with zinit.