Commit Graph
175 Commits
Author SHA1 Message Date
Frank Qing 82c6a57c3a fix(shell): keep Cursor on agent and Grok on grok
Grok's installer prepends ~/.grok/bin and steals ~/.local/bin/agent.
easyzsh already shims `grok`; claim `agent` for Cursor and drop the
vendor bin from PATH so a later Grok upgrade cannot shadow it.
2026-08-13 17:36:56 +08:00
Frank Qing e41d2b6e93 fix(pyenv): preserve shims in login shells
macOS path_helper runs after .zshenv and can move system Python ahead of pyenv. Add an idempotent login hook and preserve it across later easyzsh migrations.
2026-08-07 18:34:50 +08:00
Frank Qing 9257eceb47 fix(pyenv): load managed Python in every zsh
The pyenv fragment lived in the interactive overlay, so agents and zsh -c fell back to system Python. Install it through the always-on fragment path and keep XDG destinations aligned with the loader.
2026-08-07 18:14:22 +08:00
Jeffrey bff5ceddf0 feat(install): optional add-ons via --with and interactive prompt
Wire install_<name>.sh into the main installer through a shared catalog
so fnm/pyenv/nvm (and future tools) share one CLI and prompt path.
2026-08-07 14:23:30 +08:00
Jeffrey 42c8305871 fix(fnm): load managed Node from always-on zsh layer
fnm lived in interactive-only ~/.config/zshrc, so ssh/agents/zsh -c
missed fnm-managed node. Source ~/.config/zsh/*.zsh from .zshenv and
install the fragment as zsh/fnm instead.
2026-08-07 14:08:07 +08:00
Jeffrey 7a43940317 refactor(shell): stop managing ~/.zprofile
Always-on and machine hooks already live in .zshenv / local.zsh.
Drop the empty stub, remove it on deploy, and leave real .zprofile
files to optional migration into local.zsh only.
2026-08-06 14:50:11 +08:00
Jeffrey e5e2801ce8 refactor(shell): collapse managed tree back into stubs
Drop ~/.config/zsh/{env,interactive,login} modules. PATH and local.zsh
live in .zshenv; interactive UX is a single .zshrc again. Deploy only
installs the three stubs and removes obsolete trees/examples.
2026-08-06 14:46:56 +08:00
Jeffrey 7f80bb66e1 chore: ignore .DS_Store 2026-08-06 14:41:46 +08:00
Jeffrey caac9235f6 fix(shell): use single ~/.config/zsh/local.zsh for machine local
Replace the local/ directory of split env/login/interactive files with
one always-on local.zsh sourced from .zshenv. Deploy migrates old
fragments and never overwrites local.zsh.
2026-08-06 14:41:31 +08:00
Jeffrey f8dcc29a2f refactor(shell): thin stubs with managed ~/.config/zsh tree
Split always-on PATH/env, login hooks, and interactive UX into a
managed tree under ~/.config/zsh, with never-overwrite local/ hooks.
Agents and interactive shells share one PATH owner; deploy.sh applies
the layout safely across machines.
2026-08-06 14:36:08 +08:00
Jeffrey ed5365859c fix(zshenv): put ~/.local/bin on PATH for every zsh
Non-interactive agent shells (Codex, Claude) skip .zshrc and never saw
user-local tools installed via pipx/uv/grok. Add ~/.local/bin in
.zshenv with an idempotent guard, and source optional
~/.config/zshenv.local for machine-local early env.
2026-08-06 14:25:52 +08:00
Jeffrey 6f6a8ac5f8 feat(zshrc): add cleanzip helper for macOS junk in archives
Small portable utility next to cheat/speedtest; strips __MACOSX
and .DS_Store entries via zip -d.
2026-08-05 17:15:45 +08:00
Jeffrey 91ec7985ad fix(zshrc): only alias k when the omz k plugin loaded
Lean plugin prefs drop k; an unconditional k=k -h alias then
points at nothing useful. Gate on the function the plugin defines.
2026-08-05 17:11:17 +08:00
Jeffrey d5eb16c4ab feat(zshrc): default j=z alias and 30-day omz update interval
zoxide is part of the base install; a short j jump alias matches
common muscle memory. Refresh omz on a monthly cadence instead of
the bi-weekly default.
2026-08-05 17:08:38 +08:00
Jeffrey f2695ca431 fix(zshrc): safer trash rm wrapper; drop personal install fragment
Keep ~/.zshrc upgrade-friendly by not shipping author-specific
plugin samples as patch targets. Prefer the flag-tolerant trash
function over bare aliases so common rm -f usage still works.
2026-08-05 16:53:25 +08:00
Yuhao QingandCursor 3fbf8b2350 perf(shell): skip oh-my-zsh completion security audit
Set ZSH_DISABLE_COMPFIX=true so oh-my-zsh runs compinit -u instead of -i,
skipping the per-startup compaudit security scan. The completion directories
are machine-owned and not group/world-writable, so the audit only costs time.
Combined with deferring pyenv init in ~/.config/zshrc/pyenv.zsh, this cuts
interactive startup from ~258ms to ~211ms and agent shells from ~226ms to
~183ms.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 03:58:06 +08:00
Yuhao QingandCursor 226f4438f1 feat(shell): enable more plugins and give agent shells a light theme
Uncomment history-substring-search, systemd, k, extract, and sudo, and add
poetry to the default plugin list; all are installed via the bundled or custom
plugin dirs. Switch to robbyrussell when CURSOR_AGENT is set so Cursor's agent
terminal skips powerlevel10k, keeping interactive shells on p10k.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 03:44:03 +08:00
Yuhao QingandCursor 12108ca3e4 fix(shell): guard brew shellenv against TCC and keep eza aliases
.zshenv runs brew shellenv for every zsh, including non-interactive and
GUI-launched shells; without a safe CWD the eval fails or triggers a
permission prompt when launched from a TCC-protected directory such as
~/Documents. Run it from /tmp.

The eza `l` alias (and the myip/e/ip/a/aa group) was defined before
oh-my-zsh loaded, so lib/directories.zsh overrode `l` back to ls. Move
the alias block after the oh-my-zsh source so the eza versions win.

Also document the ~/.config/zshrc personal-config mechanism and patch.sh
in the README, which previously only had a title.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 02:22:18 +08:00
mio 9377023e28 feat(shell): add .zshenv Homebrew init and Trash-backed rm
Move brew shellenv into .zshenv so PATH is available outside
interactive shells, and make install guarantee a Trash backend
for safer rm aliases on both macOS and Linux.
2026-07-26 16:28:09 +08:00
Frank Qing 17ecc5f67c fix(fzf): prefer bundled binary for shell integration 2026-07-15 12:00:29 +08:00
Frank Qing 76395923ce fix(install): make setup failures explicit and atomic
Installer pipelines masked dependency and download failures, causing
false success messages and unsafe config replacement.

Atomic updates and current upstream installers keep failures visible.
2026-07-15 00:16:33 +08:00
Yuhao Qing 9641876d43 Add a new option 2025-12-18 18:10:03 +08:00
Yuhao Qing d8238c545a fix 2025-12-18 18:07:17 +08:00
Yuhao Qing 76549f5438 merlin zsh compatible 2025-12-18 17:42:46 +08:00
Yuhao Qing a7dcd7c271 Stage prep_env.sh 2025-12-18 17:42:20 +08:00
Frank Qing 8c84b3dbf6 Enhance installation script by adding autoconf to the list of required packages and updating installation checks accordingly. 2025-10-24 17:43:55 +08:00
Frank Qing a8ed0f080a Update fnm installation 2025-06-13 14:07:38 +08:00
Frank Qing b017fb1592 Fix: add missing newline at end of file in nvm.zsh and pyenv.zsh for consistency 2025-06-07 19:22:56 +08:00
Frank Qing d1537fa0a3 (fnm.zsh): update FNM_PATH to use HOME variable and enhance fnm environment initialization for zsh 2025-06-06 23:12:59 +08:00
Frank Qing 847ec3b650 Update 2025-06-06 14:46:18 +08:00
Frank Qing f12bbb6ac1 Update 2025-06-06 14:31:52 +08:00
Frank Qing 6f34409205 (merlin_devbox.zsh): remove hardcoded HF_ENDPOINT variable to streamline proxy configuration and enhance flexibility in environment settings 2025-06-06 14:23:51 +08:00
Frank Qing 3d5cf87929 (.zshrc, nvm.zsh): comment out unused plugins in .zshrc and refactor nvm initialization to improve function handling for nvm, node, and npm commands 2025-06-06 00:15:07 +08:00
Frank Qing 3b820fce60 (merlin_devbox.zsh, merlin_worker.zsh): consolidate proxy configurations and aliases for Hugging Face and HTTP proxies, enhancing endpoint management and consistency across environments 2025-06-05 23:37:32 +08:00
Frank Qing ad6d3fe8fc Update 2025-06-05 23:22:57 +08:00
Frank Qing 1043318893 Update 2025-06-05 23:19:27 +08:00
Frank Qing 5a66025db5 Update 2025-05-29 17:27:23 +08:00
Frank Qing 5e94ac33a6 (merlin_devbox.zsh, merlin_worker.zsh): update proxy configuration to include additional domains for no_proxy and enhance proxy_on alias for improved endpoint management 2025-05-28 17:35:21 +08:00
Frank Qing 5088da8a75 (install.sh, install_nvm.sh): refactor font installation logic to check for existing fonts before downloading, and remove redundant echo statement in install_nvm.sh 2025-05-28 15:11:24 +08:00
Frank Qing 18a56766c6 (merlin_worker.zsh): update proxy configuration to include new internal and external mirrors, and add aliases for easier endpoint management 2025-05-28 14:37:27 +08:00
Frank Qing bff631f971 (merlin_devbox.zsh): remove custom configurations for user-specific script sourcing 2025-05-28 04:46:05 +08:00
Frank Qing 4eb890e26a (merlin_worker.zsh): add proxy configuration and aliases for enabling/disabling proxy settings in zsh environment 2025-05-28 04:29:46 +08:00
Frank Qing e3e219e55b (install.sh): refactor eza installation logic to streamline package manager checks and enhance fallback methods for various operating systems 2025-05-28 04:24:44 +08:00
Frank Qing 1bd3a2dcb8 (install.sh): update eza installation logic to install via cargo if Rust is not present, removing previous GPG and repository setup steps 2025-05-28 04:07:10 +08:00
Frank Qing e515a8b4bc (install_nvm.sh): update zsh configuration patch to apply nvm setup instead of basic configuration 2025-05-28 03:44:57 +08:00
Frank Qing 158a1388bc (install_merlin_worker.sh): enhance installation script with error handling, cross-platform compatibility for sed, and improved directory management for merlin_worker.zsh 2025-05-28 03:40:25 +08:00
Frank Qing 68625d2e21 (install.sh, merlin_worker.zsh): enhance installation script with fallback methods for eza and zoxide, and add proxy configuration to zsh environment 2025-05-28 03:28:01 +08:00
Frank Qing 0492b6a053 (.zshrc, install.sh): enhance zsh configuration with additional plugin support and improve installation logic for better cross-OS compatibility 2025-05-28 03:03:57 +08:00
Frank Qing 5f22fb4d7e 🐛 (.zshrc, install.sh): fix newline issues at the end of files 2025-05-28 02:42:18 +08:00
Frank Qing d160d1795b (.zshrc, install.sh): integrate zoxide installation and initialization across multiple OSes 2025-05-28 02:15:02 +08:00