DEV Community

Cover image for YANMSS (Yet Another New Mac Setup Script)!
Mike P
Mike P

Posted on • Edited on

YANMSS (Yet Another New Mac Setup Script)!

Jump right to my Github page if you just want the script: https://github.com/mikeprivette/yanmss

About

This setup script is for modifying some default settings on Mac OS X, installing some of my preferred Terminal tools, and a few applications.

Please feel free to fork and/or add issues/PRs to help make this work better for everyone.

Installation with Curl

To install this script from a brand new Mac (fresh out of the box!) run the following command in terminal with no additional tools or permissions needed:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/mikeprivette/yanmss/master/setup.sh)"
Enter fullscreen mode Exit fullscreen mode

Want to know what "curl -fsSL" stands for? Check out this link.

If you do not already have Xcode Command Line Tools installed, you will be prompted to install them after being prompted for sudo access.

Why ask for sudo access?

You'll need sudo access to do the initial Finder modifications, but it is not required to install Homebrew or associated packages.

If you're not comfortable allowing this script to prompt you for sudo access, feel free to copy/paste the commands you want out of this script into the Terminal as you see fit.

Mac OS X Modifications

All of the following are commands that you can enter directly into Terminal or let the script run for you.

Modify Finder Preferences

Show Library Folder in Finder

chflags nohidden ~/Library
Enter fullscreen mode Exit fullscreen mode

Show Hidden Files in Finder

defaults write com.apple.finder AppleShowAllFiles YES
Enter fullscreen mode Exit fullscreen mode

Show Path Bar in Finder

defaults write com.apple.finder ShowPathbar -bool true
Enter fullscreen mode Exit fullscreen mode

Show Status Bar in Finder

defaults write com.apple.finder ShowStatusBar -bool true
Enter fullscreen mode Exit fullscreen mode

Terminal Tools

All of the following are commands that you can enter directly into Terminal or let the script run for you.

Install the following terminal tools:

Homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Enter fullscreen mode Exit fullscreen mode

Update Brew

brew config
brew update
brew upgrade
Enter fullscreen mode Exit fullscreen mode

iTerm2

brew cask install iterm2
Enter fullscreen mode Exit fullscreen mode

oh-my-zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Enter fullscreen mode Exit fullscreen mode

Git

brew install git
Enter fullscreen mode Exit fullscreen mode

Powerline fonts

git clone https://github.com/powerline/fonts.git
cd fonts
sh -c ./install.sh
Enter fullscreen mode Exit fullscreen mode

Ruby

brew install ruby
echo "Adding the brew ruby path to shell config..."
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >>~/.bash_profile
Enter fullscreen mode Exit fullscreen mode

Nmap

brew install nmap
Enter fullscreen mode Exit fullscreen mode

Speedtest-cli

brew install speedtest_cli
Enter fullscreen mode Exit fullscreen mode

Additional Applications

All of the following are commands that you can enter directly into Terminal or let the script run for you.

Install the following applications:

Alfred

brew cask install --appdir="/Applications" alfred
Enter fullscreen mode Exit fullscreen mode

Visual Studio Code

brew cask install --appdir="/Applications" visual-studio-code
Enter fullscreen mode Exit fullscreen mode

Firefox

brew cask install --appdir="/Applications" firefox
Enter fullscreen mode Exit fullscreen mode

Slack

brew cask install --appdir="/Applications" slack
Enter fullscreen mode Exit fullscreen mode

1Password

brew cask install --appdir="/Applications" 1password
Enter fullscreen mode Exit fullscreen mode

Caffeine (Keeps your screen on)

brew cask install --appdir="/Applications" caffeine
Enter fullscreen mode Exit fullscreen mode

Clean Up

Run the brew cleanup script and remove old or unneeded casks

brew cleanup
Enter fullscreen mode Exit fullscreen mode

Post Script Actions

I have not yet figured out to automate the post script actions for some of these installations, so there are a few more steps to manually complete.

Enable Any Oh My Zsh Plugins

Oh My Zsh comes with a ton of plugins you can take advantage of. Here is the wiki page.

Open your ~/.zshrc file via Terminal

open ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

Find and edit the plugins section to add the ones you want

# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git brew ruby osx)
Enter fullscreen mode Exit fullscreen mode

Set the Oh My Zsh Theme

Open your ~/.zshrc file via Terminal

open ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

Modify the theme. You can find a list of the themes here. I personally like the agnoster theme.

ZSH_THEME="agnoster"
Enter fullscreen mode Exit fullscreen mode

Make sure to save and close the file after editing. You may have quit and reopen iTerm2 for the theme to take effect.

To make the Agnoster theme look the way it does on the wiki page you have to go to:

  • Open iTerm2
  • Select Preferences
  • Click Profile
  • Click Colors
  • Change "Color Presets" to "Solarized Dark"
  • While still in the same window as above, click "Text"
  • Click on the dropdown under Font and select any font with "Powerline" in it. I chose "Meslo LG DZ for Powerline"

The End

That's all I have folks. I appreciate any feedback and suggestions on how to make this better!

Top comments (0)