Skip to content

Instantly share code, notes, and snippets.

@sam452
Last active March 18, 2016 14:12
Show Gist options
  • Save sam452/6130272 to your computer and use it in GitHub Desktop.
Save sam452/6130272 to your computer and use it in GitHub Desktop.
@jfelchner migration for Mac
#!/bin/bash
###
# Helper function for asking the user a question:
#
function ask {
while true; do
if [ "$2" == "Y" ]; then
prompt="Y/n"
default=Y
elif [ "$2" == "N" ]; then
prompt="y/N"
default=N
else
prompt="y/n"
default=
fi
echo -n "$1 [$prompt] "
read yn
if [ -z "$yn" ]; then
yn=$default
fi
case $yn in
[Yy]*) return 0 ;;
[Nn]*) return 1 ;;
esac
done
}
clear
SETUP_LOG_FILE=~/Downloads/system_install.log
touch $SETUP_LOG_FILE
SETUP_PREFERRED_WIRELESS_NETWORK_NAME="Mount Olympus' Peak"
if ask "Would you like to process an existing backup image?" N; then
SETUP_BACKUP_ENABLED='yes'
SETUP_BACKUP_USERNAME="jfelchner"
SETUP_BACKUP_SHARE_USERNAME="jfelchner"
if [ -z "$SETUP_BACKUP_SHARE_PASSWORD" ]; then
echo -n "Enter the password for the backup network share: "
stty -echo ; read SETUP_BACKUP_SHARE_PASSWORD ; stty echo
fi
if [ -z "$SETUP_BACKUP_IMAGE_PASSWORD" ]; then
echo -n "Enter the password for the Time Machine backup image: "
stty -echo ; read SETUP_BACKUP_IMAGE_PASSWORD ; stty echo
fi
SETUP_BACKUP_MOUNT_PATH="/Volumes/Backup"
SETUP_BACKUP_SHARE_MOUNT_PARAMS="-t afp afp://$SETUP_BACKUP_SHARE_USERNAME:$SETUP_BACKUP_SHARE_PASSWORD@172.16.100.10/time_machine"
SETUP_BACKUP_IMAGE_PATH="$SETUP_BACKUP_MOUNT_PATH Share/poseidon.sparsebundle"
SETUP_BACKUP_PATH="$SETUP_BACKUP_MOUNT_PATH Image/Backups.backupdb/poseidon/Latest/poseidon"
SETUP_BACKUP_HOME_PATH="$SETUP_BACKUP_MOUNT_PATH/Users/$SETUP_BACKUP_USERNAME"
fi
clear
echo "******************************************************"
echo "** Prerun Summary **"
echo "******************************************************"
echo ""
echo "Logging..."
echo ""
echo " Logging to $SETUP_LOG_FILE. Start your tail now in another tab if you're interested:"
echo " tail -f $SETUP_LOG_FILE"
echo ""
echo "Network..."
echo ""
echo " If no internet connection is found I will attempt to connect via Wifi to $SETUP_PREFERRED_WIRELESS_NETWORK_NAME."
echo ""
echo "Backup..."
echo ""
if [[ -n $SETUP_BACKUP_ENABLED ]]; then
echo " You have chosen to process a backup image."
echo ""
echo " The backup image at $SETUP_BACKUP_PATH will be used"
echo " Your backup share will be located at $SETUP_BACKUP_MOUNT_PATH"
else
echo " You have chosen NOT to process a backup image."
fi
echo ""
read -p "When finished, press any key to continue..."
cd ~
clear
echo "******************************************************"
echo "** System Install Requires Sudo Access **"
echo "******************************************************"
echo ""
sudo -v
echo ""
echo "Executing sudo keep-alive to prevent it from timing out..."
echo ""
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
echo "******************************************************"
echo "** Internet Connection **"
echo "******************************************************"
echo ""
ping -c 1 -t 3 www.google.com >> $SETUP_LOG_FILE 2>&1
if [[ $? -ne 0 ]]; then
if [[ -n $SETUP_PREFERRED_WIRELESS_NETWORK_NAME ]]; then
echo "Attempting to connect to your preferred wireless network..."
echo ""
if [ -z "$SETUP_PREFERRED_WIRELESS_NETWORK_PASSWORD" ]; then
echo -n "Enter the password for your preferred wireless network ($SETUP_PREFERRED_WIRELESS_NETWORK_NAME): "
stty -echo ; read SETUP_PREFERRED_WIRELESS_NETWORK_PASSWORD ; stty echo
fi
hardware_port=`networksetup -listallhardwareports | grep -A 1 "Wi-Fi" | grep Device | cut -c 9-12`
networksetup -setairportpower $hardware_port on >> $SETUP_LOG_FILE 2>&1
networksetup -setairportnetwork $hardware_port "$SETUP_PREFERRED_WIRELESS_NETWORK_NAME" "$SETUP_PREFERRED_WIRELESS_NETWORK_PASSWORD" >> $SETUP_LOG_FILE 2>&1
else
echo "Your preferred wireless network information was not set."
echo "We are not going to attempt to connect you automatically."
echo ""
read -p "Press any key when you've connected successfully..."
fi
else
echo "You are currently connected to the internet. Yay!"
fi
echo ""
echo "******************************************************"
echo "** System Update **"
echo "******************************************************"
echo ""
if [[ ! -f ~/.setup_software_update_complete ]]; then
echo "Checking for software updates; some of which may require you to restart."
echo ""
echo "If that is the case, please do so and rerun this script until no more updates are available."
echo ""
sudo softwareupdate --install --all
touch ~/.setup_software_update_complete
else
echo "Software update has already been run. You know THAT'S right!"
fi
echo ""
echo "******************************************************"
echo "** iCloud **"
echo "******************************************************"
echo ""
defaults read MobileMeAccounts | grep 'LoggedIn = 1' >> $SETUP_LOG_FILE 2>&1
if [[ $? -eq 1 ]]; then
echo "Make sure that iCloud is enabled in both preferences and the Mac App Store."
echo ""
read -p "When finished, press any key to continue..."
else
echo "It appears iCloud is enabled. Booyah!"
fi
echo ""
echo "******************************************************"
echo "** Install XCode **"
echo "******************************************************"
echo ""
if [[ ! -d /Applications/XCode.app ]]; then
echo "Open the Mac App Store and install XCode"
echo ""
echo "Once that's complete, open XCode and install the Command Line Tools"
echo ""
read -p "When finished, press any key to continue..."
else
echo 'XCode appears to already be installed! Yippie-Kai-Aye Mother-&^*@$!!!!!'
fi
echo ""
echo "******************************************************"
echo "** Enable FileVault **"
echo "******************************************************"
echo ""
sudo fdesetup status | grep -E '(FileVault is On)|(Encryption in progress)' >> $SETUP_LOG_FILE 2>&1
if [[ $? -eq 1 ]]; then
echo "FileVault is currently NOT enabled."
echo ""
echo "Enabling FileVault..."
echo ""
echo "Follow the prompts and DON'T FORGET TO STORE THE RECOVERY KEY SOMEPLACE SAFE!"
echo ""
sudo fdesetup enable
read -p "When finished, restart your system and rerun this script..."
else
echo "FileVault is currently enabled. :)"
fi
echo ""
echo "******************************************************"
echo "** Install Little Snitch **"
echo "******************************************************"
echo ""
if [[ ! -d /Applications/Little\ Snitch\ Configuration.app ]]; then
echo ""
echo "*******************************************************************"
echo "* WARNING: This is going to require you to restart your computer. *"
echo "* When you restart, rerun this script. *"
echo "*******************************************************************"
curl --location --output littlesnitch.dmg http://www.obdev.at/downloads/LittleSnitch/LittleSnitch-3.1.1.dmg
hdiutil mount -mountpoint /Volumes/Little\ Snitch littlesnitch.dmg
open /Volumes/Little\ Snitch/Little\ Snitch\ Installer.app&
read -p "Press any key when finished..."
else
echo "Little Snitch appears to already be installed. Sah-weeeeet!"
fi
rm ~/littlesnitch.dmg &> /dev/null
echo ""
echo "******************************************************"
echo "** Backup Image **"
echo "******************************************************"
echo ""
if [[ -n $SETUP_BACKUP_ENABLED ]]; then
if [[ ! -d "$SETUP_BACKUP_MOUNT_PATH/Library" ]]; then
if [[ -n $SETUP_BACKUP_SHARE_MOUNT_PARAMS ]]; then
echo "Mounting Backup Share..."
mkdir "$SETUP_BACKUP_MOUNT_PATH Share" >> $SETUP_LOG_FILE 2>&1
echo mount $SETUP_BACKUP_SHARE_MOUNT_PARAMS \"$SETUP_BACKUP_MOUNT_PATH Share\" >> $SETUP_LOG_FILE 2>&1
mount $SETUP_BACKUP_SHARE_MOUNT_PARAMS "$SETUP_BACKUP_MOUNT_PATH Share" >> $SETUP_LOG_FILE 2>&1
fi
if [[ -n $SETUP_BACKUP_IMAGE_PATH ]]; then
echo "Mounting Backup Image..."
mkdir "$SETUP_BACKUP_MOUNT_PATH Image" >> $SETUP_LOG_FILE 2>&1
echo hdiutil attach -passphrase $SETUP_BACKUP_IMAGE_PASSWORD -readonly -mountpoint \"$SETUP_BACKUP_MOUNT_PATH Image\" \"$SETUP_BACKUP_IMAGE_PATH\" >> $SETUP_LOG_FILE 2>&1
hdiutil attach -passphrase $SETUP_BACKUP_IMAGE_PASSWORD -readonly -mountpoint "$SETUP_BACKUP_MOUNT_PATH Image" "$SETUP_BACKUP_IMAGE_PATH" >> $SETUP_LOG_FILE 2>&1
fi
echo "Linking Backup Directory..."
echo ln -s \"$SETUP_BACKUP_PATH\" \"$SETUP_BACKUP_MOUNT_PATH\" >> $SETUP_LOG_FILE 2>&1
ln -s "$SETUP_BACKUP_PATH" "$SETUP_BACKUP_MOUNT_PATH" >> $SETUP_LOG_FILE 2>&1
if [[ ! -d "$SETUP_BACKUP_MOUNT_PATH/Library" ]]; then
echo "Could not find directory at \"$SETUP_BACKUP_MOUNT_PATH/Library\""
echo "Backup did not mount properly... Exiting..."
exit
fi
else
echo "Backup Image appears to already be mounted... Ka-POW!"
fi
fi
if [[ -n $SETUP_BACKUP_ENABLED ]]; then
echo ""
echo "******************************************************"
echo "** Copy Existing Backup Files - Phase 1 **"
echo "** **"
echo "** Working and Secure Files **"
echo "******************************************************"
echo ""
if [[ ! -f ~/.setup_backup_files_phase_1_complete ]]; then
echo ""
echo "Copying Files... (Detailed log is located at $SETUP_LOG_FILE)"
echo ""
sudo rm -rf ~/Music
mkdir ~/Music
cp -RXfv "$SETUP_BACKUP_HOME_PATH/.fasd" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/.gitconfig" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/.pagekite.rc" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/.vagrant.d" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Books" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Chirrpy" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Desktop" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Documents" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Downloads" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Dropbox" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Library/Fonts" ~/Library/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Movies" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Music" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Pictures" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Repo" ~/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Virtual Machines*" ~/ >> $SETUP_LOG_FILE
echo "Copying over Keychain..."
cp -RXfv "$SETUP_BACKUP_HOME_PATH/Library/Keychains/login.keychain" ~/Library/Keychains/ >> $SETUP_LOG_FILE
if [[ ! -h ~/.ssh ]]; then
echo "Linking up SSH directory..."
ln -s ~/Repo/ssh ~/.ssh >> $SETUP_LOG_FILE 2>&1
echo "Ensuring proper permissions on all SSH files..."
find ~/Repo/ssh/ -type f -exec chmod 600 {} \;
find ~/Repo/ssh/ -type f -name '*.pub' -exec chmod 644 {} \;
echo ""
fi
touch ~/.setup_backup_files_phase_1_complete
else
echo ""
echo "Backup files have already been copied. Hey-ooooh!"
echo ""
fi
fi
echo "******************************************************"
echo "** Install Boxen **"
echo "******************************************************"
echo ""
if [[ ! -d /opt/boxen/repo ]]; then
sudo mkdir -p /opt/boxen
sudo chown `whoami`:staff /opt/boxen
git clone git@github.com:thekompanee/boxen.git /opt/boxen/repo
else
echo "Boxen is already installed. Who dat!?"
fi
export PATH=/opt/boxen/homebrew/bin:/opt/boxen/homebrew/sbin:$PATH
echo ""
echo "******************************************************"
echo "** Run Boxen **"
echo "******************************************************"
echo ""
cd /opt/boxen/repo
./script/boxen
###
# Boxen completes successfully but returns an error for unknown reasons.
#
# if [[ $? -ne 0 || $? -ne 2 ]]; then
# echo "Boxen did not complete successfully... Exiting..."
# exit
# fi
echo ""
echo "******************************************************"
echo "** Install Adobe Creative Cloud **"
echo "******************************************************"
echo ""
if [[ ! -h "/Applications/Adobe Application Manager" ]]; then
curl --location --output adobe.dmg http://ccmdl.adobe.com/AdobeProducts/AAM/1/osx10/AdobeApplicationManager.dmg
hdiutil mount -mountpoint /Volumes/AdobeCS adobe.dmg
open /Volumes/AdobeCS/AdobeApplicationManager.app&
read -p "Press any key to continue..."
hdiutil unmount -force /Volumes/AdobeCS
rm ~/adobe.dmg &> /dev/null
else
echo "The Adobe Application Manager is IN DA HOUSE!"
fi
echo ""
echo "******************************************************"
echo "** Install App Store Apps **"
echo "******************************************************"
echo ""
open "/Applications/App Store.app"&
read -p "Press any key to continue..."
if [[ -n $SETUP_BACKUP_ENABLED ]]; then
echo ""
echo "******************************************************"
echo "** Copy Existing Backup Files - Phase 2 **"
echo "** **"
echo "** Application Preferences **"
echo "******************************************************"
echo ""
if [[ ! -f ~/.setup_backup_files_phase_2_complete ]]; then
cp -RXfv "$SETUP_BACKUP_HOME_PATH/.shell/tmp" ~/.shell/ >> $SETUP_LOG_FILE
echo "Copying application cache files..."
echo ""
SETUP_BACKUP_CACHE_DIR="$SETUP_BACKUP_HOME_PATH/Library/Caches"
cp -RXfv "$SETUP_BACKUP_CACHE_DIR/com.evernote.Evernote" ~/Library/Caches/ >> $SETUP_LOG_FILE
echo "Copying application support files..."
echo ""
SETUP_BACKUP_APP_SUPPORT_DIR="$SETUP_BACKUP_HOME_PATH/Library/Application Support"
cp -RXfv "$SETUP_BACKUP_APP_SUPPORT_DIR/Adium 2.0" ~/Library/Application\ Support/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_APP_SUPPORT_DIR/LaunchBar" ~/Library/Application\ Support/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_APP_SUPPORT_DIR/Little Snitch" ~/Library/Application\ Support/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_APP_SUPPORT_DIR/Plex" ~/Library/Application\ Support/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_APP_SUPPORT_DIR/SizeUp" ~/Library/Application\ Support/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_APP_SUPPORT_DIR/Skype" ~/Library/Application\ Support/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_APP_SUPPORT_DIR/Sparrow" ~/Library/Application\ Support/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_APP_SUPPORT_DIR/Transmit" ~/Library/Application\ Support/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_APP_SUPPORT_DIR/Viscosity" ~/Library/Application\ Support/ >> $SETUP_LOG_FILE
echo "Copying preference files..."
echo ""
SETUP_BACKUP_PREFERENCES_DIR="$SETUP_BACKUP_HOME_PATH/Library/Preferences"
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/Railsware.PivotalBooster.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/at.obdev.LaunchBar.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/at.obdev.LittleSnitchConfiguration.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/at.obdev.LittleSnitchNetworkMonitor.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/at.obdev.LittleSnitchSoftwareUpdate.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.adiumX.adiumX.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.araxis.merge.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.codeux.textual.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.evernote.Evernote.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.google.GoogleDrive.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.googlecode.iterm2.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.haystacksoftware.Arq.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.irradiatedsoftware.SizeUp.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.manytricks.NameMangler.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.panic.Transmit.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.pratikkumar.airserver-mac.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.rdio.desktop.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.skype.skype.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.sparrowmailapp.sparrowappcast.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.tsst.simplecomic.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.viscosityvpn.Viscosity.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.vmware.fusion.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.vmware.fusionStartMenu.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/com.wunderkinder.wunderlistdesktop.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/fr.handbrake.HandBrake.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/jp.co.pfu.ScanSnap.V10L10.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/net.conceited.Rubbernet.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/net.elasticthreads.nv.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/net.phere.GitX.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/org.herf.Flux.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/org.niltsh.MPlayerX.plist" ~/Library/Preferences/
cp -Xv "$SETUP_BACKUP_PREFERENCES_DIR/org.pqrs.KeyRemap4MacBook.plist" ~/Library/Preferences/
echo "Copying sandboxed application files..."
echo ""
SETUP_BACKUP_CONTAINERS_DIR="$SETUP_BACKUP_HOME_PATH/Library/Containers"
for sandboxed_app in {cx.c3.theunarchiver,com.reederapp.mac,com.mizage.shush,com.tapbots.TweetbotMac,com.readitlater.PocketMac} ; do
sandbox_preference_path="/$sandboxed_app/Data/Library/Preferences"
plist_path="$sandbox_preference_path/$sandboxed_app.plist"
local_containers_path="~/Library/Containers"
local_sandbox_preference_path=$local_containers_path$sandbox_preference_path
if [[ -f "$SETUP_BACKUP_CONTAINERS_DIR$plist_path" ]]; then
mkdir -p $local_sandbox_preference_path
cp -Xv "$SETUP_BACKUP_CONTAINERS_DIR$plist_path" $local_containers_path$plist_path
fi
done
else
echo ""
echo "Application preferences have already been copied. Heeeeeeee-YAH!"
echo ""
fi
echo ""
echo "******************************************************"
echo "** Copy Existing Backup Files - Phase 3 **"
echo "** **"
echo "** Other Applications **"
echo "******************************************************"
echo ""
echo "Copying other applications..."
echo ""
if [[ ! -f ~/.setup_backup_files_phase_3_complete ]]; then
cp -RXfv "$SETUP_BACKUP_PATH/Applications/Araxis Merge.app" /Applications/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_PATH/Applications/Name Mangler.app" /Applications/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_PATH/Applications/ScanSnap.app" /Applications/ >> $SETUP_LOG_FILE
cp -RXfv "$SETUP_BACKUP_PATH/Applications/AirPort Utility 5.6.app" /Applications/ >> $SETUP_LOG_FILE
echo "Backup File Copy Completed..."
else
echo ""
echo "Other applications have already been copied from backup. Sensuous!"
echo ""
fi
fi
echo ""
echo "******************************************************"
echo "** Manual Application Steps **"
echo "******************************************************"
echo ""
echo "Each application will open in turn allowing you to"
echo "check for updates and perform any necessary manual"
echo "configuration steps."
echo ""
for f in {/Applications/*.app,/usr/local/uc/bin/Undercover\ Registration.app,/System/Library/PreferencePanes/Keyboard.prefPane,/Applications/Adobe\ Photoshop\ CS6/Adobe\ Photoshop\ CS6.app} ; do
if [ -d "$f" ]; then
app_name=`basename "$f" .app`
echo "Opening $app_name ..."
case "$app_name" in
"Adobe Photoshop CS6")
echo " * Install custom keyboard shortcuts (in ~/Documents)"
echo " * Install custom shapes (on athena)"
;;
"Contacts")
echo " * Ensure Google Contact Sync is properly setup"
;;
"Dropbox")
echo " * Set the icon to black and white"
;;
"Firefox")
echo " * Start Firefox Sync"
;;
"GitX")
echo " * Install the shell extension"
;;
"Google Chrome")
echo " * Open Chrome and sign in"
;;
"Google Chrome Canary")
echo " * Open Chrome and sign in"
;;
"iTunes")
echo " * Initial Sync of iPhone"
;;
"Keyboard.prefPane")
echo " * Set Caps Lock to Control Key"
;;
"LaunchBar")
echo " * Remove running icon from Dock"
;;
"Undercover Registration")
echo " * Register"
;;
esac
open "$f"
echo ""
read -p "Press any key to continue..."
echo ""
fi
done
if [[ -n $SETUP_BACKUP_ENABLED ]]; then
echo "******************************************************"
echo "** Unmounting Backup Image **"
echo "******************************************************"
echo ""
echo "Removing Backup Directory..."
rm -f "$SETUP_BACKUP_MOUNT_PATH" >> $SETUP_LOG_FILE 2>&1
echo "Unmounting Backup Image..."
hdiutil unmount -force "$SETUP_BACKUP_MOUNT_PATH Image" >> $SETUP_LOG_FILE 2>&1
echo "Unmounting Backup Share..."
hdiutil unmount -force "$SETUP_BACKUP_MOUNT_PATH Share" >> $SETUP_LOG_FILE 2>&1
fi
echo ""
echo "******************************************************"
echo "** File Permission Verification **"
echo "******************************************************"
echo ""
echo "Removing all extended attributes in the home directory..."
sudo xattr -csrv ~/ >> $SETUP_LOG_FILE 2>&1
echo "Ensuring proper ownership of all files in the home directory..."
sudo chown -R `whoami`:staff ~/ >> $SETUP_LOG_FILE 2>&1
echo "Ensuring proper ownership of all files in the Applications directory..."
sudo chown -R root:wheel /Applications >> $SETUP_LOG_FILE 2>&1
echo "Ensuring proper permissions on all files in the home directory..."
sudo chmod -R go= ~/ >> $SETUP_LOG_FILE 2>&1
echo "Ensuring proper permissions on all system files..."
sudo diskutil repairPermissions /
echo ""
echo "******************************************************"
echo "** Installation Complete **"
echo "******************************************************"
echo ""
echo "Cleaning up..."
echo ""
rm -f ~/.setup_software_update_complete
rm -f ~/.setup_backup_files_phase_1_complete
rm -f ~/.setup_backup_files_phase_2_complete
rm -f ~/.setup_backup_files_phase_3_complete
echo ""
echo "Please Restart Now..."
echo ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment