Created
June 16, 2015 17:26
-
-
Save lynxman/91548f1c7304e86e638d to your computer and use it in GitHub Desktop.
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
BREW_PACKAGES="caskroom/cask/brew-cask python bazaar ruby cowsay htop-osx iftop links mercurial nmap par2 pstree qemu git subversion tmux unrar wget ngrep netcat mtr mkvtoolnix ffmpeg x264 swig zeromq ansible saltstack encfs packer ec2-ami-tools ec2-api-tools s3cmd pssh mpssh ctags boot2docker docker readline ttytter youtube-dl maven maven-shell nzbget p7zip pigz fswatch watch gcutil phantomjs highlight scala go irssi node etcdctl multitail gist hub http://download.panamax.io/installer/brew/panamax.rb gnupg keybase" | |
CASK_PACKAGES="vagrant virtualbox sublercli java silverlight flash macvim handbrake istumbler lyx openoffice wireshark xquartz osxfuse vlc" | |
PIP_PACKAGES="ipython httpie cfupload virtualenvwrapper pylint arrow boto" | |
GEM_PACKAGES="psych puppet facter chef ohai capistrano rumm puppet-lint foodcritic test-kitchen rspec rubocop irbtools chefspec serverspec kitchen-vagrant bundle berkshelf librarian librarian-chef librarian-puppet cucumber-puppet cucumber-chef puppetlabs_spec_helper chef-metal knife-openstack rspec-puppet gherkin cucumber gem-man templater hiera CFPropertyList beaker beaker-rspec hiera-eyaml" | |
GOPKGS="github.com/nsf/gocode github.com/nsf/gocode golang.org/x/tools/cmd/goimports github.com/rogpeppe/godef golang.org/x/tools/cmd/oracle golang.org/x/tools/cmd/gorename github.com/golang/lint/golint github.com/kisielk/errcheck github.com/jstemmer/gotags" | |
EXT_CODES="" |
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
#!/usr/bin/env bash | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Updating home repository\033[0;00m" | |
hg pull ; hg up | |
# Load package names | |
source ~/scripts/packages | |
# Vim repository | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Updating vim repository\033[0;00m" | |
pushd ~/.vim | |
git pull | |
popd | |
# Brew packages first | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Updating Homebrew\033[0;00m" | |
brew update | |
brew upgrade --all | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Installing any missing Homebrew packages\033[0;00m" | |
for BREW_PACKAGE in $BREW_PACKAGES | |
do | |
if [ $(brew list | grep -iw ^$(echo $BREW_PACKAGE | sed 's/.rb//' | awk -F"/" '{print $NF}')$ | wc -l | sed 's/^ *//') = "0" ] | |
then | |
brew install $BREW_PACKAGE | |
fi | |
done | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Updating Homebrew Cask\033[0;00m" | |
brew cask update | |
~/scripts/caskupgrade.rb | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Installing any missing Homebrew Cask packages\033[0;00m" | |
for CASK_PACKAGE in $CASK_PACKAGES | |
do | |
if [ $(brew cask list | grep -iw ^$(echo $CASK_PACKAGE | sed 's/.rb//' | awk -F"/" '{print $NF}')$ | wc -l | sed 's/^ *//') = "0" ] | |
then | |
brew cask install $CASK_PACKAGE | |
fi | |
done | |
# Clean brew | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Cleaning Homebrew\033[0;00m" | |
brew cleanup && brew cask cleanup | |
# Pip packages | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Updating Pip Packages\033[0;00m" | |
for PIP_PACKAGE in $PIP_PACKAGES | |
do | |
pip install --upgrade $PIP_PACKAGE | |
done | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Installing any missing Pip packages\033[0;00m" | |
for PIP_PACKAGE in $PIP_PACKAGES | |
do | |
if [ $(pip list | grep -iw ^$(echo $PIP_PACKAGE | sed 's/.git$//' | awk -F"/" '{print $NF}') | wc -l) = "0" ] | |
then | |
pip install $PIP_PACKAGE | |
fi | |
done | |
# Gem packages | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Updating Gem Packages\033[0;00m" | |
if [ $(gem list | grep rubygems-update | wc -l) = "0" ] | |
then | |
gem install rubygems-update | |
fi | |
gem update --system | |
gem update | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Installing any missing Gem packages\033[0;00m" | |
for GEM_PACKAGE_RAW in $GEM_PACKAGES | |
do | |
unset GEM_VERSION | |
GEM_PACKAGE=`echo $GEM_PACKAGE_RAW | awk -F":" '{print $1}'` | |
GEM_VERSION=`echo $GEM_PACKAGE_RAW | awk -F":" '{print $2}'` | |
if [ -z $GEM_VERSION ] | |
then | |
GEM_APPEND="" | |
else | |
GEM_APPEND="-v $GEM_VERSION" | |
fi | |
if [ $(gem list | grep -iw $GEM_PACKAGE | wc -l) = "0" ] | |
then | |
gem install $GEM_PACKAGE $GEM_APPEND | |
fi | |
done | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Cleaning up old Gem packages\033[0;00m" | |
for GEM_PACKAGE_CLEANUP in $(gem list | awk '{print $1}') | |
do | |
unset GEM_VERSION | |
gem cleanup -q $GEM_PACKAGE_CLEANUP | |
done | |
# External Code | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Installing any missing Go packages\033[0;00m" | |
for GOPKG in $GOPKGS | |
do | |
go get $GOPKG | |
done | |
# External Code | |
echo -e "\033[38;5;208m>>>>>>>> `date` - Installing any missing external repos\033[0;00m" | |
for EXT_CODE in $EXT_CODES | |
do | |
EXTCODEREPO=`echo $EXT_CODE | awk -F"|" '{print $1}'` | |
EXTCODEDIR=`echo $EXT_CODE | awk -F"|" '{print $2}'` | |
if [ ! -d "${HOME}/${EXTCODEDIR}" ] | |
then | |
git clone $EXTCODEREPO ${HOME}/${EXTCODEDIR} | |
else | |
pushd ${HOME}/${EXTCODEDIR} | |
git pull | |
popd | |
fi | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment