Skip to content

weijiany/initial-mac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Initial Mac Setup

这是一个用 Ansible 自动化配置 Mac 开发环境的项目。

功能

  • 安装和配置 Homebrew
  • 安装 Oh My Zsh 并配置主题
  • 配置 Git
  • 安装和配置 Tmux
  • 安装 Proto 工具管理器
  • 通过 Proto 安装 AWS CLI

系统要求

  • macOS (支持 Intel 和 Apple Silicon)
  • 需要管理员权限(用于安装软件包)

快速开始

1. 克隆项目

git clone https://github.com/weijiany/initial-mac.git
cd initial-mac

2. 运行初始化脚本

# 替换 YOUR_SUDO_PASSWORD 为你的管理员密码
./run.sh YOUR_SUDO_PASSWORD

或者,如果你不想在命令行中暴露密码:

# 设置环境变量
export SUDO_PASSWORD="your_password"
./run.sh "$SUDO_PASSWORD"

脚本做了什么

  1. 检查并安装 Homebrew - 如果未安装,会自动安装 Homebrew
  2. 安装 Ansible - 通过 Homebrew 直接安装 Ansible(无需 Python 环境管理)
  3. 运行 Ansible - 执行 Ansible playbook 来配置系统

故障排除

如果 Homebrew 安装失败

可以手动安装 Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

如果 Ansible 安装失败

可以手动安装 Ansible:

brew install ansible

查看 Ansible 版本

ansible --version

项目结构

initial-mac/
├── run.sh              # 主入口脚本
├── main.yml            # Ansible 主 playbook
├── inventory/          # Ansible 主机清单
└── roles/              # Ansible 角色
    ├── homebrew/       # Homebrew 配置
    ├── oh_my_zsh/      # Oh My Zsh 配置
    ├── git/            # Git 配置
    ├── tmux/           # Tmux 配置
    └── proto/          # Proto 工具管理器配置

initial mac

该代码库使用 ansible homebrew 为一个全新的 mac 安装以及配置一个开发常用所需要的软件包和配置。

怎么运行:

./run.sh '{you sudo password}'

在安装 cask 的时候,有些软件需要 sudo 的密码。

暂时安装了:

Cask 软件

软件 描述 Homebrew 包名
iTerm2 终端模拟器 iterm2
LastPass 密码管理器 lastpass
QQ 音乐 音乐播放器 qqmusic
Visual Studio Code 代码编辑器 visual-studio-code
Zoom 视频会议工具 zoom
IntelliJ IDEA Java IDE intellij-idea
搜狗输入法 中文输入法 sogouinput
Postman API 测试工具 postman
滴答清单 任务管理工具 ticktick
微信 即时通讯工具 wechat
企业微信 企业通讯工具 wechatwork
Slack 团队协作工具 slack
Google Chrome 网页浏览器 google-chrome
Raycast 快速启动工具 raycast
NetNewsWire RSS 阅读器 netnewswire

CLI 工具

工具 描述 Homebrew 包名
autojump 命令行强大的跳转工具 autojump
kubectl Kubernetes 命令行工具 kubectl
zsh-autosuggestions Oh My Zsh 自动提示插件 zsh-autosuggestions
zsh-syntax-highlighting Oh My Zsh 语法高亮工具 zsh-syntax-highlighting
watch 监控命令执行 watch
wget 文件下载工具 wget
Graphviz 图形可视化软件 graphviz
tmpwatch 临时文件清理工具 tmpwatch
jq JSON 处理工具 jq
yq YAML 处理工具 yq
tmux 终端复用器 tmux
Go 编程语言 go
tree 目录树显示工具 tree
expect 自动化交互工具 expect
zsh Shell 解释器 zsh
Docker 容器化平台 docker
Docker Compose 容器编排工具 docker-compose
GNU sed 流编辑器 gnu-sed
Docker Credential Helper for ECR AWS ECR 凭证助手 docker-credential-helper-ecr

安装完 docker-credential-helper-ecr 后,需要更新 ~/.docker/config.json 文件来启用它:

{
  "credHelpers": {
    "public.ecr.aws": "ecr-login",
    "<your-account-id>.dkr.ecr.<region>.amazonaws.com": "ecr-login"
  }
}

请将 <your-account-id><region> 替换为你的 AWS account 和 region。

Proto 工具

工具 描述 版本
AWS CLI AWS 命令行工具 2.24.20
Go Go 编程语言 1.24.1
Helm Kubernetes 包管理器 3.17.1
Helmfile Helm 声明式部署工具 1.0.0
jq JSON 处理工具 1.7.1
kubectl Kubernetes 命令行工具 1.32.2
Node.js JavaScript 运行时 22.11.0
Proto 工具管理器 0.49.5
Pulumi 基础设施即代码工具 3.175.0
Python Python 编程语言 3.10.11
SOPS 密钥管理工具 3.10.2
Terraform 基础设施即代码工具 1.12.1
Deno JavaScript/TypeScript 运行时 2.3.6
Dive Docker 镜像分析工具 0.13.1

如果上述软件不能满足需要,并且还想用 homebrew 安装,可以在下列两个数组中继续添加:

  • cask: roles/homebrew/vars/main.yml > cask_list
  • cli: roles/homebrew/vars/main.yml > cli_list

git

配置 git alias.l = "log --graph --date=format:'%Y-%m-%d' --pretty=format:'%C(cyan)%h%Creset %Creset%C(auto)%d %s %C(black bold)(%ad) %C(bold blue)<%an>'"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published