Commit a77306e31503

Vincent Demeester <vincent+git@demeester.fr>
2014-03-02 20:51:25
Emacs configuration refactoring and finally working
1 parent d118be1
.emacs.d/50magit.el
.emacs.d/ac-comphist.dat
@@ -1,2 +1,14 @@
-((("org-bullets" .
-   [0 0 0 0 0 0 1 0 0 0 0])))
+((("concat" .
+   [1 0 0 0 0 0])
+  ("load" .
+   [1 0 0 0])
+  ("file" .
+   [3 0 0 0])
+  ("format" .
+   [1 0 0 0 0 0])
+  ("string-match" .
+   [0 0 0 0 0 0 0 0 1 0 0 0])
+  ("when" .
+   [1 0 0 0])
+  ("user-emacs-directory" .
+   [0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0])))
.emacs.d/auto-complete.conf.el
@@ -5,7 +5,7 @@
 (require 'auto-complete-config)
 (ac-config-default)
 
-(setq ac-use-quick-help nil) ;; It's slow
+(setq ac-use-quick-help nil)            ;; It's slow
 
 ;; Don't use up/down arrow (use M-n, M-p only) to browse list
 (define-key ac-completing-map [down] nil)
.emacs.d/deft.conf.el
@@ -0,0 +1,7 @@
+(require 'deft)
+
+;; We are going to use org-mode for deft
+(setq deft-extension "org")
+(setq deft-text-mode 'org-mode)
+(setq deft-directory "~/desktop/documents/org")
+(setq deft-use-filename-as-title t)         ;; Use filename as title
.emacs.d/el-get.conf.el
@@ -1,140 +0,0 @@
-;; el-get configuration
-(setq el-get-is-lazy t)
-
-(setq el-get-sources
-      '(;; This should be in contrib/ of org-mode but this is not
-        ;; shipped with Emacs. We take exactly the version we need to
-        ;; match org-mode in Emacs.
-        (:name org-mime
-               :description "org html export for text/html MIME emails"
-               :type http
-               :url "https://raw.github.com/jwiegley/org-mode/release_7.9.3f/contrib/lisp/org-mime.el")
-        (:name org-bullets
-               :description "utf-8 bullets for org-mode"
-               :type github
-               :pkgname "sabof/org-bullets"
-               :website "https://github.com/sabof/org-bullets")
-        (:name git-modes
-               :description "GNU Emacs modes for various Git-related files"
-               :type github
-               :pkgname "magit/git-modes")
-        (:name magit
-               :depends (git-modes))
-        (:name git-annex
-               :description "Emacs integration for the git-annex tool by Joey Hess"
-               :type github
-               :pkgname "jwiegley/git-annex-el"
-	       :website "http://github.com/jwiegley/git-annex-el")
-        (:name znc
-               :type github
-               :pkgname "sshirokov/ZNC.el"
-               :description "ERC and ZNC interface")
-        (:name gist
-               :depends (gh))
-        (:name gh
-               :type github
-               :pkgname "sigma/gh.el"
-               :depends (pcache logito request)
-               :description "Github API client libraries"
-               :website "http://github.com/sigma/gh.el")
-        (:name pcache
-               :type github
-               :pkgname "sigma/pcache"
-               :description "persistent caching for Emacs"
-               :website "http://github.com/sigma/pcache")
-        (:name logito
-               :type github
-               :pkgname "sigma/logito"
-               :description "logging library for Emacs"
-               :website "http://github.com/sigma/logito")
-        (:name request
-               :description "Easy HTTP request for Emacs Lisp"
-               :type github
-               :submodule nil
-               :pkgname "tkf/emacs-request")
-
-        (:name ido-vertical-mode
-               :type github
-               :pkgname "rson/ido-vertical-mode.el"
-               :description "makes ido-mode display vertically")
-        (:name flx
-               :description "Fuzzy matching with good sorting in ido"
-               :type github
-               :pkgname "lewang/flx")
-        (:name s
-               :description "The long lost Emacs string manipulation library."
-               :type github
-               :pkgname "magnars/s.el")
-        (:name dash
-               :description "A modern list api for Emacs. No 'cl required."
-               :type github
-               :pkgname "magnars/dash.el")
-        (:name undo-tree
-               :type github
-               :pkgname "darioxfz/undo-tree")
-        (:name projectile
-               :description "Project navigation and management library for Emacs"
-               :type github
-               :pkgname "bbatsov/projectile"
-               :depends (dash s)
-               :features projectile)))
-
-(el-get nil
-        '(
-         ;; General
-         naquadah-theme                ; Theme from Julien Danjou
-         icicles
-         icicles-face
-         icicles-opt
-         icicles-var
-         icicles-mac
-         icicles-fn
-         icicles-mcmd
-         icicles-cmd1
-         icicles-cmd2
-         boxquote ; draw boxes
-         multiple-cursors ; multiple cursors
-         ace-jump-mode ; fast cursor movement
-         auto-complete ; universal autocompletion
-         auto-complete-css
-         flx ; fuzzy matching for ido
-         ido-vertical-mode ; vertical mode for ido
-         smex ; IDO for M-x
-         pkg-info
-         projectile ; handling of projects
-         expand-region ; smartly expand region
-         powerline
-         ;; Programming
-         autopair                        ; Auto pairing of parentheses
-         highlight-parentheses ; Highlight parentheses surrounding the cursor
-         ;; rainbow-mode                        ; Display colors
-         dtrt-indent                        ; Autodetect indentation
-         magit                                ; Git stuff, must-have!
-         git-annex                            ; Git-annex stuff
-         evil
-         evil-numbers
-         evil-leader
-         evil-surround
-         ;; Modes
-         ;; auctex                        ; LaTeX mode
-         lua-mode                        ; Major mode for lua
-         markdown-mode                        ; Major mode for markdown
-         yaml-mode ; Major mode for YAML
-         go-mode ; Major mode for Go
-         git-commit-mode ; Mode for "git commit"
-         zencoding-mode ; Mode to expand CSS tags to HTML
-         haskell-mode
-         cider
-         clojure-mode
-         ;; gnus and other stuff
-         ;;bbdb                                ; Big brother database
-         ;;nognus                        ; Gnus
-         ;;gnus-identities                ; Manipulate Gnus identities
-         ;; org stuff
-         org-mime
-         org-bullets
-         ;; Misc
-         znc ; znc
-         gist ; gist integration
-         ))
-
.emacs.d/expand-region.conf.el
@@ -0,0 +1,1 @@
+(global-set-key (kbd "C-=") 'er/expand-region)
.emacs.d/ido.conf.el
@@ -1,10 +1,10 @@
 (require 'flx-ido)
 (require 'ido-vertical-mode)
 (require 'recentf)
-(setq ido-enable-flex-matching t ; IDO flex matching
-      ido-everywhere t ; use IDO whenever possible
-      ido-use-virtual-buffers t ; use closed buffers as well
-      ido-use-faces nil) ; let flx-ido do this job
+(setq ido-enable-flex-matching t      ; IDO flex matching
+     ido-everywhere t                ; use IDO whenever possible
+     ido-use-virtual-buffers t       ; use closed buffers as well
+     ido-use-faces nil)              ; Let flx-ido do this job
 (ido-mode 1)
 (ido-vertical-mode 1)
 (flx-ido-mode 1)
.emacs.d/init.el
@@ -1,15 +1,15 @@
 ;; Check we are using Emacs 24
 (when (/= emacs-major-version 24)
   (error "Only Emacs 24 is supported. You seem to use Emacs %d"
-         emacs-major-version))
-
-(dolist (file (directory-files user-emacs-directory))
-   (when (string-match (format "^\\(.+\\)\\.conf\\.el$") file)
-     (eval-after-load (match-string-no-properties 1 file)
-       `(load ,(concat user-emacs-directory file)))))
+	 emacs-major-version))
 
 (add-to-list 'load-path "~/.emacs.d/vendor/el-get")
 
+;; path to local config
+(add-to-list 'load-path
+             (concat
+              (file-name-as-directory user-emacs-directory) "site-lisp/"))
+
 ;; Initialize el-get
 (setq el-get-dir (expand-file-name "vendor" user-emacs-directory))
 
@@ -17,14 +17,65 @@
   (with-current-buffer
       (url-retrieve-synchronously
        "https://raw.github.com/dimitri/el-get/master/el-get-install.el")
-    (let (el-get-master-branch)
-      (goto-char (point-max))
-      (eval-print-last-sexp))))
+    (goto-char (point-max))
+    (eval-print-last-sexp)))
 
 (add-to-list 'el-get-recipe-path "~/.emacs.d/el-get-user/recipes")
 
-(el-get 'sync)
+;; el-get packages
+(setq el-get-packages
+      '(el-get
+        dash
+        s
+	powerline                           ;; Powerline is cool :D
+	naquadah-theme                      ;; Theme from Julien Danjou
+	auto-complete                       ;; universal autocompletion
+	auto-complete-css                   ;; CSS autocompletion
+	magit                               ;; Git for Emacs
+        git-modes                           ;; Various git-related modes
+        git-commit-mode                     ;; Mode for "git commit"
+	git-annex                           ;; Dired addon with git-annex support
+	gist                                ;; Gist :-)
+        expand-region
+        autopair                            ;; Auto pairing for parentheses
+        org-bullets                         ;; Org UTF-8 bullets
+        flx
+        ido-vertical-mode
+        smex
+        yasnippet
+        smartparens
+        deft
+        ;; Languages and file support
+        lua-mode
+        go-mode
+        haskell-mode
+        ;; Clojure
+        cider
+        clojure-mode
+	))
 
+;; Conditionnal recipes
+;; (unless (string-match "apple-darwin" system-configuration)
+;; ...)
+
+;; (when (ignore-errors
+;;	(el-get-executable-find "svn")
+;;	(loop for p in '(psvn                 ;; M-x svn-status
+;;			 )
+;;	      do (add-to-list 'el-get-sources p))))
+
+;; getelget -- bootstrap el-get if necessary and load the specified packages
+(load-library "getelget.el")
+;; install new packages and init already installed packages
+(let ((emacs-lisp-mode-hook nil))
+  (el-get-sync))
+
+;; Load ${package}.conf.el after loading/require
+(dolist (file (directory-files user-emacs-directory))
+  (when (string-match (format "^\\(.+\\)\\.conf\\.el$") file)
+    (eval-after-load (match-string-no-properties 1 file)
+      `(load ,(concat user-emacs-directory file)))))
+   
 ;; Appearance
 (menu-bar-mode -1)                        ; No menu
 (tool-bar-mode -1)                        ; No toolbar
@@ -62,11 +113,19 @@
 (setq auto-save-list-file-prefix
     emacs-tmp-dir)
 
+;; UTF-8 preferences
+(prefer-coding-system 'utf-8)
+(setq file-name-coding-system 'utf-8)
+(setq locale-coding-system 'utf-8)
+;; Use Emacs terminfo, not system terminfo (?)
+(setq system-uses-terminfo nil)
+
 ;; Shell
 (setq shell-file-name "bash")
 (setq shell-command-switch "-ic")
 
 (require 'auto-complete)
+(require 'expand-region)
 
 (require 'ido)
 (require 'git-annex)
@@ -86,7 +145,7 @@
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
- '(org-agenda-files (quote ("~/desktop/documents/org/xgbi.org"))))
+ '(custom-safe-themes (quote ("d6a00ef5e53adf9b6fe417d2b4404895f26210c52bb8716971be106550cea257" "1e7e097ec8cb1f8c3a912d7e1e0331caeed49fef6cff220be63bd2a6ba4cc365" "fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" "37d0cdc1e79ae56cd1ea262dd6b84939fcc15d7977e320e2c7249c140aafc032" default))))
 (custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
.emacs.d/org.conf.el
@@ -2,17 +2,17 @@
 (require 's)
 
 (setq
- org-completion-use-ido t ; use IDO for completion
- ; org-startup-indented t ; indent by default
- org-tags-column -70 ; align tags on the 70th columns
- org-hide-leading-stars t ; don't show leading stars
- org-cycle-separator-lines 0 ; don't show blank lines between collapsed trees
- org-src-fontify-natively t ; fontify code blocks
- org-edit-src-content-indentation 0 ; don't indent source blocks
- org-catch-invisible-edits 'error ; don't edit invisible text
+ org-completion-use-ido t                  ;; use IDO for completion
+ ; org-startup-indented t                  ;; ident by default
+ org-tags-column -90                       ;; align tags on the 90th columns
+ org-hide-leading-stars t                  ;; don't show leading stars
+ org-cycle-separator-lines 0               ;; don't show blank lines between collapsed trees
+ org-src-fontify-natively t                ;; fontify code blocks
+ org-edit-src-content-indentation 0        ;; don't indent source blocks
+ org-catch-invisible-edits 'error          ;; don't edit invisible text
 )
 
-;; Todo keywords
+;; TODO keywords
 (setq org-todo-keywords
       '((sequence "TODO(t)" "NEXT(n)" "SOMEDAY(S!)" "PROGRESS(p)" "|" "DONE(d!)")
         (sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" "CANCELLED(c@/!)")))
@@ -24,4 +24,4 @@
              (org-bullets-mode 1)))
 
 (require 'org-protocol)
-(require 'org-mime)
+;; (require 'org-mine)
.emacs.d/smartparens.conf.el
@@ -0,0 +1,2 @@
+;; (package-initialize)
+(smartparens-global-mode t)
.emacs.d/smex.conf.el
@@ -0,0 +1,7 @@
+(require 'smex)
+(smex-initialize)
+
+(global-set-key (kbd "M-x") 'smex)
+(global-set-key (kbd "M-X") 'smex-major-mode-commands)
+;; This is your old M-x.
+(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command)
.emacs.d/tls.conf.el
@@ -1,4 +0,0 @@
-;; TLS configuration
-
-; Don't use an insecure connection by default!
-(setq tls-program '("gnutls-cli -p %p %h"))