Files
Archduino/lib/zsh.sh
marvin.dietermann de83f9ac30 fix(install): improve starship installation and oh-my-zsh configuration
- Use direct binary download for starship instead of install script for better reliability
- Add CHSH=no and --unattended flags to oh-my-zsh installation to prevent interactive prompts
- Add manual shell change logic with proper error handling
- Clean up temporary files after starship installation
2026-04-10 12:05:22 +02:00

31 lines
1.0 KiB
Bash

#!/bin/bash
# Step 2: Zsh + Oh My Zsh + plugins
step "2/9 — Setting up Zsh"
if [[ ! -d "$HOME/.oh-my-zsh" ]]; then
RUNZSH=no KEEP_ZSHRC=yes CHSH=no sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended ||
RUNZSH=no KEEP_ZSHRC=yes CHSH=no sh -c "$(curl -kfsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
info "Oh My Zsh installed"
else
info "Oh My Zsh already present"
fi
# Set zsh as default shell if it isn't already
if [[ "$(basename "$SHELL")" != "zsh" ]]; then
sudo chsh -s "$(command -v zsh)" "$USER" 2>/dev/null || true
info "Default shell changed to zsh"
fi
ZSH_CUSTOM="${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}"
for plugin in zsh-autosuggestions zsh-syntax-highlighting; do
if [[ ! -d "$ZSH_CUSTOM/plugins/$plugin" ]]; then
git clone "https://github.com/zsh-users/$plugin" "$ZSH_CUSTOM/plugins/$plugin"
else
git -C "$ZSH_CUSTOM/plugins/$plugin" pull --quiet 2>/dev/null || true
fi
done
info "Zsh plugins installed/updated"