Skip to content

Instantly share code, notes, and snippets.

@cooperpellaton
Last active May 9, 2023 02:59
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save cooperpellaton/4d76ef3afdc78018af89dd6963d02481 to your computer and use it in GitHub Desktop.
Save cooperpellaton/4d76ef3afdc78018af89dd6963d02481 to your computer and use it in GitHub Desktop.
🍺 A script to bootstrap the install of brew, then install all the applications and utilities I'll need on a new Mac.

Brew Bootstrap Install

I've written this as a script to run when setting up a new computer. Download the entirety of the gist and then run:

chmod +x bootstrap-brew.sh
./bootstrap-brew.sh

Does the following:

  • Checks if brew is installed, if not installs it.
  • Installs necessary command-line tools, casks (apps) and Mac App Store apps I would want on a computer. Includes things like:
    • Ripgrep
    • NeoVim
    • Spotify
    • Discord
  • Changes system defaults to: show file extensions, and disable natural scroll.
# Check for Homebrew, install if we don't have it
if test ! $(which brew); then
echo "Installing homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
fi
# Update homebrew recipes
brew update
# Install from Brewfile
brew bundle
# Show filename extensions by default
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
# Disable "natural" scroll
defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false
echo "Completed."
tap "eddieantonio/eddieantonio"
tap "github/gh"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-drivers"
tap "homebrew/cask-fonts"
tap "homebrew/core"
tap "instrumenta/instrumenta"
tap "mongodb/brew"
tap "nektos/tap"
tap "universal-ctags/universal-ctags"
brew "ack"
brew "asdf"
brew "autoconf"
brew "automake"
brew "avrdude"
brew "awscli"
brew "bash"
brew "bat"
brew "black"
brew "brew-cask-completion"
brew "clang-format"
brew "cmake"
brew "colordiff"
brew "coreutils"
brew "cowsay"
brew "ctags"
brew "diff-so-fancy"
brew "dive"
brew "docker-compose"
brew "docker-machine"
brew "duti"
brew "eddieantonio/eddieantonio/imgcat"
brew "ffmpeg"
brew "findutils"
brew "fish"
brew "fortune"
brew "fzf"
brew "gawk"
brew "gcc"
brew "gettext"
brew "gifsicle"
brew "git"
brew "git-flow-avh"
brew "github/gh/gh"
brew "gnu-indent"
brew "gnu-sed"
brew "gnu-tar"
brew "gnu-which"
brew "gnupg"
brew "go"
brew "graphviz"
brew "helm"
brew "htop"
brew "hub"
brew "imagemagick"
brew "instrumenta/instrumenta/kubeval"
brew "jpeg"
brew "jq"
brew "jsdoc3"
brew "jsonpp"
brew "ktmpl"
brew "less"
brew "libksba"
brew "libmemcached"
brew "loc"
brew "lsusb"
brew "lynx"
brew "markdown"
brew "mas"
brew "memcached"
brew "mercurial"
brew "minikube"
brew "mongodb/brew/mongocli"
brew "mongodb/brew/mongodb-community"
brew "mongodb/brew/mongodb-database-tools"
brew "mosh"
brew "nektos/tap/act"
brew "neovim"
brew "nmap"
brew "node"
brew "nvm"
brew "openssl@1.1"
brew "pkg-config"
brew "postgresql"
brew "prettier"
brew "pypy"
brew "rabbitmq"
brew "ranger"
brew "rbenv"
brew "redis"
brew "rename"
brew "ripgrep"
brew "rsync"
brew "ruby-build"
brew "rustup-init"
brew "shfmt"
brew "speedtest-cli"
brew "ssh-copy-id", link: true
brew "stow"
brew "terminal-notifier"
brew "terraform"
brew "thefuck"
brew "tmux"
brew "tree"
brew "universal-ctags/universal-ctags/universal-ctags", args: ["HEAD"]
brew "unrar"
brew "vim"
brew "wdiff"
brew "wget"
brew "wimlib"
brew "wiredtiger"
brew "yarn"
brew "zlib"
cask "1password-cli"
cask "adobe-creative-cloud"
cask "alfred"
cask "anaconda"
cask "anki"
cask "appcleaner"
cask "bartender"
cask "dash"
cask "discord"
cask "disk-inventory-x"
cask "docker"
cask "dropbox"
cask "eagle"
cask "figma"
cask "filebot"
cask "flux"
cask "font-fira-code"
cask "font-hack"
cask "font-input"
cask "font-inter"
cask "font-iosevka"
cask "font-iosevka-slab"
cask "font-jetbrainsmono-nerd-font"
cask "font-monoid"
cask "font-office-code-pro"
cask "font-victor-mono"
cask "google-cloud-sdk"
cask "grammarly"
cask "hyperdock"
cask "istat-menus"
cask "iterm2"
cask "jetbrains-toolbox"
cask "liteicon"
cask "microsoft-auto-update"
cask "microsoft-edge"
cask "microsoft-word"
cask "mongodb"
cask "monodraw"
cask "nextcloud"
cask "ngrok"
cask "notion"
cask "paw"
cask "pdfpenpro"
cask "rescuetime"
cask "sketch"
cask "slack"
cask "sonos"
cask "soulver"
cask "soundsource"
cask "spotify"
cask "steermouse"
cask "sublime-merge"
cask "sublime-text"
cask "toggl-track"
cask "transmit"
cask "typeface"
cask "visual-studio-code"
cask "zoomus"
mas "1Blocker", id: 1107421413
mas "1Password 7", id: 1333542190
mas "Agenda", id: 1287445660
mas "Dark Reader for Safari", id: 1438243180
mas "Deliveries", id: 924726344
mas "Developer", id: 640199958
mas "Drafts", id: 1435957248
mas "Fantastical", id: 975937182
mas "Gapplin", id: 768053424
mas "GoodNotes", id: 1026566364
mas "Instapaper", id: 1481302432
mas "Keynote", id: 409183694
mas "Microsoft Remote Desktop", id: 1295203466
mas "MindNode", id: 1289197285
mas "Moom", id: 419330170
mas "Notability", id: 736189492
mas "OmniGraffle", id: 1142578753
mas "PCalc", id: 403504866
mas "Parcel", id: 639968404
mas "Reeder", id: 1449412482
mas "Silicio", id: 933627574
mas "Skitch", id: 425955336
mas "Slack", id: 803453959
mas "Spark", id: 1176895641
mas "Spillo", id: 873245660
mas "Things", id: 904280696
mas "Tweetbot", id: 1384080005
mas "Ulysses", id: 1225570693
mas "Vimari", id: 1480933944
mas "WeChat", id: 836500024
mas "Xcode", id: 497799835
mas "YoudaoDict", id: 491854842
mas "iA Writer", id: 775737590
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment