mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 12:19:24 +00:00
46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
![]() |
#!/bin/bash
|
||
|
|
||
|
# omarchy-theme-install: Install a new theme from a git repo for Omarchy
|
||
|
# Usage: omarchy-theme-install <git-repo-url>
|
||
|
|
||
|
REPO_URL="$1"
|
||
|
THEMES_DIR="$HOME/.config/omarchy/themes"
|
||
|
THEME_NAME=$(basename "$REPO_URL" .git)
|
||
|
THEME_PATH="$THEMES_DIR/$THEME_NAME"
|
||
|
BACKGROUND_DIR="$HOME/.config/omarchy/backgrounds"
|
||
|
CURRENT_DIR="$HOME/.config/omarchy/current"
|
||
|
|
||
|
set -e
|
||
|
|
||
|
if [ -z "$1" ]; then
|
||
|
echo "Usage: omarchy-theme-install <git-repo-url>"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Ensure theme directories exist
|
||
|
mkdir -p "$THEMES_DIR" "$BACKGROUND_DIR" "$CURRENT_DIR"
|
||
|
|
||
|
# Remove existing theme if present
|
||
|
if [ -d "$THEME_PATH" ]; then
|
||
|
rm -rf "$THEME_PATH"
|
||
|
fi
|
||
|
|
||
|
# Clone the repo directly to ~/.config/omarchy/themes
|
||
|
if ! git clone "$REPO_URL" "$THEME_PATH"; then
|
||
|
echo "Error: Failed to clone theme repo."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Copy backgrounds if present
|
||
|
if [ -d "$THEME_PATH/backgrounds" ]; then
|
||
|
DEST_BG="$BACKGROUND_DIR/$THEME_NAME"
|
||
|
rm -rf "$DEST_BG"
|
||
|
mkdir -p "$DEST_BG"
|
||
|
cp -r "$THEME_PATH/backgrounds/." "$DEST_BG/"
|
||
|
fi
|
||
|
|
||
|
# Apply the new theme with omarchy-theme-set
|
||
|
"$HOME/.local/share/omarchy/bin/omarchy-theme-set" "$THEME_NAME"
|
||
|
|
||
|
# Notify of the new theme
|
||
|
notify-send "Theme changed to $THEME_NAME" -t 2000
|