| 
					
				 | 
			
			
				@@ -0,0 +1,60 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(require 'package) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(setq package-enable-at-startup nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(package-initialize) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun ensure-package-installed (&rest packages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Assure every package is installed, ask for installation if it’s not. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Return a list of installed packages or nil for every skipped package." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (mapcar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   (lambda (package) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (if (package-installed-p package) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (if (y-or-n-p (format "Package %s is missing. Install it? " package)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		   (package-install package) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 package))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   packages)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; make sure to have downloaded archive description. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(or (file-exists-p package-user-dir) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(package-refresh-contents)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; Activate installed packages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(package-initialize) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; Assuming you wish to install "iedit" and "magit" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(ensure-package-installed 'iedit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  'magit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  'undo-tree 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  'evil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; Default to evil mode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(require 'evil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(evil-mode t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; All yes or no prompts are y or n 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defalias 'yes-or-no-p 'y-or-n-p) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; Disable file backup 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(setq make-backup-files nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; Save undo history under .emacs.d/undo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(setq undo-tree-auto-save-history t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         undo-tree-history-directory-alist 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         `(("." . ,(concat user-emacs-directory "undo")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   (unless (file-exists-p (concat user-emacs-directory "undo")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(make-directory (concat user-emacs-directory "undo"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; TODO: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; Evil leader mode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; Hotkey for undo tree 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; autocomplete 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; recent files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; magit bindings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; learning elisp 
			 |