All Projects → joshukraine → Mac Bootstrap

joshukraine / Mac Bootstrap

Licence: mit
💻 Provision a new Mac for web development with dotfiles + Fish/Zsh, Neovim, and Tmux

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Mac Bootstrap

Dotfiles
🔘 neovim, zsh, tmux, iTerm2, macOS dotfiles
Stars: ✭ 7 (-92.71%)
Mutual labels:  zsh, tmux, iterm2, dotfiles, neovim
Jarvis
Dotfiles for a powerful, web development-focused environment powered by Neovim, iTerm2, tmux, and zsh
Stars: ✭ 617 (+542.71%)
Mutual labels:  zsh, tmux, iterm2, dotfiles, neovim
Dotfiles
📍 My dotfiles for macOS using Fish/Zsh, Neovim, and Tmux
Stars: ✭ 151 (+57.29%)
Mutual labels:  zsh, tmux, iterm2, dotfiles, neovim
Dotfiles
Alacritty + Tmux + Oh My Zsh + Neovim = ❤️
Stars: ✭ 95 (-1.04%)
Mutual labels:  zsh, tmux, dotfiles, neovim
Dotfiles
👾 ~/
Stars: ✭ 91 (-5.21%)
Mutual labels:  tmux, fish, iterm2, dotfiles
Dotfiles
Get ready for dotfiles. Contains i3, i3blocks, rofi, dunst, picom, vim, tmux, and zsh.
Stars: ✭ 985 (+926.04%)
Mutual labels:  zsh, tmux, dotfiles, neovim
dotfiles-legacy
. .✧ · 🌎 ✷ ✫ 🌙 · ✵ 🚀✵ * ✵ · 🌌✫ ✷ · ✧ .
Stars: ✭ 15 (-84.37%)
Mutual labels:  dotfiles, zsh, tmux, neovim
Dotconfig
Development environment setup
Stars: ✭ 27 (-71.87%)
Mutual labels:  zsh, tmux, dotfiles, neovim
dotfiles
My dotfiles for oh-my-zsh, vim and tmux 📟
Stars: ✭ 23 (-76.04%)
Mutual labels:  dotfiles, zsh, tmux, iterm2
Dotfiles
My Neovim + Tmux + Zsh dev setup
Stars: ✭ 60 (-37.5%)
Mutual labels:  zsh, tmux, dotfiles, neovim
Dotfiles
Configurations for the tools I use every day
Stars: ✭ 898 (+835.42%)
Mutual labels:  fish, iterm2, dotfiles, neovim
Dotfiles
🤘 My collection of dotfiles for tmux, vim and zsh
Stars: ✭ 94 (-2.08%)
Mutual labels:  zsh, tmux, dotfiles, neovim
Dotfiles
Configs 🤘🤘🤘
Stars: ✭ 39 (-59.37%)
Mutual labels:  zsh, iterm2, dotfiles, neovim
Idempotent Desktop
🛸 NixOS, Xmonad, Neovim
Stars: ✭ 51 (-46.87%)
Mutual labels:  tmux, fish, dotfiles, neovim
dot
No description or website provided.
Stars: ✭ 40 (-58.33%)
Mutual labels:  dotfiles, zsh, tmux, neovim
dotfiles
🏠 dotfiles for my macOS environment
Stars: ✭ 17 (-82.29%)
Mutual labels:  dotfiles, zsh, tmux, neovim
Dotfiles
`~/dotfiles` to setup my dev env on macOS based around `neovim` and `tmux`
Stars: ✭ 20 (-79.17%)
Mutual labels:  zsh, tmux, dotfiles, neovim
Dotfiles
😈 Vim, git, zsh, tmux, and other goodies.
Stars: ✭ 240 (+150%)
Mutual labels:  zsh, tmux, dotfiles, neovim
dotfiles
🚀 tmux, ohmyzsh, powerlevel10k, neovim 🔧
Stars: ✭ 24 (-75%)
Mutual labels:  dotfiles, zsh, tmux, neovim
dotfiles
My arch setup script and dotfiles
Stars: ✭ 37 (-61.46%)
Mutual labels:  dotfiles, tmux, fish, neovim

Mac Bootstrap

mac-bootstrap screenshot

This script will provision a new machine running a fresh install of macOS Catalina (10.15). It installs and configures the software, dotfiles, and general preferences I use for web development — primarily Rails, React, and Vue. The command line environment is based on Fish (or Zsh), Neovim, and Tmux running in iTerm2 or Alacritty.

The bootstrap script is very specific to the Mac platform. Version 5.x has been successfully tested on the following versions of macOS:

  • Catalina (10.15)

Previous versions of Mac Bootstrap have been successfully tested on the following versions of macOS:

  • Mojave (10.14)
  • High Sierra (10.13)
  • Sierra (10.12)
  • El Capitan (10.11)

Looking for dotfiles only? Check out My Dotfiles for macOS

Prerequisites

  1. Make sure your software is up to date:

     sudo softwareupdate -i -a --restart
    
  2. Install Apple's command line tools:

     xcode-select --install
    
  3. Reboot, check for additional updates, then reinstall and reboot as needed.

Installation

To install with a one-liner, run this:

curl --remote-name https://raw.githubusercontent.com/joshukraine/mac-bootstrap/master/bootstrap && sh bootstrap 2>&1 | tee ~/bootstrap.log

Want to read through the script first?

curl --remote-name https://raw.githubusercontent.com/joshukraine/mac-bootstrap/master/bootstrap
less bootstrap
sh bootstrap 2>&1 | tee ~/bootstrap.log

WARNING: This script will ask for your sudo password multiple times. You'll need to babysit it for a while. 😉

What does it do?

When you invoke bootstrap, here's what it does:

NOTE: Previously, I used the bootstrap script to set up many of the standard directories I use in my work. But since I now have Dropbox Plus, all those directories are downloaded automatically after Dropbox is installed. Once they've synced, I symlink them into place in $HOME.

Post-install Tasks

After running bootstrap there are still a few things that need to be done.

  • Restart your machine in order for some changes to take effect.
  • Complete post-install tasks from dotfiles README.
  • Set up desired macOS keyboard shortcuts (see list below)

macOS Keyboard Shortcuts

These are my (current) primary macOS keyboard shortcuts:

  • Alfred: ⌘Space
  • Clipboard (Alfred) ⌥⌘C
  • Spotlight search: ⌘⇧Space
  • Switch input source: ⌃⇧Space
  • Fantastical: ⌥⌘Space
  • iTerm2 hotkey window: ⌥Space
  • Remap Caps Lock to CTRL (anyone know a way to automate this?)

How to personalize Mac Bootstrap for your own use.

No one else's development setup will ever be a perfect match for you. That said, if your needs are close enough to mine, you might benefit from using the same shell scripts and overall structure, and just swapping out the particulars with your own. Here's my recommended approach to doing that:

  1. Fork this repo and clone your new fork to your local machine.

  2. Review the VARIABLE DECLARATIONS section and customize as desired.

  3. Review the 7 steps in bootstrap and make your own customizations. Here's an overview of what's going on:

  • Step 1 (required): Take a look at Laptop and see what you might want to tweak. One of the biggest things to review is the brew bundle list of packages and casks that will be installed. Customize as needed. Laptop also sets up some basics that are required by the bootstrap script later on.
  • Step 2 (recommended): Use Oh My Zsh?
  • Step 3 (required): Review general macOS settings in install/macos-defaults and adjust as needed. This script also sets things like HostName which are needed later for the dotfiles installation.
  • Step 4 (recommended): Install scripts to ~/bin?
  • Step 5 (recommended): Set up Tmuxinator profile?
  • Step 6 (optional): Install Ukrainian language utilities? Maybe you're interested in some other language extensions?
  • Step 7 (required): The dotfiles. Update the $DOTFILES_* variables (see bootstrap under "VARIABLE DECLARATIONS") to reference your dotfiles. As a starting point, you can fork mine and then point to your fork.
  1. Create ~/dotfiles/local/config.fish.local or ~/.zshrc.local, ~/.gitconfig.local, and ~/.vimrc.local and add in your personal information. These files are sourced in ~/.config/fish/config.fish or ~/.zshrc, ~/.gitconfig, and ~/.vimrc respectively.

  2. Update the README with your own info, instructions/reminders so you don't forget what you did, and especially the correct install URL:

curl --remote-name https://raw.githubusercontent.com/YOUR-GITHUB-USERNAME/mac-bootstrap/master/bootstrap && sh bootstrap 2>&1 | tee ~/boostrap.log
  1. Run the script on your machine and wait for the first error. 😇 Then fix, commit, push, and repeat.

Some of my favorite dotfile repos

Helpful web resources on dotfiles, et al.

License

Copyright © 2020 Joshua Steele. MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].