Commit dfa16c0479c1

Vincent Demeester <vincent+git@demeester.fr>
2014-08-04 08:01:18
Reset emacs configuration
- Uses packages repositories instead of el-get - Litterate configuration (using org-babel)
1 parent afadc5c
.emacs.d/el-get-user/recipes/git-annex.rcp
@@ -1,5 +0,0 @@
-(: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")
.emacs.d/el-get-user/recipes/ido-vertical-mode.rcp
@@ -1,4 +0,0 @@
-(:name ido-vertical-mode
-       :type github
-       :pkgname "rson/ido-vertical-mode.el"
-       :description "Make ido-mode display vertically")
.emacs.d/el-get-user/recipes/magit.rcp
@@ -1,14 +0,0 @@
-(:name magit
-       :website "https://github.com/magit/magit#readme"
-       :description "It's Magit! An Emacs mode for Git."
-       :type github
-       :pkgname "magit/magit"
-       :depends (cl-lib git-modes)
-       :info "."
-       ;; let el-get care about autoloads so that it works with all OSes
-       :build (if (version<= "24.3" emacs-version)
-                  `(("make" ,(format "EMACS=%s" el-get-emacs) "all"))
-                `(("make" ,(format "EMACS=%s" el-get-emacs) "docs")))
-       :build/berkeley-unix (("touch" "`find . -name Makefile`") ("gmake"))
-       :after (progn()
-		    (global-set-key (kbd "C-x C-z") 'magit-status)))
.emacs.d/el-get-user/recipes/org-bullets.rcp
@@ -1,5 +0,0 @@
-(:name org-bullets
-       :description "UTF-8 bullets for org-mode"
-       :type github
-       :pkgname "sabof/org-bullets"
-       :website "https://github.com/sabof/org-bullets")
.emacs.d/el-get-user/recipes/org-mode.rcp
@@ -1,15 +0,0 @@
-(:name org-mode
-       :website "http://orgmode.org/"
-       :description "Org-mode is for keeping notes, maintaining ToDo lists, doing project planning, and authoring with a fast and effective plain-text system."
-       :type git
-       :url "git://repo.or.cz/org-mode.git"
-       :info "doc"
-       :build/berkeley-unix `,(mapcar
-                               (lambda (target)
-                                 (list "gmake" target (concat "EMACS=" (shell-quote-argument el-get-emacs))))
-                               '("oldorg"))
-       :build `,(mapcar
-                 (lambda (target)
-                   (list "make" target (concat "EMACS=" (shell-quote-argument el-get-emacs))))
-                 '("oldorg"))
-       :load-path ("." "lisp" "contrib/lisp"))
.emacs.d/lisp/setup-package.el
@@ -0,0 +1,38 @@
+(require 'package)
+
+;; add org to package repos
+(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/"))
+
+;; add melpa and melpa-stable to package repos
+(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
+(add-to-list 'package-archives '("melpa-stable" . "http://melpa-stable.milkbox.net/packages/"))
+
+;; If gpg cannot be found, signature checking will fail, so we
+;; conditionnally enable it according wether gpg is availabel.
+;; We re-run this check once $PATH has been configured
+(defun sanityinc/package-maybe-enable-signatures ()
+  (setq package-check-signature (when (executable-find "gpg") 'allow-unsigned)))
+
+(sanityinc/package-maybe-enable-signatures)
+
+;; On demand installation of packages
+(defun require-package (package &optional min-version no-refresh)
+  "Install given PACKAGE, optionally requiring MIN-VERSION.
+if NO-REFRESH is non-nil, the available package lists will not be
+re-downloaded in order to locate PACKAGE."
+  (if (package-installed-p package min-version)
+      t
+    (if (or (assoc package package-archive-contents) no-refresh)
+	(package-install package)
+      (progn
+	(package-refresh-contents)
+	(require-package package min-version t)))))
+
+;; Fire up package.el
+(package-initialize)
+
+;; install fullframe for list-packages
+(require-package 'fullframe)
+(fullframe list-packages quit-window)
+
+(provide 'setup-package)
.emacs.d/lisp/setup-package.el~
@@ -0,0 +1,2 @@
+(require 'package)
+(require 'dash)
.emacs.d/site-lisp/getelget.el
@@ -1,48 +0,0 @@
-;; getelget - el-get boostrap script
-;;
-;; Checks to see if el-get has been checked out, and bootstraps it if
-;; it has not. After bootstrapping, calls el-get to load specified
-;; packages.
-;;
-;; el-get-packages should be defined before including this file. Any
-;; definitions from el-get-sources will be appended to el-get-packages.
-;;
-;; Written in 2011 by Nathan R. Yergler <nathan@yergler.net>
-;;
-;; To the extent possible under law, the person who associated CC0 with
-;; getelget has waived all copyright and related or neighboring rights
-;; to getelget.
-;;
-;; You should have received a copy of the CC0 legalcode along with this
-;; work.  If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
-
-;; add a hook listener for post-install el-get
-(defun post-install-hook (pkg)
-  ;; after installing el-get, load the local package list
-  (if (string-equal pkg "el-get")
-      (progn
-		;; update recipes from emaccswiki
-		(el-get-emacswiki-refresh nil t)
-		(el-get-sync))))
-(add-hook 'el-get-post-install-hooks 'post-install-hook)
-
-;; add the el-get directory to the load path
-(add-to-list 'load-path
-             (concat (file-name-as-directory user-emacs-directory)
-                     (file-name-as-directory "el-get")
-                     "el-get"))
-
-;; install all user's packages
-(defun el-get-sync ()
-  "Install all user's packages from `el-get-packages' variable."
-  (interactive)
-  (el-get 'sync el-get-packages))
-
-;; try to require el-get
-(unless (require 'el-get nil 'noerror)
-  (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))))
.emacs.d/snippets/emacs-lisp-mode/el-get-source.yasnippet
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: el-get-source
-# --
-(:name $1
-       :description "$2"
-       :type $3
-       :depends ($4)
-       :url "$5"
-       :website "$6")
.emacs.d/ac-comphist.dat
@@ -1,14 +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
@@ -1,23 +0,0 @@
-(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
-(setq ac-comphist-file (expand-file-name "run/ac-comphist.dat"
-                                         user-emacs-directory))
-
-(require 'auto-complete-config)
-(ac-config-default)
-
-(setq ac-use-quick-help nil)            ;; It's slow
-
-(defun ielm-auto-complete ()
-  "Enables `auto-complete' support in \\[ielm]."
-  (setq ac-sources '(ac-source-functions
-                     ac-source-variables
-                     ac-source-features
-                     ac-source-symbols
-                     ac-source-words-in-same-mode-buffers))
-  (add-to-list 'ac-modes 'inferior-emacs-lisp-mode)
-  (auto-complete-mode 1))
-(add-hook 'ielm-mode-hook 'ielm-auto-complete)
-
-;; Don't use up/down arrow (use M-n, M-p only) to browse list
-(define-key ac-completing-map [down] nil)
-(define-key ac-completing-map [up] nil)
.emacs.d/deft.conf.el
@@ -1,11 +0,0 @@
-(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/org/notes")
-(setq deft-use-filename-as-title t)         ;; Use filename as title
-
-;; keybinding
-(global-set-key (kbd "<f9>") 'deft)
-
.emacs.d/emacs-w3m.conf.el
@@ -1,5 +0,0 @@
-(setq browse-url-browser-function 'w3m-browse-url)
-(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
-;; optional keyboard short-cut http://duckduckgo.com
-(global-set-key "\C-xm" 'browse-url-at-point)
-(setq w3m-use-cookies t)
.emacs.d/emacs.org
@@ -0,0 +1,8 @@
+
+
+** Personal information
+
+#+begin_src emacs-lisp
+(setq user-full-name "Vincent Demeester"
+      user-mail-address "vincent@demeester.fr")
+#+end_src
.emacs.d/expand-region.conf.el
@@ -1,1 +0,0 @@
-(global-set-key (kbd "C-=") 'er/expand-region)
.emacs.d/ido.conf.el
@@ -1,10 +0,0 @@
-(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
-(ido-mode 1)
-(ido-vertical-mode 1)
-(flx-ido-mode 1)
.emacs.d/init.el
@@ -1,266 +1,50 @@
-;; Notes
-;; makeinfo needed for magit (texinfo)
-;; Packages : cvs, autoconf
-;; (mu4e)   : libglib2.0-dev libgmime-2.6-dev libxapian-dev
+;; 
+;; 
+;; Initial emacs configuration files. We'll keep it as small as possible
+;; as the real configuration appends in an org file (litterate config.)
 
-;; Personal information
-(setq user-full-name "Vincent Demeester"
-      user-mail-address "vincent@sbr.pm")
+;; Support for Emacs 24 and higher only
+(let ((minver 24))
+  (unless (>= emacs-major-version minver)
+    (error "Your Emacs is too old -- this config requires v%s or higher" minver)))
 
-;; 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))
+;; Keep track of loading time
+(defconst emacs-start-time (current-time))
 
-(add-to-list 'load-path "~/.emacs.d/el-get/el-get")
+;; Add custom lisp files to the load-path
+(add-to-list 'load-path "~/.emacs.d/lisp")
 
-;; path to local config
-(add-to-list 'load-path
-             (concat
-              (file-name-as-directory user-emacs-directory) "site-lisp/"))
+;; initialize all ELPA packages
+(require 'setup-package)
 
-;; Initialize el-get
-;; (setq el-get-dir (expand-file-name "vendor" user-emacs-directory))
-
-(unless (require 'el-get nil 'noerror)
-  (with-current-buffer
-      (url-retrieve-synchronously
-       "https://raw.github.com/dimitri/el-get/master/el-get-install.el")
-    (goto-char (point-max))
-    (eval-print-last-sexp)))
-
-(add-to-list 'el-get-recipe-path "~/.emacs.d/el-get-user/recipes")
-
-;; el-get packages
-(setq el-get-packages
-      '(el-get
-        dash
-        s
-        powerline                           ;; Powerline is cool :D
-        naquadah-theme                      ;; Theme from Julien Danjou
-        sublime-themes                      ;; Theme inspired by Sublime Text ones
-        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
-        org-magit
-        org-reveal
-        org-fstree
-        org-jekyll
-        org-redmine
-        org-sync
-        org-caldav
-        org-doing
-        org-bullets                         ;; Org UTF-8 bullets
-        flx
-        ido-vertical-mode
-        smex
-        yasnippet
-        smartparens
-        deft
-        ;; Languages and file support
-        lua-mode
-        go-mode
-        haskell-mode
-        mustache-mode
-        markdown-mode
-        pkgbuild-mode
-        dockerfile-mode
-        web-mode
-        apache-mode
-        scala-mode2
-        ;; Clojure
-        cider
-        clojure-mode
-        paredit
-        paredit-extension
-        ;; keychain-environment
-        ;; project(s)
-        projectile
-        ;; Web
-        emacs-w3m
-        mu4e
-        ))
-
-;; Conditionnal recipes
-;; (unless (string-match "apple-darwin" system-configuration)
-;; ...)
-
-(if (file-exists-p "/usr/share/ensime/elisp")
-    '(
-      (add-to-list 'load-path "/usr/share/ensime/elisp")
-      (add-to-list 'exec-path "/usr/share/ensime")
-      (require 'ensime)
-      (add-hook 'scala-mode-hook 'ensime-scala-mode-hook)
-      )
-  '(when (ignore-error
-          (executable-find "sbt")
-          (loop for p in '(ensime
-                           )
-                do (add-to-list 'el-get-packages 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
-(scroll-bar-mode -1)                        ; No scrollbar
-(blink-cursor-mode -1)                        ; No blinking cursor
-(show-paren-mode t)                        ; Display matching parenthesis ; C-M-n and C-M-p
-(setq inhibit-splash-screen t)                ; No splash screen
-(line-number-mode 1)                        ; show line number
-(column-number-mode 1)                        ; show column number
-(global-hl-line-mode 1)                        ; highlight current line
-(mouse-avoidance-mode 'jump)                ; move the mouse away
-(setq font-lock-maximum-decoration 2) ; faster font-lock-mode
-(set-default 'indicate-buffer-boundaries '((up . nil) (down . nil) (t . left)))
-
-;; Font
-(set-default-font "Ubuntu Mono-12")
-(set-frame-font "Ubuntu Mono-12")
-(set-face-attribute 'default nil :family "Ubuntu Mono" :height 110)
-(set-fontset-font "fontset-default" nil 
-                  (font-spec :size 20 :name "Symbola"))
-
-;; Load the theme
-(load-theme 'junio t)
-
-;; Behaviour
-(setq mouse-yank-at-point t                ; Yank where the point currently is
-      x-select-enable-primary t ; Yank use the primary selection if available
-      save-interprogram-paste-before-kill t ; Put clipboard/selection into kill ring
-      mouse-1-click-follows-link nil)        ; Don't follow links with left click
-(fset 'yes-or-no-p 'y-or-n-p) ; Always use y/n prompt
-(setq use-dialog-box nil) ; No dialog box
-(put 'downcase-region 'disabled nil)
-(put 'upcase-region 'disabled nil)
-(setq-default indent-tabs-mode nil) ; don't use tabs
-(setq next-screen-context-lines 5 ; Keep more lines when scrolling
-      x-stretch-cursor t) ; stretch cursor to the width of the char
-
-;; Save all tempfiles in $TMPDIR/emacs$UID/
-(defconst emacs-tmp-dir (format "%s/%s%s/" temporary-file-directory "emacs" (user-uid)))
-(setq backup-directory-alist
-      `((".*" . ,emacs-tmp-dir))
-      auto-save-file-name-transforms
-      `((".*" ,emacs-tmp-dir t))
-      auto-save-list-file-prefix emacs-tmp-dir)
-;; All tempfiles are out of the way, we'll keep more of them :)
-(setq delete-old-versions t
-      kept-new-versions 6
-      kept-old-versions 2
-      version-control t)
-
-;; 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 'magit)
-(require 'git-annex)
-(require 'powerline)
-(powerline-default-theme)
+;; (setq package-enable-at-startup nil)
+(let ((elapsed (float-time (time-subtract (current-time)
+					   emacs-start-time))))
+  (message "Loaded packages in %.3fs" elapsed))
 
+;; Make sure we have a decent and recent org-mode version
+(package-install 'org)
+(package-install 'org-plus-contrib)
 (require 'org)
+(when (string-match "^[1234567]" (org-version))
+  (warn "Org-mode is out of date. We expect org 8 or higher, but instead we have %s" (org-version)))
 
-(require 'uniquify)
+;; keep customize settings in their own file
+(setq custom-file
+      (expand-file-name "custom.el"
+			user-emacs-directory))
+(when (file-exists-p custom-file)
+  (load custom-file))
 
-(require 'saveplace)
-(setq-default save-place t)
+;; load the literate configuration
+(require 'ob-tangle)
+;;(org-babel-load-file
+;; (expand-file-name "emacs.org"
+;;		   user-emacs-directory))
+(org-babel-load-file "~/.emacs.d/emacs.org")
 
-;; TODO Load machine-specifc
-;; TODO Load os-specific
+(let ((elapsed (float-time (time-subtract (current-time)
+					   emacs-start-time))))
+  (message "Loaded settings...done in %.3fs" elapsed))
 
 
-;; Clean & co
-(defun untabify-buffer ()
-  (interactive)
-  (untabify (point-min) (point-max)))
-
-(defun indent-buffer ()
-  (interactive)
-  (indent-region (point-min) (point-max)))
-
-(defun cleanup-buffer ()
-  "Perform a bunch of operations on the whitespace content of a buffer."
-  (interactive)
-  (indent-buffer)
-  (untabify-buffer)
-  (delete-trailing-whitespace))
-
-(defun cleanup-region (beg end)
-  "Remove tmux artifacts from region."
-  (interactive "r")
-  (dolist (re '("\\\\│\·*\n" "\W*│\·*"))
-    (replace-regexp re "" nil beg end)))
-
-(global-set-key (kbd "C-x M-t") 'cleanup-region)
-(global-set-key (kbd "C-c n") 'cleanup-buffer)
-
-;; flyspell
-(setq flyspell-issue-welcome-flag nil)
-(setq-default ispell-program-name "aspell")
-(setq-default ispell-list-command "list")
-
-;; other bindings
-(global-set-key (kbd "M-o") 'other-window)
-(global-set-key (kbd "S-C-<left>") 'shrink-window-horizontally)
-(global-set-key (kbd "S-C-<right>") 'enlarge-window-horizontally)
-(global-set-key (kbd "S-C-<down>") 'shrink-window)
-(global-set-key (kbd "S-C-<up>") 'enlarge-window)
-
-;; y and n in place of yes or no
-(defalias 'yes-or-no-p 'y-or-n-p)
-
-(global-set-key (kbd "C-+") 'text-scale-increase)
-(global-set-key (kbd "C--") 'text-scale-decrease)
-
-;; Server
-(unless (string= (user-login-name) "root")
-  (require 'server)
-  (when (or (not server-process)
-            (not (eq (process-status server-process)
-                     'listen)))
-    (unless (server-running-p server-name)
-      (server-start))))
-(custom-set-variables
- ;; custom-set-variables was added by Custom.
- ;; 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.
- '(custom-safe-themes (quote ("53c542b560d232436e14619d058f81434d6bbcdc42e00a4db53d2667d841702e" "1989847d22966b1403bab8c674354b4a2adf6e03e0ffebe097a6bd8a32be1e19" "ce79400f46bd76bebeba655465f9eadf60c477bd671cbcd091fe871d58002a88" "bf648fd77561aae6722f3d53965a9eb29b08658ed045207fe32ffed90433eb52" "0ebe0307942b6e159ab794f90a074935a18c3c688b526a2035d14db1214cf69c" "90b5269aefee2c5f4029a6a039fb53803725af6f5c96036dee5dc029ff4dff60" "33c5a452a4095f7e4f6746b66f322ef6da0e770b76c0ed98a438e76c497040bb" "9bcb8ee9ea34ec21272bb6a2044016902ad18646bd09fdd65abae1264d258d89" "c7359bd375132044fe993562dfa736ae79efc620f68bab36bd686430c980df1c" "e26780280b5248eb9b2d02a237d9941956fc94972443b0f7aeec12b5c15db9f3" "7d4d00a2c2a4bba551fcab9bfd9186abe5bfa986080947c2b99ef0b4081cb2a6" "a774c5551bc56d7a9c362dca4d73a374582caedb110c201a09b410c0ebbb5e70" "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.
-  ;; Your init file should contain only one such instance.
-  ;; If there is more than one, they won't work right.
-  )
.emacs.d/magit.conf.el
@@ -1,32 +0,0 @@
-(defcustom magit-svn-externals-dir ".git_externals"
-  "Directory from repository root that stores cloned SVN externals."
-  :group 'magit
-  :type 'string)
-
-(defun magit-svn-fetch-externals()
-  "Loops through all external repos found by `magit-svn-external-directories'
-and runs git svn fetch, and git svn rebase on each of them."
-  (interactive)
-  (let ((externals (magit-svn-external-directories)))
-    (if (not externals)
-        (message "No SVN Externals found. Check magit-svn-externals-dir.")
-      (dolist (external externals)
-        (let ((default-directory (file-name-directory external)))
-          (magit-run-git "svn" "fetch")
-          (magit-run-git "svn" "rebase")))
-      (magit-refresh))))
-
-(defun magit-svn-external-directories()
-  "Returns all .git directories within `magit-svn-externals-dir'"
-  (require 'find-lisp)
-  (find-lisp-find-files-internal (expand-file-name magit-svn-externals-dir)
-                                 '(lambda(file dir)
-                                    (string-equal file ".git"))
-                                 'find-lisp-default-directory-predicate))
-
-; (magit-key-mode-insert-action 'svn "x" "Fetch Externals" 'magit-svn-fetch-externals)
-
-(add-hook 'magit-mode-hook (lambda()
-                             (require 'magit-svn)
-                             (if (magit-svn-get-ref-info)
-                                 (magit-svn-mode))))
.emacs.d/nxml-mode.conf.el
@@ -1,3 +0,0 @@
-(setq nxml-sexp-element-flag t           ; treat <e><p>...</p></e> like (e (p ...)) for C-M-f/b/k/d/u
-      nxml-slash-auto-complete-flag t)   ; complete the element on </
-(add-hook 'nxml-mode-hook (lambda () (define-key nxml-mode-map (kbd "M-D") 'nxml-backward-down-element)))
.emacs.d/org-protocol.conf.el
@@ -1,17 +0,0 @@
-;; Setup org-protocol with XDG
-(let ((desktop-file (expand-file-name "~/.local/share/applications/emacsclient.desktop")))
-  (unless (file-exists-p desktop-file)
-    (with-temp-file desktop-file
-      (insert "[Desktop Entry]
-Name=Emacs Client
-Exec=emacsclient %u
-Icon=emacs-icon
-Type=Application
-Terminal=false
-MimeType=x-scheme-handler/org-protocol;
-"))
-    (call-process "update-desktop-database" nil nil nil (file-name-directory desktop-file))
-    (call-process "xdg-mime" nil nil nil "default" "emacsclient.desktop" "x-scheme-handler/org-protocol")))
-
-;; Here is the associated bookmarklet:
-;; javascript:location.href='org-protocol://store-link://'+encodeURIComponent(location.href)+'/'+encodeURIComponent(document.title)+'/'+encodeURIComponent(window.getSelection())
.emacs.d/org.conf.el
@@ -1,141 +0,0 @@
-(require 'dash)
-(require 's)
-
-(setq
- 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
- org-agenda-include-diary t
- )
-
-;; org files
-(setq org-directory "~/desktop/org/")
-(setq org-agenda-files '("~/desktop/org/todos/"))
-(setq org-archive-location (concat org-directory "archive/%s_archive::"))
-
-;; Todos keywords
-(setq org-todo-keywords
-      (quote ((sequence "TODO(t)" "NEXT(n)" "PROGRESS(p)" "|" "DONE(d)")
-              (sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" "CANCELLED(c@/!)" "PHONE" "MEETING"))))
-
-(setq org-todo-keyword-faces
-      (quote (("TODO" :foreground "#EE0000" :weight bold)
-              ("NEXT" :foreground "#A197BF" :weight bold)
-              ("PROGRESS" :foreground "#A197BF" :weight bold)
-              ("DONE" :foreground "#8fbfdc" :weight bold)
-              ("WAITING" :foreground "orange" :weight bold)
-              ("HOLD" :foreground "magenta" :weight bold)
-              ("CANCELLED" :foreground "forest green" :weight bold)
-              ("MEETING" :foreground "forest green" :weight bold)
-              ("PHONE" :foreground "forest green" :weight bold))))
-
-(defun my-org-mode-hook ()
-  "Personal org-mode-hook, that enable and disable stuff."
-  (define-key org-mode-map (kbd "C-c [") 'nil)
-  (define-key org-mode-map (kbd "C-c ]") 'nil)
-  )
-(add-hook 'org-mode-hook 'my-org-mode-hook)
-
-;; Speed commmands
-(defun ded/org-show-next-heading-tidily ()
-  "Show next entry, keeping other entries closed."
-  (if (save-excursion (end-of-line) (outline-invisible-p))
-      (progn (org-show-entry) (show-children))
-    (outline-next-heading)
-    (unless (and (bolp) (org-on-heading-p))
-      (org-up-heading-safe)
-      (hide-subtree)
-      (error "Boundary reached"))
-    (org-overview)
-    (org-reveal t)
-    (org-show-entry)
-    (show-children)))
-
-(defun ded/org-show-previous-heading-tidily ()
-  "Show previous entry, keeping other entries closed."
-  (let ((pos (point)))
-    (outline-previous-heading)
-    (unless (and (< (point) pos) (bolp) (org-on-heading-p))
-      (goto-char pos)
-      (hide-subtree)
-      (error "Boundary reached"))
-    (org-overview)
-    (org-reveal t)
-    (org-show-entry)
-    (show-children)))
-
-(setq org-use-speed-commands t)
-(add-to-list 'org-speed-commands-user
-             '("n" ded/org-show-next-heading-tidily))
-(add-to-list 'org-speed-commands-user
-             '("p" ded/org-show-previous-heading-tidily))
-
-;; Source code block
-(defun org-insert-src-block (src-code-type)
-  "Insert a `SRC-CODE-TYPE' type source code block in org-mode."
-  (interactive
-   (let ((src-code-types
-          '("emacs-lisp" "python" "C" "sh" "java" "js" "clojure" "C++" "css"
-            "calc" "asymptote" "dot" "gnuplot" "ledger" "lilypond" "mscgen"
-            "octave" "oz" "plantuml" "R" "sass" "screen" "sql" "awk" "ditaa"
-            "haskell" "latex" "lisp" "matlab" "ocaml" "org" "perl" "ruby"
-            "scheme" "sqlite")))
-     (list (ido-completing-read "Source code type: " src-code-types))))
-  (progn
-    (newline-and-indent)
-    (insert (format "#+BEGIN_SRC %s\n" src-code-type))
-    (newline-and-indent)
-    (insert "#+END_SRC\n")
-    (previous-line 2)
-    (org-edit-src-code)))
-
-;; Org Capture
-(setq org-capture-templates
-      '(("t" "Todo" entry (file+headline (concat org-directory "/todos/inbox.org") "Tasks")
-         "* TODO %?\n %i\n")
-        ("e" "Eileo" entry (file+headline (concat org-directory "/todos/eileo.org")) "Inbox")
-        ("l" "Link" plain (file+datetree (concat org-directory "/notes/links.org"))
-         "- %?\n %x\n")))
-
-;; org-archive
-(require 'org-archive)
-
-;; Use bullets
-(require 'org-bullets)
-(add-hook 'org-mode-hook
-          '(lambda ()
-             (org-bullets-mode 1)
-             ;; keybinding for editing source code blocks
-             (local-set-key (kbd "C-c s e")
-                            'org-edit-src-code)
-             ;; keybinding for inserting code blocks
-             (local-set-key (kbd "C-c s i")
-                            'org-insert-src-block)
-             ))
-
-(require 'org-protocol)
-;; (require 'org-mine)
-
-(require 'org-mobile)
-;; mobileorg settings
-(setq org-mobile-directory "/scpc:vincent@sif:desktop/org-mobile/")
-(setq org-mobile-inbox-for-pull "~/desktop/org/todos/inbox.org")
-(setq org-mobile-files '("~/desktop/org/todos/"))
-
-(require 'os)
-;;(require 'os-bb)
-;;(require 'os-rmine)
-;;(require 'os-github)
-
-;; org-babel
-(require 'ob)
-(setq org-src-fontify-natively t)
-;; (setq org-confirm-babel-evaluate nil)
-
-;; Automatic safe of all org-buffer each hours
-(run-at-time "00:59" 3600 'org-save-all-org-buffers)
.emacs.d/smartparens.conf.el
@@ -1,2 +0,0 @@
-;; (package-initialize)
-(smartparens-global-mode t)
.emacs.d/smex.conf.el
@@ -1,7 +0,0 @@
-(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)
.gitignore.d/emacs-config
@@ -2,6 +2,8 @@
 !.emacs.d
 !.emacs.d/*
 !.emacs.d/**
+.emacs.d/emacs.el
+.emacs.d/elpa
 .emacs.d/*~
 .emacs.d/*#
 *.elc