109 lines
2.3 KiB
EmacsLisp
109 lines
2.3 KiB
EmacsLisp
;; Emacs 24 or higher!
|
|
(when (< emacs-major-version 24)
|
|
(error "This setup requires Emacs v24, or higher. You have: v%d" emacs-major-version))
|
|
|
|
;; Configure package manager
|
|
(require 'package)
|
|
|
|
;; Add Marmalade repo
|
|
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
|
|
|
|
;; ... and melpa. Melpa packages that exist on marmalade will have
|
|
;; precendence.
|
|
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
|
|
|
|
(package-initialize)
|
|
|
|
(when (not package-archive-contents)
|
|
(package-refresh-contents))
|
|
|
|
(defvar my-pkgs
|
|
'(; Basic functionality
|
|
ace-jump-mode
|
|
browse-kill-ring
|
|
flx-ido
|
|
flycheck
|
|
idle-highlight-mode
|
|
ido-ubiquitous
|
|
iy-go-to-char
|
|
magit
|
|
multiple-cursors
|
|
nyan-mode
|
|
paredit
|
|
project-explorer
|
|
projectile
|
|
rainbow-delimiters
|
|
rainbow-mode
|
|
smex
|
|
switch-window
|
|
undo-tree
|
|
|
|
; Clojure
|
|
ac-nrepl
|
|
; clojure-cheatsheet
|
|
clojure-mode
|
|
nrepl
|
|
; nrepl-eval-sexp-fu
|
|
)
|
|
"A list of packages to install at launch.")
|
|
|
|
(defvar evil-pkgs
|
|
'(evil
|
|
evil-leader
|
|
; evil-tabs
|
|
evil-paredit
|
|
key-chord
|
|
surround)
|
|
"Evil related packages"
|
|
)
|
|
|
|
(dolist (p my-pkgs)
|
|
(when (not (package-installed-p p))
|
|
(package-install p)))
|
|
|
|
;; Are we on a mac?
|
|
(setq is-mac (equal system-type 'darwin))
|
|
|
|
;; Is this being used by a vim user?
|
|
(setq is-vim-mode nil)
|
|
|
|
(when is-vim-mode
|
|
(dolist (p evil-pkgs)
|
|
(when (not (package-installed-p p))
|
|
(package-install p))))
|
|
|
|
(add-to-list 'load-path user-emacs-directory)
|
|
|
|
(mapc 'require '(init-functions
|
|
init-settings
|
|
init-modes
|
|
init-bindings
|
|
init-eshell))
|
|
|
|
(when is-vim-mode
|
|
(require 'init-evil))
|
|
|
|
(add-to-list 'load-path "~/.emacs.d/scripts/")
|
|
|
|
(setq custom-file "~/.emacs.d/init-custom.el")
|
|
(load custom-file)
|
|
|
|
(custom-download-script
|
|
"https://gist.github.com/gongo/1789605/raw/526e3f21dc7d6cef20951cf0ce5d51b90b7821ff/json-reformat.el"
|
|
"json-reformat.el")
|
|
|
|
;; A file with machine specific settings.
|
|
(load-file-if-exists "~/.emacs.d/init-local.el")
|
|
|
|
;; IRC configuration
|
|
;; Actual servers and such are loaded from irc.el
|
|
(load-file-if-exists "~/.emacs.d/init-irc.el")
|
|
|
|
;; Load magnars' string manipulation library
|
|
(require 's)
|
|
|
|
;; Seed RNG
|
|
(random t)
|
|
|
|
;; Start server for emacsclient
|
|
(server-start)
|