Improve bootstrap robustness and add safety checks

- Fix /tmp/yay conflict with rm -rf before clone
- Use script directory instead of current directory
- Add pipefail to error handling
- Add command existence checks for mise/zoxide in .zshrc
- Add HTTPS clone option in README
This commit is contained in:
2026-03-25 13:33:32 +08:00
parent 7d29bd6562
commit bbfa5bff1c
3 changed files with 15 additions and 9 deletions
+2 -1
View File
@@ -5,8 +5,9 @@
## 快速开始
```bash
# 1. 克隆仓库
# 1. 克隆仓库SSH 或 HTTPS
git clone git@git-ssh.furtherverse.com:imbytecat/archlinux-wsl-init.git
# 或: git clone https://git-ssh.furtherverse.com/imbytecat/archlinux-wsl-init.git
cd archlinux-wsl-init
# 2. 运行 bootstrap(安装 yay 和 dcli
+4
View File
@@ -5,10 +5,14 @@ plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
# mise
if command -v mise &> /dev/null; then
eval "$(mise activate zsh)"
fi
# zoxide
if command -v zoxide &> /dev/null; then
eval "$(zoxide init zsh)"
fi
# Aliases
alias ls='ls --color=auto'
+7 -6
View File
@@ -1,14 +1,15 @@
#!/bin/bash
set -e
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "==> 安装 yay..."
if ! command -v yay &> /dev/null; then
sudo pacman -S --needed --noconfirm base-devel git
cd /tmp
git clone https://aur.archlinux.org/yay.git
cd yay
rm -rf /tmp/yay
git clone https://aur.archlinux.org/yay.git /tmp/yay
cd /tmp/yay
makepkg -si --noconfirm
cd ~
fi
echo "==> 安装 dcli..."
@@ -16,7 +17,7 @@ yay -S --needed --noconfirm dcli-arch-git
echo "==> 复制配置..."
mkdir -p ~/.config/arch-config
cp -r ./arch-config/* ~/.config/arch-config/
cp -r "$SCRIPT_DIR/arch-config"/* ~/.config/arch-config/
echo ""
echo "✓ Bootstrap 完成!"