diff --git a/clone_and_link_mac.sh b/clone_and_link_mac.sh index 488dc80..e7d026a 100755 --- a/clone_and_link_mac.sh +++ b/clone_and_link_mac.sh @@ -16,3 +16,4 @@ gln -Tsv $PWD/.config/alacritty $HOME/.config/alacritty gln -Tsv $PWD/zsh/.p10k.mac.zsh.example $PWD/zsh/.p10k.mac.zsh gln -Tsv $PWD/zsh/.mac_config.example $PWD/zsh/.mac_config gln -Tsv $PWD/zsh/.virtual_env_config.zsh_mac.example $PWD/zsh/.virtual_env_config.zsh +gln -Tsv $PWD/update_mac.sh $HOME/update_mac.sh diff --git a/update_mac.sh b/update_mac.sh new file mode 100755 index 0000000..dfbd169 --- /dev/null +++ b/update_mac.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +function set_permissions { + echo "----------" + echo "Disabling Quarantine for Casks ..." + echo "----------" + find /usr/local/Caskroom -name *.app -exec bash -c "xattr -d com.apple.quarantine {} 2> /dev/null" \; + find /usr/local/Caskroom -type f -perm +111 -exec bash -c "xattr -d com.apple.quarantine {} 2> /dev/null" \; + find /Applications/ -name *.app -exec bash -c 'xattr -d com.apple.quarantine "{}" 2> /dev/null' \; + find /Applications/ -type f -perm +111 -exec bash -c 'xattr -d com.apple.quarantine "{}" 2> /dev/null' \; +} + +function software_update { + echo "----------" + echo "Running software update" + echo "----------" + softwareupdate --all --install --force +} + +function update_brew { + echo "----------" + echo "Updating brew software" + echo "----------" + brew update + brew upgrade + echo "----------" + echo "Updating casks" + echo "----------" + brew upgrade --cask --greedy --verbose +} + +function cleanup { + echo "----------" + echo "Running cleanup" + echo "----------" + brew cleanup -s +} + +function diagnostics { + echo "----------" + echo "Running diagnostics" + echo "----------" + brew doctor + brew missing +} +if [[ $* == *--help* ]]; then + echo "Usage: $0 [option]" + echo "Default options: --brew-update --cleanup --diagnostics --permission-fix" + echo -e "Options:\n\t--brew-update\n\t--cleanup\n\t--diagnostics\n\t--permission-fix\n\t--system-update" +fi + +if [[ -z $* ]]; then + set -- "$*" "--brew-update --cleanup --diagnostics --permission-fix" +fi + +if [[ $* == *--system-update* ]]; then + software_update +fi +if [[ $* == *--brew-update* ]]; then + update_brew +fi +if [[ $* == *--cleanup* ]]; then + cleanup +fi +if [[ $* == *--diagnostics* ]]; then + diagnostics +fi +if [[ $* == *--permission-fix* ]]; then + set_permissions +fi