Skip to content

clang-engineer/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

310 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles 설정 가이드

저장소 구조

  • 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/: 부트스트랩 오케스트레이터와 공통 라이브러리.

빠른 시작

macOS/Linux

./scripts/bootstrap.sh

스크립트는 각 모듈의 setup.sh를 실행하여 홈 디렉터리에 심볼릭 링크하고, 기본값으로 nvim/lazy/~/.config/nvim에 연결한 뒤 tmux 설정을 다시 로드합니다.

자동 vs 수동 설정

모듈 bootstrap.sh 비고
home/ 단독 설정 파일
zsh/ .zshrc + oh-my-zsh, 플러그인 설치
tmux/ .tmux.conf + TPM 설치
git/ .gitconfig
claude/ ~/.claude
hammerspoon/ macOS 전용
nvim/ LazyVim 기본
ssh/ 수동 실행 필요--force 시 기존 키 유실 위험

옵션:

  • --force: 대상 위치에 있는 기존 파일이나 링크를 덮어씁니다.
  • --help: 사용법을 출력합니다.

Windows

./scripts/bootstrap.ps1

Windows PowerShell에서 실행하면 PowerShell 프로필 링크, Neovim 구성, 패키지 설치를 순서대로 수행합니다.

필요한 패키지를 한 번에 설치하려면 부트스트랩 후 brew bundle install --file packages/Brewfile를 실행하세요.

GitHub 다중 계정 관리

여러 GitHub 계정(개인/회사)을 한 PC에서 관리하기 위한 스크립트를 제공합니다.

통합 설정 (추천)

./git/setup-github-account.sh

대화형 프롬프트로 다음을 한번에 설정합니다:

  1. SSH 키 생성
  2. SSH config 추가
  3. Workspace별 Git 사용자 설정

개별 스크립트

필요한 부분만 설정하고 싶다면:

1. SSH 키 생성

./git/opt/generate-ssh-key.sh
./git/opt/generate-ssh-key.sh myusername my@email.com

2. SSH config 추가

./git/opt/add-ssh-config.sh
./git/opt/add-ssh-config.sh myusername

3. 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-myusername

workspace 경로에서 작업하면 해당 계정의 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" 사용

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors