Last active
May 28, 2026 09:56
-
-
Save amavlyanov/34e998450b28aebcbae61b2ec4e8c18f to your computer and use it in GitHub Desktop.
Termux Catppuccin styling script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env bash | |
| # Catppuccin Termux Color Scheme Installer | |
| # Downloads Catppuccin variants and lets user choose which to set as default | |
| set -e # Exit on error | |
| # Colors for output | |
| GREEN='\033[0;32m' | |
| BLUE='\033[0;34m' | |
| YELLOW='\033[1;33m' | |
| RED='\033[0;31m' | |
| NC='\033[0m' # No Color | |
| echo -e "${BLUE}========================================${NC}" | |
| echo -e "${BLUE}Catppuccin Termux Installer${NC}" | |
| echo -e "${BLUE}========================================${NC}\n" | |
| # Create .termux directory if it doesn't exist | |
| TERMUX_DIR="$HOME/.termux" | |
| mkdir -p "$TERMUX_DIR" | |
| echo -e "${BLUE}[1/4]${NC} Fetching available Catppuccin variants...\n" | |
| # Catppuccin variants to download | |
| VARIANTS=("latte" "frappe" "macchiato" "mocha") | |
| # Download each variant | |
| for variant in "${VARIANTS[@]}"; do | |
| FILE_URL="https://raw.githubusercontent.com/catppuccin/termux/main/themes/catppuccin-${variant}.properties" | |
| OUTPUT_FILE="$TERMUX_DIR/termux-catppuccin-${variant}.properties" | |
| echo -e "${BLUE}Downloading:${NC} Catppuccin ${variant}..." | |
| if curl -fsSL "$FILE_URL" -o "$OUTPUT_FILE"; then | |
| echo -e "${GREEN}✓ Downloaded:${NC} ${variant}\n" | |
| else | |
| echo -e "${RED}✗ Failed to download:${NC} ${variant}\n" | |
| exit 1 | |
| fi | |
| done | |
| echo -e "${BLUE}[2/4]${NC} All variants downloaded successfully!\n" | |
| echo -e "${YELLOW}Available Catppuccin variants:${NC}\n" | |
| # Display available variants | |
| for i in "${!VARIANTS[@]}"; do | |
| variant="${VARIANTS[$i]}" | |
| num=$((i + 1)) | |
| case "$variant" in | |
| latte) | |
| description="Light theme (Recommended)" | |
| ;; | |
| frappe) | |
| description="Dark theme (Coffee)" | |
| ;; | |
| macchiato) | |
| description="Dark theme (Vanilla)" | |
| ;; | |
| mocha) | |
| description="Dark theme (Chocolate)" | |
| ;; | |
| esac | |
| printf " ${BLUE}%d)${NC} ${YELLOW}%-12s${NC} - %s\n" "$num" "$variant" "$description" | |
| done | |
| echo "" | |
| echo -e "${BLUE}[3/4]${NC} Choose default color scheme:\n" | |
| # Interactive selection | |
| while true; do | |
| echo -n "Enter number (1-4) or variant name [default: 1 - latte]: " | |
| read user_choice | |
| # Default to latte if user just presses Enter | |
| user_choice=${user_choice:-1} | |
| case "$user_choice" in | |
| 1|latte) | |
| SELECTED_VARIANT="latte" | |
| break | |
| ;; | |
| 2|frappe) | |
| SELECTED_VARIANT="frappe" | |
| break | |
| ;; | |
| 3|macchiato) | |
| SELECTED_VARIANT="macchiato" | |
| break | |
| ;; | |
| 4|mocha) | |
| SELECTED_VARIANT="mocha" | |
| break | |
| ;; | |
| *) | |
| echo -e "${RED}Invalid choice!${NC} Please enter 1-4 or a variant name.\n" | |
| ;; | |
| esac | |
| done | |
| echo "" | |
| echo -e "${BLUE}[4/4]${NC} Setting ${YELLOW}Catppuccin ${SELECTED_VARIANT}${NC} as default...\n" | |
| # Link selected variant as the default colors.properties | |
| DEFAULT_FILE="$TERMUX_DIR/colors.properties" | |
| ln -s "$TERMUX_DIR/termux-catppuccin-${SELECTED_VARIANT}.properties" "$DEFAULT_FILE" | |
| echo -e "${GREEN}✓ Default color scheme set:${NC} Catppuccin ${SELECTED_VARIANT}\n" | |
| echo -e "${BLUE}========================================${NC}" | |
| echo -e "${GREEN}Installation Complete!${NC}\n" | |
| echo -e "${BLUE}Installed color schemes:${NC}" | |
| ls -1 "$TERMUX_DIR"/termux-catppuccin-*.properties | sed 's|.*/||; s|termux-catppuccin-||; s|\.properties||' | while read variant; do | |
| if [ "$variant" = "$SELECTED_VARIANT" ]; then | |
| echo -e " ${GREEN}✓${NC} ${variant} (${YELLOW}default${NC})" | |
| else | |
| echo -e " • ${variant}" | |
| fi | |
| done | |
| echo "" | |
| echo -e "${BLUE}To apply the changes:${NC}" | |
| echo -e " 1. Restart Termux completely, OR" | |
| echo -e " 2. Run: ${YELLOW}exit${NC} (and reopen Termux)\n" | |
| echo -e "${BLUE}To switch variants later:${NC}" | |
| echo -e " ${YELLOW}cp ~/.termux/termux-catppuccin-{frappe,macchiato,mocha,latte}.properties ~/.termux/colors.properties${NC}\n" | |
| echo -e "${BLUE}========================================${NC}\n" |
Comments are disabled for this gist.