Skip to content

영감

저는 리눅스와 스크립트를 가지고 노는 것을 좋아합니다. 대부분의 시간을 그냥 실험하고, 재미로 이상한 아이디어들을 시도해보는 데 보내죠. 그냥 앉아서 지루할 때도, 어떻게든 이상한 작은 도구들을 만들게 됩니다.

정말로 영감을 준 것 중 하나는 Chris Titus Tech와 그의 스트림을 보는 것이었습니다. 그는 linutil이라는 멋진 프로젝트를 작업하고 있고, 그것이 저에게 비슷한 것을 만들어보자는 동기를 주었지만, 저만의 엉성한 방식으로 말이죠.

처음에 이 프로젝트는... 음, 못생겼어요. 메뉴로 whiptail을 사용했거든요. 동작은 했지만, 너무 구식으로 보였고 좀 어색했습니다. 솔직히 그냥 기본적인 셸 스크립트에 메뉴들을 덕지덕지 붙여놓은 거였어요.

📅 업데이트: 2025-03-21

나중에 ml4w를 통해 발견한 gum을 사용하기 시작했습니다. 그것으로 훨씬 보기 좋아졌어요. 하지만 그때 fzf를 시도해봤는데, 그게 바로 딱 맞았습니다. 제가 하고 싶었던 것에 훨씬 빠르고 깔끔했거든요. 그래서 gum을 버리고 (여전히 좋아하지만 💖) fzf로 올인했습니다.

📅 업데이트: 2025-05-01

🦀 그리고 지금... 큰 발걸음: ratatui를 사용한 완전한 Rust 기반 TUI를 추가했습니다. 더 이상 못생긴 메뉴는 없어요. 새로운 인터페이스는 훨씬 보기 좋고, 더 부드럽게 실행되며, 드디어 Bash만으로는 불가능했던 기능들을 추가할 수 있게 되었습니다.

하지만 명확히 하자면 실제 Carch 스크립트들(설정 스크립트, 도구 등)은 여전히 Bash로 작성되어 있습니다. 그 모든 것을 Rust로 다시 작성할 생각은 없어요 (그건 미친 짓이겠죠). Rust TUI는 주로 메뉴 시스템, 탐색, 카테고리, 미리보기를 처리하는 용도입니다. 무언가를 선택하면 여전히 아래에서 Bash 스크립트가 실행되고, 네, fzf도 여전히 그곳에서 일을 하고 있어요!

그래서 네, 혼합형이에요: 인터페이스는 Rust, 로직은 Bash, 그리고 중간에서 모든 것을 연결하는 fzf. 이상하지만 작동해요!

Carch는 정말 기본적이고 좀 못생겼던 것에서, 제가 자랑스러워할 수 있는 것으로 많이 발전했습니다. 할 일은 여전히 많지만, 매일 더 멋져지고 있어요.

MIT 라이선스 하에 배포됨.