blob: 53580a7fcdeff50e1ee3af9d8ea498aa85f2af01 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# ~/.zshenv — read by *every* zsh, including non-interactive, non-login ones.
#
# For `ssh <host> <command>`, `zsh -c ...` and plain scripts this is the *only*
# startup file zsh reads: ~/.zprofile and ~/.zshrc are both skipped, and on
# macOS so is /etc/zprofile, which is what runs path_helper. Without this file
# such shells start with the bare system PATH (/usr/bin:/bin:/usr/sbin:/sbin).
#
# That broke `mosh <macos-host>`: mosh launches mosh-server over ssh as a
# non-interactive command, and Homebrew's /opt/homebrew/bin was not on PATH, so
# it died with "command not found: mosh-server". Linux hosts happened to work
# only because mosh-server lives in /usr/bin there.
#
# Keep this file a thin shim. The actual environment lives in config/env, which
# is POSIX sh so bash can share it. Interactive-only setup (aliases, history,
# theme, profile.d, jenv) belongs in config/profile, sourced from ~/.zshrc.
# Keep $path/$PATH free of duplicates for the life of this shell. zsh-only, so
# it lives here rather than in the POSIX config/env.
typeset -U path PATH
[ -r "$HOME/.env" ] && . "$HOME/.env"
# vim: filetype=zsh
|