summaryrefslogtreecommitdiffstats
path: root/.emacs.d
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2013-04-11 15:37:01 +0200
committerGravatar Tom Willemsen2013-04-11 15:37:01 +0200
commit55ca176cd5022d2fc35bc2c06d5f9a764315f238 (patch)
tree3ee9e0df6dced4282af9116a8c93d888e30b7213 /.emacs.d
parentcaf0ec0fb16b3f911d5d596766ee3048fe07fa66 (diff)
parent9ab70194a65f1d7ab726aaacdb43a58a02a048b6 (diff)
downloaddotfiles-55ca176cd5022d2fc35bc2c06d5f9a764315f238.tar.gz
dotfiles-55ca176cd5022d2fc35bc2c06d5f9a764315f238.zip
Merge remote-tracking branch 'ryuslash/drd' into phoenix
Conflicts: .config/herbstluftwm/autostart .emacs.d/init.el .xinitrc .zprofile Makefile xmonad/xmonad.hs
Diffstat (limited to '.emacs.d')
-rw-r--r--.emacs.d/.gitignore17
-rw-r--r--.emacs.d/Makefile11
-rw-r--r--.emacs.d/eshell/Makefile5
-rw-r--r--.emacs.d/eshell/alias9
-rw-r--r--.emacs.d/gnus.el57
-rw-r--r--.emacs.d/init.org310
-rw-r--r--.emacs.d/site-lisp/Makefile7
-rw-r--r--.emacs.d/site-lisp/dzen.el85
-rw-r--r--.emacs.d/site-lisp/eltuki.el232
-rw-r--r--.emacs.d/site-lisp/ext.el47
-rw-r--r--.emacs.d/site-lisp/metalexpress.el80
-rw-r--r--.emacs.d/site-lisp/mu4e-init.el54
-rw-r--r--.emacs.d/site-lisp/newsticker-init.el6
-rw-r--r--.emacs.d/site-lisp/oni.el587
-rw-r--r--.emacs.d/site-lisp/org-init.el164
-rw-r--r--.emacs.d/site-lisp/quick-edit-mode.el74
-rw-r--r--.emacs.d/site-lisp/wm-init.el3
-rw-r--r--.emacs.d/snippets/Makefile4
-rw-r--r--.emacs.d/snippets/html-mode/Makefile4
-rw-r--r--.emacs.d/snippets/html-mode/for8
-rw-r--r--.emacs.d/snippets/html-mode/generic-block8
-rw-r--r--.emacs.d/snippets/org-mode/Makefile4
-rw-r--r--.emacs.d/snippets/org-mode/codeblock7
-rw-r--r--.emacs.d/snippets/org-mode/heading9
-rw-r--r--.emacs.d/snippets/org-mode/project51
-rw-r--r--.emacs.d/snippets/org-mode/snippet14
-rw-r--r--.emacs.d/snippets/python-mode/Makefile4
-rw-r--r--.emacs.d/snippets/python-mode/defm_empty7
-rw-r--r--.emacs.d/snippets/python-mode/form9
-rw-r--r--.emacs.d/snippets/python-mode/form_valid8
-rw-r--r--.emacs.d/snippets/python-mode/import_from6
-rw-r--r--.emacs.d/snippets/python-mode/permission_guard9
-rw-r--r--.emacs.d/snippets/python-mode/url5
33 files changed, 0 insertions, 1905 deletions
diff --git a/.emacs.d/.gitignore b/.emacs.d/.gitignore
deleted file mode 100644
index 0b490df..0000000
--- a/.emacs.d/.gitignore
+++ /dev/null
@@ -1,17 +0,0 @@
-tramp
-elpa
-bookmarks
-abbrev_defs
-custom.el
-*.elc
-ac-comphist.dat
-auto-save-list/
-url/
-packages/
-newsticker/
-templates/
-rinit.*
-!rinit.org
-history
-init2.el
-*.html
diff --git a/.emacs.d/Makefile b/.emacs.d/Makefile
deleted file mode 100644
index fc17095..0000000
--- a/.emacs.d/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-DESTDIR:=$(DESTDIR)/.emacs.d
-objects=init.elc init.el gnus.elc gnus.el init2.elc init2.el
-modules=eshell site-lisp snippets
-
-EMACS=emacs
-
-include ../dotfiles.mk
-
-init2.el: init.org
- $(EMACS) -Q -batch \
- -eval "(progn (require 'org) (require 'ob-tangle) (org-babel-tangle-file \"$^\"))"
diff --git a/.emacs.d/eshell/Makefile b/.emacs.d/eshell/Makefile
deleted file mode 100644
index fd3b0f2..0000000
--- a/.emacs.d/eshell/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-DESTDIR:=$(DESTDIR)/eshell
-objects=alias
-modules=
-
-include ../../dotfiles.mk
diff --git a/.emacs.d/eshell/alias b/.emacs.d/eshell/alias
deleted file mode 100644
index d98e2f5..0000000
--- a/.emacs.d/eshell/alias
+++ /dev/null
@@ -1,9 +0,0 @@
-alias hgit hgit --no-pager $*
-alias newsbeuter ansi-term newsbeuter newsbeuter
-alias d dired $1
-alias o find-file $1
-alias listen eshell-exec-visual mplayer http://usa7-vn.mixstream.net/listen/8248.pls
-alias ncmpcpp ansi-term ncmpcpp ncmpcpp
-alias sudo *sudo $*
-alias rm rm -v $*
-alias git git --no-pager $*
diff --git a/.emacs.d/gnus.el b/.emacs.d/gnus.el
deleted file mode 100644
index 7301231..0000000
--- a/.emacs.d/gnus.el
+++ /dev/null
@@ -1,57 +0,0 @@
-(setq gnus-select-method '(nntp "news.gmane.org"))
-(setq gnus-secondary-select-methods
- '((nnmaildir "gmail"
- (directory "~/documents/mail/gmail/"))
- (nnmaildir "ninthfloor"
- (directory "~/documents/mail/ninthfloor/"))
- (nnmaildir "aethon"
- (directory "~/documents/mail/aethon/"))
- (nnmaildir "ryuslash"
- (directory "~/documents/mail/ryuslash.org/"))
- (nntp "news.gwene.org")))
-(setq gnus-auto-subscribed-groups nil)
-(setq gnus-extra-headers '(To))
-(setq gnus-save-newsrc-file nil)
-(setq gnus-read-newsrc-file nil)
-(setq gnus-novice-user t)
-(setq gnus-article-truncate-lines nil)
-;; (setq gnus-parameters
-;; '(("gmail"
-;; (display . all))
-;; ("aethon"
-;; (display . all)
-;; ("arch"
-;; (display . all)))))
-(setq gnus-permanently-visible-groups
- (eval-when-compile
- (regexp-opt '("gmail:inbox"
- "aethon:inbox"
- "ninthfloor:inbox"
- "ryuslash:inbox"))))
-(setq nntp-marks-is-evil t)
-(setq gnus-check-new-newsgroups nil)
-(setq gnus-posting-styles
- '((".*"
- (address "tom@ryuslash.org")
- (eval (setq message-sendmail-extra-arguments '("-a" "ryuslash")
- flyspell-default-dictionary "en")))
- ("gmail:"
- (address "ryuslash@gmail.com")
- (eval (setq message-sendmail-extra-arguments '("-a" "gmail"))))
- ("ninthfloor:"
- (address "ryuslash@ninthfloor.org")
- (eval (setq message-sendmail-extra-arguments '("-a" "ninthfloor"))))
- ("arch:"
- (address "tom.willemsen@archlinux.us")
- (eval (setq message-sendmail-extra-arguments '("-a" "arch"))))
- ("aethon:"
- (address "thomas@aethon.nl")
- (signature-file "~/documents/work/aethon/signature.txt")
- (eval (setq message-sendmail-extra-arguments '("-a" "aethon")
- flyspell-default-dictionary "nl")))))
-
-;-----[ BBDB ]--------------------------------------------------------
-;; (require 'bbdb)
-;; (bbdb-initialize 'gnus 'message)
-;; (bbdb-insinuate-gnus)
-;; (setq bbdb-north-american-phone-numbers-p nil)
diff --git a/.emacs.d/init.org b/.emacs.d/init.org
deleted file mode 100644
index f4acfca..0000000
--- a/.emacs.d/init.org
+++ /dev/null
@@ -1,310 +0,0 @@
-#+TITLE: Emacs init
-#+STYLE: <link href="http://ryuslash.ninth.su/test2.css" rel="stylesheet">
-#+OPTIONS: author:nil
-#+STARTUP: showall
-#+LINK: yoshi-theme http://ryuslash.org/projects/yoshi-theme.html
-
-* Emacs init
-
- Before doing anything else I should make sure that both the
- directories ~/usr/local/emacs/share/emacs/site-lisp~ and
- ~/usr/share/emacs/site-list~ are included in =load-path=, along with
- their subdirectories, but only if they haven't already been added
- and exist. Place them at the end of =load-path= so they don't mess up
- package precedence.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (eval-and-compile
- (defun oni:path-init (dir)
- "Add DIR to `load-path' and all its subdirectories, unless
- DIR is already in `load-path'."
- (unless (or (member dir load-path) (not (file-exists-p dir)))
- (let ((default-directory dir))
- (add-to-list 'load-path dir t)
- (normal-top-level-add-subdirs-to-load-path))))
- (oni:path-init "/usr/share/emacs/site-lisp")
- (oni:path-init "/usr/local/emacs/share/emacs/site-lisp"))
- #+END_SRC
-
- Add my project [[yoshi-theme]] to =custom-theme-load-path= and load it.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (add-to-list 'custom-theme-load-path "~/projects/emacs/yoshi-theme/")
- (load-theme 'yoshi t)
- #+END_SRC
-
- Remove the ~menu-bar~, ~tool-bar~ and ~scroll-bar~ from the UI since I
- don't use them at all.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (menu-bar-mode -1)
- (scroll-bar-mode -1)
- (tool-bar-mode -1)
- #+END_SRC
-
- Add any other interesting paths to =load-path= and, if it exists,
- load the ~loaddefs.el~ file from these directories.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (mapc #'(lambda (dir)
- (add-to-list 'load-path dir)
- (let ((loaddefs (concat dir "/loaddefs.el")))
- (when (file-exists-p loaddefs)
- (load loaddefs))))
- '("~/projects/emacs/mode-icons" "~/.emacs.d/site-lisp"
- "~/projects/emacs/pony-mode/src" "~/projects/emacs/php-mode"))
- #+END_SRC
-
- Don't ask ~yes~ or ~no~, ask ~y~ or ~n~, I've never had an accidental ~y~ so
- far.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defalias 'yes-or-no-p 'y-or-n-p)
- #+END_SRC
-
- Use =ibuffer= instead of the default =list-buffers= because it has many
- more features.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defalias 'list-buffers 'ibuffer)
- #+END_SRC
-
- Do the same with =hippie-expand= and =dabbrev-expand=.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defalias 'dabbrev-expand 'hippie-expand)
- #+END_SRC
-
- Don't show it when ~eldoc~ is running, I almost assume that it is
- whenever I'm working in a mode that supports it anyway. This should
- only execute once ~eldoc~ has been loaded.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (eval-after-load "eldoc" '(diminish 'eldoc-mode))
- #+END_SRC
-
- Use the standard EMMS configuration and add some MPD settings.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defun oni:emms-init ()
- "Initialization function for EMMS."
- (require 'emms-setup)
- (require 'emms-player-mpd)
-
- (emms-standard)
-
- (add-to-list 'emms-info-functions 'emms-info-mpd)
- (add-to-list 'emms-player-list 'emms-player-mpd)
-
- (setq emms-player-mpd-server-name "localhost")
- (setq emms-player-mpd-server-port "6600")
- (setq emms-player-mpd-music-directory "/mnt/music/mp3"))
-
- (eval-after-load "emms-source-file" '(oni:emms-init))
- (setq emms-source-file-default-directory "/mnt/music/")
- #+END_SRC
-
- Add some keybindings for EMMS.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defun oni:emms-toggle-playing ()
- "Toggle between playing/paused states."
- (interactive)
- (if (eq emms-player-playing-p nil)
- (emms-start)
- (emms-pause)))
-
- (defun oni:start-emms ()
- "Check to see if the function `emms' exists, if not call
- `emms-player-mpd-connect' and assume that will have loaded it."
- (interactive)
- (unless (fboundp 'emms)
- (emms-player-mpd-connect))
- (emms))
-
- (global-set-key (kbd "<XF86AudioNext>") 'emms-next)
- (global-set-key (kbd "<XF86AudioPlay>") 'oni:emms-toggle-playing)
- (global-set-key (kbd "<XF86AudioPrev>") 'emms-previous)
- (global-set-key (kbd "<XF86AudioStop>") 'emms-stop)
- (global-set-key (kbd "<XF86Tools>") 'oni:start-emms)
- #+END_SRC
-
- Load ~flymake-cursor~ after loading ~flymake~, add Python and Go to
- "allowed" files and add go error output to error patterns.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defun oni:flymake-init ()
- "Initialization function for flymake."
- (require 'flymake-cursor)
-
- (add-to-list ; Make sure pyflakes is loaded
- 'flymake-allowed-file-name-masks ; for python files.
- '("\\.py\\'" ext:flymake-pyflakes-init))
-
- (add-to-list ; Error line repexp for go
- 'flymake-err-line-patterns ; compilation.
- '("^\\([a-zA-Z0-9_]+\\.go\\):\\([0-9]+\\):\\(.*\\)$"
- 1 2 nil 3))
-
- (add-to-list ; Go uses makefiles, makes
- 'flymake-allowed-file-name-masks ; flymaking 'easy'.
- '("\\.go$" flymake-simple-make-init)))
-
- (eval-after-load "flymake" '(oni:flymake-init))
- #+END_SRC
-
- Disable the GUI for flymake errors, add a bunch of pep8, flymake
- and pyflakes messages to warning and info patterns, set the log
- file to somewhere in my home directory and set logging level to 0.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (setq flymake-gui-warnings-enabled nil)
- (setq flymake-info-line-regexp
- (eval-when-compile
- (regexp-opt
- '("Invalid name"
- "String statement has no effect"
- "Missing docstring"
- "Empty docstring"
- "multiple imports on one line"
- "expected 2 blank lines, found 1"
- "expected 2 blank lines, found 0"
- "TODO:"
- "whitespace after '{'"
- "whitespace before '}'"
- "whitespace before ':'"
- "whitespace after '('"
- "whitespace before ')'"
- "whitespace after '['"
- "whitespace before ']'"
- "the backslash is redundant between brackets"
- "continuation line over-indented for visual indent"
- "continuation line under-indented for visual indent"
- "Too many statements"
- "comparison to None should be"
- "missing whitespace around operator"
- "missing whitespace after ','"
- "line too long"
- "at least two spaces before inline comment"
- "trailing whitespace"
- "imported but unused"
- "Unused import"
- "too many blank lines"))))
- (setq flymake-log-file-name (expand-file-name "~/.emacs.d/flymake.log"))
- (setq flymake-log-level 0)
- (setq flymake-warn-line-regexp
- (eval-when-compile
- (regexp-opt '("warning"
- "Warning"
- "redefinition of unused"
- "Redefining built-in"
- "Redefining name"
- "Unused argument"
- "Unused variable"
- "Dangerous default value {} as argument"
- "no newline at end of file"
- "Access to a protected member"))))
- #+END_SRC
-
- After loading ~flycheck~ Remove the default python checkers and
- replace them with my own, which tries both ~flake8~ and ~pylint~.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (eval-after-load "flycheck"
- '(progn
- (mapc (lambda (c) (delete c flycheck-checkers))
- '(python-pylint python-pyflakes))))
- #+END_SRC
-
-** Eshell
-
- Add ~unison~ to the list of =eshell-visual-commands= because it
- expects unbuffered input and eshell just doesn't give that.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (eval-after-load "em-term"
- '(add-to-list 'eshell-visual-commands "unison"))
- #+END_SRC
-
- Don't let eshell highlight it's prompt, this way I can decide the
- colors for it myself.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (setq eshell-highlight-prompt nil)
- #+END_SRC
-
- In the prompt:
-
- - Show the exit status of the last program/command run represented
- by a green ~+~ and a red ~-~ sign.
- - Show the current hostname with the =mode-line-buffer-id= face.
- - Show an abbreviation of the current directory (as seen in ~fish~)
- using the =font-lock-string-face= face.
- - If we're in a git repository, show the current branch with the
- =font-lock-function-name-face= face.
- - Show the status of priviledges in blue.
-
- And set the =eshell-prompt-regexp= to
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defun oni:eshell-prompt-function ()
- "Show a pretty shell prompt."
- (let ((status (if (zerop eshell-last-command-status) ?+ ?-))
- (hostname (shell-command-to-string "hostname"))
- (dir (abbreviate-file-name (eshell/pwd)))
- (branch
- (shell-command-to-string
- "git branch --contains HEAD 2>/dev/null | sed -e '/^[^*]/d'"))
- (userstatus (if (zerop (user-uid)) ?# ?$)))
- (concat
- (propertize (char-to-string status)
- 'face `(:foreground ,(if (= status ?+)
- "green"
- "red")))
- " "
- (propertize (substring hostname 0 -1) 'face 'mode-line-buffer-id)
- " "
- (propertize (oni:shorten-dir dir) 'face 'font-lock-string-face)
- " "
- (when (not (string= branch ""))
- (propertize
- ;; Cut off "* " and "\n"
- (substring branch 2 -1)
- 'face 'font-lock-function-name-face))
- " \n"
- (propertize (char-to-string userstatus)
- 'face `(:foreground "blue"))
- "> ")))
-
- (setq eshell-prompt-function 'oni:eshell-prompt-function
- eshell-prompt-regexp "^[#$]> ")
- #+END_SRC
-
- Don't truncate lines in eshell, wrap them.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defun oni:eshell-mode-func ()
- "Function for `eshell-mode-hook'."
- (setq truncate-lines nil))
-
- (add-hook 'eshell-mode-hook 'oni:eshell-mode-func)
- #+END_SRC
-
- Bind the ~f8~ key to easily show eshell.
-
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defun oni:raise-eshell ()
- "Start or switch back to `eshell'.
- Also change directories to current working directory."
- (interactive)
- (let ((dir (file-name-directory
- (or (buffer-file-name) "~/")))
- (hasfile (not (eq (buffer-file-name) nil))))
- (eshell)
- (if (and hasfile (eq eshell-process-list nil))
- (progn
- (eshell/cd dir)
- (eshell-reset)))))
-
- (global-set-key (kbd "<f8>") 'oni:raise-eshell)
- #+END_SRC
diff --git a/.emacs.d/site-lisp/Makefile b/.emacs.d/site-lisp/Makefile
deleted file mode 100644
index bbccbb7..0000000
--- a/.emacs.d/site-lisp/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-DESTDIR:=$(DESTDIR)/site-lisp
-objects=dzen.elc dzen.el eltuki.elc eltuki.el ext.elc ext.el \
- metalexpress.elc metalexpress.el mu4e-init.elc mu4e-init.el \
- newsticker-init.elc newsticker-init.el oni.elc oni.el org-init.elc \
- org-init.el quick-edit-mode.elc quick-edit-mode.el
-
-include ../../dotfiles.mk
diff --git a/.emacs.d/site-lisp/dzen.el b/.emacs.d/site-lisp/dzen.el
deleted file mode 100644
index 8b92dfe..0000000
--- a/.emacs.d/site-lisp/dzen.el
+++ /dev/null
@@ -1,85 +0,0 @@
-;;; dzen.el --- Control DZEN2 from emacs
-
-;; Copyright (C) 2012 Tom Willemsen
-
-;; Author: Tom Willemsen <slash@drd>
-;; Keywords: convenience
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;
-
-;;; Code:
-
-(require 'newst-backend)
-
-(defvar dzen-process nil
- "Dzen2's process.")
-
-(defvar dzen-timer nil
- "Timer used to update the dzen line.")
-
-(defun get-mail-count (account)
- (length (directory-files (concat "/home/slash/documents/mail/"
- account "/inbox/new") nil "^[^.]")))
-
-(defun dzen-update ()
- (let ((strl "")
- (strc (if (boundp 'metal-express-radio-currently-playing)
- metal-express-radio-currently-playing
- ""))
- (strr (format
- "jabber: %s ryu: %d gm: %d aet: %d 9n: %d rss: %d\n"
- (oni:current-jabber-status)
- (get-mail-count "ryuslash.org")
- (get-mail-count "gmail")
- (get-mail-count "aethon")
- (get-mail-count "ninthfloor")
- (newsticker--stat-num-items-total 'new))))
- (process-send-string
- "dzen2" (format "%s^p(_CENTER)^p(-%d)%s^p(_RIGHT)^p(-%d)%s"
- strl
- (* (floor (/ (length strc) 2)) 8) strc
- (+ 8 (* 8 (length strr))) strr))))
-
-(defun dzen-start ()
- (interactive)
- (if (or (null dzen-process) (not (process-live-p dzen-process)))
- (progn
- (setq dzen-process
- (start-process "dzen2" "*dzen2*" "dzen2"
- "-w" "1920"
- "-fn" "Monaco-10"
- "-bg" "#222224"
- "-fg" "#eeeeec"
- "-y" "1060"))
- (dzen-update)
- (setq dzen-timer (run-with-timer 1 1 #'dzen-update)))
- (message "Dzen2 already running")))
-
-(defun dzen-stop ()
- (interactive)
- (if (and dzen-process (process-live-p dzen-process))
- (progn
- (when dzen-timer
- (cancel-timer dzen-timer))
- (kill-process "dzen2"))
- (message "Dzen2 is not running"))
- (setq dzen-process nil
- dzen-timer nil))
-
-(provide 'dzen)
-;;; dzen.el ends here
diff --git a/.emacs.d/site-lisp/eltuki.el b/.emacs.d/site-lisp/eltuki.el
deleted file mode 100644
index 224e9ab..0000000
--- a/.emacs.d/site-lisp/eltuki.el
+++ /dev/null
@@ -1,232 +0,0 @@
-;;; eltuki.el --- Tekuti functions
-
-;; Copyright (C) 2012 Tom Willemsen
-
-;; Author: Tom Willemsen <slash@drd>
-;; Keywords: convenience
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Tekuti functions.
-
-;;; Code:
-
-(require 'org)
-
-(defgroup eltuki
- nil
- "tekuti functions in Emacs."
- :group 'external)
-
-(defcustom eltuki-blog-dir "~/blog"
- "Plain blog post directory, not the git repository."
- :group 'eltuki
- :type 'string)
-
-(defcustom eltuki-default-status "publish"
- "Default status to use when status is unknown."
- :group 'eltuki
- :type 'string)
-
-(defcustom eltuki-default-comment-status "open"
- "Default status for comments."
- :group 'eltuki
- :type 'string)
-
-(define-skeleton eltuki-post
- "Create a post template for eltuki."
- ""
- "#+TITLE: " (skeleton-read "Title: ") "\n"
- "#+TIMESTAMP: \n"
- "#+TAGS: " (skeleton-read "Tags (comma separated): ") "\n"
- "\n"
- _)
-
-(defun eltuki-new-post ()
- (interactive)
- (switch-to-buffer (get-buffer-create "*eltuki*"))
- (org-mode)
- (eltuki-post))
-
-(defun eltuki-get-title ()
- (save-excursion
- (goto-char (point-min))
- (if (re-search-forward "^#\\+TITLE: \\(.*\\)$" nil t)
- (buffer-substring-no-properties
- (match-beginning 1) (match-end 1))
- (error "Post has no title."))))
-
-(defun eltuki-set-title (title)
- (interactive "MTitle: ")
- (setq title (concat " " title))
- (save-excursion
- (goto-char (point-min))
- (if (re-search-forward "^#\\+TITLE:\\(.*\\)$" nil t)
- (replace-match title t t nil 1)
- (insert "#+TITLE:" title "\n")
- (unless (= (char-after) ?\n)
- (insert-char ?\n)))))
-
-(defun eltuki-get-timestamp ()
- (save-excursion
- (goto-char (point-min))
- (if (re-search-forward "^#\\+TIMESTAMP: \\([[:digit:]]+\\)$" nil t)
- (match-string 1)
- (format-time-string "%s"))))
-
-(defun eltuki-set-timestamp ()
- (interactive)
- (save-excursion
- (goto-char (point-min))
- (let ((newtime (format-time-string " %s")))
- (if (re-search-forward "^#\\+TIMESTAMP:\\(.*\\)$" nil t)
- (replace-match newtime nil t nil 1)
- (when (search-forward "\n\n" nil t)
- (backward-char))
- (insert "#+TIMESTAMP:" newtime "\n")))))
-
-(defun eltuki-get-tags ()
- (save-excursion
- (goto-char (point-min))
- (when (re-search-forward "^#\\+TAGS: \\(.*\\)$" nil t)
- (buffer-substring-no-properties
- (match-beginning 1) (match-end 1)))))
-
-(defun eltuki-set-tags (tags)
- (interactive "MTags: ")
- (setq tags (concat " " tags))
- (save-excursion
- (goto-char (point-min))
- (if (re-search-forward "^#\\+TAGS:\\(.*\\)$" nil t)
- (replace-match tags t t nil 1)
- (when (search-forward "\n\n" nil t)
- (backward-char))
- (insert "#+TAGS:" tags "\n"))))
-
-(defun eltuki-get-status ()
- (save-excursion
- (goto-char (point-min))
- (if (re-search-forward "^#\\+STATUS: \\(draft\\|publish\\)$" nil t)
- (buffer-substring-no-properties
- (match-beginning 1) (match-end 1))
- eltuki-default-status)))
-
-(defun eltuki-toggle-status ()
- (interactive)
- (save-excursion
- (goto-char (point-min))
- (let ((newstatus (if (string= (eltuki-get-status) "draft")
- " publish"
- " draft")))
- (if (re-search-forward "^#\\+STATUS:\\(.*\\)$" nil t)
- (replace-match newstatus t t nil 1)
- (when (search-forward "\n\n" nil t)
- (backward-char))
- (insert "#+STATUS:" newstatus "\n")))))
-
-(defun eltuki-get-comment-status ()
- (save-excursion
- (goto-char (point-min))
- (if (re-search-forward
- "^#\\+COMMENTSTATUS: \\(open\\|closed\\)$" nil t)
- (buffer-substring-no-properties
- (match-beginning 1) (match-end 1))
- eltuki-default-comment-status)))
-
-(defun eltuki-toggle-comment-status ()
- (interactive)
- (save-excursion
- (goto-char (point-min))
- (let ((newstatus (if (string= (eltuki-get-comment-status) "closed")
- " open"
- " closed")))
- (if (re-search-forward "^#\\+COMMENTSTATUS:\\(.*\\)$" nil t)
- (replace-match newstatus t t nil 1)
- (when (search-forward "\n\n" nil t)
- (backward-char))
- (insert "#+COMMENTSTATUS:" newstatus "\n")))))
-
-(defun eltuki-slugify-string (str)
- (while (string-match "[^a-zA-Z0-9 ]+" str)
- (setq str (replace-match "" nil t str)))
- (while (string-match " +" str)
- (setq str (replace-match "-" nil t str)))
- (downcase str))
-
-(defun eltuki-get-directory ()
- (concat
- eltuki-blog-dir "/"
- (format-time-string "%Y%%2f%m%%2f%d%%2f")
- (eltuki-slugify-string (eltuki-get-title))))
-
-(defun eltuki-write-content (dir)
- (let ((org-export-with-toc nil)
- (filename (concat dir "/content")))
- (with-current-buffer (org-export-region-as-html
- (point-min) (point-max) t "*eltuki-html*")
- (write-region (point-min) (point-max) filename)
- (kill-buffer))
- filename))
-
-(defun eltuki-write-metadata (dir)
- (let ((timestamp (eltuki-get-timestamp))
- (tags (eltuki-get-tags))
- (status (eltuki-get-status))
- (title (eltuki-get-title))
- (name (eltuki-slugify-string (eltuki-get-title)))
- (commentstatus (eltuki-get-comment-status))
- (filename (concat dir "/metadata")))
- (with-temp-buffer
- (insert "timestamp: " timestamp "\n"
- "tags: " tags "\n"
- "status: " status "\n"
- "title: " title "\n"
- "name: " name "\n"
- "comment_status: " commentstatus)
- (write-region (point-min) (point-max) filename))
- filename))
-
-(defun eltuki-save-org (buffer dir)
- (let ((filename (concat dir "/post.org")))
- (with-current-buffer buffer
- (write-file filename))
- filename))
-
-(defun eltuki-git-add (file)
- (shell-command (concat "cd " eltuki-blog-dir "; git add '" (expand-file-name file) "'")))
-
-(defun eltuki-commit ()
- (shell-command (concat "cd " eltuki-blog-dir "; git commit -m \"new post: \\\"" (eltuki-get-title)
- "\\\"\"")))
-
-(defun eltuki-finish ()
- (interactive)
- (let ((buffer (or (get-buffer "*eltuki*")
- (current-buffer)))
- (dest (eltuki-get-directory)))
- (unless (file-exists-p dest)
- (mkdir dest))
-
- (mapc #'eltuki-git-add
- (list (eltuki-write-content dest)
- (eltuki-write-metadata dest)
- (eltuki-save-org buffer dest)))
-
- (eltuki-commit)
- (kill-buffer buffer)))
-
-(provide 'eltuki)
-;;; eltuki.el ends here
diff --git a/.emacs.d/site-lisp/ext.el b/.emacs.d/site-lisp/ext.el
deleted file mode 100644
index 2ed65d4..0000000
--- a/.emacs.d/site-lisp/ext.el
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; ext.el --- More emacs functions
-
-;; Copyright (C) 2012 Tom Willemsen
-
-;; Author: Tom Willemsen <tom@ryuslash.org>
-;; Keywords: local
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;
-
-;;; Code:
-
-(defadvice org-agenda-redo (after ext:org-agenda-redo-add-appts)
- "Pressing `r' on the agenda will also add appointments."
- (progn
- (setq appt-time-msg-list nil)
- (org-agenda-to-appt)))
-
-(defun ext:flymake-pyflakes-init ()
- "Initialize function for flymake with pyflakes."
- (let* ((temp-file (flymake-init-create-temp-buffer-copy
- 'flymake-create-temp-inplace))
- (local-file (file-relative-name temp-file (file-name-directory
- buffer-file-name))))
- (list "pycheck.sh" (list local-file))))
-
-(defun ext:reload-buffer ()
- "Reload current buffer."
- (interactive)
- (revert-buffer nil t nil))
-
-(provide 'ext)
-;;; ext.el ends here
diff --git a/.emacs.d/site-lisp/metalexpress.el b/.emacs.d/site-lisp/metalexpress.el
deleted file mode 100644
index 0c4539a..0000000
--- a/.emacs.d/site-lisp/metalexpress.el
+++ /dev/null
@@ -1,80 +0,0 @@
-;;; metalexpress.el --- Listen to Metal Express Radio
-
-;; Copyright (C) 2012 Tom Willemsen
-
-;; Author: Tom Willemsen <thomas@aethon.nl>
-;; Keywords: multimedia
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Functions for easily listening to Metal Express Radio.
-
-;;; Code:
-
-(defgroup metal-express-radio nil
- "Group for the Metal Express Radio listening functions."
- :group 'multimedia)
-
-(defcustom metal-express-radio-playlist-url
- "http://usa7-vn.mixstream.net/listen/8248.m3u"
- "The URL of the Metal Express Radio stream."
- :group 'metal-express-radio
- :type 'string)
-
-(defcustom metal-express-radio-song-changed-hook nil
- "Hook run when the currently playing song changes."
- :type 'hook
- :group 'metal-express-radio)
-
-(defvar metal-express-radio-currently-playing nil
- "The currently playing song.")
-
-(defun mer-proc-filter (proc string)
- (when (string-match "^ICY Info: StreamTitle='\\(.*\\)';StreamUrl='';"
- string)
- (setq metal-express-radio-currently-playing (match-string 1 string))
- (apply 'run-hooks metal-express-radio-song-changed-hook)))
-
-(defun metal-express-radio-echo-currently-playing ()
- (interactive)
- (message metal-express-radio-currently-playing))
-
-(defun metal-express-radio-notify ()
- (interactive)
- (notifications-notify :title "Now playing:"
- :body metal-express-radio-currently-playing))
-
-;;;###autoload
-(defun metal-express-radio-start ()
- "Start listening to Metal Express Radio."
- (interactive)
- (let ((proc (start-process "metalexpress" "*Metal Express Radio*"
- "mplayer" metal-express-radio-playlist-url)))
- (set-process-filter proc #'mer-proc-filter)))
-
-(defun metal-express-radio-stop ()
- "Stop listening to Metal Express Radio."
- (interactive)
- (kill-process (get-buffer-process "*Metal Express Radio*"))
- (setq metal-express-radio-currently-playing nil))
-
-(add-hook 'metal-express-radio-song-changed-hook
- 'metal-express-radio-echo-currently-playing)
-(add-hook 'metal-express-radio-song-changed-hook
- 'metal-express-radio-notify)
-
-(provide 'metalexpress)
-;;; metalexpress.el ends here
diff --git a/.emacs.d/site-lisp/mu4e-init.el b/.emacs.d/site-lisp/mu4e-init.el
deleted file mode 100644
index 258a6ef..0000000
--- a/.emacs.d/site-lisp/mu4e-init.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;;; mu4e-init.el --- mu4e initialization
-
-;; Copyright (C) 2012 Tom Willemsen
-
-;; Author: Tom Willemsen <slash@drd>
-;; Keywords:
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;
-
-;;; Code:
-
-(require 'oni)
-
-(oni:define-mailbox "aethon"
- (oni:email thomas at aethon dot nl)
- (expand-file-name "~/documents/work/aethon/signature.txt"))
-(oni:define-mailbox "gmail" (oni:email ryuslash at gmail dot com))
-(oni:define-mailbox "ninthfloor"
- (oni:email ryuslash at ninthfloor dot org))
-(oni:define-mailbox "ryuslash" (oni:email tom at ryuslash dot org)
- nil "ryuslash.org")
-
-(setq mu4e-headers-date-format "%d-%m %H:%M")
-(setq mu4e-headers-fields '((:date . 11)
- (:flags . 6)
- (:to . 22)
- (:from . 22)
- (:subject)))
-(setq mu4e-headers-show-threads nil)
-(setq mu4e-headers-sort-revert nil)
-(setq mu4e-html2text-command "w3m -dump -T text/HTML -cols 72")
-(setq mu4e-my-email-addresses (list
- (oni:email tom at ryuslash dot org)
- (oni:email ryuslash at gmail dot com)
- (oni:email ryuslash at ninthfloor dot org)
- (oni:email thomas at aethon dot nl)))
-
-(provide 'mu4e-init)
-;;; mu4e-init.el ends here
diff --git a/.emacs.d/site-lisp/newsticker-init.el b/.emacs.d/site-lisp/newsticker-init.el
deleted file mode 100644
index c393df1..0000000
--- a/.emacs.d/site-lisp/newsticker-init.el
+++ /dev/null
@@ -1,6 +0,0 @@
-(setq newsticker-automatically-mark-items-as-old nil)
-(setq newsticker-html-renderer 'w3m-region)
-(setq newsticker-obsolete-item-max-age 604800)
-(setq newsticker-use-full-width nil)
-
-(provide 'newsticker-init)
diff --git a/.emacs.d/site-lisp/oni.el b/.emacs.d/site-lisp/oni.el
deleted file mode 100644
index ea64d3f..0000000
--- a/.emacs.d/site-lisp/oni.el
+++ /dev/null
@@ -1,587 +0,0 @@
-;;; oni.el --- Functions for emacs
-
-;; Copyright (C) 2012 Tom Willemsen
-
-;; Author: Tom Willemsen <tom@ryuslash.org>
-;; Keywords: local
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;
-
-;;; Code:
-
-(autoload 'notifications-notify "notifications")
-(autoload 'jabber-send-message "jabber-chat")
-
-(defmacro oni:email (user at host dot com)
- "Turn arguments into an email address.
-The resulting email address will look like: USER@HOST.COM, AT and
-DOT are intentionally being skipped."
- (concat (symbol-name user) "@" (symbol-name host) "."
- (symbol-name com)))
-
-(defun oni:after-save-func ()
- "Function for `after-save-hook'."
- (oni:compile-el)
- (executable-make-buffer-file-executable-if-script-p)
- (let* ((dom-dir (locate-dominating-file (buffer-file-name) "Makefile"))
- (TAGSp (not (string= "" (shell-command-to-string
- (concat "grep \"^TAGS:\" " dom-dir "Makefile"))))))
- (when (and dom-dir TAGSp)
- (shell-command
- (concat "make -C " dom-dir " TAGS >/dev/null 2>&1")))))
-
-(defun oni:appt-display-window-and-jabber (min-to-app new-time appt-msg)
- "Send a message to my phone jabber account."
- (jabber-send-message (car jabber-connections) "phone@ryuslash.org"
- nil (format "%s%s (in %s minutes)"
- new-time appt-msg min-to-app) nil)
- (appt-disp-window min-to-app new-time appt-msg))
-;; (jabber-send-message (car jabber-connections)
-;; "aethon@muc.ryuslash.org" nil "Hi, I'm a programmatic message; this
-;; upens up possibilities :)" "groupchat")
-(defun oni:before-save-func ()
- "Function for `before-save-hook'."
- (if (eq major-mode 'html-mode)
- (oni:replace-html-special-chars))
- (if (not (eq major-mode 'markdown-mode))
- (delete-trailing-whitespace)))
-
-(defun oni:c-mode-func ()
- "Function for `c-mode-hook'."
- (local-set-key [f9] 'compile)
- (local-set-key "\C-j" 'oni:newline-and-indent))
-
-(defun oni:close-client-window ()
- "Close a client's frames."
- (interactive)
- (server-save-buffers-kill-terminal nil))
-
-(defun oni:color-for (object)
- "Generate a hex color by taking the first 6 characters of OBJECT's MD5 sum."
- (format "#%s" (substring (md5 object) 0 6)))
-
-(defun oni:compile-el ()
- "Compile the current buffer file if it is an .el file."
- (let* ((full-file-name (buffer-file-name))
- (file-name (file-name-nondirectory full-file-name))
- (suffix (file-name-extension file-name)))
- (if (and (not (string-equal file-name ".dir-locals.el"))
- (string-equal suffix "el"))
- (byte-compile-file full-file-name))))
-
-(defun oni:css-mode-func ()
- "Function for `css-mode-hook'."
- (local-set-key "\C-j" 'oni:newline-and-indent)
- (rainbow-mode))
-
-(defun oni:current-jabber-status ()
- "Return a string representing the current jabber status."
- (or (and (not *jabber-connected*) "Offline")
- (and (not (string= *jabber-current-status* ""))
- *jabber-current-status*)
- "Online"))
-
-(defun oni:diary-display-func ()
- "Function for `diary-display-hook'."
- (diary-fancy-display))
-
-(defun oni:emacs-lisp-mode-func ()
- "Function for `emacs-lisp-mode-hook'."
- (eldoc-mode))
-
-(defun oni:emacs-startup-func ()
- "Function for `emacs-init-hook'."
- (require 'auto-complete-config)
- (ac-config-default))
-
-(defun oni:erc-mode-func ()
- "Function for `erc-mode-hook'."
- (erc-fill-mode -1)
- (visual-line-mode)
- (setq truncate-lines nil))
-
-(defun oni:go-mode-func ()
- "Function for `go-mode-hook'."
- (setq indent-tabs-mode nil)
- (local-set-key "\C-j" 'oni:newline-and-indent))
-
-(defun oni:gtags-mode-func ()
- "Function for `gtags-mode-hook'."
- (local-set-key "\M-," 'gtags-find-tag)
- (local-set-key "\M-." 'gtags-find-rtag))
-
-(defun oni:haskell-mode-func ()
- "Function for `haskell-mode-hook'."
- (turn-on-haskell-indentation))
-
-(defun oni:html-mode-func ()
- "Function for `html-mode-hook'."
- (yas-minor-mode)
- (fci-mode)
- (flycheck-mode))
-
-(defun oni:ido-init ()
- "Initialization functionn for ido."
- (setq ido-ignore-buffers
- (list "^\\` " "^irc\\." "^\\#" "^\\*Customize Option:"
- (eval-when-compile
- (regexp-opt
- '("*-jabber-roster-*"
- "*Messages*"
- "*fsm-debug*"
- "*magit-process*"
- "*magit-edit-log*"
- "*Backtrace*"))))))
-
-(defun oni:indent-shift-left (start end &optional count)
- "Rigidly indent region.
-Region is from START to END. Move
-COUNT number of spaces if it is non-nil otherwise use
-`tab-width'."
- (interactive
- (if mark-active
- (list (region-beginning) (region-end) current-prefix-arg)
- (list (line-beginning-position)
- (line-end-position)
- current-prefix-arg)))
- (if count
- (setq count (prefix-numeric-value count))
- (setq count tab-width))
- (when (> count 0)
- (let ((deactivate-mark nil))
- (save-excursion
- (goto-char start)
- (while (< (point) end)
- (if (and (< (current-indentation) count)
- (not (looking-at "[ \t]*$")))
- (error "Can't shift all lines enough"))
- (forward-line))
- (indent-rigidly start end (- count))))))
-
-(defun oni:indent-shift-right (start end &optional count)
- "Indent region between START and END rigidly to the right.
-If COUNT has been specified indent by that much, otherwise look at
-`tab-width'."
- (interactive
- (if mark-active
- (list (region-beginning) (region-end) current-prefix-arg)
- (list (line-beginning-position)
- (line-end-position)
- current-prefix-arg)))
- (let ((deactivate-mark nil))
- (if count
- (setq count (prefix-numeric-value count))
- (setq count tab-width))
- (indent-rigidly start end count)))
-
-(defun oni:jabber-alert-message-func (from buffer text title)
- (notifications-notify :title title
- :body text))
-
-(defun oni:jabber-chat-mode-func ()
- "Function for `jabber-chat-mode-hook'."
- (visual-line-mode)
- (setq mode-line-format (append (cddr jabber-chat-header-line-format)
- '(global-mode-string))
- header-line-format nil))
-
-(defun oni:jabber-init ()
- "Initialization function for jabber."
- (remove-hook 'jabber-alert-presence-hooks 'jabber-presence-echo))
-
-(defun oni:jabber-roster-mode-func ()
- "Function for `jabber-roster-mode-hook'."
- (setq mode-line-format
- (list (propertize " %m" 'face 'mode-line-buffer-id))))
-
-(defun oni:java-mode-func ()
- "Function for `java-mode-hook'."
- (local-set-key "\C-j" 'oni:newline-and-indent))
-
-(defun oni:js-mode-func ()
- "Function for `js-mode-hook'."
- (rainbow-delimiters-mode)
- (local-set-key "\C-j" 'oni:newline-and-indent))
-
-(defun oni:js2-mode-func ()
- "Function for `js2-mode-hook'."
- (oni:prog-mode-func)
- (oni:js-mode-func)
- (local-set-key (kbd "<f5>") #'slime-js-reload)
- (slime-js-minor-mode))
-
-(defun oni:kill-region-or-backward-char ()
- "Either `kill-region' or `backward-delete-char-untabify'."
- (interactive)
- (if (region-active-p)
- (kill-region (region-beginning) (region-end))
- (backward-delete-char-untabify 1)))
-
-(defun oni:kill-region-or-forward-char ()
- "Either `kill-region' or `delete-forward-char'."
- (interactive)
- (if (region-active-p)
- (kill-region (region-beginning) (region-end))
- (delete-forward-char 1)))
-
-(defun oni:kill-region-or-line ()
- "Either `kill-region' or `kill-line'."
- (interactive)
- (if (region-active-p)
- (kill-region (region-beginning) (region-end))
- (kill-line)))
-
-(defun oni:lua-mode-func()
- "Function for `lua-mode-hook'."
- (local-unset-key (kbd ")"))
- (local-unset-key (kbd "]"))
- (local-unset-key (kbd "}"))
- (flycheck-mode))
-
-(defun oni:magit-log-edit-mode-func ()
- "Function for `magit-log-edit-mode-hook'."
- (auto-fill-mode)
- (font-lock-add-keywords
- nil
- '(("\\`\\(.\\{,50\\}\\)\\(.*\\)\n?\\(.*\\)$"
- (1 'git-commit-summary-face)
- (2 'git-commit-overlong-summary-face)
- (3 'git-commit-nonempty-second-line-face))
- ("`\\([^']+\\)'" 1 font-lock-constant-face))
- t))
-
-(defun oni:markdown-mode-func ()
- "Function for `markdown-mode-hook'."
- (setq-local comment-auto-fill-only-comments nil)
- (setq-local whitespace-style '(face trailing))
- (auto-fill-mode)
- (whitespace-mode))
-
-(defun oni:message-mode-func ()
- "Function for `message-mode-hook'."
- (setq-local comment-auto-fill-only-comments nil)
- (auto-fill-mode)
- (flyspell-mode))
-
-(defun oni:mini-fix-timestamp-string (date-string)
- "A minimal version of Xah Lee's `fix-timestamp-string'.
-Turn DATE-STRING into something else that can be worked with in
-code. Found at http://xahlee.org/emacs/elisp_parse_time.html"
- (setq date-string (replace-regexp-in-string "Jan" "01" date-string)
- date-string (replace-regexp-in-string "Feb" "02" date-string)
- date-string (replace-regexp-in-string "Mar" "03" date-string)
- date-string (replace-regexp-in-string "Apr" "04" date-string)
- date-string (replace-regexp-in-string "May" "05" date-string)
- date-string (replace-regexp-in-string "Jun" "06" date-string)
- date-string (replace-regexp-in-string "Jul" "07" date-string)
- date-string (replace-regexp-in-string "Aug" "08" date-string)
- date-string (replace-regexp-in-string "Sep" "09" date-string)
- date-string (replace-regexp-in-string "Oct" "10" date-string)
- date-string (replace-regexp-in-string "Nov" "11" date-string)
- date-string (replace-regexp-in-string "Dec" "12" date-string))
- (string-match
- "^\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{4\\}\\)$"
- date-string)
- (format "%s-%s-%s"
- (match-string 3 date-string)
- (match-string 2 date-string)
- (match-string 1 date-string)))
-
-(defun oni:move-beginning-of-dwim ()
- "Move to beginning of line either after indentation or before."
- (interactive)
- (let ((start (point)))
- (back-to-indentation)
- (if (= start (point))
- (beginning-of-line))))
-
-(defun oni:move-end-of-dwim ()
- "Move to end of line, either before any comments or after."
- (interactive)
- (let ((start (point))
- (eolpos (line-end-position)))
- (beginning-of-line)
- (if (and comment-start
- (comment-search-forward eolpos t))
- (progn
- (search-backward-regexp (concat "[^ \t" comment-start "]"))
- (forward-char)
-
- (when (or (bolp)
- (= start (point)))
- (end-of-line)))
- (end-of-line))))
-
-(defun oni:myepisodes-formatter (plist)
- "Format RSS items from MyEpisodes as org tasks.
-PLIST contains all the pertinent information."
- (let ((str (plist-get plist :title)))
- (string-match
- "^\\[ \\([^\]]+\\) \\]\\[ \\([^\]]+\\) \\]\\[ \\([^\]]+\\) \\]\\[ \\([^\]]+\\) \\]$"
- str)
- (let* ((title (match-string 1 str))
- (episode (match-string 2 str))
- (name (match-string 3 str))
- (date (oni:mini-fix-timestamp-string (match-string 4 str))))
- (format "* ACQUIRE %s %s - %s \n SCHEDULED: <%s>"
- title episode name date))))
-
-(defun oni:newline-and-indent ()
- "`newline-and-indent', but with a twist.
-When dealing with braces, add another line and indent that too."
- (interactive)
- (if (and (not (or (= (point) (point-max))
- (= (point) (point-min))))
- (or (and (char-equal (char-before) ?{)
- (char-equal (char-after) ?}))
- (and (char-equal (char-before) ?\()
- (char-equal (char-after) ?\)))))
- (save-excursion (newline-and-indent)))
- (newline-and-indent))
-
-(defun oni:org-mode-func ()
- "Function for `org-mode-hook'."
- (auto-fill-mode)
- (yas-minor-mode)
- (set (make-local-variable 'comment-auto-fill-only-comments) nil))
-
-(defun oni:php-mode-func ()
- "Function for `php-mode-hook'."
- (local-set-key "\C-j" 'oni:newline-and-indent)
- (c-set-offset 'arglist-intro '+)
- (c-set-offset 'arglist-close '0)
- (rainbow-delimiters-mode)
- (setq-local fci-rule-column 80)
- (flycheck-mode))
-
-(defun oni:pretty-control-l-function (win)
- "Just make a string of either `fci-rule-column' or
-`fill-column' length -1. Use the `-' character. WIN is ignored."
- (make-string
- (1- (if (boundp 'fci-rule-column)
- fci-rule-column fill-column)) ?-))
-
-(defun oni:prog-mode-func ()
- "Function for `prog-mode-hook'."
- (rainbow-delimiters-mode)
- (fci-mode)
- (yas-minor-mode)
- (auto-fill-mode))
-
-(defun oni:python-mode-func ()
- "Function for `python-mode-hook'."
- (flycheck-mode)
- (local-set-key (kbd "C->") 'python-indent-shift-right)
- (local-set-key (kbd "C-<") 'python-indent-shift-left)
- (set (make-local-variable 'electric-indent-chars) nil)
- (rainbow-delimiters-mode)
- (setq fci-rule-column 79
- fill-column 72)
- (setq-local whitespace-style '(tab-mark))
- (fci-mode)
- (whitespace-mode))
-
-(defun oni:rainbow-mode-init ()
- "Initialization function for rainbow-mode."
- (diminish 'rainbow-mode))
-
-(defun oni:raise-ansi-term (arg)
- "Create or show an `ansi-term' buffer."
- (interactive "P")
- (let ((buffer (get-buffer "*ansi-term*")))
- (if (and buffer (not arg))
- (switch-to-buffer buffer)
- (call-interactively 'ansi-term))))
-
-(defun oni:raise-scratch (&optional mode)
- "Show the *scratch* buffer.
-If called with a universal argument, ask the user which mode to
-use. If MODE is not nil, open a new buffer with the name
-*MODE-scratch* and load MODE as its major mode."
- (interactive (list (if current-prefix-arg
- (read-string "Mode: ")
- nil)))
- (let* ((bname (if mode
- (concat "*" mode "-scratch*")
- "*scratch*"))
- (buffer (get-buffer bname))
- (mode-sym (intern (concat mode "-mode"))))
-
- (unless buffer
- (setq buffer (generate-new-buffer bname))
- (with-current-buffer buffer
- (when (fboundp mode-sym)
- (funcall mode-sym))))
-
- (select-window (display-buffer buffer))))
-
-(defun oni:replace-html-special-chars ()
- "Replace special characters with HTML escaped entities."
- (oni:replace-occurrences "é" "&eacute;"))
-
-(defun oni:replace-occurrences (from to)
- "Replace all occurrences of FROM with TO in the current buffer."
- (save-excursion
- (goto-char (point-min))
- (while (search-forward from nil t)
- (replace-match to))))
-
-(defun oni:request-pull ()
- "Start a mail to request pulling from a git repository."
- (interactive)
- (let* ((default-directory
- (expand-file-name
- (or (locate-dominating-file default-directory ".git")
- (magit-read-top-dir nil))))
- (refs (magit-list-interesting-refs magit-uninteresting-refs))
- (from (cdr (assoc (completing-read "From: " refs) refs)))
- (url (read-from-minibuffer "Pull URL: "))
- (to (symbol-name (read-from-minibuffer "Up to (HEAD): "
- nil nil t nil "HEAD")))
- (patchp (and current-prefix-arg (listp current-prefix-arg))))
- (message "Requesting pull for %s from %s to %s at %s with%s patch"
- default-directory from to url (if patchp "" "out"))
-
- (compose-mail
- nil (concat
- "Requesting pull for "
- (file-name-base (directory-file-name default-directory))))
-
- (save-excursion
- (goto-char (point-max))
- (insert
- (shell-command-to-string
- (concat "git --git-dir='" default-directory ".git' --work-tree='"
- default-directory "' request-pull " (when patchp "-p ")
- from " " url " " to))))))
-
-(defun oni:rst-mode-func ()
- "Function for `rst-mode-hook'."
- (auto-fill-mode))
-
-(defun oni:self-insert-dwim ()
- "Execute self insert, but when the region is active call self
-insert at the end of the region and at the beginning."
- (interactive)
- (if (region-active-p)
- (let ((electric-pair-mode nil)
- (beginning (region-beginning))
- (end (region-end)))
- (goto-char end)
- (self-insert-command 1)
- (save-excursion
- (goto-char beginning)
- (self-insert-command 1)))
- (self-insert-command 1)))
-
-(defun oni:shorten-dir (dir)
- "Shorten a directory, (almost) like fish does it."
- (while (string-match "\\(/\\.?[^./]\\)[^/]+/" dir)
- (setq dir (replace-match "\\1/" nil nil dir)))
- dir)
-
-(defun oni:show-buffer-position ()
- "Show the position in the current buffer."
- (interactive)
- (message (format "%d:%d" (line-number-at-pos) (current-column))))
-
-(defun oni:show-org-index ()
- "Show the index of my org files."
- (interactive)
- (find-file "~/documents/org/index.org"))
-
-(defun oni:smex-init ()
- "Initialization function for smex."
- (global-set-key (kbd "M-x") 'smex)
- (global-set-key (kbd "C-M-x") 'smex-major-mode-commands))
-
-(defun oni:split-window-interactive (dir)
- "Split windows in direction DIR.
-
-Can also delete or switch to another window."
- (interactive
- (list (read-char "Direction (h,v,q,d,o): ")))
- (case dir
- ((?v) (split-window-vertically))
- ((?h) (split-window-horizontally))
- ((?q) (delete-other-windows))
- ((?d) (delete-window))
- ((?o) (other-window 1))))
-
-(defun oni:split-window-interactively (window)
- "Ask for a direction and split WINDOW that way.
-
-If no direction is given, don't split."
- (let ((dir (read-char "Direction (h,v): ")))
- (case dir
- ((?v) (split-window-vertically))
- ((?h) (split-window-horizontally))
- (t window))))
-
-(defun oni:start-python-test-mail-server ()
- "Run the python test mailserver."
- (interactive)
- (start-process "python-test-mail-server" "*py-mail-server*" "python" "-m"
- "smtpd" "-n" "-c" "DebuggingServer" "localhost:1025"))
-
-(defun oni:stop-python-test-mail-server ()
- "Stop the python test mailserver."
- (interactive)
- (kill-process "python-test-mail-server"))
-
-(defun oni:term-mode-func ()
- "Function for `term-mode-hook'."
- (setq truncate-lines nil))
-
-(defun oni:texinfo-mode-func ()
- "Function for `texinfo-mode-hook'."
- (setq-local comment-auto-fill-only-comments nil)
- (auto-fill-mode))
-
-(defun oni:write-file-func ()
- "Function for `write-file-hooks'."
- (time-stamp))
-
-(defun oni:yas-minor-mode-func ()
- "Function for `yas-minor-mode-hook'."
- (define-key yas-minor-mode-map (kbd "TAB") nil)
- (define-key yas-minor-mode-map [(tab)] nil)
- (define-key yas-minor-mode-map (kbd "C-\\") 'yas-expand))
-
-(defun oni:yasnippet-init ()
- "Initialization function for yasnippet."
- (diminish 'yas-minor-mode))
-
-(defvar oni:auto-save-name-transforms
- `((".*" ,temporary-file-directory t))
- "Place all auto-save files in `temporary-file-directory'.")
-
-(defvar oni:backup-directory-alist
- `((".*" . ,temporary-file-directory))
- "Palce all backup files in `temporary-file-directory'.")
-
-(defvar oni:mailbox-map
- '("top" ("menu"
- ("ryulash.org" . "ryuslash")
- ("ninthfloor" . "ninthfloor")
- ("gmail" . "gmail")
- ("aethon" . "aethon")))
- "A mailbox map for use with `tmm-prompt'.")
-
-(provide 'oni)
-;;; oni.el ends here
diff --git a/.emacs.d/site-lisp/org-init.el b/.emacs.d/site-lisp/org-init.el
deleted file mode 100644
index 4033c30..0000000
--- a/.emacs.d/site-lisp/org-init.el
+++ /dev/null
@@ -1,164 +0,0 @@
-;;; org-init.el --- Org initialization
-
-;; Copyright (C) 2012 Tom Willemsen
-
-;; Author: Tom Willemsen <slash@drd>
-;; Keywords:
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;
-
-;;; Code:
-
-(require 'appt)
-(require 'oni)
-(require 'org-contacts)
-(require 'org-habit)
-(require 'org-protocol)
-
-(autoload 'org-clocking-p "org-clock")
-
-(eval-after-load "org-crypt"
- '(org-crypt-use-before-save-magic))
-
-(defun oni:note-template ()
- (concat
- "* %<%c>\n"
- " :DIRECTORY: =" default-directory "=\n"
- (when (buffer-file-name) " :FILE: [[file:%F][%F]]\n")
- (when (org-clocking-p) " :TASK: %K\n")
- "\n %?"))
-
-(defun oni:org-maybe-outline-path ()
- (let ((outline-path (org-format-outline-path (org-get-outline-path))))
- (unless (string= outline-path "")
- (setq outline-path (concat "[ " outline-path " ] ")))
- outline-path))
-
-(defun oni:set-org-agenda-files ()
- "Set `org-agenda-files` according to the current time."
- (interactive)
- (let* ((current-time (decode-time))
- (current-hour (nth 2 current-time))
- (current-dow (nth 6 current-time)))
- (if (or (= current-dow 6) (= current-dow 0) ; Saturday or Sunday
- (< current-hour 9) (>= current-hour 17))
- (setq org-agenda-files
- (append oni:personal-agenda-files oni:common-agenda-files))
- (setq org-agenda-files
- (append oni:work-agenda-files oni:common-agenda-files)))))
-
-(defvar oni:personal-agenda-files
- (list (expand-file-name "~/documents/org/tasks"))
- "My personal agenda, should only show up at times I don't have
- to work.")
-
-(defvar oni:work-agenda-files
- (list (expand-file-name "~/documents/org/work"))
- "My work agenda, should only show up at times I work.")
-
-(defvar oni:common-agenda-files
- (list (expand-file-name "~/documents/org/dailies")
- (expand-file-name "~/documents/org/misc/contacts.org")
- (expand-file-name "~/documents/org/misc/bookmarks.org"))
- "Agenda files that are work-agnostic, should always show up.")
-
-(setq org-agenda-custom-commands
- '(("P" . "Personal only")
- ("Pa" "Personal agenda" agenda ""
- ((org-agenda-files (append oni:personal-agenda-files
- oni:common-agenda-files))))
- ("Pt" "Personal todo" todo ""
- ((org-agenda-files (append oni:personal-agenda-files
- oni:common-agenda-files))))
- ("W" . "Work only")
- ("Wa" "Work agenda" agenda ""
- ((org-agenda-files (append oni:work-agenda-files
- oni:common-agenda-files))))
- ("Wt" "Work todo" todo ""
- ((org-agenda-files (append oni:work-agenda-files
- oni:common-agenda-files))))))
-(setq org-agenda-prefix-format
- '((agenda . " %i %-12:c%?-12t% s")
- (timeline . " % s")
- (todo . " %i %-12:c %(oni:org-maybe-outline-path)")
- (tags . " %i %-12:c %(oni:org-maybe-outline-path)")
- (search . " %i %-12:c")))
-(setq org-agenda-sorting-strategy
- '((agenda habit-down time-up priority-down category-keep)
- (todo priority-down category-keep)
- (tags priority-down category-keep)
- (search category-keep)))
-(setq org-agenda-tags-column -101)
-(setq org-directory (expand-file-name "~/documents/org"))
-(setq org-default-notes-file (concat org-directory "/org"))
-(setq org-capture-templates
- `(("t" "Task" entry (file "~/documents/org/tasks")
- "* TODO %?")
- ("T" "Linked task" entry (file "~/documents/org/tasks")
- "* TODO %?\n\n %a")
- ("n" "General note" entry (file ,org-default-notes-file)
- (function oni:note-template))))
-(setq org-contacts-files '("~/documents/org/misc/contacts.org"))
-(setq org-agenda-show-outline-path nil)
-(setq org-agenda-todo-ignore-deadlines 'far)
-(setq org-agenda-todo-ignore-scheduled t)
-(setq org-export-htmlize-output-type 'css)
-(setq org-feed-alist
- '(("MyEpisodes"
- "http://www.myepisodes.com/rss.php?feed=mylist&uid=Slash&pwdmd5=04028968e1f0b7ee678b748a4320ac17"
- "~/documents/org/tasks" "MyEpisodes"
- :formatter oni:myepisodes-formatter)))
-(setq org-fontify-done-headline t)
-(setq org-hide-emphasis-markers t)
-(setq org-outline-path-complete-in-steps t)
-(setq org-refile-allow-creating-parent-nodes t)
-(setq org-refile-targets '((nil . (:maxlevel . 6))))
-(setq org-refile-use-outline-path 'file)
-(setq org-return-follows-link t)
-(setq org-src-fontify-natively t)
-(setq org-tags-column -101)
-(setq org-tags-exclude-from-inheritance '("crypt"))
-(setq org-todo-keyword-faces
- '(("TODO" :foreground "#ff756e" :background "#171719" :box (:width 1 :color "#282830"))
- ("DONE" :foreground "#9ad870" :background "#222224" :box (:width 1 :color "#333335"))
- ("SUCCEEDED" :foreground "#9ad870" :background "#222224" :box (:width 1 :color "#333335"))
- ("WAITING" :foreground "#ffbb56" :background "#171719" :box (:width 1 :color "#282830"))
- ("CANCELLED" :foreground "#93d8d8" :background "#222224" :box (:width 1 :color "#333335"))
- ("FAILED" :foreground "#93d8d8" :background "#222224" :box (:width 1 :color "#333335"))
- ("WIP" :foreground "#ff756e" :background "#171719" :box (:width 1 :color "#282830"))
- ("HOLD" :foreground "#ffbb56" :background "#171719" :box (:width 1 :color "#282830"))
- ("ACQUIRE" :foreground "#ff756e" :background "#171719" :box (:width 1 :color "#282830"))
- ("IGNORED" :foreground "#999999" :background "#222224" :box (:width 1 :color "#333335"))))
-(setq org-use-fast-todo-selection t)
-(setq org-use-property-inheritance '("slug"))
-
-(add-hook 'org-agenda-mode-hook 'org-agenda-to-appt)
-
-(add-to-list 'org-modules 'habit)
-
-(org-indent-mode t)
-
-(org-agenda-to-appt)
-(ad-activate 'org-agenda-redo)
-
-(oni:set-org-agenda-files)
-(run-at-time "09:01" (* 60 60 24) 'oni:set-org-agenda-files)
-(run-at-time "17:01" (* 60 60 24) 'oni:set-org-agenda-files)
-
-(provide 'org-init)
-;;; org-init.el ends here
diff --git a/.emacs.d/site-lisp/quick-edit-mode.el b/.emacs.d/site-lisp/quick-edit-mode.el
deleted file mode 100644
index 821c738..0000000
--- a/.emacs.d/site-lisp/quick-edit-mode.el
+++ /dev/null
@@ -1,74 +0,0 @@
-;;; quick-edit-mode.el --- Quickly edit stuff
-
-;; Copyright (C) 2012 Tom Willemsen
-
-;; Author: Tom Willemsen <slash@drd>
-;; Keywords: convenience
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Quickly edit stuff
-
-;;; Code:
-
-(defvar quick-edit-map
- (let ((map (make-sparse-keymap)))
- (define-key map "/" 'undo)
- (define-key map "0" 'delete-window)
- (define-key map "1" 'delete-other-windows)
- (define-key map "2" 'split-window-below)
- (define-key map "3" 'split-window-right)
- (define-key map "K" 'kill-whole-line)
- (define-key map "V" 'scroll-down-command)
- (define-key map "a" 'oni:move-beginning-of-dwim)
- (define-key map "b" 'backward-char)
- (define-key map "d" 'oni:kill-region-or-forward-char)
- (define-key map "e" 'oni:move-end-of-dwim)
- (define-key map "f" 'forward-char)
- (define-key map "j" 'newline-and-indent)
- (define-key map "k" 'oni:kill-region-or-line)
- (define-key map "n" 'next-line)
- (define-key map "o" 'other-window)
- (define-key map "p" 'previous-line)
- (define-key map "v" 'scroll-up-command)
- (define-key map "w" 'oni:kill-region-or-backward-char)
- (define-key map (kbd "C-b") 'electric-buffer-list)
- (define-key map (kbd "C-g") 'quick-edit-mode)
- (define-key map (kbd "RET") 'quick-edit-mode)
- map)
- "Keymap for quick-edit-mode.")
-
-(defun qe-locally-disable ()
- "Disable quick-edit mode in the minibuffer"
- (when (eq overriding-local-map quick-edit-map)
- (setq-local overriding-local-map nil)))
-
-;;;###autoload
-(define-minor-mode quick-edit-mode
- "Quickly edit stuff."
- :lighter " qe"
- :global t
- (if quick-edit-mode
- (progn
- (setq overriding-local-map quick-edit-map)
- (add-hook 'minibuffer-setup-hook 'qe-locally-disable)
- (add-hook 'special-mode-hook 'qe-locally-disable))
- (setq overriding-local-map nil)
- (remove-hook 'minibuffer-setup-hook 'qe-locally-disable)
- (remove-hook 'special-mode-hook 'qe-locally-disable)))
-
-(provide 'quick-edit-mode)
-;;; quick-edit-mode.el ends here
diff --git a/.emacs.d/site-lisp/wm-init.el b/.emacs.d/site-lisp/wm-init.el
deleted file mode 100644
index 694acab..0000000
--- a/.emacs.d/site-lisp/wm-init.el
+++ /dev/null
@@ -1,3 +0,0 @@
-(async-shell-command "herbstluftwm" " herbstluftwm")
-(async-shell-command "dunst" " dunst")
-(async-shell-command "xbindkeys" " xbindkeys")
diff --git a/.emacs.d/snippets/Makefile b/.emacs.d/snippets/Makefile
deleted file mode 100644
index 12ff544..0000000
--- a/.emacs.d/snippets/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-DESTDIR:=$(DESTDIR)/snippets
-modules=html-mode org-mode python-mode
-
-include ../../dotfiles.mk
diff --git a/.emacs.d/snippets/html-mode/Makefile b/.emacs.d/snippets/html-mode/Makefile
deleted file mode 100644
index b2dff78..0000000
--- a/.emacs.d/snippets/html-mode/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-DESTDIR:=$(DESTDIR)/html-mode
-objects=for generic-block
-
-include ../../../dotfiles.mk
diff --git a/.emacs.d/snippets/html-mode/for b/.emacs.d/snippets/html-mode/for
deleted file mode 100644
index 01d9c44..0000000
--- a/.emacs.d/snippets/html-mode/for
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: for
-# key: for
-# condition: pony-tpl-minor-mode
-# --
-{% for $1 in $2 %}
- $0
-{% endfor %} \ No newline at end of file
diff --git a/.emacs.d/snippets/html-mode/generic-block b/.emacs.d/snippets/html-mode/generic-block
deleted file mode 100644
index 82d40c7..0000000
--- a/.emacs.d/snippets/html-mode/generic-block
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: Template Block
-# key: %
-# condition: pony-tpl-minor-mode
-# --
-{% $1 %}
- $0
-{% end$1 %} \ No newline at end of file
diff --git a/.emacs.d/snippets/org-mode/Makefile b/.emacs.d/snippets/org-mode/Makefile
deleted file mode 100644
index 34d4cd9..0000000
--- a/.emacs.d/snippets/org-mode/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-DESTDIR:=$(DESTDIR)/org-mode
-objects=codeblock heading project snippet
-
-include ../../../dotfiles.mk
diff --git a/.emacs.d/snippets/org-mode/codeblock b/.emacs.d/snippets/org-mode/codeblock
deleted file mode 100644
index a200b08..0000000
--- a/.emacs.d/snippets/org-mode/codeblock
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- mode: snippet -*-
-# name: codeblock
-# key: code
-# --
-#+begin_src $1
- $0
-#+end_src \ No newline at end of file
diff --git a/.emacs.d/snippets/org-mode/heading b/.emacs.d/snippets/org-mode/heading
deleted file mode 100644
index 48dca7f..0000000
--- a/.emacs.d/snippets/org-mode/heading
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: Heading
-# key: *
-# --
-*$1 ${2:TODO} $3
- ${1:$(make-string (length text) ?\ )} :PROPERTIES:
- ${1:$(make-string (length text) ?\ )} :CATEGORY: $4
- ${1:$(make-string (length text) ?\ )} :END:
- ${1:$(make-string (length text) ?\ )} $0 \ No newline at end of file
diff --git a/.emacs.d/snippets/org-mode/project b/.emacs.d/snippets/org-mode/project
deleted file mode 100644
index 269d655..0000000
--- a/.emacs.d/snippets/org-mode/project
+++ /dev/null
@@ -1,51 +0,0 @@
-# -*- mode: snippet -*-
-# name: project
-# key: project
-# --
-#+TITLE: ${1:project_name}
-#+LINK: src ${2:http://code.ryuslash.org/cgit.cgi/$3$1/}
-#+LINK: tar_gz $2${4:snapshot/$1-master}.tar.gz
-#+LINK: zip $2$4.zip
-#+STARTUP: showall
-
-#+begin_html
- <script src="/keyjs.js" type="text/javascript"></script>
- <script type="text/javascript">
- keyjs_initialize({ "u": [ "keyjs_goto", "../index.html" ],
- "h": [ "keyjs_goto", "http://ryuslash.org" ] });
- </script>
-#+end_html
-
-#+INCLUDE: "dlmenu.inc"
-
-* About
-
- ${5:A short description about $1}
-
- | $0Status | $6 |
- | Language | $7 |
- | License | ${8:GPLv3} |
-
-* Why?
-
- ${9:Why did you even think of writing $1?}
-
-* Features
-
- ${10:$1 does...}
-
-* Dependencies
-
- ${11:$1 needs to have...}
-
-* Download
-
- ${12:To download $1...}
-
-* Install
-
- ${13:To install $1...}
-
-* Usage
-
- ${14:Using $1...} \ No newline at end of file
diff --git a/.emacs.d/snippets/org-mode/snippet b/.emacs.d/snippets/org-mode/snippet
deleted file mode 100644
index 67f15d5..0000000
--- a/.emacs.d/snippets/org-mode/snippet
+++ /dev/null
@@ -1,14 +0,0 @@
-# -*- mode: snippet -*-
-# name: snippet
-# key: snippet
-# --
-#+TITLE: ${1:snippet-name}
-#+OPTIONS: toc:nil
-
-* $1
-
- ${2:A short description abount $1}
-
- #+BEGIN_SRC $3 :tangle yes
-$0
- #+END_SRC \ No newline at end of file
diff --git a/.emacs.d/snippets/python-mode/Makefile b/.emacs.d/snippets/python-mode/Makefile
deleted file mode 100644
index 192657b..0000000
--- a/.emacs.d/snippets/python-mode/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-DESTDIR:=$(DESTDIR)/python-mode
-objects=defm_empty form form_valid import_from permission_guard url
-
-include ../../../dotfiles.mk
diff --git a/.emacs.d/snippets/python-mode/defm_empty b/.emacs.d/snippets/python-mode/defm_empty
deleted file mode 100644
index baa976e..0000000
--- a/.emacs.d/snippets/python-mode/defm_empty
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- coding: utf-8 -*-
-# name: Empty Defmethod
-# key: defm
-# --
-def ${1:name}(self, *args, **kwargs):
- '''$2'''
- return super(${3:`(progn (re-search-backward "^[ \t]*class \\(.+\\)(") (match-string 1)))`}, self).$1(*args, **kwargs) \ No newline at end of file
diff --git a/.emacs.d/snippets/python-mode/form b/.emacs.d/snippets/python-mode/form
deleted file mode 100644
index 225d5e4..0000000
--- a/.emacs.d/snippets/python-mode/form
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: Model Form
-# key: form
-# --
-class ${1:Model}Form(forms.ModelForm):
- '''Form for the $1 model.'''
-
- class Meta:
- model = $1 \ No newline at end of file
diff --git a/.emacs.d/snippets/python-mode/form_valid b/.emacs.d/snippets/python-mode/form_valid
deleted file mode 100644
index c5a7e58..0000000
--- a/.emacs.d/snippets/python-mode/form_valid
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- mode: snippet -*-
-# name: Record form
-# key: defm
-# --
-@record_activity(model=${1:`(progn (re-search-backward "^[ \t]*model = \\([a-zA-Z_].*\\)$") (match-string 1))`})
-def form_valid(self, form):
- '''Make sure any changes to the $1 model get logged.'''
- return super(${2:`(progn (re-search-backward "^[ \t]*class \\(.+\\)(") (match-string 1)))`}, self).form_valid(form) \ No newline at end of file
diff --git a/.emacs.d/snippets/python-mode/import_from b/.emacs.d/snippets/python-mode/import_from
deleted file mode 100644
index 5c23b8e..0000000
--- a/.emacs.d/snippets/python-mode/import_from
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- coding: utf-8 -*-
-# name: from ... import ...
-# contributor: Tom Willemsen
-# key: from
-# --
-from ${1:module} import ${2:class_or_module} \ No newline at end of file
diff --git a/.emacs.d/snippets/python-mode/permission_guard b/.emacs.d/snippets/python-mode/permission_guard
deleted file mode 100644
index ab53895..0000000
--- a/.emacs.d/snippets/python-mode/permission_guard
+++ /dev/null
@@ -1,9 +0,0 @@
-# -*- mode: snippet -*-
-# name: Permission guard
-# key: defm
-# --
-@method_decorator(permission_required('$1',
- raise_exception=True))
-def dispatch(self, *args, **kwargs):
- '''Make sure the user has the $1 permission.'''
- return super(${3:`(progn (re-search-backward "^[ \t]*class \\(.+\\)(") (match-string 1)))`}, self).dispatch(*args, **kwargs) \ No newline at end of file
diff --git a/.emacs.d/snippets/python-mode/url b/.emacs.d/snippets/python-mode/url
deleted file mode 100644
index 00ade72..0000000
--- a/.emacs.d/snippets/python-mode/url
+++ /dev/null
@@ -1,5 +0,0 @@
-# -*- mode: snippet -*-
-# name: url
-# key: url
-# --
-url(r'^$1', $2, name='$3'), \ No newline at end of file