If you're already familiar with vim, I've heard good things about Spacemacs: http://spacemacs.org/
A nice happy medium is Prelude -- https://github.com/bbatsov/prelude
It's big, but probably not too big to understand and jump in and tweak.
I still prefer my own hand-rolled config though.
After a few months, I started to build up my configuration bit by bit with use-package, evil, and general.el. I largely use the same keybindings as Spacemacs, but it's much leaner and faster.
Changed to a clean configuration and built it slowly, everytime I hit an annoyance I fixed and learned something new, now it works better than spacemacs for my workflow and still is way snappier.
(use-package flyspell
:config
(setq ispell-program-name "/usr/sbin/aspell")
(setq flyspell-consider-dash-as-word-delimiter-flag t)
(define-key flyspell-mode-map (kbd "C-:") 'flyspell-correct-wrapper)
)
(use-package flyspell-correct)
(use-package flyspell-correct-ivy)
you may want a binding to add the word at point to your dictionary I swiped this function for somewhere (defun my-save-word ()
(interactive)
(let ((current-location (point))
(word (flyspell-get-word)))
(when (consp word)
(flyspell-do-correct 'save nil (car word) current-location (cadr word) (caddr word) current-location))))