| ;;;; |
| ;; 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") |
|
-