zsh/: Zsh/Bash 설정과 플러그인 설치 스크립트.tmux/: tmux 설정과 TPM 설치 스크립트.git/: Git 설정과 다중 계정 관리 스크립트.ssh/: SSH 설정 (자동 설정 대상 아님, 수동 실행 필요).nvim/: Neovim 설정. LazyVim(lazy/)과 고전 Vimscript(classic/) 구성으로 나뉩니다.claude/: Claude Code 설정 (~/.claude로 링크).hammerspoon/: Hammerspoon 설정 (~/.hammerspoon으로 링크, macOS 전용).home/: 단독 설정 파일 (.ideavimrc,.clang-format,.vimrc등).scripts/: 부트스트랩 오케스트레이터와 공통 라이브러리.
./scripts/bootstrap.sh스크립트는 각 모듈의 setup.sh를 실행하여 홈 디렉터리에 심볼릭 링크하고, 기본값으로 nvim/lazy/를 ~/.config/nvim에 연결한 뒤 tmux 설정을 다시 로드합니다.
| 모듈 | bootstrap.sh | 비고 |
|---|---|---|
home/ |
✅ | 단독 설정 파일 |
zsh/ |
✅ | .zshrc + oh-my-zsh, 플러그인 설치 |
tmux/ |
✅ | .tmux.conf + TPM 설치 |
git/ |
✅ | .gitconfig |
claude/ |
✅ | ~/.claude |
hammerspoon/ |
✅ | macOS 전용 |
nvim/ |
✅ | LazyVim 기본 |
ssh/ |
❌ | 수동 실행 필요 — --force 시 기존 키 유실 위험 |
옵션:
--force: 대상 위치에 있는 기존 파일이나 링크를 덮어씁니다.--help: 사용법을 출력합니다.
./scripts/bootstrap.ps1Windows PowerShell에서 실행하면 PowerShell 프로필 링크, Neovim 구성, 패키지 설치를 순서대로 수행합니다.
필요한 패키지를 한 번에 설치하려면 부트스트랩 후 brew bundle install --file packages/Brewfile를 실행하세요.
여러 GitHub 계정(개인/회사)을 한 PC에서 관리하기 위한 스크립트를 제공합니다.
./git/setup-github-account.sh대화형 프롬프트로 다음을 한번에 설정합니다:
- SSH 키 생성
- SSH config 추가
- Workspace별 Git 사용자 설정
필요한 부분만 설정하고 싶다면:
1. SSH 키 생성
./git/opt/generate-ssh-key.sh
./git/opt/generate-ssh-key.sh myusername my@email.com2. SSH config 추가
./git/opt/add-ssh-config.sh
./git/opt/add-ssh-config.sh myusername3. Git includeIf 설정
./git/opt/setup-git-includeif.sh
./git/opt/setup-git-includeif.sh ~/workspace/company "John Doe" john@company.com설정 후 다음과 같이 사용합니다:
# 리포지토리 클론
git clone git@github.com-myusername:username/repo.git
# 기존 리포지토리 remote URL 변경
git remote set-url origin git@github.com-myusername:username/repo.git
# SSH 연결 테스트
ssh -T git@github.com-myusernameworkspace 경로에서 작업하면 해당 계정의 Git 사용자 정보가 자동으로 적용됩니다.
API 토큰 등 민감한 환경 변수는 ~/.secrets(Bash/Zsh) 또는 ~/.secrets.ps1(PowerShell)에서 관리합니다.
# 템플릿 복사 후 값 채우기
cp ~/.secrets.example ~/.secrets
chmod 600 ~/.secrets # Linux/Mac만 해당자세한 내용은 SECURITY.md를 참고하세요.
각 항목을 개별적으로 링크하고 싶다면 다음 명령을 참고하세요.
ln -s "$PWD/zsh/.bashrc" ~/.bashrc
ln -s "$PWD/zsh/.bash_profile" ~/.bash_profile
ln -s "$PWD/zsh/.zshrc" ~/.zshrc
ln -s "$PWD/git/.gitconfig" ~/.gitconfig
ln -s "$PWD/tmux/.tmux.conf" ~/.tmux.conf
tmux source-file ~/.tmux.conf
ln -s "$PWD/home/.ideavimrc" ~/.ideavimrc
ln -s "$PWD/hammerspoon" ~/.hammerspoon
ln -s "$PWD/ssh" ~/.ssh # 실제 키는 커밋하지 말고, 템플릿을 추가하면 .gitignore도 갱신하세요
ln -s "$PWD/home/.clang-format" ~/.clang-format
mkdir -p ~/.config
ln -s "$PWD/nvim/lazy" ~/.config/nvim # 클래식 구성을 쓰려면 "$PWD/nvim/classic" 사용