Skip to content

Вдохновение

Я обожаю возиться с Linux и скриптами. Большую часть времени я просто экспериментирую, пробую случайные идеи ради удовольствия. Даже если я просто сижу и скучаю, я как-то умудряюсь создавать странные маленькие инструменты.

Одной из вещей, которая действительно меня вдохновила, было наблюдение за Chris Titus Tech и его стримами. Он работает над крутым проектом под названием linutil, и это дало мне толчок создать собственную версию чего-то подобного, но по-своему, в своем беспорядочном стиле.

В самом начале проект был... ну, уродливым. Я использовал whiptail для меню. Это работало, но выглядело супер старомодно и казалось немного неуклюжим. Честно говоря, это был просто базовый shell-скрипт с кучей слепленных вместе меню.

📅 Обновлено: 2025-03-21

Позже я начал использовать gum, которое я нашел через ml4w. Это сделало вещи намного красивее. Но потом я попробовал fzf, и это просто зашло. Это было намного быстрее и чище для того, что я хотел делать. Поэтому я отказался от gum (хотя все еще люблю его 💖) и полностью перешел на fzf.

📅 Обновлено: 2025-05-01

🦀 А теперь... большой шаг: я добавил полноценный TUI на базе Rust, используя ratatui. Больше никаких уродливых меню. Новый интерфейс выглядит намного лучше, работает плавнее, и наконец-то я могу добавлять функции, которые просто невозможно было реализовать только на Bash.

Просто чтобы было ясно: реальные скрипты Carch (такие как скрипты настройки, инструменты и т.д.) все еще написаны на Bash. Я не переписываю все это на Rust (это было бы безумием). Rust TUI в основном предназначен для системы меню, обработки навигации, категорий и предварительного просмотра. Когда вы что-то выбираете, все еще запускаются Bash-скрипты внизу, и да, fzf все еще делает свою работу!

Так что да, это смесь: Rust для интерфейса, Bash для логики, и fzf посередине, связывающий все это вместе. Это странно, но работает!

Carch действительно прошел долгий путь от чего-то супер базового и довольно уродливого, до того, чем я горжусь. Еще много работы впереди, но с каждым днем становится все круче.

Выпущено под лицензией MIT.