3dc3fa7f8c
Two additional sets of paths are now added to the default list of well known paths: '$HOME/{bin,sbin}' and '/opt/{homebrew,local}/{bin,sbin}'. - '$HOME/{bin,sbin}': Most users have custom scripts in '$HOME/bin' anyway, we might as well honor those. '$HOME/sbin' is not really common, but we can keep it for consistency. - '/opt/{homebrew,local}/{bin,sbin}': With Homebrew changing default installation location in macOS on Apple Silicon which will eventually become ubiquitous, we have a good reason to add these paths by default. While at it, we also honor MacPorts installation. In all cases, we add them _iff_ the paths actually exist, not otherwise. This has the side effect of a newly installed program not available immediately in the '$path' in a mint fresh system (because of the fact that '/opt/{homebrew,local}/{bin,sbin}' won't exist initially) until the shell is reloaded. But that's a minor inconvenience to keep the '$path' from getting unnecessarily bloated. |
||
---|---|---|
.. | ||
README.md | ||
zlogin | ||
zlogout | ||
zpreztorc | ||
zprofile | ||
zshenv | ||
zshrc |
Configuration Files
Zsh has several system-wide and user-local configuration files.
Additionally, Prezto has one user-local configuration file.
System-wide configuration files are installation-dependent but are installed
in /etc
by default.
User-local configuration files have the same name as their global counterparts
but are prefixed with a dot (hidden). Zsh looks for these files in the path
stored in the $ZDOTDIR
environment variable. However, if said variable is
not defined, Zsh will use the user's home directory.
File Descriptions
The configuration files are read in the following order:
/etc/zshenv
${ZDOTDIR:-$HOME}/.zshenv
/etc/zprofile
${ZDOTDIR:-$HOME}/.zprofile
/etc/zshrc
${ZDOTDIR:-$HOME}/.zshrc
${ZDOTDIR:-$HOME}/.zpreztorc
/etc/zlogin
${ZDOTDIR:-$HOME}/.zlogin
${ZDOTDIR:-$HOME}/.zlogout
/etc/zlogout
zshenv
This file is sourced by all instances of Zsh, and thus, it should be kept as small as possible and should only define environment variables.
zprofile
This file is similar to zlogin, but it is sourced before zshrc. It was added for KornShell fans. See the description of zlogin below for what it may contain.
zprofile and zlogin are not meant to be used together but can be done so.
zshrc
This file is sourced by interactive shells. It should define aliases, functions, shell options, and key bindings.
zpreztorc
This file configures Prezto.
zlogin
This file is sourced by login shells after zshrc. Thus, it should contain
commands that need to execute at login. It is usually used for messages such as
fortune
, msgs
, or for the creation of files.
This is not the file to define aliases, functions, shell options, and key bindings. It should not change the shell environment.
zlogout
This file is sourced by login shells during logout. It should be used for displaying messages and for deletion of files.
Authors
The authors of these files should be contacted via the issue tracker.