dotfiles/bin/software-install.sh

133 lines
3 KiB
Bash
Executable file
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
function install_linux_software {
#-------------------------------
# Check the OS and set install command
#-------------------------------
if [ -x "$(which yum)" ]; then
INSTALLCMD="yum install -y"
elif [ -x "$(which apt-get)" ]; then
INSTALLCMD="apt-get install -y"
else
echo "Sorry, I don't know how to install software on this OS yet."
exit 1
fi
#-------------------------------
xargs sudo ${INSTALLCMD} <<-EOF
ack
archey
bash-completion
git
htop
mosh
nmap
p7zip
pv
ss
vim
EOF
}
function install_osx_software {
#-------------------------------
# Install Homebrew if missing
#-------------------------------
if [ ! -x /usr/local/bin/brew ]; then
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
#-------------------------------
#-------------------------------
# Update Brew formulae if older than 24 hours
#-------------------------------
find /usr/local/.git -name FETCH_HEAD -mtime +0 -exec brew update \;
#-------------------------------
#-------------------------------
# Install the basics
#-------------------------------
xargs brew install <<-EOF
ack
archey
bash-completion
git
coreutils
htop-osx
mosh
nmap
p7zip
pv
python3
rename
vim
EOF
#-------------------------------
#-------------------------------
# Install Casks
#-------------------------------
xargs brew cask install <<-EOF
1password
alfred
bbc-iplayer-downloads
beardedspice
bittorrent-sync
cleanmymac
day-o
dropbox
firefox
flux
gitx
gpgtools
google-chrome
google-drive
google-hangouts
handbrake
iterm2
sonos
textmate
vlc
vmware-fusion
wireshark
xquartz
yubikey-neo-manager
yubikey-personalization-gui
EOF
#-------------------------------
#-------------------------------
# Clean up
#-------------------------------
brew cleanup
brew cask cleanup
#-------------------------------
}
echo "#-------------------------------"
echo "# START: $(date)"
echo "#-------------------------------"
#-------------------------------
# Check for Mac OS X
#-------------------------------
if [ $(uname -s) == "Darwin" ]; then
install_osx_software
else
install_linux_software
fi
#-------------------------------
#-------------------------------
# Ensure Vim plugins are up-to-date
#-------------------------------
vim -T dumb +PluginInstall! +PluginClean! +qall 2>/dev/null |\
sed -E s/'\[[0-9]{1,2};[0-9]{1,2}[mKH]'//g
#-------------------------------
echo "#-------------------------------"
echo "# END: $(date)"
echo "#-------------------------------"
exit 0