디렉터리 구조
dotweave가 설정과 동기화 파일을 저장하는 위치와 구조를 알아보세요.
dotweave가 생성하는 모든 파일은 하나의 디렉터리 안에 있어요: ~/.config/dotweave/. dotweave init을 실행하면 이 구조가 자동으로 만들어져요.
전체 구조
섹션 제목: “전체 구조”디렉터리~/.config/dotweave/
- settings.jsonc
- keys.txt
디렉터리repository/
- manifest.jsonc
디렉터리default/
- .gitconfig
- .zshrc
디렉터리.config/
디렉터리nvim/
- init.lua
디렉터리work/
디렉터리.config/
디렉터리work-tool/
- config.json
디렉터리.ssh/
- config.dotweave.secret
각 파일의 역할
섹션 제목: “각 파일의 역할”repository/: sync 디렉터리
섹션 제목: “repository/: sync 디렉터리”동기화된 파일을 보관하는 Git 저장소예요. dotweave push를 실행하면 파일이 여기에 복사되고, dotweave pull을 실행하면 여기에서 파일이 복원돼요. 이 저장소를 GitHub 같은 리모트에 push하면 여러 기기에서 동기화할 수 있어요.
repository/manifest.jsonc: 설정 파일
섹션 제목: “repository/manifest.jsonc: 설정 파일”설정 파일은 원본(source of truth)이에요. 추적 중인 모든 파일과 디렉터리가 동기화 모드, 프로필, 퍼미션 같은 옵션과 함께 나열돼 있어요. dotweave track과 dotweave untrack 명령어가 이 파일을 수정해요.
repository/default/: default 프로필의 파일들
섹션 제목: “repository/default/: default 프로필의 파일들”특정 프로필에 할당되지 않은 파일이 여기에 저장돼요. 대부분의 dotfile이 이 디렉터리에 위치하게 돼요.
repository/<profile>/: 이름이 지정된 프로필의 파일들
섹션 제목: “repository/<profile>/: 이름이 지정된 프로필의 파일들”프로필을 사용하면 각 프로필마다 고유한 하위 디렉터리가 생겨요. 예를 들어, --profile work으로 추적한 항목은 repository/work/ 아래에 저장돼요.
keys.txt: age identity 파일
섹션 제목: “keys.txt: age identity 파일”시크릿 파일을 암호화하고 복호화하는 데 사용하는 age 비밀 키예요. dotweave init 중에 생성되며, AGE-SECRET-KEY-로 시작해요.
settings.jsonc: 사용자 설정
섹션 제목: “settings.jsonc: 사용자 설정”활성 프로필과 기타 로컬 설정을 저장해요. 보통 직접 편집할 필요는 없으며, dotweave profile use work 같은 명령어가 자동으로 업데이트해 줘요.
manifest.jsonc의 모습
섹션 제목: “manifest.jsonc의 모습”추적 항목 몇 개가 포함된 간단한 예시예요:
{ "version": 7, "age": { "recipients": ["age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p"] }, "entries": [ { "kind": "file", "localPath": { "default": "~/.gitconfig" } }, { "kind": "directory", "localPath": { "default": "~/.config/nvim" } }, { "kind": "file", "localPath": { "default": "~/.ssh/config" }, "mode": { "default": "secret" }, "profiles": ["work"] } ]}설정 파일 구조
섹션 제목: “설정 파일 구조”version: 스키마 버전 (현재7). dotweave가 자동으로 관리해요.age: 암호화 설정.recipients배열에 시크릿 파일을 암호화하는 데 사용하는 공개 키가 나열돼요.entries: 추적 중인 파일과 디렉터리 목록이에요. 각 항목에는 다음 옵션이 있어요: