On Apr 22, 2020, at 1:46 PM, chad <yandros@gmail.com> wrote:

On Wed, Apr 22, 2020 at 6:27 AM Eli Zaretskii <eliz@gnu.org> wrote:
> Cc: emacs-devel@gnu.org
> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Wed, 22 Apr 2020 04:35:48 +0300
>
> > Does this mean users who download this "shiny Emacs" will be unable to
> > upgrade to a newer version?
>
> The pre-configuration could contain just one line:
>
>    (require 'shiny-settings)
>
> where shiny-settings.el is distributed with Emacs and is updated
> together with new releases.

So we expect users not to customize their Emacs, as long as they use
the "shiny Emacs"?  What are the chances of that to work?

Spacemacs, Doom, and Prelude (to name just three of the more popular options) all make this work out-of-tree, so it certainly seems possible. From my reading, the first two (at least) are strongly expected to be customized after installation, and to have those customizations survive updates of the "kit".

Spacemacs in particular adds a "layer" concept to emacs customization so that bundles of related options/code/packages/config can be turned on or off as a group.  Details can be found at: https://www.spacemacs.org/doc/LAYERS.html. I would personally hope that we could streamline this process, which seems pretty bulky from the outside. Maybe inviting the Spacemacs people to share their experience that led to creating their layers system would be helpful to us both. (I would have CC'd them onthis message, but their team seems to be heavily based around github (pull requests, gitter sharing, etc.), so it's not obvious to me whom to contact. I can look into finding a contact if people think it's worthwhile.

~Chad


I’ve used Spacemacs for quite a while back in 2017 when I just started using Emacs. It’s more of a gigantic community-driven config than an out-of-box for-dummy kit. What I envisioned is more like what VSCode does: automatically installing appropriate packages and downloading and setting up external programs. I would use it if there is such feature - many of my configs are just (use-package package) with some code adding hooks and auto-mode-alist.

Some ideas: 
1. Is it ok to include MELPA (opt-in) as one of the mirrors? Say a newbie type M-x auto-package-mode, and boom, all the auto installing package features are on, and MELPA is added to package-archives. 
2. Could Emacs downloads some external programs (like LSP servers) for users? I would definitely let Emacs do the dirty work if it works reliably. But maybe there are security/maintenance concerns.
3. It would be cool if Customize can customize mode hooks and auto-mode-alist and other usual stuff.

Yuan