#!/bin/bash # This script deploys ~/.local/share/omarchy/config/X/Y/Z -> ~/.config/X/Y/Z config_file=$1 if [[ -z "$config_file" ]]; then cat << USAGE Usage: $0 [config_file] Must provide a file path from the .config directory to be refreshed. To copy ~/.local/share/omarchy/config/hypr/hyprlock.conf to ~/.config/hypr/hyprlock.conf $0 hypr/hyprlock.conf USAGE exit 1 fi # Backup the destination file (with timestamp) to avoid clobbering (Ex: hyprlock.conf.bak.1753817951) backup_file="${HOME}/.config/${config_file}.bak.$(date +%s)" cp -f "${HOME}/.config/${config_file}" "$backup_file" 2>/dev/null # Deploy the source file cp -f "${HOME}/.local/share/omarchy/config/${config_file}" "${HOME}/.config/${config_file}" 2>/dev/null # Compare and delete/inform accordingly if cmp -s "${HOME}/.config/${config_file}" "$backup_file"; then rm $backup_file else echo -e "\e[31mExisting "${HOME}/.config/${config_file}" replaced with new Omarchy default, but ${backup_file} file was made.\e[0m" fi