콘텐츠로 이동
Dotweave Dotweave v0.39.7

프로필

기기나 환경에 따라 동기화 대상을 선택적으로 관리하는 방법을 알아보세요.

모든 설정 파일이 모든 기기에 필요하지는 않아요. 업무용 노트북에는 업무 인증 정보가, 개인 데스크톱에는 GPU 설정이, Linux 서버에는 macOS 설정이 필요 없어요. 프로필을 사용하면 추적 항목을 이름 붙인 그룹으로 정리해서 각 기기가 필요한 것만 하나의 저장소로 동기화할 수 있어요.


파일을 추적할 때 --profiles로 하나 이상의 프로필에 할당할 수 있어요. 프로필이 지정되지 않은 항목은 default 프로필에 들어가서 모든 기기에서 동기화돼요.

# default 프로필: 모든 기기에서 동기화
dotweave track ~/.gitconfig
dotweave track ~/.zshrc
# "work" 프로필이 활성화된 경우에만 동기화
dotweave track ~/.config/work-vpn --profiles work
# "personal" 프로필이 활성화된 경우에만 동기화
dotweave track ~/.config/personal-tool --profiles personal

default 프로필과 이름 있는 프로필

섹션 제목: “default 프로필과 이름 있는 프로필”
  • default 프로필: --profiles 없이 추적한 항목은 default/ 디렉터리에 들어가고 모든 기기에서 동기화돼요.
  • 이름 있는 프로필: --profiles work으로 추적한 항목은 work/에 들어가고 해당 프로필이 활성화될 때만 동기화돼요.

하나의 항목에 여러 프로필을 지정할 수도 있어요. 그중 하나라도 활성화되면 동기화돼요:

dotweave track ~/.config/shared-tool --profiles work,personal

현재 기기에서 사용할 프로필을 지정하세요:

dotweave profile use work

이제부터 이 기기에서 dotweave pushdotweave pull은 default 항목 외에 work 프로필에 할당된 항목도 포함해요.


동기화 설정에 존재하는 모든 프로필을 확인하세요:

dotweave profile list

manifest.jsonc에 등록된 모든 프로필 이름과 현재 활성화된 프로필이 표시돼요.


# 공통 설정: 프로필 없이, 모든 기기에서 동기화
dotweave track ~/.gitconfig
dotweave track ~/.zshrc
# 업무 전용 파일
dotweave track ~/.config/work-vpn --profiles work
dotweave track ~/.ssh/work-key --mode secret --profiles work
# 개인 전용 파일
dotweave track ~/.config/personal-app --profiles personal

업무용 노트북에서 work 프로필을 설정하고 push:

dotweave profile use work
dotweave push # default + work 항목을 push

개인 기기에서 personal 프로필을 설정하고 pull:

dotweave profile use personal
dotweave pull # default + personal 항목만 pull

업무 기기에서는 개인 설정을, 개인 기기에서는 업무 인증 정보를 볼 일이 없어요. 깔끔한 분리, 하나의 저장소.


프로필은 업무/개인 구분에만 국한되지 않아요. 다른 패턴도 있어요:

  • OS별 프로필: --profiles linux이나 --profiles macos로 OS별 설정을 관리
  • 공통 기반 + 기기별 오버라이드: 공통 설정은 프로필 없이 추적하고, 기기별 항목은 --profiles desktop이나 --profiles server로 추가

sync-directory/
├── manifest.jsonc
├── default/ ← default 프로필 항목
│ ├── .gitconfig
│ └── .zshrc
├── work/ ← work 프로필 항목
│ ├── .config/
│ │ └── work-vpn/
│ └── .ssh/
│ └── work-key.age
└── personal/ ← personal 프로필 항목
└── .config/
└── personal-app/