#!/bin/bash # nomarchy-refresh-config: Restore a specific configuration file to its stock version. # Usage: nomarchy-refresh-config # Example: nomarchy-refresh-config hypr/hyprland.conf CONFIG_FILE=$1 if [[ -z $CONFIG_FILE ]]; then echo "Usage: nomarchy-refresh-config " exit 1 fi # Determine source directory (where stock configs are stored) # In Nomarchy, we deploy them via Nix, but we also keep a copy in local share for easy access STOCK_DIR="$HOME/.local/share/nomarchy/themes" # Fallback if specific config isn't themed # Wait, actually we should use the one from /etc/nixos if available STOCK_BASE="/etc/nixos/nomarchy/core/home/config" if [ ! -d "$STOCK_BASE" ]; then # Fallback to local share if /etc/nixos is not available STOCK_BASE="$HOME/.local/share/nomarchy/config" fi SOURCE_FILE="$STOCK_BASE/$CONFIG_FILE" DEST_FILE="$HOME/.config/$CONFIG_FILE" if [ ! -f "$SOURCE_FILE" ]; then # Try searching in features/ as well STOCK_BASE="/etc/nixos/nomarchy/features" # Find the file in features SOURCE_FILE=$(find "$STOCK_BASE" -name "$(basename "$CONFIG_FILE")" | head -n 1) fi if [[ -n $SOURCE_FILE ]] && [[ -f "$SOURCE_FILE" ]]; then echo "Refreshing $DEST_FILE from stock $SOURCE_FILE..." mkdir -p "$(dirname "$DEST_FILE")" cp "$SOURCE_FILE" "$DEST_FILE" notify-send "Config Refreshed" "$CONFIG_FILE has been restored to defaults." else echo "Error: Stock configuration for $CONFIG_FILE not found." notify-send -u critical "Error" "Stock configuration for $CONFIG_FILE not found." exit 1 fi