Get mac nest working: clean zsh, add bun/rust/claude-code/codex#8
Merged
Conversation
- nests/mac: use owl setup as a dependency (was manually linking debug build, which skipped omni-menu and clashed with the release symlink); add bun, rust, claude-code, codex; trim .shenv down to mac-specific bits since owl-start.sh now handles XDG/PATH/rc-loading; fix hardcoded /Users/tylertracy paths. - zsh-ohmy: source ~/owl/owl-start.sh instead of bare ~/.shenv; make kubectl completion conditional; drop hardcoded paths; add install.sh that installs oh-my-zsh + the autosuggestions/syntax-highlighting plugins (KEEP_ZSHRC=yes so the installer doesn't clobber the owl-managed symlink); drop git-trim from plugins (it's a CLI tool, not an oh-my-zsh plugin). - nvim install: add macOS support (Homebrew or direct tarball) and skip when nvim is already installed; the script was Linux-only and would overwrite ~/.local/bin/nvim with a Linux AppImage on macOS. - rust install: add macOS branch using the official rustup curl installer. - owl install: skip when owl is already at ~/.local/bin or /usr/local/bin and install to ~/.local/bin (no sudo) on first install. - claude-code/codex install: source ../bun/bun-rc.sh so bun is on PATH inside the install script (run_script spawns a fresh bash without rc files loaded). - New codex setup: installs @openai/codex globally via bun. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
On PRs, github.ref is refs/pull/N/merge — not a valid release tag, so the upload step has been failing on every PR since this workflow was added. Gate it to push events only; PRs still run the Build step, which is what verifies the code compiles. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 79a8506. Configure here.
|
|
||
| ### MANAGED BY RANCHER DESKTOP START (DO NOT EDIT) | ||
| export PATH="/Users/tylertracy/.rd/bin:$PATH" | ||
| [ -s "$HOME/.bun/_bun" ] && source "$HOME/.bun/_bun" |
There was a problem hiding this comment.
Bun completions path doesn't match install location
Low Severity
The bun completions path $HOME/.bun/_bun doesn't match the actual bun install location. bun-rc.sh sets BUN_INSTALL to ${HOME}/.local/share/bun, meaning the completions file lives at $HOME/.local/share/bun/_bun, not $HOME/.bun/_bun. The [ -s ... ] guard silently prevents errors, but bun shell completions will never load.
Reviewed by Cursor Bugbot for commit 79a8506. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
The mac nest was broken — fresh
zsh -iprinted errors (missing~/.shenv, missing oh-my-zsh, hardcoded/Users/tylertracy/...paths,kubectl completionfailing on a machine without kubectl). The owl binary was being linked fromtarget/debuginstead of using theowlsetup, which also meantomni-menuwas never linked. This PR cleans all of that up and adds the requested tooling.Mac nest
nests/mac/setup.json: depend onowlinstead of manually linkingtarget/debug/owl(gets release build + omni-menu); addbun,rust,claude-code,codex; addcommon:claude.shrc.nests/mac/.shenv: trim to mac-specific bits —OWL_PATH=$HOME/owl,EDITOR=nvim, conditional Homebrew shellenv. XDG vars /~/.local/binPATH / rc-loop are now handled byowl-start.sh. Fixed hardcoded/Users/tylertracy/...paths.zsh-ohmy
.zshrc: source~/owl/owl-start.shinstead of bare~/.shenv; conditional kubectl completion; drop hardcoded user paths and Rancher Desktop block; removegit-trimfrom plugins (it's a CLI tool, not an oh-my-zsh plugin).install.sh: installs oh-my-zsh + zsh-autosuggestions + zsh-syntax-highlighting. UsesKEEP_ZSHRC=yesso the upstream installer doesn't clobber the owl-managed~/.zshrcsymlink (it does by default).Cross-platform install fixes
setups/nvim/install.sh: was Linux-only and would overwrite~/.local/bin/nvimwith a Linux AppImage on macOS. Now branches onuname -s, prefers Homebrew on Darwin, falls back to the official macOS tarball, and skips whennvimis already installed.setups/rust/install.sh: add Darwin branch using the official rustup curl installer.setups/owl/install.sh: skip when owl is already at~/.local/binor/usr/local/bin; install to~/.local/bin(no sudo) on first install instead of/usr/local/bin. The previous check only looked atcommand -v owl, which fails inside the install script's bash subshell because~/.local/binisn't on PATH there.setups/claude-code/install.sh+ newsetups/codex/install.sh: source../bun/bun-rc.shsobunis on PATH inside the install script.run_scriptspawns a freshbashwithout rc files loaded, sobun install -gwould fail withcommand not foundeven though bun was installed by a prior step in the samenest installrun.New codex setup
setups/codex/: depends onbun, runsbun install -g @openai/codex.Test plan
zsh -i -c 'exit'returns 0 with no stderr noise (was printing 3 errors before).owl,claude,codex,bun,cargo,nvimall resolve viacommand -v.owl setups-validate— mac validates clean.owl nest installruns claude-code and codex installs successfully (previously failed withbun: command not found).omni-menubuild (deferred — needsbrew install pkgconf gtk4thencargo build --release).setups-validateshows the same pre-existing failures (missingsecretssetup) on framework-arch / dell-xps-desktop / framework-sway as before — not introduced by this PR.🤖 Generated with Claude Code
Note
Medium Risk
Moderate risk due to changes in shell initialization and installer scripts (zsh/oh-my-zsh, PATH handling) that can affect developer environments; changes are localized to setup/CI automation and are largely guarded/conditional.
Overview
Fixes the mac nest bootstrap by simplifying
nests/mac/.shenv, removing hardcoded user paths, and updatingnests/mac/setup.jsonto depend on the releasedowlsetup while adding new dependencies (bun,rust,claude-code,codex) and an extra rc script.Hardens and expands install automation:
setups/nvim/install.shis now OS-aware (Linux AppImage vs macOS brew/tarball) and skips if already installed;setups/rust/install.shadds macOS rustup support;setups/owl/install.shinstalls to~/.local/binwithout sudo and improves “already installed” detection;setups/claude-code/install.shensuresbunis onPATHand a newsetups/codexsetup installs Codex CLI via bun.Cleans zsh integration by sourcing
owl-start.sh, making kubectl/bun completions conditional, and adding anoh-my-zshinstaller plus plugin installation via a newsetups/zsh-ohmy/install.sh. CI release upload now only runs on push (not PRs).Reviewed by Cursor Bugbot for commit 79a8506. Bugbot is set up for automated code reviews on this repo. Configure here.