macOS Zsh environment, modular and reproducible.
curl -fsSL https://raw.githubusercontent.com/hacxy/dotfiles/main/install.sh | bashThis installs Homebrew, Oh My Zsh, zsh-autosuggestions, clones the repo to ~/dotfiles, and symlinks .zshrc and the Starship config.
zsh/
├── .zshrc # Entry point — loads Oh My Zsh then sources modules
├── .zshrc.local.example # Template for private tokens (GITHUB_TOKEN, HF_TOKEN, etc.)
├── core/
│ ├── 05-helpers.zsh # Utility functions: OS detection, has(), path_add()
│ └── 10-general.zsh # Editor, aliases, PATH entries
└── tools/
├── 20-proxy.zsh # proxy on/off/status — manages HTTP proxy env vars
└── 30-nvm.zsh # Lazy-loads NVM on first node/npm/npx call
starship/
└── starship.toml # Starship prompt config — symlinked to ~/.config/starship.toml
- Modular config — drop a
.zshfile intocore/ortools/, it loads automatically in filename order - Lazy NVM — NVM is deferred until you actually run
node,npm, ornpx, keeping shell startup fast - Proxy toggle —
proxy on/proxy off/proxy statuswith Homebrew-aware env vars - Private config —
.zshrc.local(gitignored) for tokens and machine-specific settings - One-command setup —
install.shhandles Homebrew, Oh My Zsh, plugins, cloning, and symlinking
curl -fsSL https://raw.githubusercontent.com/hacxy/dotfiles/main/install.sh | bashgit clone git@github.com:hacxy/dotfiles.git ~/dotfiles
cd ~/dotfiles
chmod +x install.sh
./install.shproxy # enable proxy (default: 127.0.0.1:7890)
proxy off # disable
proxy status # check current stateOverride defaults with environment variables:
export PROXY_HOST=192.168.1.100
export PROXY_PORT=1080cp zsh/.zshrc.local.example zsh/.zshrc.local
# edit zsh/.zshrc.local — add GITHUB_TOKEN, HF_TOKEN, etc.Create a .zsh file in core/ (loaded first) or tools/ (loaded second). Prefix with a number to control load order:
# zsh/tools/50-aliases.zsh
alias ll="ls -la"Contributions welcome. Open an issue or submit a pull request.