Пакеты Emacs, устанавливаемые глобально, а не локально с помощью elpa

Я запускаю Linux и использую разные имена пользователей для сегментирования различных действий. Используя elpa, я хотел бы установить несколько пакетов, чтобы они загружались независимо от того, кто пользователь, есть пакеты, которые я хотел бы загрузить только для одного пользователя.

Например, режим Org- это то, что я хотел бы загрузить для каждого пользователя. C++ связанные пакеты, которые я мог бы хотеть для пользователя client1, но не пакеты ruby. Я мог бы хотеть связанные пакеты ruby ​​для пользователя client2, но не пакеты C++. Может быть новый пакет для программирования на C++, который я не хочу включать в серьезную работу, но хочу поиграть с использованием пользовательского эксперимента.

Раньше это был тот глобальный материал, который вы помещаете в lisp сайта, и локальный материал, который вы помещаете где-то в ~, но, похоже, это не работает с elpa.

1 ответ

Решение

package.el ищет установленные пакеты вдоль package-directory-list путь (дополнительно к package-user-dir где пакеты устанавливаются).

Поэтому я бы порекомендовал вам организовать "глобального" пользователя. А затем измените всех других пользователей, чтобы включить

(require 'package)
(push "/home/globaluser/.emacs.d/elpa" package-directory-list)

в их ~/.emacs, Таким образом, любой пакет, который вы хотите установить для всех пользователей, должен быть установлен globaluser,

Кстати, еще один способ атаковать вектор состоит в том, чтобы различать "установлено" и "включено". Т.е. всегда устанавливайте свои пакеты глобально, а затем каждый пользователь настраивает свои package-load-list для того, чтобы отключить конкретные пакеты.

Наконец, любой пакет, чья простая установка и включение (где "включение" означает загрузку собственного пакета -autoloads.el) в конечном итоге мешает нормальной работе, является ошибкой (в моей книге), поэтому еще одно решение заключается в простой установке и включении всех пакетов в глобальном масштабе., И если пользователь C++-using-user раздражен некоторыми пакетами, связанными с ruby, то отправьте отчет об ошибке сопровождающему пакета, связанному с ruby.

Другие вопросы по тегам