diff options
Diffstat (limited to '.emacs.d')
-rw-r--r-- | .emacs.d/init.el | 196 | ||||
-rw-r--r-- | .emacs.d/site-lisp/mu4e-init.el | 54 | ||||
-rw-r--r-- | .emacs.d/site-lisp/oni.el | 6 | ||||
-rw-r--r-- | .emacs.d/site-lisp/org-init.el | 113 | ||||
-rw-r--r-- | .emacs.d/site-lisp/wm-init.el | 3 | ||||
-rw-r--r-- | .emacs.d/themes/yoshi-theme.el (renamed from .emacs.d/themes/new-theme.el) | 41 |
6 files changed, 265 insertions, 148 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el index c2b91c4..d52d405 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -43,6 +43,22 @@ (load (expand-file-name "~/.emacs.d/site-lisp/loaddefs.el")) (defalias 'yes-or-no-p 'y-or-n-p) +(defalias 'list-buffers 'ibuffer) + +(defface git-commit-summary-face + '((t (:inherit org-level-1))) + "Face for the git title line." + :group 'local) + +(defface git-commit-overlong-summary-face + '((t (:background "#873732"))) + "Face for commit titles that are too long." + :group 'local) + +(defface git-commit-nonempty-second-line-face + '((t (:inherit git-commit-overlong-summary-face))) + "Face for the supposedly empty line in commit messages." + :group 'local) (eval-after-load "ebuff-menu" '(define-key electric-buffer-menu-mode-map @@ -93,41 +109,17 @@ (eval-after-load "jabber" '(remove-hook 'jabber-alert-presence-hooks 'jabber-presence-echo)) -(eval-after-load "org" - '(progn - (require 'appt) - (require 'org-protocol) - (require 'org-habit) - (require 'org-contacts) - - (add-to-list 'org-modules 'habit) +(eval-after-load "mu4e" + '(require 'mu4e-init)) - (org-indent-mode t) - - (org-agenda-to-appt) - (ad-activate 'org-agenda-redo))) - -(eval-after-load "org-crypt" - '(org-crypt-use-before-save-magic)) - -(eval-after-load "sauron" - '(setq sauron-modules (append '(sauron-identica sauron-jabber) - sauron-modules))) +(eval-after-load "org" + '(require 'org-init)) (eval-after-load "smex" '(progn (global-set-key (kbd "M-x") 'smex) (global-set-key (kbd "C-M-x") 'smex-major-mode-commands))) -(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") - (put 'upcase-region 'disabled nil) (put 'downcase-region 'disabled nil) (put 'narrow-to-region 'disabled nil) @@ -152,6 +144,7 @@ `((".*" . ,temporary-file-directory))) (setq browse-url-browser-function 'browse-url-generic) (setq browse-url-generic-program (getenv "BROWSER")) +(setq comment-auto-fill-only-comments t) (setq custom-file "~/.emacs.d/custom.el") (setq custom-theme-directory "~/.emacs.d/themes") (setq default-frame-alist @@ -177,20 +170,46 @@ (setq flymake-gui-warnings-enabled nil) (setq flymake-info-line-regexp (eval-when-compile - (regexp-opt '("Invalid name" - "Missing docstring" - "multiple imports on one line" - "expected 2 blank lines, found 1" - "TODO:")))) + (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 ')'" + "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" + "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" - "String statement has no effect" - "No value passed for parameter" - "imported but unused")))) + "imported but unused" + "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")))) (setq frame-title-format '(:eval (concat "emacs: " (buffer-name)))) (setq geiser-repl-history-filename "~/.emacs.d/geiser-history") (setq gtags-auto-update t) @@ -206,7 +225,9 @@ (setq inhibit-startup-message t) (setq initial-major-mode 'emacs-lisp-mode) (setq initial-scratch-message nil) -(setq jabber-account-list '(("ryuslash@jabber.org"))) +(setq jabber-account-list '(("ryuslash@jabber.org") + ("tom@ryuslash.org" + (:connection-type . ssl)))) (setq jabber-chat-buffer-format "*jabber:%n*") (setq jabber-chat-buffer-show-avatar nil) (setq jabber-chat-fill-long-lines nil) @@ -220,82 +241,6 @@ (setq message-log-max 1000) (setq message-send-mail-function 'message-send-mail-with-sendmail) (setq mode-line-position nil) -(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))) -(setq org-agenda-custom-commands - '(("wt" "Work todo." - tags-todo "CATEGORY=\"Work\"") - ("wm" "Myaethon2 todo." - tags-todo "CATEGORY=\"myaethon2\""))) -(setq org-agenda-sorting-strategy - '((agenda habit-down time-up priority-down category-keep) - (todo priority-down category-up) - (tags priority-down category-keep) - (search category-keep))) -(setq org-capture-templates - '(("t" "Task" entry (file "~/documents/org/tasks") - "* TODO %?") - ("h" "Habit" entry (file "") - (concat "* TODO %^{Description}\n" - " SCHEDULED: %^T\n" - " :PROPERTIES:\n" - " :STYLE: habit\n" - " :END:") - :immediate-finish t) - ("l" "Log" entry (file+headline "" "notes") - (concat "* %n %<%d-%m-%Y %H:%M:%S>\n" - " %a\n\n" - " %?") - :prepend t :empty-lines 1) - ("a" "Appointment" entry (file+headline "" "appointments") - "* %^{Description} %^T" :immediate-finish t) - ("b" "Bookmark" entry (file "~/documents/org/misc/bookmarks.org") - "* %c\n\n %:initial"))) -(setq org-contacts-files '("~/documents/org/misc/contacts.org")) -(setq org-directory (expand-file-name "~/documents/org")) -(setq org-agenda-files - `(,(concat org-directory "/org") - ,(concat org-directory "/misc/contacts.org") - ,(concat org-directory "/misc/bookmarks.org"))) -(setq org-default-notes-file (concat org-directory "/org")) -(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-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-exclude-from-inheritance '("crypt")) -(setq org-todo-keyword-faces - '(("TODO" :background "red") - ("DONE" :background "forest green") - ("SUCCEEDED" :background "forest green") - ("WAITING" :background "orange" :foreground "black") - ("CANCELLED" :background "orange red") - ("FAILED" :background "orange red") - ("WIP" :background "#ff9800" :foreground "black") - ("HOLD" :background "orange" :foreground "black") - ("ACQUIRE" :background "red") - ("IGNORED" :background "#555555"))) -(setq org-use-fast-todo-selection t) (setq package-archives '(("melpa" . "http://melpa.milkbox.net/packages/") ("ELPA" . "http://tromey.com/elpa/") @@ -310,21 +255,11 @@ (setq pony-tpl-indent-moves t) (setq rainbow-delimiters-max-face-count 12) (setq redisplay-dont-pause t) -(setq sauron-column-alist '((timestamp . 6) - (message))) -(setq sauron-hide-mode-line t) -(setq sauron-max-line-length 189) -(setq sauron-timestamp-format "%H:%M") -(setq sauron-watch-nicks '("ryuslash")) -(setq sauron-watch-patterns '("ryuslash")) (setq scroll-conservatively 101) (setq send-mail-function 'smtpmail-send-it) (setq sendmail-program "/usr/bin/msmtp") (setq smex-key-advice-ignore-menu-bar t) (setq smex-save-file "~/.emacs.d/smex-items") -(setq special-display-buffer-names '("*Sauron*")) -(setq special-display-frame-alist '((minibuffer . nil) - (right-fringe . 0))) (setq split-height-threshold 40) (setq time-stamp-active t) (setq time-stamp-format "%04y-%02m-%02d %02H:%02M:%02S (%u)") @@ -378,8 +313,8 @@ (global-set-key (kbd "<f6>") 'jabber-switch-to-roster-buffer) (global-set-key (kbd "<f7>") 'magit-status) (global-set-key (kbd "<f8>") 'oni:raise-eshell) -(global-set-key (kbd "C-<") 'indent-shift-left) -(global-set-key (kbd "C->") 'indent-shift-right) +(global-set-key (kbd "C-<") 'oni:indent-shift-left) +(global-set-key (kbd "C->") 'oni:indent-shift-right) (global-set-key (kbd "C-M-4") 'split-window-vertically) (global-set-key (kbd "C-M-SPC") 'er/expand-region) (global-set-key (kbd "C-M-d") 'kill-word) @@ -395,15 +330,12 @@ (global-set-key (kbd "C-e") 'oni:move-end-of-dwim) (global-set-key (kbd "C-k") 'oni:kill-region-or-line) (global-set-key (kbd "C-w") 'oni:kill-region-or-backward-char) -(global-set-key (kbd "C-x C-b") 'electric-buffer-list) (global-set-key (kbd "M-4") 'split-window-horizontally) (global-set-key (kbd "M-n") 'idomenu) (global-set-key (kbd "\"") 'oni:self-insert-dwim) (if (daemonp) - (global-set-key "\C-x\C-c" 'oni:close-client-window) - (unless (server-running-p) - (server-start))) + (global-set-key "\C-x\C-c" 'oni:close-client-window)) (when (or window-system (daemonp)) (global-unset-key "\C-z")) @@ -462,11 +394,15 @@ (smex-initialize) (help-at-pt-set-timer) -(load-theme 'new t) +(load-theme 'yoshi t) (load custom-file) (load "rudel-loaddefs.el") +(unless (server-running-p) + (server-start) + (load "wm-init")) + (provide 'init) ;;; init.el ends here diff --git a/.emacs.d/site-lisp/mu4e-init.el b/.emacs.d/site-lisp/mu4e-init.el new file mode 100644 index 0000000..258a6ef --- /dev/null +++ b/.emacs.d/site-lisp/mu4e-init.el @@ -0,0 +1,54 @@ +;;; 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/oni.el b/.emacs.d/site-lisp/oni.el index 2f60c63..35e85dc 100644 --- a/.emacs.d/site-lisp/oni.el +++ b/.emacs.d/site-lisp/oni.el @@ -361,7 +361,8 @@ PLIST contains all the pertinent information." (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 <%s>" title episode name date)))) + (format "* ACQUIRE %s %s - %s \n SCHEDULED: <%s>" + title episode name date)))) (defun oni:newline-and-indent () "`newline-and-indent', but with a twist. @@ -393,7 +394,8 @@ When dealing with braces, add another line and indent that too." "Function for `prog-mode-hook'." (rainbow-delimiters-mode) (fci-mode) - (pretty-symbols-mode)) + (pretty-symbols-mode) + (auto-fill-mode)) (defun oni:python-mode-func () "Function for `python-mode-hook'." diff --git a/.emacs.d/site-lisp/org-init.el b/.emacs.d/site-lisp/org-init.el new file mode 100644 index 0000000..7345f91 --- /dev/null +++ b/.emacs.d/site-lisp/org-init.el @@ -0,0 +1,113 @@ +;;; 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) + +(eval-after-load "org-crypt" + '(org-crypt-use-before-save-magic)) + +(setq org-agenda-custom-commands + '(("wt" "Work todo." + tags-todo "CATEGORY=\"Work\"") + ("wm" "Myaethon2 todo." + tags-todo "CATEGORY=\"myaethon2\""))) +(setq org-agenda-sorting-strategy + '((agenda habit-down time-up priority-down category-keep) + (todo priority-down tag-up category-up) + (tags priority-down category-keep) + (search category-keep))) +(setq org-agenda-tags-column -101) +(setq org-capture-templates + '(("t" "Task" entry (file "~/documents/org/tasks") + "* TODO %?") + ("h" "Habit" entry (file "") + (concat "* TODO %^{Description}\n" + " SCHEDULED: %^T\n" + " :PROPERTIES:\n" + " :STYLE: habit\n" + " :END:") + :immediate-finish t) + ("l" "Log" entry (file+headline "" "notes") + (concat "* %n %<%d-%m-%Y %H:%M:%S>\n" + " %a\n\n" + " %?") + :prepend t :empty-lines 1) + ("a" "Appointment" entry (file+headline "" "appointments") + "* %^{Description} %^T" :immediate-finish t) + ("b" "Bookmark" entry (file "~/documents/org/misc/bookmarks.org") + "* %c\n\n %:initial"))) +(setq org-contacts-files '("~/documents/org/misc/contacts.org")) +(setq org-directory (expand-file-name "~/documents/org")) +(setq org-agenda-files + (append + `(,(concat org-directory "/tasks") + ,(concat org-directory "/misc/contacts.org") + ,(concat org-directory "/misc/bookmarks.org")) + org-agenda-files)) +(setq org-agenda-todo-ignore-deadlines 'far) +(setq org-agenda-todo-ignore-scheduled t) +(setq org-default-notes-file (concat org-directory "/org")) +(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-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" :background "red") + ("DONE" :background "forest green") + ("SUCCEEDED" :background "forest green") + ("WAITING" :background "orange" :foreground "black") + ("CANCELLED" :background "orange red") + ("FAILED" :background "orange red") + ("WIP" :background "#ff9800" :foreground "black") + ("HOLD" :background "orange" :foreground "black") + ("ACQUIRE" :background "red") + ("IGNORED" :background "#555555"))) +(setq org-use-fast-todo-selection t) + +(add-to-list 'org-modules 'habit) + +(org-indent-mode t) + +(org-agenda-to-appt) +(ad-activate 'org-agenda-redo) + +(provide 'org-init) +;;; org-init.el ends here diff --git a/.emacs.d/site-lisp/wm-init.el b/.emacs.d/site-lisp/wm-init.el new file mode 100644 index 0000000..1ff0501 --- /dev/null +++ b/.emacs.d/site-lisp/wm-init.el @@ -0,0 +1,3 @@ +(async-shell-command "herbstluftwm" " herbstluftwm") +(async-shell-command "dunst" " dunst") +(async-shell-command "xbindkeys -n" " xbindkeys") diff --git a/.emacs.d/themes/new-theme.el b/.emacs.d/themes/yoshi-theme.el index 04f9930..6836353 100644 --- a/.emacs.d/themes/new-theme.el +++ b/.emacs.d/themes/yoshi-theme.el @@ -1,4 +1,4 @@ -;;; new-theme.el --- My new theme +;;; yoshi-theme.el --- Theme named after my cat ;; Copyright (C) 2012 Tom Willemsen @@ -20,15 +20,16 @@ ;;; Commentary: -;; Just a new theme. +;; Just a theme named after my cat. He doesn't actually look like +;; this. ;;; Code: -(deftheme new +(deftheme yoshi "Created 2012-09-24") (custom-theme-set-faces - 'new + 'yoshi '(default ((t (:background "#111113" :foreground "#eeeeec")))) '(flymake-errline ((t (:background nil :underline (:color "#d16979" :style wave))))) '(flymake-infoline ((t (:background nil :underline (:color "#4da5d1" :style wave))))) @@ -43,9 +44,9 @@ '(font-lock-type-face ((t (:foreground "#78a2c1" :bold t)))) '(font-lock-variable-name-face ((t (:foreground "#c39cc3")))) '(highlight ((t (:background "#171719")))) - '(ido-subdir ((t (:foreground "#ff5d55")))) + '(ido-subdir ((t (:foreground "#ff756e")))) '(italic ((t (:slant italic)))) - '(jabber-chat-prompt-foreign ((t (:foreground "#ff5d55")))) + '(jabber-chat-prompt-foreign ((t (:foreground "#ff756e")))) '(jabber-chat-prompt-local ((t (:foreground "#78a2c1")))) '(jabber-roster-user-online ((t (:foreground "#769ff2")))) '(link ((t (:foreground "#ffbb56" :underline t)))) @@ -53,14 +54,14 @@ '(minibuffer-prompt ((t (:foreground "#78a2c1")))) '(mode-line ((t (:background "#222224" :foreground "#eeeeec" :box nil)))) '(mode-line-inactive ((t (:background "#171719" :foreground "#999999" :box nil)))) - '(org-level-1 ((t (:height 1.5)))) - '(org-level-2 ((t (:height 1.4)))) - '(org-level-3 ((t (:height 1.3)))) - '(org-level-4 ((t (:height 1.2)))) - '(org-level-5 ((t (:height 1.1)))) - '(org-level-6 ((t (:height 1.0)))) - '(org-level-7 ((t (:height 1.0)))) - '(org-level-8 ((t (:height 1.0)))) + '(org-level-1 ((t (:height 1.5 :foreground "#78a2c1")))) + '(org-level-2 ((t (:height 1.4 :foreground "#93d8d8")))) + '(org-level-3 ((t (:height 1.3 :foreground "#9ad870")))) + '(org-level-4 ((t (:height 1.2 :foreground "#c39cc3")))) + '(org-level-5 ((t (:height 1.1 :foreground "#ff756e")))) + '(org-level-6 ((t (:height 1.0 :foreground "#a9a9a9")))) + '(org-level-7 ((t (:height 1.0 :foreground "#ffbb56")))) + '(org-level-8 ((t (:height 1.0 :foreground "#999999")))) '(region ((t (:background "#2729b6")))) '(rst-level-1 ((t (:height 1.5 :background nil)))) '(rst-level-2 ((t (:height 1.4 :background nil)))) @@ -68,7 +69,15 @@ '(rst-level-4 ((t (:height 1.2 :background nil)))) '(rst-level-5 ((t (:height 1.1 :background nil)))) '(rst-level-6 ((t (:height 1.0 :background nil)))) + '(term-color-black ((t (:background "#171719" :foreground "#999999")))) + '(term-color-blue ((t (:background "#2729b6" :foreground "#78a2c1")))) + '(term-color-cyan ((t (:background "#208181" :foreground "#93d8d8")))) + '(term-color-green ((t (:background "#405c2e" :foreground "#9ad870")))) + '(term-color-magenta ((t (:background "#5e325d" :foreground "#c39cc3")))) + '(term-color-red ((t (:background "#973732" :foreground "#ff756e")))) + '(term-color-white ((t (:background "#222224" :foreground "#a9a9a9")))) + '(term-color-yellow ((t (:background "#835c0e" :foreground "#ffbb56")))) ) -(provide-theme 'new) -;;; new-theme.el ends here +(provide-theme 'yoshi) +;;; yoshi-theme.el ends here |