Как собрать рабочий софт на свежем дистрибутиве Linux в пару кликов с TuxMate
Репозиторий давно не обновлялся
Последнее обновление было 6 месяцев назад.
Каждый раз, когда я ставлю свежий дистрибутив Linux или настраиваю рабочую станцию с нуля, начинается один и тот же рутинный квест. Сначала вспоминаешь точные названия пакетов в конкретном репозитории. В Arch это может быть одно имя, в Debian пакет разбит на две части с суффиксами -bin или -common, в Fedora называется иначе, а в AUR лежит третья сборка. В итоге первые два часа уходят на перебор apt search, pacman -Ss и поиск правильных Flatpak-идентификаторов.
В мире Windows для массовой установки софта годами использовали Ninite, где можно накликать нужные программы и скачать один готовый установщик. В Linux ситуация сложнее из-за зоопарка пакетных менеджеров. Проект TuxMate пытается решить эту задачу элегантно и без скрытой магии.

Что такое TuxMate
TuxMate — веб-генератор установочных команд и шелл-скриптов для различных дистрибутивов Linux, macOS и NixOS. Автор проекта поставил простую цель: дать разработчику каталог софта, где можно один раз выбрать привычные инструменты и сразу получить готовый, полностью прозрачный скрипт для своей системы.
Главное отличие TuxMate от сомнительных установщиков из сети заключается в архитектурном принципе. Сервис ничего не ставит в фоновом режиме сам по себе. Он работает исключительно как конфигуратор. Вы выбираете утилиты, смотрите на сгенерированный bash-скрипт прямо в браузере, проверяете флаги и только потом запускаете команды в своем терминале.

Поддерживаемые экосистемы
Каталог проекта разбит на категории: разработка, системные утилиты, браузеры, медиа, безопасность и средства коммуникации. На момент подготовки обзора в базе доступно больше 180 приложений.
Генератор умеет мапить пакеты под следующие менеджеры:
- Debian и Ubuntu (
apt) - Arch Linux (
pacman, с поддержкой AUR-хелперовyayиparu) - Fedora (
dnf) - openSUSE (
zypper) - NixOS (генерация готового фрагмента для
configuration.nix) - Универсальные контейнеризированные форматы Flatpak и Snap
- Homebrew (с разделением на CLI-формулы и GUI-каски)
Приоритет отдается нативным пакетам дистрибутива. Если программа отсутствует в официальных репозиториях конкретной ОС, генератор аккуратно подтягивает проверенный Flatpak, Snap или официальный скрипт установки от авторов утилиты.

Чем интересен проект внутри
С технической точки зрения TuxMate написан на свежем стеке: Next.js 16 (App Router), React 19 и TypeScript. Для стилизации используется Tailwind CSS 4, а плавные анимации каталога сделаны на связке Framer Motion и GSAP.
Вот несколько любопытных деталей реализации, на которые стоит обратить внимание при изучении исходников:
Продуманные шелл-скрипты
Когда вы скачиваете сгенерированный .sh файл, внутри оказывается не просто портянка из команд install. Скрипт содержит базовые проверки окружения:
- Проверка наличия пакета в системе перед скачиванием, чтобы не гонять трафик вхолостую.
- Механизм повторных попыток с экспоненциальной задержкой при сбоях сети.
- Параллельная установка для Flatpak, что заметно экономит время на жирном софте вроде браузеров и IDE.
- Цветное форматирование вывода в терминале с прогресс-баром и финальной сводкой.
Работа со спецификой дистрибутивов
Разработчики учли нюансы разных ОС. Если вы собираете скрипт под Arch, интерфейс предлагает переключатель между yay и paru, а рядом с неофициальными пакетами выводит явную плашку AUR.
Для NixOS сервис формирует валидный блок environment.systemPackages и автоматически проверяет наличие проприетарного ПО, добавляя в конфиг разрешение nixpkgs.config.allowUnfree = true, если вы выбрали Discord, VS Code или Spotify.

Интерфейс и работа офлайн
Веб-приложение работает как полноценный PWA с кеширующим сервис-воркером. Страница продолжит работать, даже если интернет на настраиваемой машине временно пропал.
Для любителей работать без мыши есть полноценная навигация клавиатурой: клавиши Vim (hjkl), стрелки, фокус на строку поиска по нажатию слэша / и быстрый сброс по Escape.
Как запустить локально или развернуть у себя
Если вам не хочется зависеть от внешнего хостинга или вы настраиваете закрытый контур, проект легко поднять в Docker.
Готовый контейнер можно забрать из GitHub Container Registry:
docker run -d -p 3000:3000 --name tuxmate ghcr.io/abusoww/tuxmate:latest
Если планируете добавить свои внутренние пакеты компании или кастомные репозитории, проект собирается стандартными средствами Node.js:
git clone https://github.com/abusoww/tuxmate.git
cd tuxmate
npm install
npm run dev
Вся база приложений лежит в каталоге src/lib/apps/ в виде обычных JSON-файлов, разбитых по категориям. Добавить новую утилиту с правильными именами пакетов для всех дистрибутивов не составляет труда.
Практическая польза и ограничения
TuxMate закрывает давнюю головную боль системных администраторов и разработчиков, которым часто приходится поднимать тестовые виртуальные машины или готовить ноутбуки для новых сотрудников.
Вместо ведения разрозненных текстовых заметок с командами apt install ... вы получаете наглядную витрину. Выбрали Docker, Git, Alacritty, Neovim, нужные браузеры, скопировали одну строчку и запустили.
Среди ограничений стоит учитывать:
- База пакетов сейчас насчитывает около двух сотен приложений, узкоспециализированный софт придется ставить руками.
- Имена пакетов в репозиториях со временем меняются, поэтому проверять сгенерированный код перед выполнением с правами
sudoпо-прежнему обязательно.
Стоит ли пробовать
TuxMate — добротный опенсорсный инструмент с открытым исходным кодом под лицензией GPL-3.0. Он берет на себя самую скучную часть настройки Linux-систем и экономит кучу времени при миграциях между дистрибутивами.
Попробовать веб-версию можно на официальном сайте проекта, а если не хватает нужного инструмента или вы нашли неточность в имени пакета для вашего дистрибутива, автор открыт к пулл-реквестам.
