Jakeuj's Notes master Help

macOS Dotfiles 管理完整指南

什麼是 Dotfiles?

Dotfiles 是指在 macOS / Linux 系統中,以「.」開頭的設定檔。這些檔案通常位於使用者家目錄(~)下,用來控制各種 CLI 與開發工具的行為。

常見範例:

  • ~/.zshrc

  • ~/.gitconfig

  • ~/.vimrc

  • ~/.ssh/config

  • ~/.config/alacritty/alacritty.yml

因為這些檔名都以「dot」開頭,所以統稱為 dotfiles。

為什麼要管理 Dotfiles?

當你遇到以下情境時:

  • 重灌電腦

  • 換新 Mac

  • 同時使用多台機器

  • 建立新的開發環境

如果沒有版本控制:

  • 所有 shell 設定要重建

  • alias 要重打

  • plugin 要重裝

  • terminal 設定要重新調整

管理 dotfiles 的目的是:

✔ 環境可重現 ✔ 版本可追蹤 ✔ 一鍵快速還原 ✔ 團隊可共享

建議的 Dotfiles 專案結構

.dotfiles/ ├── zsh/ │ ├── .zshrc │ └── .p10k.zsh ├── git/ │ └── .gitconfig ├── alacritty/ │ └── alacritty.yml ├── brew/ │ └── Brewfile ├── install.sh └── README.md

範例:

ln -s ~/.dotfiles/zsh/.zshrc ~/.zshrc

原理:

  • 真正編輯的是 .dotfiles 裡的檔案

  • 系統實際使用的是 ~ 底下的設定檔

  • Git 只需管理 .dotfiles 目錄

Oh My Zsh 建議整合方式

建議不要把整個 oh-my-zsh 專案納入版本控制,而是管理以下內容:

  • .zshrc

  • plugin 列表

  • Powerlevel10k 設定檔

  • alias

  • 環境變數

範例 plugins 設定:

plugins=( git docker kubectl zsh-autosuggestions zsh-syntax-highlighting )

Homebrew 整合管理

匯出已安裝套件:

brew bundle dump --file=~/.dotfiles/brew/Brewfile --force

安裝套件:

brew bundle --file=~/.dotfiles/brew/Brewfile

建議的 install.sh 範例

#!/bin/bash echo "建立 symbolic links..." ln -sf ~/.dotfiles/zsh/.zshrc ~/.zshrc ln -sf ~/.dotfiles/git/.gitconfig ~/.gitconfig echo "安裝 Homebrew 套件..." brew bundle --file=~/.dotfiles/brew/Brewfile echo "完成設定"

新電腦快速還原流程

git clone https://github.com/yourname/.dotfiles.git ~/.dotfiles cd ~/.dotfiles chmod +x install.sh ./install.sh

幾分鐘內即可完成完整開發環境建置。

進階建議

  • 使用 GitHub Private Repo 保存個人設定

  • 不要把敏感資訊(如 SSH 私鑰)直接放入 repo

  • 可使用 .env 或分離 private config

  • 可搭配 chezmoi / stow 進行更進階管理

結語

Dotfiles 本質上是:

透過版本控制,你可以讓自己的開發環境變成可複製、可追蹤、可還原的工程資產。

12 February 2026