Update vanity_setup.sh

This commit is contained in:
Marco Gallegos
2025-11-19 19:10:09 -06:00
committed by GitHub
parent f2a7995374
commit 052024d06c

View File

@@ -2,76 +2,141 @@
set -e set -e
ZSHRC_URL="https://raw.githubusercontent.com/marcogll/mac_vntySet/refs/heads/main/.zshrc.example" echo ">>> Actualizando Homebrew / instalando si no existe..."
DOWNLOAD_DIR="$HOME/downloads/youtube" if ! command -v brew &> /dev/null; then
VIDEO_DIR="$DOWNLOAD_DIR/video"
AUDIO_DIR="$DOWNLOAD_DIR/audio"
echo "[+] Verificando Homebrew..."
if ! command -v brew &>/dev/null; then
echo "[+] Instalando Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi fi
eval "$(/opt/homebrew/bin/brew shellenv 2>/dev/null)" brew update
echo "[+] Instalando paquetes base (zsh, curl, wget, python, node, docker, yt-dlp)..." #######################################
brew install zsh curl wget python node docker docker-compose yt-dlp # ZSH + OH-MY-ZSH + PLUGINS + OMP
#######################################
echo "[+] Instalando Oh My Zsh..." echo ">>> Instalando Zsh..."
if [[ ! -d "$HOME/.oh-my-zsh" ]]; then brew install zsh
echo ">>> Instalando wget y curl..."
brew install wget curl
echo ">>> Instalando Oh My Zsh..."
if [ ! -d "$HOME/.oh-my-zsh" ]; then
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
fi fi
echo "[+] Instalando plugins de Zsh..." echo ">>> Instalando plugins zsh..."
brew install zsh-autosuggestions zsh-syntax-highlighting brew install zsh-autosuggestions zsh-syntax-highlighting zsh-history-substring-search
echo "[+] Instalando Oh My Posh..." echo ">>> Instalando Oh My Posh..."
brew install jandedobbeleer/oh-my-posh/oh-my-posh brew install jandedobbeleer/oh-my-posh/oh-my-posh
echo "[+] Instalando fuente Nerd Font para el tema..." echo ">>> Instalando fuente de Oh My Posh..."
oh-my-posh font install Meslo oh-my-posh font install Meslo
echo "[+] Descargando tema Catppuccin para Oh My Posh..." echo ">>> Descargando tema Catppuccin para OMP..."
mkdir -p ~/.poshthemes mkdir -p ~/.poshthemes
curl -fsSL \ wget -O ~/.poshthemes/catppuccin.omp.json \
https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/catppuccin.omp.json \ https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/catppuccin.omp.json
-o ~/.poshthemes/catppuccin.omp.json
chmod +r ~/.poshthemes/*.json #######################################
# Python + Node
#######################################
echo "[+] Descargando tu .zshrc desde GitHub..." echo ">>> Instalando Python..."
curl -fsSL "$ZSHRC_URL" -o ~/.zshrc brew install python
echo "[+] Creando carpetas para yt-dlp..." echo ">>> Instalando Node..."
mkdir -p "$VIDEO_DIR" "$AUDIO_DIR" brew install node
#######################################
# yt-dlp + alias
#######################################
echo ">>> Instalando yt-dlp..."
brew install yt-dlp ffmpeg
# Crear carpetas
mkdir -p ~/downloads/youtube/video
mkdir -p ~/downloads/youtube/audio
#######################################
# LazyDocker
#######################################
echo ">>> Instalando LazyDocker..."
brew install jesseduffield/lazydocker/lazydocker
#######################################
# Docker CLI + Compose + Portainer
#######################################
echo ">>> Instalando Docker CLI + Docker Compose..."
brew install docker docker-compose
echo ">>> Ejecutando Portainer..."
docker volume create portainer_data
docker run -d \
-p 8000:8000 \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
#######################################
# Descargar .zshrc custom desde tu repo
#######################################
echo ">>> Descargando tu .zshrc personalizado..."
wget -O ~/.zshrc \
https://raw.githubusercontent.com/marcogll/mac_vntySet/refs/heads/main/.zshrc.example
#######################################
# Agregar Aliases y ajustes extra
#######################################
echo "[+] Agregando alias ytv / ytm / help..."
cat <<'EOF' >> ~/.zshrc cat <<'EOF' >> ~/.zshrc
# --- Vanity additions (auto) --- # -------------------------
# VANITY CUSTOM ALIASES
# -------------------------
alias ytv='yt-dlp -o "'"$VIDEO_DIR"'/%(title)s.%(ext)s"' alias cls="clear"
alias ytm='yt-dlp -x --audio-format mp3 -o "'"$AUDIO_DIR"'/%(title)s.%(ext)s"'
alias help="echo '\ # yt-dlp video
alias ytv='yt-dlp -f "bestvideo+bestaudio" -o "~/downloads/youtube/video/%(title)s.%(ext)s"'
# yt-dlp música (mp3)
alias ytm='yt-dlp -x --audio-format mp3 -o "~/downloads/youtube/audio/%(title)s.%(ext)s"'
# LazyDocker
alias lzd="lazydocker"
# Docker compose corto
alias dcu="docker compose up -d"
alias dcd="docker compose down"
# Help command
alias vanity-help="echo '
Comandos disponibles: Comandos disponibles:
ytv URL - Descarga video en $VIDEO_DIR ytv URL Descargar video en ~/downloads/youtube/video
ytm URL - Descarga música (MP3) en $AUDIO_DIR ytm URL Descargar audio/mp3 en ~/downloads/youtube/audio
cls - Limpiar pantalla lzd → Abrir LazyDocker
brew - Gestor de paquetes dcu → docker compose up -d
python, node, docker, compose disponibles tras instalación dcd → docker compose down
cls → clear
'" '"
# Plugins Zsh # ZSH plugins
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /opt/homebrew/share/zsh-history-substring-search/zsh-history-substring-search.zsh
# Oh My Posh # Oh My Posh prompt
eval \"$(oh-my-posh init zsh --config ~/.poshthemes/catppuccin.omp.json)\" eval "$(oh-my-posh init zsh --config ~/.poshthemes/catppuccin.omp.json)"
# ---
EOF EOF
echo "[+] Aplicando configuración..." echo ">>> Instalación completa. Reinicia la terminal."
exec zsh