mirror of
https://github.com/marcogll/scripts_mg.git
synced 2026-01-13 13:25:15 +00:00
Refactor omarchy-setup.sh for better error handling
This commit is contained in:
@@ -11,15 +11,9 @@
|
|||||||
# y descarga tus archivos personalizados de Omarchy.
|
# y descarga tus archivos personalizados de Omarchy.
|
||||||
# ===============================================================
|
# ===============================================================
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 🧩 Seguridad: abortar si algo falla
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
set -e
|
set -e
|
||||||
trap 'echo "❌ Error en la línea $LINENO. Abortando instalación."; exit 1' ERR
|
trap 'echo "❌ Error en la línea $LINENO. Abortando instalación."; exit 1' ERR
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 🎨 Banner de inicio
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
cat << "EOF"
|
cat << "EOF"
|
||||||
╔═════════════════════════════════════════════════════╗
|
╔═════════════════════════════════════════════════════╗
|
||||||
║ 🧠 Omarchy System Setup ║
|
║ 🧠 Omarchy System Setup ║
|
||||||
@@ -28,9 +22,6 @@ cat << "EOF"
|
|||||||
EOF
|
EOF
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 🧰 Actualización de sistema y herramientas base
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "🔧 Actualizando sistema base..."
|
echo "🔧 Actualizando sistema base..."
|
||||||
sudo pacman -Syu --noconfirm
|
sudo pacman -Syu --noconfirm
|
||||||
|
|
||||||
@@ -43,9 +34,6 @@ sudo pacman -S --needed --noconfirm \
|
|||||||
gnome-keyring openssh lsof ntp \
|
gnome-keyring openssh lsof ntp \
|
||||||
flatpak
|
flatpak
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 🖥️ Controladores Intel Iris Xe y codecs multimedia
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "🎞️ Instalando controladores y codecs para Intel Iris Xe..."
|
echo "🎞️ Instalando controladores y codecs para Intel Iris Xe..."
|
||||||
sudo pacman -S --needed --noconfirm \
|
sudo pacman -S --needed --noconfirm \
|
||||||
mesa libva-intel-driver intel-media-driver \
|
mesa libva-intel-driver intel-media-driver \
|
||||||
@@ -54,19 +42,14 @@ sudo pacman -S --needed --noconfirm \
|
|||||||
gstreamer gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly \
|
gstreamer gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly \
|
||||||
ffmpeg intel-compute-runtime clinfo
|
ffmpeg intel-compute-runtime clinfo
|
||||||
|
|
||||||
# opencl-clang (viene de AUR)
|
|
||||||
if ! pacman -Q opencl-clang &>/dev/null; then
|
if ! pacman -Q opencl-clang &>/dev/null; then
|
||||||
echo "⚙️ Instalando opencl-clang desde AUR..."
|
echo "⚙️ Instalando opencl-clang desde AUR..."
|
||||||
yay -S --noconfirm opencl-clang
|
yay -S --noconfirm opencl-clang || echo "⚠️ No se pudo instalar opencl-clang (omitido)."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 🎬 Instalación de VLC y codecs adicionales
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "🎧 Instalando VLC y codecs multimedia..."
|
echo "🎧 Instalando VLC y codecs multimedia..."
|
||||||
sudo pacman -S --needed --noconfirm vlc vlc-plugins-all
|
sudo pacman -S --needed --noconfirm vlc vlc-plugins-all
|
||||||
|
|
||||||
# Asociar archivos multimedia con VLC
|
|
||||||
echo "🗂️ Configurando VLC como reproductor por defecto..."
|
echo "🗂️ Configurando VLC como reproductor por defecto..."
|
||||||
xdg-mime default vlc.desktop audio/mpeg
|
xdg-mime default vlc.desktop audio/mpeg
|
||||||
xdg-mime default vlc.desktop audio/mp3
|
xdg-mime default vlc.desktop audio/mp3
|
||||||
@@ -75,104 +58,79 @@ xdg-mime default vlc.desktop video/mp4
|
|||||||
xdg-mime default vlc.desktop video/x-matroska
|
xdg-mime default vlc.desktop video/x-matroska
|
||||||
xdg-mime default vlc.desktop video/x-msvideo
|
xdg-mime default vlc.desktop video/x-msvideo
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 🧾 Impresoras Epson (L4150 + Epson Scan2)
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "🖨️ Instalando drivers Epson..."
|
echo "🖨️ Instalando drivers Epson..."
|
||||||
sudo pacman -S --needed --noconfirm cups sane simple-scan
|
sudo pacman -S --needed --noconfirm cups sane simple-scan
|
||||||
sudo systemctl enable --now cups.service
|
sudo systemctl enable --now cups.service
|
||||||
yay -S --needed --noconfirm epson-inkjet-printer-escpr2 epson-scanner-2
|
yay -S --needed --noconfirm epson-inkjet-printer-escpr2 epson-scanner-2 || echo "⚠️ Epson scanner no disponible en AUR."
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# 🖱️ Logitech: ltunify y logiops
|
# ✅ Verificar e instalar yay si no existe
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
if ! command -v yay &>/dev/null; then
|
||||||
|
echo "📦 Instalando yay (AUR helper)..."
|
||||||
|
cd /tmp
|
||||||
|
git clone https://aur.archlinux.org/yay-bin.git
|
||||||
|
cd yay-bin
|
||||||
|
makepkg -si --noconfirm
|
||||||
|
cd ~
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 🖱️ Logitech: ltunify y logiops desde AUR
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
echo "🖱️ Instalando soporte Logitech..."
|
echo "🖱️ Instalando soporte Logitech..."
|
||||||
sudo pacman -S --needed --noconfirm ltunify logiops
|
yay -S --noconfirm --needed ltunify logiops || echo "⚠️ No se pudieron instalar algunos paquetes Logitech (omitidos)."
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
echo "💻 Instalando aplicaciones gráficas..."
|
||||||
# 💻 Aplicaciones gráficas esenciales
|
sudo pacman -S --needed --noconfirm filezilla gedit code cursor telegram-desktop
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "🪟 Instalando aplicaciones gráficas..."
|
|
||||||
sudo pacman -S --needed --noconfirm \
|
|
||||||
filezilla gedit code cursor telegram-desktop
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 💄 Instalación de Zsh + Oh My Zsh + plugins + Oh My Posh
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "💄 Instalando Zsh y entorno de shell..."
|
echo "💄 Instalando Zsh y entorno de shell..."
|
||||||
sudo pacman -S --needed --noconfirm zsh
|
sudo pacman -S --needed --noconfirm zsh
|
||||||
|
|
||||||
# Cambiar shell por defecto a Zsh
|
|
||||||
if [ "$SHELL" != "/bin/zsh" ]; then
|
if [ "$SHELL" != "/bin/zsh" ]; then
|
||||||
chsh -s /bin/zsh
|
chsh -s /bin/zsh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Instalar Oh My Zsh si no existe
|
|
||||||
if [ ! -d "$HOME/.oh-my-zsh" ]; then
|
if [ ! -d "$HOME/.oh-my-zsh" ]; then
|
||||||
echo "🌈 Instalando Oh My Zsh..."
|
echo "🌈 Instalando Oh My Zsh..."
|
||||||
RUNZSH=no KEEP_ZSHRC=yes sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
RUNZSH=no KEEP_ZSHRC=yes sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Instalar plugins
|
|
||||||
echo "🔌 Instalando plugins de Zsh..."
|
echo "🔌 Instalando plugins de Zsh..."
|
||||||
ZSH_CUSTOM=${ZSH_CUSTOM:-~/.oh-my-zsh/custom}
|
ZSH_CUSTOM=${ZSH_CUSTOM:-~/.oh-my-zsh/custom}
|
||||||
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions 2>/dev/null || true
|
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions 2>/dev/null || true
|
||||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting 2>/dev/null || true
|
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting 2>/dev/null || true
|
||||||
git clone https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/colorize $ZSH_CUSTOM/plugins/colorize 2>/dev/null || true
|
git clone https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/colorize $ZSH_CUSTOM/plugins/colorize 2>/dev/null || true
|
||||||
|
|
||||||
# Instalar Oh My Posh
|
|
||||||
echo "✨ Instalando Oh My Posh..."
|
echo "✨ Instalando Oh My Posh..."
|
||||||
curl -s https://ohmyposh.dev/install.sh | bash -s
|
curl -s https://ohmyposh.dev/install.sh | bash -s
|
||||||
oh-my-posh font install meslo
|
oh-my-posh font install meslo
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 🍺 Instalación de Homebrew
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "🍺 Instalando Homebrew..."
|
echo "🍺 Instalando Homebrew..."
|
||||||
if ! command -v brew &>/dev/null; then
|
if ! command -v brew &>/dev/null; then
|
||||||
/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
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# ⚙️ Configuración de .bashrc para lanzar Zsh y Homebrew
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "⚙️ Ajustando ~/.bashrc..."
|
echo "⚙️ Ajustando ~/.bashrc..."
|
||||||
cat << 'EOBASH' > ~/.bashrc
|
cat << 'EOBASH' > ~/.bashrc
|
||||||
# Si no es interactivo, salir
|
|
||||||
[[ $- != *i* ]] && return
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
# Inicializar Homebrew
|
|
||||||
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||||
|
|
||||||
# Lanzar Zsh automáticamente si no estamos ya en Zsh
|
|
||||||
if [ -t 1 ] && [ -z "$ZSH_VERSION" ]; then
|
if [ -t 1 ] && [ -z "$ZSH_VERSION" ]; then
|
||||||
exec zsh
|
exec zsh
|
||||||
fi
|
fi
|
||||||
EOBASH
|
EOBASH
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 📥 Descarga de configuraciones y scripts de Omarchy
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "📥 Descargando configuraciones de Omarchy..."
|
echo "📥 Descargando configuraciones de Omarchy..."
|
||||||
mkdir -p ~/Omarchy
|
mkdir -p ~/Omarchy
|
||||||
|
|
||||||
curl -fsSL -o ~/.zshrc "https://raw.githubusercontent.com/marcogll/scripts_mg/refs/heads/main/omarchy_zsh_setup/.zshrc"
|
curl -fsSL -o ~/.zshrc "https://raw.githubusercontent.com/marcogll/scripts_mg/refs/heads/main/omarchy_zsh_setup/.zshrc"
|
||||||
curl -fsSL -o ~/Omarchy/omarchy-setup.sh "https://raw.githubusercontent.com/marcogll/scripts_mg/refs/heads/main/omarchy_zsh_setup/omarchy-setup.sh"
|
curl -fsSL -o ~/Omarchy/omarchy-setup.sh "https://raw.githubusercontent.com/marcogll/scripts_mg/refs/heads/main/omarchy_zsh_setup/omarchy-setup.sh"
|
||||||
curl -fsSL -o ~/Omarchy/davinci_resolve_intel.sh "https://raw.githubusercontent.com/marcogll/scripts_mg/refs/heads/main/omarchy_zsh_setup/davince_resolve_intel.sh"
|
curl -fsSL -o ~/Omarchy/davinci_resolve_intel.sh "https://raw.githubusercontent.com/marcogll/scripts_mg/refs/heads/main/omarchy_zsh_setup/davince_resolve_intel.sh"
|
||||||
|
|
||||||
chmod +x ~/Omarchy/*.sh
|
chmod +x ~/Omarchy/*.sh
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# 🔐 Activar servicios básicos
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
echo "🔑 Habilitando servicios..."
|
echo "🔑 Habilitando servicios..."
|
||||||
sudo systemctl enable --now docker.service
|
sudo systemctl enable --now docker.service
|
||||||
sudo systemctl enable --now ntpd.service
|
sudo systemctl enable --now ntpd.service
|
||||||
sudo systemctl enable --now gnome-keyring-daemon.service || true
|
sudo systemctl enable --now gnome-keyring-daemon.service || true
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
# ✅ Mensaje final
|
|
||||||
# ---------------------------------------------------------------
|
|
||||||
cat << "EOF"
|
cat << "EOF"
|
||||||
╔═══════════════════════════════════════════════════════════╗
|
╔═══════════════════════════════════════════════════════════╗
|
||||||
║ ✅ Sistema preparado con éxito — Omarchy Setup ║
|
║ ✅ Sistema preparado con éxito — Omarchy Setup ║
|
||||||
|
|||||||
Reference in New Issue
Block a user