#!/bin/bash # omarchy-theme-remove: Remove a theme from Omarchy by name # Usage: omarchy-theme-remove if [ -z "$1" ]; then extra_themes=$(find ~/.config/omarchy/themes -mindepth 1 -maxdepth 1 -type d ! -xtype l -printf '%f\n') if [[ -n "$extra_themes" ]]; then THEME_NAME=$(gum choose --header="Remove extra theme" "$extra_themes") else echo "No extra themes installed." exit 1 fi else THEME_NAME="$1" fi THEMES_DIR="$HOME/.config/omarchy/themes" CURRENT_DIR="$HOME/.config/omarchy/current" THEME_PATH="$THEMES_DIR/$THEME_NAME" # Ensure a theme was set if [ -z "$THEME_NAME" ]; then exit 1 fi # Check if theme exists before attempting removal if [ ! -d "$THEME_PATH" ]; then echo "Error: Theme '$THEME_NAME' not found." exit 1 fi # Move to the next theme if the current theme is the one being removed if [ "$(readlink -f "$CURRENT_DIR/theme")" = "$(readlink -f "$THEME_PATH")" ]; then ~/.local/share/omarchy/bin/omarchy-theme-next fi # Now remove the theme directory for THEME_NAME rm -rf "$THEME_PATH"