mirror of
https://github.com/marcogll/mac_vntySet.git
synced 2026-01-13 13:25:15 +00:00
feat: Add an update option to the script and ensure Homebrew packages are installed only if missing.
This commit is contained in:
@@ -28,6 +28,7 @@ Ejecuta el instalador directamente desde la terminal (usa bash, no zsh):
|
||||
curl -fsSL https://raw.githubusercontent.com/marcogll/mac_vntySet/main/vanity_setup.sh | bash
|
||||
```
|
||||
El script muestra un menú para elegir qué componentes instalar.
|
||||
También puedes volver a ejecutarlo más adelante y elegir la opción `U` para actualizar todos los componentes provisionados por VanityOS Shell.
|
||||
|
||||
## 💻 Ejecución local
|
||||
También puedes clonar este repositorio y ejecutar el instalador de forma local:
|
||||
@@ -45,6 +46,7 @@ Cada ejecución genera un registro detallado en `.logs/vanity-YYYYmmdd-HHMMSS.lo
|
||||
| `A` | Instalación completa (recomendada). | Homebrew + stack Zsh + Docker CLI/Portainer/Lazydocker. |
|
||||
| `C` | Solo configura la terminal. | Homebrew + Zsh, Oh My Zsh, Oh My Posh, utilidades CLI. |
|
||||
| `D` | Solo herramientas de contenedores. | Homebrew + Docker CLI, Portainer, Lazydocker. |
|
||||
| `U` | Actualiza la instalación existente. | Repite la instalación completa para asegurar versiones recientes. |
|
||||
| `Q` | Salir. | — |
|
||||
|
||||
## 🔧 Detalles de la configuración Zsh
|
||||
|
||||
@@ -65,14 +65,55 @@ install_homebrew() {
|
||||
brew update
|
||||
}
|
||||
|
||||
brew_ensure_formula() {
|
||||
local formula="$1"
|
||||
if brew list --formula "$formula" >/dev/null 2>&1; then
|
||||
echo "✔︎ ${formula} ya está instalado. Omitiendo."
|
||||
return
|
||||
fi
|
||||
|
||||
echo "➜ Instalando ${formula}…"
|
||||
brew install "$formula"
|
||||
}
|
||||
|
||||
brew_ensure_cask() {
|
||||
local cask="$1"
|
||||
if brew list --cask "$cask" >/dev/null 2>&1; then
|
||||
echo "✔︎ ${cask} ya está instalado. Omitiendo."
|
||||
return
|
||||
fi
|
||||
|
||||
echo "➜ Instalando ${cask}…"
|
||||
brew install --cask "$cask"
|
||||
}
|
||||
|
||||
install_cli_dependencies() {
|
||||
echo "Instalando herramientas base de desarrollo…"
|
||||
brew install zsh curl wget git jq yq node python go direnv yt-dlp ffmpeg zerotier-one speedtest-cli
|
||||
local formulas=(
|
||||
zsh
|
||||
curl
|
||||
wget
|
||||
git
|
||||
jq
|
||||
yq
|
||||
node
|
||||
python
|
||||
go
|
||||
direnv
|
||||
yt-dlp
|
||||
ffmpeg
|
||||
speedtest-cli
|
||||
jandedobbeleer/oh-my-posh/oh-my-posh
|
||||
)
|
||||
|
||||
for formula in "${formulas[@]}"; do
|
||||
brew_ensure_formula "$formula"
|
||||
done
|
||||
|
||||
echo "Instalando Oh My Posh y fuentes Nerd Font…"
|
||||
brew tap homebrew/cask-fonts >/dev/null 2>&1 || true
|
||||
brew install --cask --force font-meslo-lg-nerd-font
|
||||
brew install jandedobbeleer/oh-my-posh/oh-my-posh
|
||||
brew_ensure_cask font-meslo-lg-nerd-font
|
||||
brew_ensure_cask zerotier-one
|
||||
}
|
||||
|
||||
setup_media_dirs() {
|
||||
@@ -294,6 +335,7 @@ main_menu() {
|
||||
echo " A) Instalar TODO (recomendado)"
|
||||
echo " C) Instalar solo configuración ZSH"
|
||||
echo " D) Instalar Docker + Portainer + Lazydocker"
|
||||
echo " U) Actualizar componentes instalados"
|
||||
echo " Q) Salir"
|
||||
echo ""
|
||||
local choice=""
|
||||
@@ -318,6 +360,12 @@ main_menu() {
|
||||
install_homebrew
|
||||
install_docker_stack
|
||||
;;
|
||||
U|u)
|
||||
echo "Actualizando la instalación existente…"
|
||||
install_homebrew
|
||||
install_zsh_config
|
||||
install_docker_stack
|
||||
;;
|
||||
Q|q)
|
||||
echo "Saliendo…"
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user