我的 dotfiles 配置,专注于提供一个简洁、可维护且跨平台的开发环境。
- 🚀 基于 Dotbot 的一键安装
- 🖥️ 基于主机名的智能配置管理
- 🔧 完整的终端开发环境:
- 🔌 告别 submodules 依赖地狱,zsh/tmux/vim 插件管理简单直观
- 🍺 Linux(x86) 采用 Homebrew,享受与 macOS 一致的包管理体验
- 🌐 开箱即用的智能代理配置(完美支持 macOS/WSL/Linux)
- ⚙️ 现代化终端工具链集成(eza/bat/delta/yazi 等)
-
🚫 注意: ARM 架构的 Linux 暂不支持 Homebrew
-
⛑️ 需要预先安装 git, zsh, python 和 gcc
# Ubuntu 示例 sudo apt update && sudo apt install git zsh python3 build-essential -y
-
⚠️ Linux 下不能以 root 用户安装 Homebrew# 如需要可以创建新用户( 需保证已经安装了 zsh) NEW_USER_NAME=alex sudo useradd -m -s /bin/zsh -G users,sudo $NEW_USER_NAME && sudo passwd $NEW_USER_NAME
切换到新用户
alexsu - alex
-
克隆仓库
git clone https://github.com/insv23/dotfiles.git ~/.dotfiles && cd ~/.dotfiles
-
运行安装脚本
如果某些文件已存在,需要先删除:
rm -f ~/.profile ~/.bashrc ~/.gitconfig ~/.zshrc && ./install source ~/.zshrc
./zsh/install_plugins.sh ./vim/install_plugins.sh ./brew/0.install.sh ./brew/1.brewInstallApps.sh (⬇️ Ubuntu 系统交互式安装 Caddy/Docker 等) sudo ./brew/2.ubuntuInstall.sh ./tmux/install_tpm.sh
运行完成后,注销当前用户会话并重新登录,配置将自动生效。
-
部分需要手动安装的,参考手动安装指南
-
主机特定配置 系统会根据当前主机名自动创建对应的配置文件,例如:
~/.dotfiles/zsh/hosts/macmini.local.zshrc你可以在这个文件中添加仅适用于当前主机的个性化配置,比如:- 代理设置
- 环境变量
- 本地工具路径
- 特定别名(alias)等
在任意目录下执行:
dfu将会以远程仓库的最新状态覆盖本地 dotfiles 仓库
.
├── brew/ # Homebrew 相关配置
├── kitty/ # kitty 终端配置
├── nvim/ # Neovim 配置(不再折腾 nvim)
├── tmux/ # Tmux 配置
├── vim/ # Vim 配置
├── yazi/ # Yazi 文件管理器配置
└── zsh/ # Zsh 配置
└── hosts/ # 不同主机的特定配置
- 使用 Homebrew 作为主要的包管理器
- 预配置了常用开发工具
- 现代化的命令行替代品
ls→ezacat→batcd→zoxidefind→fd
- Git 集成
- 美化的差异查看器 (delta)
- 快捷命令别名
- 自动补全
-
自动检测运行环境
-
简单的开关命令
pxyon- 启用代理pxyoff- 关闭代理
-
如果想让某台机器的终端启动时自动开启代理,可以按以下步骤设置:
- 找到对应的主机配置文件:
zsh/hosts/主机名.local.zshrc - 在文件末尾添加:
# ---- auto proxy ---- pxyon > /dev/null
- 找到对应的主机配置文件:
-
如果你的机器默认开启了全局代理,但想让某些项目目录自动关闭代理,可以使用 direnv.
- 在该目录下创建
.envrc文件:
source_env ~/.dotfiles/zsh/aliases.sh pxyoff- 允许 direnv 加载该配置:
direnv allow
这样每次进入该目录时会自动关闭代理,离开时则恢复全局代理设置。
- 在该目录下创建
- 确保不是以 root 用户运行
- 检查系统架构是否支持
- 确保网络连接正常
- 检查目标位置是否有同名文件
- 使用
rm -f删除已存在的文件 - 重新运行
./install
欢迎提交 Issue 和 Pull Request!
MIT License