Skip to content

mattmenefee/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

197 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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

    $ cd ~/.homesick/repos/dotfiles/
    $ 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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors