diff --git a/bin/omarchy-refresh-config b/bin/omarchy-refresh-config index 82641d5..73996fa 100755 --- a/bin/omarchy-refresh-config +++ b/bin/omarchy-refresh-config @@ -4,7 +4,7 @@ config_file=$1 if [[ -z "$config_file" ]]; then - cat << USAGE + cat </dev/null +user_config_file="${HOME}/.config/$config_file" +default_config_file="${HOME}/.local/share/omarchy/config/$config_file" +backup_config_file="$user_config_file.bak.$(date +%s)" -# Deploy the source file -cp -f "${HOME}/.local/share/omarchy/config/${config_file}" "${HOME}/.config/${config_file}" 2>/dev/null +# Create preliminary backup +cp -f "$user_config_file" "$backup_config_file" 2>/dev/null + +# Replace config with new default +cp -f "$default_config_file" "$user_config_file" 2>/dev/null # Compare and delete/inform accordingly -if cmp -s "${HOME}/.config/${config_file}" "$backup_file"; then - rm $backup_file +if cmp -s "$user_config_file" "$backup_config_file"; then + rm "$backup_config_file" else - echo -e "\e[31mExisting "${HOME}/.config/${config_file}" replaced with new Omarchy default, but ${backup_file} file was made.\e[0m" + echo -e "\e[31mReplaced $user_config_file with new Omarchy default.\nSaved backup as ${backup_config_file}.\n\n\e[32mChanges:\e[0m" + diff "$user_config_file" "$backup_config_file" fi