
영감
저는 리눅스와 스크립트를 가지고 노는 것을 좋아합니다. 대부분의 시간을 그냥 실험하고, 재미로 이상한 아이디어들을 시도해보는 데 보내죠. 그냥 앉아서 지루할 때도, 어떻게든 이상한 작은 도구들을 만들게 됩니다.
정말로 영감을 준 것 중 하나는 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는 정말 기본적이고 좀 못생겼던 것에서, 제가 자랑스러워할 수 있는 것으로 많이 발전했습니다. 할 일은 여전히 많지만, 매일 더 멋져지고 있어요.