Skip to content

Instantly share code, notes, and snippets.

@Streppel
Last active May 25, 2020 02:22
Show Gist options
  • Save Streppel/d2036a8d30e690a30a52fe5eaf3e9feb to your computer and use it in GitHub Desktop.
Save Streppel/d2036a8d30e690a30a52fe5eaf3e9feb to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
echo "Starting bootstrapping"
# Check for Homebrew, install if we don't have it
if test ! $(which brew); then
echo "Installing homebrew..."
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
# Install sdkman
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
# Javaaaa
sdk install java
# Update homebrew recipes
brew update
# Install GNU core utilities (those that come with OS X are outdated)
brew tap homebrew/dupes
brew install coreutils
brew install gnu-sed --with-default-names
brew install gnu-tar --with-default-names
brew install gnu-indent --with-default-names
brew install gnu-which --with-default-names
brew install gnu-grep --with-default-names
# Install GNU `find`, `locate`, `updatedb`, and `xargs`, g-prefixed
brew install findutils
PACKAGES=(
ack
autoconf
automake
docker
docker-machine
dust
ffmpeg
gettext
gifsicle
git
go
hub
htop
imagemagick
jq
libjpeg
libmemcached
lynx
k9s
markdown
memcached
npm
pkg-config
python
python3
pypy
rabbitmq
rename
terminal-notifier
the_silver_searcher
tmux
tree
vim
wget
zsh
)
echo "Installing packages..."
brew install ${PACKAGES[@]}
echo "Cleaning up..."
brew cleanup
echo "Installing cask..."
brew install caskroom/cask/brew-cask
CASKS=(
iterm2
itsycal
firefox
rectangle
vlc
gpgtools
vagrant
virtualbox
skype
slack
telegram
jetbrains-toolbox
visual-studio-code
)
echo "Installing cask apps..."
brew cask install ${CASKS[@]}
echo "Installing fonts..."
brew tap caskroom/fonts
FONTS=(
font-inconsolidata
font-roboto
font-clear-sans
)
brew cask install ${FONTS[@]}
echo "Installing Python packages..."
PYTHON_PACKAGES=(
ipython
virtualenv
virtualenvwrapper
)
sudo pip install ${PYTHON_PACKAGES[@]}
echo "Installing global npm packages..."
npm install marked -g
echo "Configuring zsh..."
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
sudo sh -c "echo $(which zsh) >> /etc/shells" && chsh -s $(which zsh)
echo "Configuring OSX..."
# Show filename extensions by default
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
# Increasing sound quality for Bluetooth headphones/headsets
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40
# Disabling the warning when changing a file extension
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
# Allowing text selection in Quick Look/Preview in Finder by default
defaults write com.apple.finder QLEnableTextSelection -bool true
# Enable tap-to-click
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
# Enabling the Develop menu and the Web Inspector in Safari
defaults write com.apple.Safari IncludeDevelopMenu -bool true
defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true
defaults write com.apple.Safari "com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled" -bool true
echo "Creating folder structure..."
[[ ! -d Workspace ]] && mkdir Workspace
echo "Bootstrapping complete"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment