Timmy Xiao
One thing that I noticed when I installed packages from nix and homebrew
was the fact that I was missing zsh completions! I was looking at
nix-daemon.sh and it does add some files installed to XDG_DATA_DIRS but it
doesn't do anything to your shells regarding completions. Same with homebrew.
To resolve, add this before your compinit in your .zshrc:
fpath=(~/nix-profile/share/zsh/site-functions $fpath)
if type >> /dev/null; then
HOMEBREW_PREFIX=$(brew --prefix)
fpath=($HOMEBREW_PREFIX/share/zsh/site-functions $fpath)
fi
I was curious why my man pages worked even though they don't seem to be set
in MANPATH.
I realized that manpath also searches for man pages by looking in your PATH
and sees if a pathname ends in /bin and looks for /share/man or /man in
the same pathname. In Linux (it also uses manpath), there is also
man_db.conf which does something similar with MANPATH_MAP /bin /usr/share/man, so it doesn't have to look at PATH.