中文 | English
这是我个人的 macOS 开发环境统一配置管理和备份的仓库
目录结构分别代表各个工具的配置
- git: Git 相关的配置以及我常用的 alias
- zsh: Zsh shell 的配置文件,包括插件、别名和自定义函数
- karabiner: Karabiner-Elements 键盘自定义配置
- hammerspoon: Hammerspoon 自动化脚本和配置
- iterm2: iTerm2 终端模拟器的配置和脚本
- sketchybar: macOS 状态栏自定义配置
- nvim: Neovim 编辑器配置
- wezterm: WezTerm 终端模拟器配置
- lazygit: LazyGit 终端 Git 客户端配置
- yabai: Yabai 窗口管理器配置
- vscode: Visual Studio Code 编辑器配置
- tmux: Tmux 终端复用器配置
- 使用 Delta 作为 diff 和 merge 工具
- 支持多种 git commit 类型的函数式别名(feat、fix、docs、style 等)
- 常用命令的简化别名(st、c、cm、co、br 等)
- 图形化日志显示(lg、ls 命令)
- 集成 LazyGit(ui 命令)
- 内置 gitignore 模板生成(ignore 命令)
- 适用于多工作区的配置
- 基于 Oh My Zsh 框架
- 使用 wedisagree 主题
- 丰富的插件集合:
- git, git-commit: Git 支持和提交助手
- sudo: 双击 Esc 自动添加 sudo
- eza: 现代化的 ls 替代品
- fzf: 模糊文件查找
- zsh-autosuggestions: 自动补全建议
- zsh-syntax-highlighting: 语法高亮
- zoxide: 智能目录跳转(z 命令)
- copypath, copyfile: 复制文件路径和内容
- 自定义别名和函数
- Python, Git, 文件操作的快捷命令
- 格式化的文件列表 (ls 使用 eza)
- 常用配置文件的快速编辑
- 基于文件后缀的自动操作
由于我习惯使用 macOS 的多桌面进行开发,每个桌面会打开不同的应用,我需要知道我当前所处的桌面以及打开了哪些 App,macOS 原生系统显然不支持这项功能。
我使用 Sketchybar 最核心的需求就是补齐这项短板。同时,我也可以自定义一些实时的系统资源监控,以及任何我需要的功能。

Sketchybar 使用 Lua 配置,包含以下主要组件:
- 桌面空间指示器
- 系统资源监控(CPU、内存、电池)
- 当前正在运行的应用图标显示
- 音量和时间显示
Yabai 是一个高度可定制的窗口管理器,为 macOS 提供平铺窗口管理功能:
- 自动排列窗口以高效利用屏幕空间
- 快速键盘导航在窗口和桌面间切换
- 自定义窗口规则和布局
- 与 skhd 快捷键守护进程集成
目前只有两个脚本
键盘自定义配置包括:
- 修改键的绑定和行为
- 针对特定应用的自定义键盘映射
- 复杂修饰键组合
两种高级终端模拟器的配置:
- 配色方案和字体设置
- 热键窗口配置
- Shell 集成功能
- 窗口分割和布局设置
cd到当前项目, 给于install.sh读写执行的权限
chmod +x ./install.sh- 如果需要将当前代码库的配置应用到系统环境中
./install.sh setup该命令实际上是将配置文件软链接到系统对应位置
- 如需将你的系统中已有的配置备份或者更新到当前代码库中,可以运行
./install.sh backup复制你所需的配置部分到对应的配置文件即可
This project is licensed under the GPL License - see the LICENSE file for details.

