Initial dotfiles: portable shell configs, Brewfile, and setup guide
Cleaned up for new machine portability: removed hardcoded paths, EOL packages, and redundant version managers. Consolidated NVM loading, added work git identity support via includeIf. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
25
zshenv
Normal file
25
zshenv
Normal file
@@ -0,0 +1,25 @@
|
||||
# ~/.zshenv - Sourced for ALL shell types (interactive, non-interactive, login, non-login)
|
||||
# Keep this file lightweight - it runs for every shell invocation
|
||||
|
||||
# Homebrew - Initialize early for all shell types
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
|
||||
# Essential PATH entries (needed for all shells including Claude Code)
|
||||
export PATH="$HOME/bin:$PATH"
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
# NVM (minimal setup for non-interactive shells)
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
if [[ -s "$NVM_DIR/nvm.sh" ]]; then
|
||||
\. "$NVM_DIR/nvm.sh" --no-use 2>/dev/null
|
||||
# Put default node in PATH for non-interactive shells (e.g. Claude Code, scripts)
|
||||
local default_node="$NVM_DIR/alias/default"
|
||||
[[ -r "$default_node" ]] && export PATH="$NVM_DIR/versions/node/$(cat "$default_node")/bin:$PATH"
|
||||
fi
|
||||
|
||||
# pyenv
|
||||
if command -v pyenv 1>/dev/null 2>&1; then
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
eval "$(pyenv init -)"
|
||||
fi
|
||||
Reference in New Issue
Block a user