#emacs users - how messy is your env/conf? do you know what all of your custom code/conf do? do you have shortcuts/functionality that hasnt been used for years? oh and what os+de are you using? Do you ever mix up commands like yank/paste shortcuts when in other envs?

@hell OS+DE is Linux Mint and Cinnamon at home, Mac OS at the office. I strongly prefer Linux.

Emacs config is pretty clean and well commented. Some config code is approaching 7 years old now. I feel like I should maybe delete a few things, like some of the Org Mode stuff I no longer use.

The key to a clean init.el is

  • using use-package.
  • try to avoid MELPA and install direct from Git repos when I can. My Emacs package manager only installs from ELPA or Non-GNU ELPA.
  • prefer to use built-in features as much as possible. Don’t install lots of stuff.
  • keep custom Emacs Lisp functions in a separate file.

@ramin_hal9001 "try to avoid MELPA and install direct from Git repos when I can. My Emacs package manager only installs from ELPA or Non-GNU ELPA."

Genuinely curious. What's the issue/advantage here? Is MELPA unreliable somehow?

@hell

@jameshowell @ramin_hal9001 @hell Speaking for myself, I am just stubborn about using only ELPA or nonGNU ELPA.
@tusharhero @jameshowell @ramin_hal9001 @hell Same! Also, if thing (plugin) works without problems and satisfies me — I never update it — don't want unnecessary and/or breaking changes in my precious Emacs OS 

@tusharhero But what's the objection to MELPA? Lack of licence requirement? Lack of quality control?

@ramin_hal9001 @hell

@jameshowell @ramin_hal9001 @hell

1. genuinely a chore to enable it, so I don't want to rely on packages there too much.

2. yeah nonGNU and GNU elpa have a higher guarantee of being free software.

3. Also not a fan of MELPA updating to latest everytime (I think it follows latest commit?) Though there is a melpa stable.

@tusharhero @ramin_hal9001 @hell Okay, totally get it. Never had the version/update thing bite me ... that I know of

@jameshowell yes, I will confirm that what @tusharhero said is the reason I avoid MELPA. ELPA and NonGNU ELPA are much more stable.

The MELPA packages all pull from GitHub and other public Git forges anyway, and as far as I know, there is no vetting or any attempt to make sure the latest version of a package will play nice with others. That being the case, I prefer to clone the repository myself and install it from my local clone so I can control when it is upgraded. The only problem is that MELPA would take care of dependencies for you, but if a package you are installing has lots of dependencies hosted across various Git repos (as opposed to depending on built-in Emacs packages or NonGNU ELPA packages), it might be a package you should consider not having in your init.el at all.

MELPA might be OK for newer users as a convenience, but I think they should be aware that if they do use MELPA, upgrading external packages can on rare occasions break parts of Emacs if you use it.

@hell

Thanks for the thoughtful and thorough reply, @ramin_hal9001. You bring up some issues I had not thought about. Hmmmmm

@hell @tusharhero