Skip to content

Dotfiles bug fixes and optimizations#47

Merged
jsegal205 merged 9 commits into
mainfrom
dotfiles-fixes
May 19, 2026
Merged

Dotfiles bug fixes and optimizations#47
jsegal205 merged 9 commits into
mainfrom
dotfiles-fixes

Conversation

@jsegal205

Copy link
Copy Markdown
Owner

Summary

  • Fix chmod -R 755 ... in fresh-setup.sh (was chmoding the parent directory)
  • Fix killall calls in apple/main.sh with || true so they don't abort under set -e; remove duplicate log line
  • Fix hardcoded /Users/jimsegal/.zprofile$HOME/.zprofile in brew/main.sh
  • Add RUNZSH=no to Oh My Zsh installer so it doesn't replace the shell and halt the script
  • Remove node/npm from brew packages — asdf manages nodejs, brew versions shadow asdf shims
  • Fix word-splitting bug in asdf/main.sh plugin-add loop; make plugin installs idempotent; add explicit URL for python plugin
  • Make Powerline font install idempotent in zsh/main.sh; use subshell for cd fonts
  • Add set -o pipefail to all scripts
  • Swap firefox for brave-browser in brew casks
  • Add gh CLI to brew packages
  • Add PostgreSQL 14 → 16 upgrade guide (docs/postgres-14-to-16-upgrade.md)

Test plan

  • shellcheck passes on all scripts (shellcheck apple/main.sh asdf/main.sh brew/main.sh zsh/main.sh fresh-setup.sh utils/main.sh)
  • Second run of fresh-setup.sh exits cleanly with no re-install failures
  • which node resolves to ~/.asdf/shims/node, not /usr/local/bin/node

🤖 Generated with Claude Code

jsegal205 and others added 9 commits May 18, 2026 21:19
chmod -R 755 .. was recursively chmod-ing the parent directory
(e.g. ~/projects) instead of the repo itself.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
killall exits non-zero when a process isn't running, aborting the
script under set -e. Also removes the duplicate "Setting up OSX
defaults" log that appeared twice.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…edundant node/npm

- Replace hardcoded /Users/jimsegal/.zprofile with $HOME/.zprofile
- Add RUNZSH=no to Oh My Zsh installer so it doesn't replace the
  current shell and halt script execution
- Remove node and npm from brew PACKAGES; asdf manages nodejs (which
  includes npm), so the brew versions are redundant and can shadow
  asdf-managed binaries if PATH is ordered incorrectly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…thon URL

- Unquote $asdf_plugin in plugin-add so name and URL word-split into
  separate arguments (quoting passed the whole string as one arg)
- Skip plugin-add if the plugin is already installed to avoid non-zero
  exit under set -e on re-runs
- Add explicit URL for python plugin to match the pattern used for the
  other three plugins and remove reliance on asdf's shortname registry

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…or cd

- Skip cloning and installing Powerline fonts if they're already present
- Use a subshell (cd fonts && ./install.sh) instead of cd/cd.. so a
  failure inside install.sh can't leave the script in the wrong directory

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
set -e alone doesn't catch failures in the left side of a pipeline
(e.g. cmd1 | cmd2 succeeds even if cmd1 fails). pipefail surfaces those.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jsegal205 jsegal205 merged commit 6c385a9 into main May 19, 2026
1 check passed
@jsegal205 jsegal205 deleted the dotfiles-fixes branch May 19, 2026 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant