-
-
Save NedyUdombat/77042842e4509c55df0035a4244f6b2d to your computer and use it in GitHub Desktop.
Mac Setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -euo pipefail | |
# Display message 'Setting up your Mac...' | |
echo "Setting up your Mac..." | |
sudo -v | |
# Homebrew - Installation | |
echo "Installing Homebrew" | |
if test ! $(which brew); then | |
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | |
fi | |
# Install Homebrew Packages | |
cd ~ | |
echo "Installing Homebrew packages" | |
homebrew_packages=( | |
"git" | |
"php" | |
"node" | |
"yarn" | |
"zsh" | |
"zsh-completions" | |
"zsh-autosuggestions" | |
"zsh-syntax-highlighting" | |
) | |
for homebrew_package in "${homebrew_packages[@]}"; do | |
brew install "$homebrew_package" | |
done | |
# Install Casks | |
echo "Installing Homebrew cask packages" | |
homebrew_cask_packages=( | |
"adobe-creative-cloud" | |
"brave-browser" | |
"google-chrome" | |
"firefox" | |
"iterm2" | |
"katana" | |
"notion" | |
"postman" | |
"screenflow" | |
"slack" | |
"spectacle" | |
"spotify" | |
"sequel-pro" | |
"vagrant" | |
"virtualbox" | |
"visual-studio-code" | |
) | |
for homebrew_cask_package in "${homebrew_cask_packages[@]}"; do | |
brew cask install "$homebrew_cask_package" | |
done | |
# configure git | |
git config --global user.name "Chris on Code" | |
git config --global user.email "[email protected]" | |
# Install Composer | |
echo "Installing Composer" | |
curl -sS https://getcomposer.org/installer | php | |
mv composer.phar /usr/local/bin/composer | |
# Create projects directory called batcave | |
echo "Creating a Batcave directory" | |
mkdir -p $HOME/documents/batcave | |
# Generate SSH key | |
echo "Generating SSH keys" | |
ssh-keygen -t rsa | |
echo "Copied SSH key to clipboard - You can now add it to Github" | |
pbcopy < ~/.ssh/id_rsa.pub | |
# zsh and oh-my-zsh | |
echo "Adding ZSH" | |
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" | |
git clone https://github.com/agkozak/zsh-z $ZSH_CUSTOM/plugins/zsh-z | |
# zsh configuration | |
touch ~/.my-zshrc | |
# aliases | |
echo "alias list='ls --group-directories-first'" >> ~/.my-zshrc | |
echo "alias push='git push'" >> ~/.my-zshrc | |
echo "alias pull='git pull'" >> ~/.my-zshrc | |
echo "alias add='git add -A'" >> ~/.my-zshrc | |
echo "alias commit='git commit -m'" >> ~/.my-zshrc | |
echo "alias status='git status'" >> ~/.my-zshrc | |
echo "alias checkout='git checkout'" >> ~/.my-zshrc | |
echo "alias merge='git merge'" >> ~/.my-zshrc | |
echo "alias clean='git clean -f -d'" >> ~/.my-zshrc | |
echo "alias reset='git reset --hard'" >> ~/.my-zshrc | |
echo "alias nope='git reset --hard'" >> ~/.my-zshrc | |
echo "alias halt='vagrant halt'" >> ~/.my-zshrc | |
echo "alias destroy='vagrant destroy --force'" >> ~/.my-zshrc | |
echo "alias up='vagrant up'" >> ~/.my-zshrc | |
echo "alias suspend='vagrant suspend'" >> ~/.my-zshrc | |
echo "alias global='vagrant global-status'" >> ~/.my-zshrc | |
echo "alias vssh='vagrant ssh'" >> ~/.my-zshrc | |
echo "" >> ~/.my-zshrc | |
# zsh plugins | |
echo "plugins=(git zsh-completions zsh-z)" >> ~/.my-zshrc | |
echo "source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ~/.my-zshrc | |
echo "source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.my-zshrc | |
# add our zshrc config to the main zshrc config | |
echo ". ~/.my-zshrc" >> "$HOME/.zshrc" | |
# finally changing default shell to zsh | |
chsh -s /bin/zsh | |
# Complete | |
echo "Installation Complete" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment