#!/usr/bin/env bash
# 组合包安装脚本（Trove 自动生成，勿手改；组合包文档为准）
# combo: combo-mirror-setup ｜ 国内网络一键配源 ｜ 状态: partial
# 生成: 2026-09-24 ｜ 详情: https://trove.xin/combos/combo-mirror-setup.html ｜ 依赖警告见文档
# 按官方下载源 + 国内镜像适配；每条命令后可验证（预期输出见组合包文档）。
set -euo pipefail

# ==== [1/4] pip：清华 PyPI 镜像 ====
# 版本要求: pip >= 21（旧版 pip 对 index-url 支持一致，无硬性要求）
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip3 config set global.trusted-host pypi.tuna.tsinghua.edu.cn
# 验证：读取当前生效配置
pip3 config list

# ==== [2/4] npm：npmmirror 镜像 ====
# 版本要求: npm >= 7（`npm config set` 行为一致，无硬性要求）
npm config set registry https://registry.npmmirror.com
# 验证：应输出 https://registry.npmmirror.com/
npm config get registry

# ==== [3/4] Go：goproxy.cn ====
# 版本要求: Go >= 1.13（模块代理机制自 1.13 起为默认）
go env -w GOPROXY=https://goproxy.cn,direct
# 验证：应输出 https://goproxy.cn,direct
go env GOPROXY

# ==== [4/4] Docker：daemon.json registry-mirrors ====
# 版本要求: Docker Engine >= 20.10（registry-mirrors 字段长期支持）
# 已有 daemon.json 时先备份再合并，不要覆盖原有配置
sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak 2>/dev/null || true
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": ["https://docker.1ms.run", "https://docker.m.daocloud.io"]
}
EOF
sudo systemctl restart docker
# 验证：输出配置中的 mirror 地址
docker info | grep -A 2 "Registry Mirrors"

