mirror of
https://github.com/marcogll/mac_vntySet.git
synced 2026-01-13 21:35:15 +00:00
136 lines
3.4 KiB
Bash
136 lines
3.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
clear
|
|
echo ""
|
|
echo "=============================================="
|
|
echo " V A N I T Y S H E L L"
|
|
echo " macOS Development Installer"
|
|
echo "=============================================="
|
|
echo ""
|
|
|
|
echo "Selecciona una opción:"
|
|
echo " A) Instalar TODO (recomendado)"
|
|
echo " C) Instalar solo configuración ZSH"
|
|
echo " D) Instalar Docker + Portainer + Lazydocker"
|
|
echo " Q) Salir"
|
|
echo ""
|
|
read -p "Opción [A/C/D/Q]: " choice
|
|
choice=${choice:-A}
|
|
|
|
|
|
install_homebrew() {
|
|
if ! command -v brew >/dev/null 2>&1; then
|
|
echo "Instalando Homebrew…"
|
|
NONINTERACTIVE=1 /bin/bash -c \
|
|
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
|
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
else
|
|
echo "Homebrew ya está instalado."
|
|
fi
|
|
|
|
brew update
|
|
}
|
|
|
|
install_zsh_config() {
|
|
echo "Instalando ZSH base…"
|
|
brew install zsh curl wget git yq jq xclip node python
|
|
|
|
echo "Instalando Oh My Zsh…"
|
|
if [ ! -d "$HOME/.oh-my-zsh" ]; then
|
|
RUNZSH=no CHSH=no KEEP_ZSHRC=yes \
|
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
|
fi
|
|
|
|
echo "Instalando plugins…"
|
|
mkdir -p ~/.oh-my-zsh/custom/plugins
|
|
|
|
repos=(
|
|
"zsh-users/zsh-autosuggestions"
|
|
"zsh-users/zsh-syntax-highlighting"
|
|
"zsh-users/zsh-completions"
|
|
)
|
|
|
|
for r in "${repos[@]}"; do
|
|
folder=$(basename "$r")
|
|
if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/$folder" ]; then
|
|
git clone https://github.com/$r ~/.oh-my-zsh/custom/plugins/$folder
|
|
fi
|
|
done
|
|
|
|
echo "Instalando Oh My Posh…"
|
|
brew install jandedobbeleer/oh-my-posh/oh-my-posh
|
|
|
|
mkdir -p ~/.poshthemes
|
|
curl -fsSL \
|
|
https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/catppuccin.omp.json \
|
|
-o ~/.poshthemes/catppuccin.omp.json
|
|
|
|
oh-my-posh font install meslo
|
|
|
|
echo "Descargando tu .zshrc.example…"
|
|
curl -fsSL https://raw.githubusercontent.com/marcogll/mac_vntySet/main/.zshrc.example \
|
|
-o ~/.zshrc
|
|
|
|
echo "source ~/.zshrc" | pbcopy
|
|
echo ""
|
|
echo "Tu configuración ZSH está instalada."
|
|
echo "El comando 'source ~/.zshrc' ya está copiado al portapapeles."
|
|
echo ""
|
|
}
|
|
|
|
install_docker_stack() {
|
|
echo "Instalando Docker Desktop…"
|
|
brew install --cask docker
|
|
|
|
echo "Instalando Lazydocker…"
|
|
brew install lazydocker
|
|
|
|
echo "Instalando Portainer…"
|
|
docker volume create portainer_data || true
|
|
docker stop portainer >/dev/null 2>&1 || true
|
|
docker rm portainer >/dev/null 2>&1 || true
|
|
|
|
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
|
|
}
|
|
|
|
|
|
case "$choice" in
|
|
A|a)
|
|
install_homebrew
|
|
install_zsh_config
|
|
install_docker_stack
|
|
;;
|
|
C|c)
|
|
install_homebrew
|
|
install_zsh_config
|
|
;;
|
|
D|d)
|
|
install_homebrew
|
|
install_docker_stack
|
|
;;
|
|
Q|q)
|
|
echo "Saliendo…"
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Opción inválida."
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
|
|
echo ""
|
|
echo "=============================================="
|
|
echo " Instalación completada."
|
|
echo "=============================================="
|
|
echo ""
|