Si el caso de uso es compartir el directorio ".emacs.d" de configuración de emacs con todos los usuarios de una máquina Linux, entonces esta solución https://emacs.stackexchange.com/a/4258/5488 funcionaría en la mayoría de los casos, pero en algunos casos emacs intenta escribir archivos temporales en el directorio de usuario-emacs (como el archivo .ido.last). En tales casos, si el directorio de configuración compartido tiene permiso de escritura para todos los usuarios, funcionará, pero puede que no sea la solución deseada, ya que cada usuario del sistema puede no querer compartir el mismo directorio para almacenar archivos temporales. En tal caso, la siguiente solución será una mejor opción.
El archivo de configuración común compartido .emacs.d / init.el debería comenzar con
;; should come before calling package-initialize as it will populate
;; everything under common config "~/.emacs.d/elpa"
(setq user-init-file (or load-file-name (buffer-file-name)))
(setq package-user-dir (concat (file-name-directory user-init-file) "elpa"))
(package-initialize)
Haga que la configuración compartida .emacs.d tenga permiso de lectura para todos los usuarios (no necesita tener permisos de escritura)
another_user $ emacs -q --load /path/to/shared/config/.emacs.d/init.el
Cada usuario tendrá su propio directorio "~ / .emacs.d /" pero solo se usará para guardar los archivos temporales, pero los paquetes y otras configuraciones se cargarán desde el directorio de configuración compartido.
.emacs.d
directorio personalizado a menos que cambie HOME, lo que me parece problemático. La gente ha proporcionado soluciones a continuación, pero, para mí, esto parece una solicitud de función muy razonable para el propio Emacs.