macOS 개발 환경 설정 모음입니다.
도구별로 디렉토리를 나누고, install.sh가 $HOME에 심볼릭 링크를 겁니다.
dotfiles/
├── zsh/
│ ├── .zshrc # oh-my-zsh (agnoster) + alias
│ ├── .zprofile # Homebrew shellenv, OrbStack
│ └── .zshrc.local.example # 머신별 설정 템플릿
├── git/
│ ├── .gitconfig # ~/.gitconfig.local include만 담음
│ ├── .gitconfig.local.example
│ └── ignore # 전역 gitignore (~/.config/git/ignore)
├── nvim/ # LazyVim 기반 Neovim 설정
├── tmux/
│ └── tmux.conf # tpm + catppuccin, vi copy-mode, prefix+Tab으로 yazi
├── ghostty/
│ ├── config # Kanagawa Wave 테마, split 키바인딩
│ └── shaders/cursor.glsl # 커서 셰이더
├── gh/
│ └── config.yml # GitHub CLI 설정
├── Brewfile # Homebrew 패키지 목록
└── install.sh # 설치 스크립트 (여러 번 실행해도 안전)
- Homebrew — 없으면
install.sh가 안내 메시지를 남기고 바로 종료합니다. - oh-my-zsh —
zsh/.zshrc가~/.oh-my-zsh를 사용합니다. 없으면install.sh가 알아서 클론합니다.
git clone https://github.com/hsskey/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh
brew bundle --file=Brewfileinstall.sh는 몇 번을 다시 실행해도 안전합니다.
링크할 자리에 실제 파일이 이미 있으면 덮어쓰지 않고 *.bak.<타임스탬프>로 백업한 다음 링크를 만듭니다.
tmux 플러그인 매니저(tpm)도 없으면 알아서 클론합니다. 이후 tmux 안에서 prefix + I를 누르면 플러그인이 설치됩니다.
머신이나 회사에 따라 달라지는 값은 git에 올라가지 않는 로컬 파일에 둡니다.
- git identity: 이름과 이메일은
~/.gitconfig.local에 넣습니다.install.sh가 템플릿을 만들어 주니 값만 채우면 됩니다. - zsh:
~/.zshrc.local이 있으면.zshrc맨 마지막에 불러옵니다. 머신 전용 PATH, API 키, 회사 관련 alias는 전부 이 파일에 둡니다. (zsh/.zshrc.local.example참고)
이 저장소를 클론해서 그대로 쓸 생각이라면, 실행하기 전에 몇 가지만 손보세요.
~/.gitconfig.local에 본인 git identity를 채우세요. 저장소에 올라가 있는.gitconfig에는 일부러 이름과 이메일을 넣지 않았습니다.- 머신 전용 설정(PATH, 시크릿, 회사 alias)은
.zshrc를 직접 고치지 말고~/.zshrc.local에 쓰세요. .zshrc는 oh-my-zsh가~/.oh-my-zsh에 설치돼 있다는 전제로 동작합니다. 없어도install.sh가 클론해 주므로 따로 설치할 필요는 없습니다.⚠️ zsh/.zshrc의cldalias는claude --dangerously-skip-permissions를 실행합니다. Claude Code의 권한 확인을 전부 건너뛰는 설정이니, 원치 않으면 이 alias를 지우세요.
- yceffort/dotfiles — 도구별 디렉토리 구조와 백업 후 심링크하는 설치 스크립트 스타일
- msbaek/dotfiles —
*.example템플릿과 로컬 오버라이드로 민감한 값을 분리하는 패턴
MIT No Attribution (MIT-0). 출처 표기 없이 자유롭게 쓸 수 있습니다.