Installing Zim Framework is easy. You can choose either the automatic or manual method below:
Automatic installation
This will install a predefined set of modules and a theme for you.
-
With
curl:curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh -
With
wget:wget -nv -O - https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
Restart your terminal and you're done. Enjoy your Zsh IMproved! Take some time
to tweak your ~/.zshrc file and to also check the available
modules and themes you can add to your ~/.zimrc.
Homebrew
-
Install zimfw with brew:
brew install --formula zimfw -
Add the following to your
~/.zshrc:ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim # Install missing modules and update ${ZIM_HOME}/init.zsh if missing or outdated. if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZIM_CONFIG_FILE:-${ZDOTDIR:-${HOME}}/.zimrc} ]]; then source /path/to/zimfw.zsh init fi # Initialize modules. source ${ZIM_HOME}/init.zshreplacing
/path/to/zimfw.zshwith the path where brew installed the script, which is shown in the brew formula caveats. It is usually:/opt/homebrew/opt/zimfw/share/zimfw.zshon Apple Silicon macOS,/usr/local/opt/zimfw/share/zimfw.zshon Intel macOS,/home/linuxbrew/.linuxbrew/opt/zimfw/share/zimfw.zshon Linux.
-
Restart your terminal and you're done. Enjoy your Zsh IMproved!
Manual installation
-
Set Zsh as the default shell, if you haven't done so already:
chsh -s $(which zsh) -
Restart your terminal and you're done. Enjoy your Zsh IMproved!
Set up ~/.zshrc
Add the lines below to your ~/.zshrc file, in the following order:
-
To set where the zimfw plugin manager configuration file will be located:
ZIM_CONFIG_FILE=~/.config/zsh/zimrcThis is optional. The value of
ZIM_CONFIG_FILEcan be any path your user has at least read access to. By default, the file must be at~/.zimrc, if theZDOTDIRenvironment variable is not defined. Otherwise, it must be at${ZDOTDIR}/.zimrc. -
To set the directory where the zimfw plugin manager will keep necessary files:
ZIM_HOME=${ZDOTDIR:-${HOME}}/.zimThe value of
ZIM_HOMEcan be any directory your user has write access to. You can even set it to a cache directory like${XDG_CACHE_HOME}/zimor~/.cache/zim. -
To automatically download the zimfw plugin manager if missing:
# Download zimfw plugin manager if missing. if [[ ! -e ${ZIM_HOME}/zimfw.zsh ]]; then curl -fsSL --create-dirs -o ${ZIM_HOME}/zimfw.zsh \ https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh fiOr if you use
wgetinstead ofcurl:# Download zimfw plugin manager if missing. if [[ ! -e ${ZIM_HOME}/zimfw.zsh ]]; then mkdir -p ${ZIM_HOME} && wget -nv -O ${ZIM_HOME}/zimfw.zsh \ https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh fiThis is optional. Alternatively, the
zimfw.zshscript can be installed with a package manager or downloaded anywhere your user has write access to: just replace the occurrences of${ZIM_HOME}/zimfw.zshby the preferred path, like/usr/local/share/zimfw/zimfw.zshfor example. If you choose to not include this step, you should install or manually download thezimfw.zshscript once and keep it at the preferred path. -
To automatically install missing modules and update the static initialization script if missing or outdated:
# Install missing modules and update ${ZIM_HOME}/init.zsh if missing or outdated. if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZIM_CONFIG_FILE:-${ZDOTDIR:-${HOME}}/.zimrc} ]]; then source ${ZIM_HOME}/zimfw.zsh init fiThis step is optional, but highly recommended. If you choose to not include it, you must remember to manually run
zimfw installevery time you update your~/.zimrcfile. If you have chosen to keep thezimfw.zshscript in a different path as mentioned in the previous step, replace${ZIM_HOME}/zimfw.zshby the chosen path. -
To source the static script, that will initialize your modules:
# Initialize modules. source ${ZIM_HOME}/init.zsh