소개
Dotter는 Rust로 작성된 dotfile 관리자이자 템플레이터입니다. 홈 디렉터리의 점으로 시작하는 설정 파일을 효율적으로 백업, 배포, 동기화하는 데 사용됩니다. 여러 머신 간 설정 차이를 처리하고 자동 심볼릭 링크 생성을 통해 복잡한 수작업을 줄입니다. SuperCuber가 개발 및 유지 관리하며, Unlicense 하에 배포됩니다.
상세정보
배포 및 언배포
기본 명령인 dotter deploy를 실행하면 저장소에 정의된 모든 파일이 대상 위치에 배포됩니다. 반대로 dotter undeploy는 현재 캐시된 모든 배포 파일을 대상 위치에서 삭제합니다. 이 과정에서 --force 옵션을 사용하면 내용이 예기치 않은 파일도 덮어쓸 수 있습니다.
설정 초기화 및監視
dotter init 명령은 현재 디렉터리의 모든 파일을 포함하는 기본 global.toml과 local.toml을 생성하여 설정을 시작하도록 도와줍니다. dotter watch는 저장소의 변경을 실시간으로 감지하고 변경이 발생할 때 자동으로 배포를 수행하며, --dry-run과 결합하여 실제 변경 없이 미리볼 수 있습니다.
템플레이팅 및 패치 적용
Dotter는 local.toml 평가 후 표준 입력을 통해 추가적인 파일/변수 패치를 적용할 수 있는 --patch 옵션을 지원합니다. 이는 모든 stdin을 패치로 간주하며, --noconfirm가 자동으로 적용됩니다. 또한 사전/사후 배포 스크립트(--pre-deploy, --post-deploy 등)를 지정하여 배포 전후에 사용자 정의 로직을 실행할 수 있습니다.
다운로드·설치 방법
Windows 사용자는 Scoop 패키지 관리자를 통해 Dotter를 설치할 수 있습니다. 터미널 또는 PowerShell에서 scoop install dotter 명령을 실행하면 최신 릴리스가 설치됩니다. 이 외에 공식 크레이트.io 크레이트에서 cargo install dotter로 설치하거나, GitHub 릴리스 페이지에서 플랫폼별 바이너리를 직접 다운로드하여 PATH에 추가할 수 있습니다.
기본 사용법/명령어
저장소 내에서 dotter를 실행하면 deploy 명령이 기본으로 작동하여 파일이 대상 위치에 배포됩니다. 사용 가능한 모든 명령과 옵션은 dotter -h 또는 dotter --help로 확인할 수 있습니다. 주요 명령으로는 deploy, undeploy, init, watch, gen-completions가 있으며, 자세한 동작은 dotter -h로 서브커맨드별 도움말을 볼 수 있습니다.
이런 경우에 유용합니다
여러 윈도우와 리눅스 머신을 오가며 개발 환경을 일관되게 유지해야 하는 사용자에게 유용합니다. 예를 들어, 쉘 프롬프트, 에디터 설정, git 구성을 하나의 저장소에 두고 Dotter로 배포하면 새 머신에서도 빠르게 동일한 환경을 재현할 수 있습니다. 또한 설정 파일의 변경을 추적하고 배포 시 차이가 있는 경우를 시각적으로 확인해야 할 때 -v 옵션을 통해 상세한 diff 출력을 얻을 수 있습니다.
지원 환경·시스템 요구사항
Dotter는 Windows x64 아키텍처용 실행 파일(.exe)으로 배포되며, Scoop을 통해 간단히 설치할 수 있습니다. Rust 기반 도구이므로 별도의 런타임 의존성은 없으며, 실행 파일을 PATH에 추가하면 터미널에서 바로 사용할 수 있습니다.
최신 버전·업데이트
현재 버전은 0.13.5이며, GitHub 저장소의 릴리스 페이지에서 변경 사항을 확인할 수 있습니다. 최신 버전은 Scoop 저장소를 통해 scoop update dotter 명령으로 업데이트할 수 있습니다.
제한 사항·확인 사항
Dotter는 설정 파일의 배포 대상 경로를 사용자가 직접 정의해야 하며, 잘못된 경로 설정 시 의도하지 않은 위치에 파일이 생성될 수 있습니다. 배포 작업은 캐시 기반으로 이루어지므로, 저장소 외부에서 수정된 파일은 watch 모드에서도 감지되지 않을 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


