Skip to content

Instantly share code, notes, and snippets.

@dgraham
Last active July 14, 2026 03:38
Show Gist options
  • Select an option

  • Save dgraham/5ee463e66ee913e343b2d610532c4b02 to your computer and use it in GitHub Desktop.

Select an option

Save dgraham/5ee463e66ee913e343b2d610532c4b02 to your computer and use it in GitHub Desktop.
A setup script for macOS development.
xcode-select --install
if [ ! -x /opt/homebrew/bin/brew ]; then
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
brew install automake clang-format cmake libressl pkg-config yajl
brew install deno go node python pipx ruby rust typescript
brew install ast-grep copilot-cli ctags fd gh git git-lfs gnupg graphviz hyperfine llama.cpp mlx neovim oxfmt oxlint pngquant ripgrep rust-analyzer
brew install memcached mysql nginx postgresql redis
brew install colima docker docker-compose
git config --global user.name "David Graham"
git config --global user.email "david.malcom.graham@gmail.com"
git config --global credential.helper osxkeychain
git config --global pull.rebase false
git config --global init.defaultBranch main
npm config set allow-git=none
npm config set ignore-scripts=true
npm config set min-release-age=3
npm config set sign-git-tag=true
cargo install rustfmt
gem install rubocop ruby-lsp
npm install -g @github/copilot-language-server
gh auth login --web
gh extension install github/gh-copilot
gh alias set me 'search issues --include-prs --assignee=@me --state=open --sort=updated --json title,url --template "{{range .}}{{tablerow .url (truncate 60 .title)}}{{end}}"' --clobber
gh alias set mine 'search prs --author=@me --state=open --sort=updated --json title,url --template "{{range .}}{{tablerow .url (truncate 60 .title)}}{{end}}"' --clobber
pipx ensurepath
pipx install mlx mlx-lm
git clone https://github.com/dgraham/dotvim.git ~/.vim
cd ~/.vim
git submodule update --init
mkdir -p ~/.config/nvim
ln -s ~/.vim/lua/init.lua ~/.config/nvim/init.lua
cd ~
curl -L -o /tmp/mute.zip https://github.com/dgraham/mute-github-thread/raw/master/Mute%20GitHub%20Thread.zip
unzip -d /tmp/mute /tmp/mute.zip > /dev/null
mv /tmp/mute/Mute\ GitHub\ Thread.workflow ~/Library/Services
rm -rf /tmp/mute.zip /tmp/mute
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment