Skip to content

Instantly share code, notes, and snippets.

@Neener54
Last active February 12, 2021 18:40
Show Gist options
  • Save Neener54/bdc843b6660c01db002d5f66e944bda8 to your computer and use it in GitHub Desktop.
Save Neener54/bdc843b6660c01db002d5f66e944bda8 to your computer and use it in GitHub Desktop.
Computer Provisioning
#!/usr/bin/env bash
# Install some stuff before others!
important_casks=(
authy
dropbox
google-chrome
spotify
slack
zoomus
)
casks=(
firefox
macdown
sequelpro
)
######################################## End of app list ########################################
set +e
set -x
function install {
cmd=$1
shift
for pkg in "$@";
do
exec="$cmd $pkg"
#prompt "Execute: $exec"
if ${exec} ; then
echo "Installed $pkg"
else
echo "Failed to execute: $exec"
if [[ ! -z "${CI}" ]]; then
exit 1
fi
fi
done
}
function brew_install_or_upgrade {
if brew ls --versions "$1" >/dev/null; then
if (brew outdated | grep "$1" > /dev/null); then
echo "Upgrading already installed package $1 ..."
brew upgrade "$1"
else
echo "Latest $1 is already installed"
fi
else
brew install "$1"
fi
}
if [[ -z "${CI}" ]]; then
sudo -v # Ask for the administrator password upfront
# Keep-alive: update existing `sudo` time stamp until script has finished
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
fi
if test ! "$(command -v brew)"; then
prompt "Install Homebrew"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
else
if [[ -z "${CI}" ]]; then
prompt "Update Homebrew"
brew update
brew upgrade
brew doctor
fi
fi
export HOMEBREW_NO_AUTO_UPDATE=1
echo "Install important software ..."
brew tap homebrew/cask-versions
install 'brew install --cask ' "${important_casks[@]}"
prompt "Install packages"
install 'brew_install_or_upgrade' "${brews[@]}"
prompt "Install software"
install 'brew install --cask ' "${casks[@]}"
prompt "Update packages"
prompt "Cleanup"
brew cleanup
echo "Run [mackup restore] after DropBox has done syncing ..."
echo "Done!"
#"Check for software updates daily, not just once per week"
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1
#"Setting trackpad & mouse speed to a reasonable number"
defaults write -g com.apple.trackpad.scaling 2
defaults write -g com.apple.mouse.scaling 2.5
@Neener54
Copy link
Author

Neener54 commented Feb 12, 2021

/bin/bash -c "$(curl -fsSL https://gist.githubusercontent.com/Neener54/bdc843b6660c01db002d5f66e944bda8/raw/c459da6c4d45cab85396371a1fd7f217594f502d/setup.sh)"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment