Менеджер плагинов, который ждал ваш .zshrc
Объявляйте плагины прямо в коде. Фиксируйте на точных коммитах. Устанавливайте параллельно. Нулевые зависимости помимо Zsh и Git.
Добавьте это в ваш .zshrc
Вставьте фрагмент кода ниже. При первом запуске shell Zert автоматически клонирует себя.
# бутстрап zert — запускается один раз, автоматически клонируется при первом запуске
export ZERT_PLUGINS_DIR="${ZERT_PLUGINS_DIR:-${ZERT_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/zert}/plugins}"
[[ -f "$ZERT_PLUGINS_DIR/zert/zert.zsh" ]] || \
(curl -fsSL https://raw.githubusercontent.com/oxcl/zert/main/bootstrap.sh | zsh)
source "$ZERT_PLUGINS_DIR/zert/zert.zsh"
# объявите ваши плагины
zert zsh-users/zsh-autosuggestions
zert zsh-users/zsh-syntax-highlighting
zert zert # zert управляет собой
Откройте новый терминал, и Zert сделает всё остальное — автоматически клонирует, компилирует и загружает ваши плагины.
Всё что нужно. Ничего лишнего.
Нет Python. Нет Ruby. Нет Node. Только Zsh делает то, что он умеет лучше всего.
Декларативный
Объявляйте плагины прямо в вашем .zshrc. Нет отдельного файла конфигурации. Нет YAML, TOML или JSON — просто zert user/repo.
Воспроизводимость через lock-файл
Каждый плагин зафиксирован на точном SHA коммита в zert.lock. Закоммитьте его в dotfiles для бит-в-бит идентичных установок везде.
Параллельная установка
Отсутствующие плагины клонируются одновременно с помощью git treeless clones. Установка параллельная, загрузка последовательная — без сюрпризов с порядком.
Нулевые зависимости
Чистый Zsh. Нет Python, Ruby, Node или Perl. Только внешние бинарные файлы: git, curl и стандартные инструменты POSIX.
Самоуправление
Добавьте zert zert в ваш .zshrc, и Zert будет отслеживать и обновлять себя, как любой другой плагин. Даже на определённой ветке.
Совместимость с OMZ & Prezto
Загружайте библиотеки Oh-My-Zsh и модули Prezto без установки этих фреймворков. Используйте zert use ohmyzsh и zert use prezto.
Четыре шага. Вот и всё.
От нуля до полностью управляемого shell менее чем за минуту.
Бутстрап
Вставьте фрагмент установки в ваш .zshrc. При первом запуске Zert автоматически клонирует себя.
Объявление
Добавьте строки zert user/repo под бутстрапом. Используйте флаги like --pin, --branch или --no-alias.
Установка
Откройте новый shell. Zert обнаруживает отсутствующие плагины, клонирует их параллельно, компилирует и записывает zert.lock.
Загрузка
Плагины загружаются последовательно в порядке объявления. Ваш shell готов. Закоммитьте zert.lock для воспроизводимости.
Простой синтаксис. Мощные возможности.
Всё настраивается прямо в вашем .zshrc.
# Самоуправление
zert zert # zert управляет собой
# Совместимость с Oh-My-Zsh / Prezto
zert use ohmyzsh
zert ohmyzsh lib/clipboard
zert use prezto
zert prezto modules/utility
# Сокращение GitHub
zert zsh-users/zsh-autosuggestions
# Полный URL
zert https://github.com/user/repo
# Отслеживание ветки
zert user/repo --branch dev
# Локальный плагин
zert /home/me/my-plugin
# Зафиксировать на определённом коммите
zert user/plugin --pin abc123def
# Отслеживать ветку вместо ветки по умолчанию
zert user/plugin --branch dev
# Пропустить загрузку алиасов
zert user/plugin --no-alias
# Пропустить загрузку автодополнений
zert user/plugin --no-completion
# Загрузить только автодополнения
zert user/plugin --only-completion
zert list # показать установленные плагины
zert update # обновить все плагины
zert prune # удалить неиспользуемые плагины
# АВТОМАТИЧЕСКИ СГЕНЕРИРОВАННЫЙ ФАЙЛ. НЕ РЕДАКТИРУЙТЕ ВРУЧНУЮ.
# Закоммитьте этот файл в систему контроля версий для воспроизводимых установок.
version::1
zert::git::https://github.com/oxcl/zert::a1b2c3d::
zsh-autosuggestions::git::https://github.com/zsh-users/zsh-autosuggestions::f7g8h9i::
clipboard::ohmyzsh::https://github.com/ohmyzsh/ohmyzsh::l3m4n5o::
my-plugin::local::::r9s0t1u::
Support Zert
Zert is free and open source. If you find it useful, consider supporting development with a donation.
Scan to donate
bc1qhngkx9670q2vc4w494yfys3cpx2ykne90tanl7