;;;; |
;; Packages |
;;;; |
|
;; Define package repositories |
(require'package) |
(add-to-list'package-archives |
'("tromey"."http://tromey.com/elpa/") t) |
(add-to-list'package-archives |
'("org"."http://orgmode.org/elpa/") t) |
(add-to-list'package-archives |
'("melpa"."http://melpa.org/packages/") t) |
(add-to-list'package-archives |
'("melpa-stable"."http://stable.melpa.org/packages/") t) |
|
(add-to-list'package-pinned-packages '(cider ."melpa-stable") t) |
;; (add-to-list 'package-pinned-packages '(clj-refactor . "melpa-stable") t) |
(add-to-list'package-pinned-packages '(magit ."melpa-stable") t) |
;; (add-to-list 'package-pinned-packages '(helm-projectile . "melpa-stable") t) |
(add-to-list'package-pinned-packages '(flycheck ."melpa-stable") t) |
|
;; Load and activate emacs packages. Do this first so that the |
;; packages are loaded before you start trying to modify them. |
;; This also sets the load path. |
(package-initialize) |
(setq package-enable-at-startup nil) |
;; (require 'use-package) |
|
;; Download the ELPA archive description if needed. |
;; This informs Emacs about the latest versions of all packages, and |
;; makes them available for download. |
(when (not package-archive-contents) |
(package-refresh-contents)) |
|
(defvarido-cur-itemnil) |
(defvarido-default-itemnil) |
(defvarido-context-switch-commandnil) |
(defvarido-cur-listnil) |
(defvarpredicatenil) |
(defvarinherit-input-methodnil) |
|
;; The packages you want installed. You can also install these |
;; manually with M-x package-install |
;; Add in your own as you wish: |
(defvarmy-packages |
'(;; makes handling lisp expressions much, much easier |
;; Cheatsheet: http://www.emacswiki.org/emacs/PareditCheatsheet |
paredit |
|
;; key bindings and code colorization for Clojure |
;; https://github.com/clojure-emacs/clojure-mode |
clojure-mode |
|
;; extra syntax highlighting for clojure |
clojure-mode-extra-font-locking |
|
;; integration with a Clojure REPL |
;; https://github.com/clojure-emacs/cider |
cider |
|
;; one of the best clojure packages |
clj-refactor |
|
;; allow ido usage in as many contexts as possible. see |
;; customizations/better-defaults.el line 47 for a description |
;; of ido |
ido-ubiquitous |
|
;; Enhances M-x to allow easier execution of commands. Provides |
;; a filterable list of possible commands in the minibuffer |
;; http://www.emacswiki.org/emacs/Smex |
smex |
|
;; On OS X, an Emacs instance started from the graphical user |
;; interface will have a different environment than a shell in a |
;; terminal window, because OS X does not run a shell during the |
;; login. Obviously this will lead to unexpected results when |
;; calling external utilities like make from Emacs. |
;; This library works around this problem by copying important |
;; environment variables from the user's shell. |
;; https://github.com/purcell/exec-path-from-shell |
exec-path-from-shell |
|
;; project navigation |
projectile |
|
;; colorful parenthesis matching |
rainbow-delimiters |
|
;; edit html tags like sexps |
tagedit |
|
;; git integration |
magit |
|
;; https://github.com/bbatsov/crux |
crux |
|
yaml-mode |
coffee-mode |
scss-mode |
haskell-mode |
company |
ack-and-a-half |
ag |
adoc-mode |
aggressive-indent |
web-mode |
enh-ruby-mode |
base16-theme |
git-gutter |
helm |
helm-ag |
helm-git-grep |
helm-projectile |
helm-descbinds |
yasnippet |
use-package |
flycheck)) |
|
(dolist (p my-packages) |
(when (not (package-installed-p p)) |
(package-install p))) |
|
|
;; Place downloaded elisp files in ~/.emacs.d/vendor. You'll then be able |
;; to load them. |
;; |
;; For example, if you download yaml-mode.el to ~/.emacs.d/vendor, |
;; then you can add the following code to this file: |
;; |
;; (require 'yaml-mode) |
;; (add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode)) |
;; |
;; Adding this code will make Emacs enter yaml mode whenever you open |
;; a .yml file |
(add-to-list'load-path"~/.emacs.d/vendor") |
|
|
;;;; |
;; Customization |
;;;; |
|
;; Add a directory to our load path so that when you `load` things |
;; below, Emacs knows where to look for the corresponding file. |
(add-to-list'load-path"~/.emacs.d/customizations") |
|
;; Sets up exec-path-from-shell so that Emacs will use the correct |
;; environment variables |
(load"shell-integration.el") |
|
;; These customizations make it easier for you to navigate files, |
;; switch buffers, and choose options from the minibuffer. |
(load"navigation.el") |
|
;; These customizations change the way emacs looks and disable/enable |
;; some user interface elements |
(load"ui.el") |
|
;; These customizations make editing a bit nicer. |
(load"editing.el") |
|
;; Hard-to-categorize customizations |
(load"misc.el") |
|
-