Skip to content

Repository files navigation

dotfiles

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.

Getting Started

  1. Install Homebrew and homebrew-bundle

  2. Install Homesick and symlink dotfiles:

    homesick clone mattmenefee/dotfiles
    homesick link dotfiles
  3. Install tools managed by Homebrew

    The Brewfile installs the CircleCI CLI from a third-party tap, which Homebrew's cask-trust gate blocks until it is explicitly trusted. Run the one-time brew trust first, then brew bundle:

    cd ~/.homesick/repos/dotfiles/
    brew trust --cask circleci-public/circleci/circleci@next
    brew bundle
  4. 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 mise plugin.

    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
  5. Update RubyGems

    gem update --system
  6. 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 exec

    Two additional Zsh plugins are installed via Homebrew (included in the Brewfile) and sourced at the bottom of .zshrc:

  7. 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.

  8. Set up Git config

    # Insert appropriate values
    git config --global user.name "$GIT_AUTHOR_NAME"
    git config --global user.email "$GIT_AUTHOR_EMAIL"

Updating

# 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 --all

Oh My Zsh is configured to auto-update daily via zstyle settings in .zshrc.

About

dotfile configurations

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages