Об Emacs Bedrock

Bedrock — это минималистичный, написанный вручную стартер-кит для Emacs. Сегодня объявляется выпуск версии 2.0, которая требует Emacs 31, вышедшего в августе 2026 года. Если вы не можете обновиться на такую версию, часть конфигурации, специфичной для Emacs 31, можно удалить без особых сложностей.

Bedrock по сути — это набор разумных стандартных настроек для Emacs, построенный без использования сторонних пакетов в базовой конфигурации. Разумеется, одна из привлекательных сторон Emacs — огромное количество пакетов, разработанных и поддерживаемых сообществом. Поэтому Bedrock включает примеры конфигурации для наиболее популярных пакетов, которые автор считает незаменимыми.

Идея Bedrock намного проще, чем у других стартер-китов или конфигурационных фреймворков. Это просто два файла — early-init.el и init.el, которые вы один раз копируете в ~/.emacs.d/, а затем модифицируете прямо там, как растут ваши потребности и опыт работы с Emacs. Файлы содержат достаточно комментариев, чтобы подсказать направление при желании разобраться с конкретной частью, но без излишних простыней текста, когда вы ищете код. Конфигурация сторонних пакетов хранится в отдельной папке extras/, и вы можете скопировать конфиг отдельного пакета прямо в init.el по мере надобности или загружать целые группы из одного файла.

Что нового в Bedrock 2.0

Это мажорный релиз, потому что Bedrock прекращает поддержку Emacs 29, вышедшей в 2024 году. Вот краткий обзор основных изменений:

  • Все файлы .el используют cookie lexical-binding: t.
  • Пакеты, объявленные через use-package, устанавливаются автоматически, если их нет в системе (поведение по умолчанию).
  • Если загружен пакет embark, используется embark-auto-prefix-help-mode вместо which-key.
  • Убран wgrep в пользу встроенного grep-change-to-grep-edit-mode.
  • Заметно улучшена конфигурация tree-sitter.
  • Более удобная настройка isearch.
  • Буфер встроенного *Completions* теперь обновляется автоматически.
  • По умолчанию включён repeat-mode.

Исправления в этой версии:

  • Цвета темы теперь применяются корректно.
  • Лучше подавляется стартовое сообщение.
  • Различные мелкие улучшения.

Это не исчерпывающий список, но суть передана. Полные детали найдёте в changelog.

По сути — это постепенное совершенствование, а не полный переворот Bedrock. Если вы довольны работой более ранней версии, может быть никаких причин переходить на новую. Emacs — стабильный редактор (хотя уровень активной разработки впечатляет!), поэтому логично, что стартер-кит для «на острие прогресса» тоже должен быть относительно стабилен.

Обновление со старых версий Bedrock

Bedrock не поддерживает автоматическое обновление — это требовало бы, чтобы код Bedrock хранился отдельно от файла init.el, а суть Bedrock именно в том, что вы сами получаете полный контроль над конфигурацией как можно быстрее. Вместо этого сравните commit, с которого вы клонировали свою версию, с новой веткой main и выберите нужные вам изменения.

Спасибо

Автор благодарен всем, кто попробовал Bedrock и отправил обратную связь. Изначально он создал Bedrock как упражнение в настройке встроенных опций для большей «удобности». Потом это превратилось в конфиг, который он мог давать друзьям, интересующимся Emacs. Теперь его используют намного больше людей, чем он когда-либо ожидал, как точку старта для своих конфигураций. (Точное число неизвестно — спасибо за телеметрию, или скорее за её отсутствие — ура приватности!) В любом случае, огромное спасибо тем, кто присылает отчёты об ошибках или pull request'ы, и всему сообществу Emacs. Благодаря вашей преданности свободному и открытому ПО вы сделали жизнь лучше. Надеюсь, Bedrock поможет и вам.

— Ashton