Dark mode
Why Use Chezmoi?
Chezmoi เป็นเครื่องมือจัดการไฟล์คอนฟิก (dotfiles) ที่ช่วยแก้ปัญหาการซิงค์การตั้งค่าระหว่างหลายเครื่องได้อย่างมีประสิทธิภาพ เหมาะสำหรับ:
- นักพัฒนาที่ใช้คอมพิวเตอร์หลายเครื่อง
- ทีมงานที่ต้องการแชร์การตั้งค่าพื้นฐาน
- ผู้ที่ต้องการเก็บการตั้งค่าทั้งหมดไว้ในที่เดียวอย่างปลอดภัย
- จัดการง่าย ด้วยคำสั่งพื้นฐานไม่กี่คำสั่ง
- ปลอดภัย ด้วยการเข้ารหัสไฟล์ลับอัตโนมัติ
- ยืดหยุ่น ผ่านระบบเทมเพลตที่ปรับแต่งได้
- ทำงานทุกที่ ไม่ว่าคุณจะใช้ OS ไหนก็ตาม
คุณสมบัติ | เมื่อใช้ Chezmoi | เมื่อไม่ใช้ Chezmoi |
---|---|---|
ข้ามแพลตฟอร์ม | ✅ ใช้ได้กับ Windows, macOS, Linux | ❌ ต้องตั้งค่าด้วยตัวเองแต่ละระบบ |
ความปลอดภัย | ✅ เข้ารหัสข้อมูลลับด้วย GPG/Age | ❌ ข้อมูลลับเก็บเป็นไฟล์ธรรมดา |
ระบบเวอร์ชัน | ✅ มี Git ในตัว | ❌ ต้องจัดการ Git เอง |
หลายเครื่อง | ✅ ตั้งค่าต่างกันได้แต่ละเครื่อง | ❌ ใช้การตั้งค่าเดียวกันทุกเครื่อง |
เทมเพลต | ✅ รองรับ Go template | ❌ ไฟล์คอนฟิกแบบตายตัว |
การพึ่งพา | ✅ ใช้ได้เลยไม่ต้องติดตั้งอะไรเพิ่ม | ❌ ต้องติดตั้งเครื่องมือเพิ่มเติม |
Installation
ติดตั้ง Chezmoi ได้ง่ายๆ ด้วย package manager ของแต่ละระบบปฏิบัติการ โดย:
- Windows: ใช้ Scoop ซึ่งเป็น package manager สำหรับ Windows
- macOS/Linux: ใช้ Homebrew ซึ่งเป็น package manager ที่นิยม
bash
scoop install chezmoi
bash
brew install chezmoi
Usage
Local → Remote
ใช้สำหรับกรณีที่ต้องการบันทึกการตั้งค่าจากเครื่องไปยัง repository หลัก โดยเริ่มจากการสร้าง repository ใหม่ด้วยคำสั่ง init จากนั้นเพิ่มไฟล์ที่ต้องการจัดการด้วยคำสั่ง add และสุดท้ายอัพเดทการเปลี่ยนแปลงไปยัง remote repository
บันทึกการตั้งค่าจากเครื่องขึ้นเก็บใน repository
- เริ่มต้น repository
bash
chezmoi init
- เพิ่มไฟล์จากเครื่อง local
bash
chezmoi add ~/.bashrc
- อัพเดท remote repository
bash
chezmoi cd
git add .
git commit -m "Update dotfiles"
git push
Remote → Local
ใช้สำหรับกรณีที่ต้องการนำการตั้งค่าจาก repository หลักมาใช้กับเครื่องใหม่ โดยเริ่มจากการดึงการตั้งค่าจาก repository ที่มีอยู่ด้วยคำสั่ง init ตามด้วย URL และนำการตั้งค่าไปใช้กับเครื่องปัจจุบันด้วยคำสั่ง apply
นำการตั้งค่าจาก repository ไปใช้กับเครื่องใหม่
- โคลน repository
bash
chezmoi init https://github.com/username/dotfiles.git
- นำการตั้งค่าไปใช้
bash
chezmoi apply
CLI Commands
คำสั่ง Chezmoi ที่ใช้บ่อยและควรรู้:
- คำสั่งจัดการไฟล์คอนฟิก
- คำสั่งทำงานกับ Git repository
- คำสั่งจัดการ template
คำสั่ง | คำอธิบาย | ตัวอย่างการใช้งาน |
---|---|---|
chezmoi init | เริ่มต้น repository สำหรับจัดการ dotfiles | chezmoi init |
chezmoi add <file> | เพิ่มไฟล์เข้าระบบจัดการ | chezmoi add ~/.bashrc |
chezmoi diff | ดูความแตกต่างระหว่างไฟล์ปัจจุบันกับที่เก็บใน repository | chezmoi diff |
chezmoi apply | นำการเปลี่ยนแปลงจาก repository ไปใช้กับระบบ | chezmoi apply |
chezmoi update | อัปเดตไฟล์ใน repository จากระบบ | chezmoi update |
chezmoi cd | เปลี่ยน directory ไปที่ repository | chezmoi cd |
chezmoi doctor | ตรวจสอบปัญหาต่างๆ ในระบบ | chezmoi doctor |
chezmoi secret | จัดการไฟล์ลับ (ต้องตั้งค่า encryption ก่อน) | chezmoi secret edit ~/.ssh/id_rsa |