소개
punktf는 크로스 플랫폼 멀티 타겟 도트파일 관리자입니다. Shemnei가 개발한 이 도구는 Windows 워크스테이션, Ubuntu WSL, Debian 서버, Arch 설치 등 다양한 환경에서 동일한 도트파일 경험을 제공합니다. 하나의 명령으로 여러 플랫폼에 도트파일을 컴파일하고 배포할 수 있으며, 핸들바와 유사한 지시문을 사용해 변수를 삽입하고 섹션을 조건부로 처리할 수 있습니다.
상세정보
멀티 타겟 배포
하나의 명령으로 Windows, Linux 등 서로 다른 플랫폼에 도트파일을 배포할 수 있습니다. 각 타겟별로 서로 다른 파일 집합을 정의하고 조건부로 적용할 수 있습니다.
템플릿 기반 변수 삽입
Handlebar와 유사한 문법을 사용해 프로파일 내에서 변수를 정의하고 조건부 섹션을 처리할 수 있습니다. 이를 통해 환경별로 동적으로 구성을 생성할 수 있습니다.
프리/포스트 훅 지원
배포 전후에 사용자 정의 명령을 실행할 수 있는 프리 및 포스트 훅을 지원합니다.これにより、ファイルのコピー以外の追加設定やクリーンアップタスクを自動化できます。
다중 프로파일 관리
여러 프로파일을 정의해 서로 다른 머신이나 용도에 맞춘 설정을 관리할 수 있습니다. 예를 들어 ‘windows’, ‘linux’, ‘workstation’과 같은 프로파일을 만들어 사용할 수 있습니다.
Chocolatey를 통한 설치 (Windows)
Windows 사용자는 Chocolatey 패키지 관리자를 통해 punktf를 설치할 수 있습니다. 관리자 권한으로 PowerShell 또는 CMD를 열고 다음 명령을 실행합니다:
choco install punktf
이 명령은 최신 버전의 punktf를 다운로드하고 시스템에 설치합니다.
Scoop을 통한 설치 (Windows)
Scoop을 사용하는 경우, 먼저 Shemnei의 버킷을 추가한 후 punktf를 설치할 수 있습니다:
scoop bucket add shemnei https://github.com/Shemnei/scoop-bucket
scoop install punktf
Cargo를 통한 설치 (크로스 플랫폼)
Rust 개발 환경이 있는 경우, crates.io를 통해 punktf를 설치할 수 있습니다:
cargo install punktf
이 방법은 소스에서 직접 빌드하며, 최신 Rust 툴체인이 필요합니다.
소스에서 빌드하기
소스 코드로부터 직접 빌드하려면 다음 단계를 따릅니다:
- 저장소를 클론합니다:
git clone https://github.com/Shemnei/punktf - 클론한 디렉터리로 이동합니다:
cd punktf - 릴리즈 빌드를 수행합니다:
cargo build --release
빌드된 실행 파일은 target/release/ 디렉터리에 생성됩니다.
프로파일 배포하기
특정 프로파일의 도트파일을 배포하려면 deploy 서브커맨드를 사용합니다. 예를 들어 ‘windows’ 프로파일을 배포하려면 다음 명령을 실행합니다:
punktf deploy –profile windows
소스 폴더를 명시적으로 지정하려면 --source 옵션을 사용할 수 있습니다:
punktf deploy –source /path/to/dotfiles –profile windows
도움말 확인하기
어떤 서브커맨드에든 -h 또는 --help 플래그를 추가하면 사용법 정보를 확인할 수 있습니다:
punktf deploy –help
다중 OS 환경에서 일관된 개발 환경 유지
Windows 데스크톱, WSL 내 Linux, 원격 서버 등 여러 시스템을 사용하는 개발자는 punktf를 통해 하나의 도트파일 저장소로 모든 환경의 구성을 동기화할 수 있습니다.これにより、それぞれのマシンで個別に設定を管理する手間が省けます。
조건부 구성이 필요한 경우
운영체제나 사용자 이름 등에 따라 다른 설정을 적용해야 하는 경우, punktf의 템플릿 시스템을 사용해 변수와 조건부 블록을 정의할 수 있습니다.たとえば、Windowsでは特定のパスを使用し、Linuxでは別のパスを使用するような設定を1つのテンプレートファイルで管理できます。
지원 환경·시스템 요구사항
punktf는 Windows와 Linux에서 실행됩니다. Windows에서는 Chocolatey, Scoop을 통해 설치할 수 있으며, 크로스 플랫폼 배포를 위해서는 Rust 툴체인이 필요합니다. 소스에서 빌드하는 경우 최신 Rust 안정 버전과 나이트리 툴체인이 요구됩니다.
최신 버전·업데이트
현재 버전은 3.1.2이며, Chocolatey 패키지 및 crates.io를 통해 최신 버전을 확인할 수 있습니다. 저장소의 릴리스 페이지에서 업데이트 내역을 확인할 수 있습니다.
제한 사항·확인 사항
punktf를 사용하려면 소스 폴더에 profiles/와 dotfiles/ 두 개의 하위 폴더가 반드시 존재해야 합니다. 프로파일은 YAML 또는 JSON 형식으로 정의해야 하며, 도트파일은 해당 폴더 구조에 맞게 배치해야 합니다. 환경 변수 PUNKTF_SOURCE를 설정하지 않는 경우, 현재 작업 디렉터리를 소스 폴더로 간주합니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


