Skip to content

Instantly share code, notes, and snippets.

@raasss
Created April 2, 2018 07:41
Show Gist options
  • Save raasss/a0c34e3866baca2144bfe536efe9dfe5 to your computer and use it in GitHub Desktop.
Save raasss/a0c34e3866baca2144bfe536efe9dfe5 to your computer and use it in GitHub Desktop.
macinstall
#!/usr/bin/env bash
set -x
set -e
TEMPDIR="$(mktemp -d /tmp/vagrant-hostmanager.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX)"
trap 'rm -rvf $TEMPDIR' EXIT
defaults write com.apple.finder AppleShowAllFiles YES
defaults write com.apple.dock tilesize -int 32
killall Dock
set +e
xcode-select --install
set -e
if ! which brew; then
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
brew analytics off
brew analytics state
brew update
brew upgrade
brew cask upgrade
brew install \
vim pkg-config ffmpeg git nmap telnet python python@2 mysql postgresql \
azure-cli doctl bash-completion gpg letsencrypt watch dos2unix arping \
wakeonlan mc
# # export PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
# if ! echo $PATH | grep '/usr/local/opt/python@2/libexec/bin'; then
# export PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
# fi
#pip2 install --upgrade pip setuptools
/usr/local/opt/python@2/bin/pip install --upgrade pip setuptools
pip3 install --upgrade pip setuptools wheel
# Ansible
/usr/local/opt/python@2/bin/pip install --user --upgrade ansible ansible-lint passlib
# Bitbucket
/usr/local/opt/python@2/bin/pip install --user --upgrade bitbucket-cli
# AWS
pip3 install --user --upgrade awscli boto3
# Some other tools
pip3 install --user --upgrade youtube-dl
brew cask install google-chrome enpass atom virtualbox \
android-file-transfer dropbox firefox freefilesync keka libreoffice \
mysqlworkbench pycharm-ce transmission tunnelblick viber vlc vnc-viewer \
slack teamviewer spectacle github sourcetree filezilla thunderbird
#brew cask install java8
#brew cask install skype
set +e
brew install go --cross-compile-common
brew upgrade go --cross-compile-common
set -e
brew cask install vagrant
brew install vagrant-completion
vagrant plugin install vagrant-hostmanager
# VAGRANT_PASSWORDLESS_SUDO="Cmnd_Alias VAGRANT_HOSTMANAGER_UPDATE = /bin/cp ${HOME}/.vagrant.d/tmp/hosts.local /etc/hosts
# %admin ALL=(root) NOPASSWD: VAGRANT_HOSTMANAGER_UPDATE
# "
# VAGRANT_PASSWORDLESS_SUDO_CURRENT=""
# if [ -f /etc/sudoers.d/vagrant-hostmanager ]; then
# VAGRANT_PASSWORDLESS_SUDO_CURRENT="$(cat /etc/sudoers.d/vagrant-hostmanager)"
# fi
# echo VAGRANT_PASSWORDLESS_SUDO = $VAGRANT_PASSWORDLESS_SUDO
# echo VAGRANT_PASSWORDLESS_SUDO_CURRENT = $VAGRANT_PASSWORDLESS_SUDO_CURRENT
# if [ ! "$VAGRANT_PASSWORDLESS_SUDO" == "$VAGRANT_PASSWORDLESS_SUDO_CURRENT" ]; then
# echo "$VAGRANT_PASSWORDLESS_SUDO" | sudo tee /etc/sudoers.d/vagrant-hostmanager
# fi
echo <<EOF > "$TEMPDIR/vagrant-hostmanager"
Cmnd_Alias VAGRANT_HOSTMANAGER_UPDATE = /bin/cp ${HOME}/.vagrant.d/tmp/hosts.local /etc/hosts
%admin ALL=(root) NOPASSWD: VAGRANT_HOSTMANAGER_UPDATE
EOF
if ! diff "$TEMPDIR/vagrant-hostmanager" "/etc/sudoers.d/vagrant-hostmanager"; then
if [ ! -d "/etc/sudoers.d" ]; then
sudo mkdir "/etc/sudoers.d"
fi
cat "$TEMPDIR/vagrant-hostmanager" | sudo tee "/etc/sudoers.d/vagrant-hostmanager"
fi
#vagrant box add ubuntu/trusty64 --provider virtualbox
#vagrant box add ubuntu/xenial64 --provider virtualbox
#vagrant box add centos/6 --provider virtualbox
#vagrant box add centos/7 --provider virtualbox
#vagrant box add debian/jessie64 --provider virtualbox
#vagrant box add debian/stretch64 --provider virtualbox
brew cask install docker minikube
brew install docker-machine-driver-xhyve kubectl
#docker pull mysql/mysql-server:5.5
#docker pull mysql/mysql-server:5.6
#docker pull mysql/mysql-server:5.7
# ntfs support
#brew cask install osxfuse
#brew install ntfs-3g sshfs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment