Skip to content

Instantly share code, notes, and snippets.

@emaxerrno
Created August 27, 2013 17:56
Show Gist options
  • Select an option

  • Save emaxerrno/6356822 to your computer and use it in GitHub Desktop.

Select an option

Save emaxerrno/6356822 to your computer and use it in GitHub Desktop.
Init.el
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
;; (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t)
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/") t)
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))
;; Add in your own as you wish:
(defvar my-packages '(
;; programming modes
go-mode
scala-mode2
scss-mode ;; scss lang
coffee-mode ;; coffee lang
haskell-mode ;; haskell lang
protobuf-mode ;; protobuf lang
rinari ;; ruby mode
simplezen ;; zencoding for html but much simpler
ruby-hash-syntax
yari
yaml-mode
js2-mode
yasnippet ;; insert snippets on my code with tab
go-snippets
elisp-slime-nav
flycheck
;; utils
magit ;; git interface for emacs
auto-complete ;;
mark-multiple ;; allow for multiple marks on a buffer
undo-tree ;; allow to undo changes on a file
ack-and-a-half ;; better ack hooks
elscreen ;; allow to split screens in tabs
ido-hacks ;; better ido
ido-ubiquitous ;; ido ma' man
flx-ido ;; better matching for ido
idomenu ;; find methods in file
ido-vertical-mode;; ido but vertically.. nicer on smaller screens
multi-eshell ;; eshell on steroids
yagist ;; post to github gists
expand-region ;; avbrev on steroids
ace-jump-mode ;; jump to anything you see with one keystroke
window-number ;; select which window by number
rainbow-delimiters ;; colors parens
browse-kill-ring ;; amazing visual kill ring search
exec-path-from-shell ;; fix mac not reading the shell issue
smex ;; ido like for M-x
ascope ;; ascope hook for emacs
sr-speedbar ;; inbuffer window split
magit-find-file ;; magit find file replaces helm for me
direx
keyfreq ;; records your keys and shows you frequencies
diminish ;; cleans up your powerline
volatile-highlights
;; themes
cyberpunk-theme ;; high contrast
soothe-theme ;; dark
zenburn-theme ;; very zen and easy
gandalf-theme ;; simple gray
leuven-theme ;; simple off-white
noctilux-theme ;; zen with a kick
;; powerline
)
"A list of packages to ensure are installed at launch.")
(dolist (p my-packages)
(when (not (package-installed-p p))
(package-install p)))
;; from emacs starter kit
;;;###autoload
(progn
;; Turn off mouse interface early in startup to avoid momentary display
(dolist (mode '(menu-bar-mode tool-bar-mode scroll-bar-mode))
(when (fboundp mode) (funcall mode -1)))
;; You can keep system- or user-specific customizations here
(setq esk-system-config (concat user-emacs-directory system-name ".el")
esk-user-config (concat user-emacs-directory user-login-name ".el")
esk-user-dir (concat user-emacs-directory user-login-name))
(setq smex-save-file (concat user-emacs-directory ".smex-items"))
(smex-initialize)
(global-set-key (kbd "M-x") 'smex)
(defun esk-eval-after-init (form)
"Add `(lambda () FORM)' to `after-init-hook'.
If Emacs has already finished initialization, also eval FORM immediately."
(let ((func (list 'lambda nil form)))
(add-hook 'after-init-hook func)
(when after-init-time
(eval form))))
(esk-eval-after-init
'(progn
(when (file-exists-p esk-system-config) (load esk-system-config))
(when (file-exists-p esk-user-config) (load esk-user-config))
(when (file-exists-p esk-user-dir)
(mapc 'load (directory-files esk-user-dir t "^[^#].*el$"))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment