
Короче говоря, я передаю EMACS для работы в повседневной жизни, поэтому мне нужна была быстрая и стабильная конфигурация, которая соответствует моим потребностям. Minemacs постоянно меняется, пожалуйста, обратитесь к журналу изменений для получения дополнительной информации. Смотрите также список модулей и пакетов Minemacs.
Примечание
Обратите внимание, что у меня нет намерений или доступности для создания альтернативы Doom Emacs или Spacemacs. В то время как я нахожу радость (как и любой другой Emacser там) в стиле Emacs, Minemacs остается просто инструментом, который я использую в своей повседневной работе, и я люблю делиться с другими Emacsers.
Minemacs поставляется с батареями. Вот некоторые из его уникальных функций:
Отложить пакеты загрузки до тех пор, пока пользователь не понадобится. Или, для пакетов, которые необходимо загрузить, попробуйте сделать это после запуска EMACS.
Пакеты сгруппированы в модулях, с небольшим количеством клея, чтобы заставить их работать вместе.
Minemacs включает в себя большое количество основных мод и пакетов для работы с языками программирования. Тем не менее, большинство этих пакетов не загружаются при запуске. Minemacs использует систему по требованию для загрузки пакетов только тогда, когда пользователь открывает поддерживаемый файл, или когда он открывает буфер с режимом, который может быть расширен одним из модулей по требованию. Поведение этой функции, настраиваемое с помощью minemacs-on-demand-enable-auto-mode , minemacs-on-demand-enable-magic-mode minemacs-on-demand-enable-interpreter-mode и minemacs-on-demand-enable-companion-packages .
Откройте оболочку и беги:
git clone --recursive https://github.com/abougouffa/minemacs.git ~ /.emacs.d && emacs Выполнив эту команду, репозиторий будет клонирован, и EMACS будет запущен. Во время начального запуска EMACS автоматически установит необходимые пакеты. Возможно, вам придется запустить Mx minemacs-run-build-functions когда Emacs загружается, чтобы установить дополнительные вещи (создайте некоторые библиотеки, установите шрифты Nerd и т. Д.)
Важный
Обратите внимание, что я использую свежие Emacs 30.0.92 (рекомендуемая версия), построенная из филиала emacs-30 в основном на двух машинах, одной из которых основан на Manjaro Linux, а другой-на Debian 12. Однако я установил некоторые основные действия CI, которые автоматически тестируют эту конфигурацию на Emacs 29, 30 и 31 в Ubuntu Linux и Macos и на Emacs 29 в Windows. Эти действия гарантируют, что Minemacs «заполнен» в этих системах; со всеми модулями включены. Однако следует провести дальнейшее тестирование для правильной проверки конфигурации в целом в других системах, кроме Linux.
Чтобы персонализировать Minemacs, вы можете добавить определенный набор файлов в каталоге пользователя по умолчанию, который расположен по умолчанию по адресу ~/.minemacs.d/ или .emacs.d/user-config/ (первое, которое можно найти). Однако, если вы предпочитаете использовать другой каталог, у вас есть гибкость, чтобы сделать это, установив переменную среды MINEMACSDIR .
Есть два основных файла, которые можно добавить в каталог ~/.minemacs.d :
~/.minemacs.d/modules.el содержит список включенных модулей и/или список отключенных пакетов (в этом файле могут быть установлены списки отключенных пакетов ( minemacs-modules и minemacs-disabled-packages ). Поэтому, если вы хотите включить модуль ( Ex. me-prog ), но вам нужно исключить конкретный пакет ( Ex. ts-movement ), вы можете добавить последний в minemacs-disabled-packages .~/.minemacs.d/config.el содержит конфигурацию и настройку пользователя, вы можете думать о нем как о вашем init.el , который загружается в конце minemacs ' init.el ! Этот репозиторий содержит скелетные файлы для modules.el и config.el (под skel/ ). Мы настоятельно рекомендуем следовать той же структуре, что и в скелетных файлах, особенно по использованию with-eval-after-load и use-package вместо того, чтобы использовать require напрямую ( require нагрузки на пакеты, что увеличивает время запуска EMACS).
В моем рабочем процессе я использую в основном одинаковые файлы конфигурации на всех моих машинах (которые, следуя традиции, используются в моем репозитории DotFiles). Тем не менее, у меня есть некоторые компьютерные (локальные) конфигурации, которые содержат некоторые частные и машинные конфигурации. Например, я использую их для перезаписи адреса электронной почты на моей рабочей станции, для настройки моих учетных записей электронной почты, для настройки Forge и Integration Jira на моей рабочей станции и так далее.
Для этой цели Minemacs также проверяет наличие файлов в ~/.minemacs.d/local/{early-config,init-tweaks,modules,config}.el и загрузить их после ~/.minemacs.d/{early-config,init-tweaks,modules,config}.el если они Exist.
Minemacs также предоставляет некоторые расширенные файлы настройки, эти файлы могут использоваться для настройки поведения Minemacs, добавить некоторый код ранней инициализации, сделать Minemacs, запущенные в старых версиях EMACS и т. Д.
~/.minemacs.d/early-config.el загружается в конце early-init.el Вы можете использовать его для настройки некоторых ранних вещей, таких как настройка пользовательского интерфейса, перезаписать переменные, установленные Minemacs в ~/.emacs.d/early-init.el и так далее.~/.minemacs.d/init-tweaks.el загружается на ранней стадии файла init.el Вы можете использовать его, чтобы сделать какой -то полезный материал, прежде чем Minemacs начнет настраивать пакеты и загрузочные модули. Смотрите комментарии в init.el для получения дополнительной информации.Вы можете настроить поведение Minemacs через некоторые переменные среды.
MINEMACS_DIR или MINEMACSDIR : Путь для каталога конфигурации пользователя MINEMACS, если не установлен, ~/.minemacs.d/ используется.MINEMACS_MSG_LEVEL : изменить уровень журнала сообщений, с 1 (только ошибки) на 4 (все сообщения).MINEMACS_VERBOSE : быть более многословным (полезным для отладки).MINEMACS_DEBUG : включить отладку при стартапе (и быть словесной).MINEMACS_ALPHA : установить кадр background-alpha до процента (значение от 0 до 100).MINEMACS_NOT_LAZY : загрузить ленивые пакеты сразу после загрузки EMACS.MINEMACS_ALWAYS_DEMAND : Загрузите все пакеты немедленно (это работает, устанавливая use-package-always-demand To t и use-package-always-defer на nil (по умолчанию, Minemacs устанавливает use-package чтобы всегда отложить, если только явный :demand добавляется).MINEMACS_IGNORE_USER_CONFIG : разделенные пространственные значения, используемые для отключения загрузки ~/.minemacs.d/<file>.el Files Configuration Files. Принимаемые значения для <file> являются: early-config , init-tweaks , modules , config , local/early-config , local/init-tweaks , local/modules и local/config . Используйте all , чтобы отключить все файлы конфигурации пользователя.MINEMACS_LOAD_ALL_MODULES : загрузить все модули (не принимая во внимание ~/.minemacs.d/modules.el ).MINEMACS_BENCHMARK : запустите эталон при инициализации EMACS (с использованием benchmark-init.el ) и отобразить результаты после запуска (включая Lazy Packages).MINEMACS_NO_PROXIES : установите, если у вас есть установка minemacs-proxies в вашем early-config.el но вы хотите запустить EMAC, не проходя через эти прокси (полезные, если вы используете некоторые прокси для рабочего места, но вы хотите, чтобы Emacs начали без прохождения, чтобы они могли загружать упаковки). Для получения дополнительной информации о переменных настройки, функциях и командах, определенных Minemacs, вы можете обратиться к документации, сгенерированной из исходного кода.
Если вы столкнулись с проблемой с Minemacs, вы можете взглянуть на FAQ, проконсультироваться с обсуждениями, проверить открытые проблемы или открыть новые.