두 번째 기기 설정
이미 있는 sync 저장소를 age 키와 함께 clone하고, 새 기기에 추적 파일을 복원해요.
이미 게시한 sync 저장소를, 암호화된 파일에 대한 접근을 잃지 않고 가져와요. 끝까지 진행하면 모든 추적 경로가 새 기기에 만들어져요. dotweave CLI가 설치되어 있고, PATH에 git이 있고, 저장소를 만든 기기의 age 비밀 키가 필요해요.
1. age identity 가져오기
시크릿 artifact는 manifest.jsonc의 recipient를 대상으로 암호화돼요. 짝이 되는 비밀 키는 첫 기기의 keys.txt에 있고, dotweave는 이 파일을 커밋하거나 동기화하지 않아요. 비밀번호 관리자나 안전한 전송 수단으로 직접 옮기세요.
cat ~/dotweave.agekey
파일에는 AGE-SECRET-KEY-로 시작하는 줄이 하나 이상 있어요.
저장소의 recipient와 맞는 키가 없으면 dotweave pull이 시크릿 파일을 복호화할 수 없어요. 키의 모든 사본이 사라졌다면 그 artifact는 되살릴 수 없어요.
2. dotweave init으로 clone하기
init이 기존 identity를 그대로 쓰도록 키 파일을 넘기세요.
dotweave init <your-repo-url> --key-file ~/dotweave.agekey
--key-file을 생략하면 init이 키를 물어봐요. 대화형 터미널에서는 되지만 스크립트에서는 실패해요.
3. pull 미리보기
아직 홈 디렉터리에는 아무것도 쓰이지 않았어요. 적용하기 전에 계획을 보세요.
dotweave status
dotweave pull --dry-run
· Preparing pull...
~ Planned pull changes
Update from repository (1)
+ /home/you/.config/nvim/init.lua
~ Pull preview (dry run)
updated: 1 paths would be updated
removed: 0 paths would be removed
삭제 목록을 꼼꼼히 읽으세요. pull은 저장소에 없는 로컬 파일을 삭제해요. 이 기기에서만 만들고 추적하지 않은 설정 파일은 안전하지만, artifact가 없는 추적 경로는 제거돼요.
4. pull 적용
dotweave pull
pull은 계획을 출력하고 Apply these changes? [y/N] 으로 물어봐요. y로 답하세요. 프롬프트를 건너뛰려면 -y를 넘기고, 비대화형 터미널에서는 이 플래그가 필요해요.
dotweave pull -y
결과 확인
dotweave doctor
dotweave status
· Running checks...
✔ Doctor passed (6 ok · 0 warnings · 0 failures)
doctor는 저장소를 읽을 수 있는지, 설정이 검증을 통과하는지, identity 파일이 있는지, 모든 추적 경로가 존재하는지 확인해요. identity 실패가 나오면 1단계로 돌아가세요. 시크릿이 복호화되지 않으면 내 키가 manifest.jsonc의 recipient 중 어느 것과도 맞지 않는 거예요.
두 기기가 준비됐으니 매일 쓰는 push와 커밋 흐름으로 넘어가거나, 작업을 덮어쓰지 않는 순서는 여러 기기 동기화 유지하기에서 확인하세요.