#!/bin/sh CORE_TYPES=/System/Library/CoreServices/CoreTypes.bundle IO_STORAGE_FAMILY=/System/Library/Extensions/IOStorageFamily.kext IO_SCSI_ARCHITECTURE_MODEL_FAMILY=/System/Library/Extensions/IOSCSIArchitectureModelFamily.kext IO_CD_STORAGE_FAMILY=/System/Library/Extensions/IOCDStorageFamily.kext IO_DVD_STORAGE_FAMILY=/System/Library/Extensions/IODVDStorageFamily.kext IO_BD_STORAGE_FAMILY=/System/Library/Extensions/IOBDStorageFamily.kext REPLACEMENT="$(cd "$(dirname "$0")" && pwd)/Icons" # Authenticate sudo -v # Backup system files NOW=$(date +%Y-%m-%dT%H:%M:%S%z) sudo tar czf "${CORE_TYPES}.backup-${NOW}.tar.gz" "$CORE_TYPES" sudo tar czf "${IO_STORAGE_FAMILY}.backup-${NOW}.tar.gz" "$IO_STORAGE_FAMILY" sudo tar czf "${IO_SCSI_ARCHITECTURE_MODEL_FAMILY}.backup-${NOW}.tar.gz" "$IO_SCSI_ARCHITECTURE_MODEL_FAMILY" sudo tar czf "${IO_CD_STORAGE_FAMILY}.backup-${NOW}.tar.gz" "$IO_CD_STORAGE_FAMILY" sudo tar czf "${IO_DVD_STORAGE_FAMILY}.backup-${NOW}.tar.gz" "$IO_DVD_STORAGE_FAMILY" sudo tar czf "${IO_BD_STORAGE_FAMILY}.backup-${NOW}.tar.gz" "$IO_BD_STORAGE_FAMILY" # TODO: /System/Library/CoreServices/Dock.app/Contents/Resources/ # Set icons read -r -d '' icons <<'EOF' ApplicationsFolderIcon.icns BD-R.icns BD-RE.icns BD.icns BurnableFolderIcon.icns BurningIcon.icns CD-R.icns CD-RW.icns CD.icns ConnectToIcon.icns DVD+R.icns DVD+RW.icns DVD-R.icns DVD-RAM.icns DVD-RW.icns DVD.icns DesktopFolderIcon.icns DeveloperFolderIcon.icns DocumentsFolderIcon.icns DownloadsFolder.icns DropFolderBadgeIcon.icns EjectMediaIcon.icns External.icns FinderIcon.icns FireWireHD.icns FullTrashIcon.icns GenericAirDiskIcon.icns GenericApplicationIcon.icns GenericFileServerIcon.icns GenericFolderIcon.icns GenericNetworkIcon.icns GroupFolder.icns HomeFolderIcon.icns Internal.icns LibraryFolderIcon.icns MovieFolderIcon.icns MusicFolderIcon.icns OpenFolderIcon.icns PicturesFolderIcon.icns PrivateFolderBadgeIcon.icns PublicFolderIcon.icns Removable.icns SitesFolderIcon.icns SmartFolderIcon.icns SystemFolderIcon.icns TimeMachine.icns ToolbarDeleteIcon.icns ToolbarInfo.icns TrashIcon.icns USBHD.icns UsersFolderIcon.icns UtilitiesFolder.icns iDiskGenericIcon.icns EOF for icon in $icons; do for location in "${CORE_TYPES}/Contents/Resources" \ "${IO_STORAGE_FAMILY}/Contents/Resources" \ "${IO_SCSI_ARCHITECTURE_MODEL_FAMILY}/Contents/Resources" \ "${IO_CD_STORAGE_FAMILY}/Contents/Resources" \ "${IO_DVD_STORAGE_FAMILY}/Contents/Resources" \ "${IO_BD_STORAGE_FAMILY}/Contents/Resources"; do if [ -f "${location}/${icon}" ]; then sudo cp -f "${REPLACEMENT}/${icon}" "${location}/${icon}" fi done done # Clear icon cache sudo find /private/var/folders/ -name 'com.apple.dock.iconcache' -delete sudo find /private/var/folders/ -name 'com.apple.iconservices' -delete sudo mv /Library/Caches/com.apple.iconservices.store $HOME/.Trash/