Personal macOS development environment managed with Homesick. Configures Zsh (with Oh My Zsh), Vim via Vundle, Ruby development tools via rbenv, and a curated set of Homebrew packages for web development. Uses mise for managing non-Ruby tool versions.
-
Install Homebrew and homebrew-bundle
-
Install Homesick and symlink dotfiles:
$ homesick clone mattmenefee/dotfiles $ homesick link dotfiles
-
Install tools managed by Homebrew
$ cd ~/.homesick/repos/dotfiles/ $ brew bundle
-
Set up rbenv and rbenv-default-gems plugin
Ruby versions are managed with rbenv (installed via Homebrew in step 3). Other tool versions (e.g., Ansible, Terraform) are managed with mise, which is also installed via Homebrew and activated through the Oh My Zsh
miseplugin.$ rbenv init # See rbenv README for why this is necessary # Set up the rbenv-default-gems plugin $ git clone https://github.com/rbenv/rbenv-default-gems.git $(rbenv root)/plugins/rbenv-default-gems $ rbenv install -l # list all available versions $ rbenv install [version] # Restart shell for changes with $PATH to take effect $ rbenv global [version] # set global Ruby version
-
Update RubyGems
$ gem update --system
-
Install Oh My Zsh
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"The following Oh My Zsh plugins are enabled in
.zshrc:Plugin Source Description git built-in Git aliases and completions rails built-in Rails command aliases docker built-in Docker completions vi-mode built-in Vim keybindings in the shell mise built-in Activates mise for version management z built-in Jump to frequently used directories (e.g., z dotfiles)gh built-in GitHub CLI completions bundler built-in Auto-prefixes gem commands with bundle execTwo additional Zsh plugins are installed via Homebrew (included in the Brewfile) and sourced at the bottom of
.zshrc:- zsh-syntax-highlighting — highlights commands as you type
- zsh-autosuggestions — suggests commands from history as you type
-
Install Vundle and run the Vim plugin installer
$ cd ~/.homesick/repos/dotfiles $ zsh init.zsh
This installs Vundle plugins for MacVim. Neovim (also in the Brewfile) uses a separate configuration.
-
Set up Git config
# Insert appropriate values $ git config --global user.name "$GIT_AUTHOR_NAME" $ git config --global user.email "$GIT_AUTHOR_EMAIL"
# Homebrew (or use the `brewup` alias defined in .zshrc)
$ brew upgrade && brew cleanup && brew autoremove && brew doctor
# RubyGems
$ gem update --system
# Bundler
$ gem update bundler
# mise (non-Ruby tool versions)
$ mise self-update
$ mise upgrade
# Dotfiles via Homesick
$ homesick pull --allOh My Zsh is configured to auto-update daily via zstyle settings in .zshrc.