Commit Graph
168 Commits
Author SHA1 Message Date
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
Frank Qing 4a063ea8d5 (.zshrc, install.sh): add Homebrew initialization and eza installation logic for multiple OSes 2025-05-28 01:54:38 +08:00
Frank Qing 4b401aa1cb (.zshrc, install.sh): streamline zsh-autosuggestions plugin configuration and remove marker installation logic 2025-05-28 01:28:46 +08:00
Frank Qing bf1f1c0cbb Upgrade easyzsh 2025-05-28 01:26:30 +08:00
Frank Qing 038cf2b2c7 (.zshrc, install.sh): add autojump support and installation across multiple OSes 2024-09-06 16:44:07 +08:00
Frank Qing e74202be06 🐛 (install.sh): Fix shell change command to use sudo and specify $USER
💡 (install.sh): Update error message for clarity when shell change fails
2024-09-06 16:31:31 +08:00
Frank Qing 3c8f666e72 ♻️ (install.sh): refactor package installation to support multiple OSes
 (install.sh): add OS detection and package installation functions for modularity
2024-08-19 08:22:30 +08:00
Frank Qing 524c07fe5b (install.sh): add check for sudo installation and install if missing to ensure script can run with necessary privileges 2024-08-11 20:23:34 +08:00