laying down some groundwork

This commit is contained in:
Bozhidar Batsov 2011-10-07 23:25:37 +03:00
parent f462aca2b2
commit c8cb85052f
6 changed files with 748 additions and 0 deletions

128
editor-prelude.el Normal file
View file

@ -0,0 +1,128 @@
;; Emacs users obviously have little need for Command and Option keys,
;; but they do need Meta and Super
(when (string= system-type "darwin")
(setq mac-command-modifier 'super)
(setq mac-option-modifier 'meta))
;; Death to the tabs!
(setq-default indent-tabs-mode nil)
;; delete the selection with a keypress
(delete-selection-mode t)
;; highlight when searching and replacing
(setq search-highlight t
query-replace-highlight t)
;; store all backup and autosave files in the tmp dir
(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))
;; revert buffers automatically when underlying files are changed externally
(global-auto-revert-mode t)
;; hippie expand is dabbrev expand on steroids
(setq hippie-expand-try-functions-list '(try-expand-dabbrev
try-expand-dabbrev-all-buffers
try-expand-dabbrev-from-kill
try-complete-file-name-partially
try-complete-file-name
try-expand-all-abbrevs
try-expand-list
try-expand-line
try-complete-lisp-symbol-partially
try-complete-lisp-symbol))
;; meaningful names for buffers with the same name
(require 'uniquify)
(setq uniquify-buffer-name-style 'forward)
(setq uniquify-separator "/")
(setq uniquify-after-kill-buffer-p t) ; rename after killing uniquified
(setq uniquify-ignore-buffers-re "^\\*") ; don't muck with special buffers
;; saveplace: save location in file when saving files
(setq save-place-file "~/.emacs.d/saveplace")
(setq-default save-place t) ;; activate it for all buffers
(require 'saveplace) ;; get the package
;; savehist: save some history
(setq savehist-additional-variables ;; also save...
'(search ring regexp-search-ring) ;; ... my search entries
savehist-autosave-interval 60 ;; save every minute (default: 5 min)
savehist-file (concat "~/.emacs.d" "/savehist")) ;; keep my home clean
(savehist-mode t) ;; do customization before activation
;; save recent files
(setq recentf-save-file (concat dotfiles-dir "recentf") ;; keep ~/ clean
recentf-max-saved-items 100 ;; max save 100
recentf-max-menu-items 15) ;; max 15 in menu
(recentf-mode t) ;; turn it on
;; time-stamps
;; when there's "Time-stamp: <>" in the first 10 lines of the file
(setq
time-stamp-active t ; do enable time-stamps
time-stamp-line-limit 10 ; check first 10 buffer lines for Time-stamp: <>
time-stamp-format "%04y-%02m-%02d %02H:%02M:%02S (%u)") ; date format
(add-hook 'write-file-hooks 'time-stamp) ; update when saving
;; use shift + arrow keys to switch between visible buffers
(require 'windmove)
(windmove-default-keybindings 'super)
;; show-paren-mode: subtle highlighting of matching parens
(show-paren-mode t)
(setq show-paren-style 'parenthesis)
;; tramp, for sudo access
(require 'tramp)
;; keep in mind known issues with zsh - see emacs wiki
(setq tramp-default-method "ssh")
;; now we can use tramp to open files
;; requiring root access
(defun find-alternative-file-with-sudo ()
"Open current buffer as root!"
(interactive)
(when buffer-file-name
(find-alternate-file
sudo/su can be used as well, but they
do not work for me
(concat "/ssh:root@localhost:"
buffer-file-name))))
;; ido-mode
(ido-mode t)
(setq ido-enable-prefix nil
ido-enable-flex-matching t
ido-create-new-buffer 'always
ido-use-filename-at-point 'guess
ido-max-prospects 10
ido-default-file-method 'selected-window)
;; auto-completion in minibuffer
(icomplete-mode +1)
(set-default 'imenu-auto-rescan t)
;; flyspell-mode
(setq ispell-program-name "aspell" ; use aspell instead of ispell
ispell-extra-args '("--sug-mode=ultra"))
(autoload 'flyspell-mode "flyspell" "On-the-fly spelling checker." t)
(add-hook 'message-mode-hook 'turn-on-flyspell)
(add-hook 'text-mode-hook 'turn-on-flyspell)
(defun turn-on-flyspell ()
"Force flyspell-mode on using a positive argument. For use in hooks."
(interactive)
(flyspell-mode 1))
;; enable narrow to region
(put 'narrow-to-region 'disabled nil)
;; bookmarks
(setq bookmark-default-file "~/.emacs.d/bookmarks"
bookmark-save-flag 1)
(provide 'editor-prelude)

View file

@ -0,0 +1,121 @@
;; You know, like Readline.
(global-set-key (kbd "C-M-h") 'backward-kill-word)
;; Align your code in a pretty way.
(global-set-key (kbd "C-x \\") 'align-regexp)
;; Perform general cleanup.
(global-set-key (kbd "C-c n") 'cleanup-buffer)
;; Font size
(define-key global-map (kbd "C-+") 'text-scale-increase)
(define-key global-map (kbd "C--") 'text-scale-decrease)
;; Jump to a definition in the current file. (This is awesome.)
(global-set-key (kbd "M-i") 'ido-goto-symbol)
;; File finding
(global-set-key (kbd "C-x M-f") 'ido-find-file-other-window)
(global-set-key (kbd "C-x C-M-f") 'projectile-jump-to-project-file)
(global-set-key (kbd "C-x f") 'recentf-ido-find-file)
(global-set-key (kbd "C-c r") 'bury-buffer)
(global-set-key (kbd "M-`") 'file-cache-minibuffer-complete)
;; Window switching. (C-x o goes to the next window)
(global-set-key (kbd "C-x O") (lambda ()
(interactive)
(other-window -1))) ;; back one
;; Indentation help
(global-set-key (kbd "C-x ^") 'join-line)
(global-set-key (kbd "C-M-\\") 'indent-region-or-buffer)
;; Start proced in a similar manner to dired
(global-set-key (kbd "C-x p") 'proced)
;; Start eshell or switch to it if it's active.
(global-set-key (kbd "C-x m") 'eshell)
;; Start a new eshell even if one is active.
(global-set-key (kbd "C-x M") (lambda () (interactive) (eshell t)))
;; Start a regular shell if you prefer that.
(global-set-key (kbd "C-x M-m") 'shell)
;; If you want to be able to M-x without meta
(global-set-key (kbd "C-x C-m") 'execute-extended-command)
;; Fetch the contents at a URL, display it raw.
(global-set-key (kbd "C-x C-h") 'view-url)
;; A complementary binding to the apropos-command(C-h a)
(global-set-key (kbd "C-h A") 'apropos)
;; Should be able to eval-and-replace anywhere.
(global-set-key (kbd "C-c e") 'eval-and-replace)
;; Magit rules!
(global-set-key (kbd "C-x g") 'magit-status)
;; Activate occur easily inside isearch
(define-key isearch-mode-map (kbd "C-o")
(lambda () (interactive)
(let ((case-fold-search isearch-case-fold-search))
(occur (if isearch-regexp
isearch-string
(regexp-quote isearch-string))))))
;; cycle through buffers
(global-set-key (kbd "<C-tab>") 'bury-buffer)
;; use hippie-expand instead of dabbrev
(global-set-key (kbd "M-/") 'hippie-expand)
;; spell check Bulgarian text
(global-set-key (kbd "C-c B")
(lambda()(interactive)
(ispell-change-dictionary "bulgarian")
(flyspell-buffer)))
;; replace buffer-menu with ibuffer
(global-set-key (kbd "C-x C-b") 'ibuffer)
;; interactive text replacement
(global-set-key (kbd "C-c C-r") 'iedit-mode)
;; swap windows
(global-set-key (kbd "C-c s") 'swap-windows)
;; duplicate the current line or region
(global-set-key (kbd "C-c d") 'duplicate-current-line-or-region)
;; rename buffer & visited file
(global-set-key (kbd "C-c r") 'rename-file-and-buffer)
;; open an ansi-term buffer
(global-set-key (kbd "C-x t") 'visit-term-buffer)
;; toggle input method
(global-set-key (kbd "C-\\") 'toggle-bulgarian-input-method)
;; search with google
(global-set-key (kbd "C-c g") 'google)
;; toggle menu-bar visibility
(global-set-key (kbd "<f12>") 'menu-bar-mode)
;; real Emacs hackers don't use the arrow keys
(global-set-key (kbd "<up>") (lambda ()
(interactive)
(message "Arrow key navigation is disabled. Use C-p instead.")))
(global-set-key (kbd "<down>") (lambda ()
(interactive)
(message "Arrow key navigation is disabled. Use C-n instead.")))
(global-set-key (kbd "<left>") (lambda ()
(interactive)
(message "Arrow key navigation is disabled. Use C-b instead.")))
(global-set-key (kbd "<right>") (lambda ()
(interactive)
(message "Arrow key navigation is disabled. Use C-f instead.")))
(provide 'global-keybindings-prelude)

4
init.el Normal file
View file

@ -0,0 +1,4 @@
(require 'ui-prelude)
(require 'packages-prelude)
(require 'core-prelude)
(require 'editor-prelude)

13
packages-prelude.el Normal file
View file

@ -0,0 +1,13 @@
(when (not package-archive-contents)
(package-refresh-contents))
(defvar prelude-packages '(auctex clojure-mode coffee-mode gist haml-mode
haskell-mode magit markdown-mode paredit
sass-mode yasnippet)
"A list of packages to ensure are installed at launch.")
(dolist (p prelude-packages)
(when (not (package-installed-p p))
(package-install p)))
(provide 'packages-prelude)

452
themes/zenburn-theme.el Normal file
View file

@ -0,0 +1,452 @@
;;; zenburn-theme.el --- A low contrast color theme for Emacs.
;; Copyright (C) 2011 Bozhidar Batsov
;; Author: Bozhidar Batsov <bozhidar.batsov@gmail.com>
;; URL: http://github.com/bbatsov/zenburn-emacs
;; Version: 0.1
;; 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:
;;
;; A port of the popular Vim theme Zenburn for Emacs 24, built on top of
;; the new built-in theme support in Emacs 24. There exists one other version of the
;; theme by Daniel Brockman. My version was originally based on it,
;; but it was in such a disarray, that I decided to rewrite it from
;; scratch in a more maintainable manner (hopefully).
;;
;;; Installation:
;;
;; Drop the theme in a folder that is on `custom-theme-load-path'
;; and enjoy!
;;
;; Don't forget that the theme requires Emacs 24.
;;
;;; Bugs
;;
;; None that I'm aware of.
;;
;;; Credits
;;
;; Jani Nurminen created the original theme for vim on such this port
;; is based.
;;
;;; Code
(deftheme zenburn "The Zenburn color theme")
(let ((class '((class color) (min-colors 89)))
;; Zenburn palette
;; colors with +x are lighter, colors with -x are darker
(zenburn-fg "#dcdccc")
(zenburn-fg-1 "#656555")
(zenburn-bg-2 "#1f1f1f")
(zenburn-bg-1 "#2b2b2b")
(zenburn-bg-05 "#383838")
(zenburn-bg "#3f3f3f")
(zenburn-bg+1 "#4f4f4f")
(zenburn-bg+2 "#5f5f5f")
(zenburn-red+1 "#dca3a3")
(zenburn-red "#cc9393")
(zenburn-red-1 "#bc8383")
(zenburn-red-2 "#ac7373")
(zenburn-red-3 "#9c6363")
(zenburn-red-4 "#8c5353")
(zenburn-orange "#dfaf8f")
(zenburn-yellow "#f0dfaf")
(zenburn-yellow-1 "#e0cf9f")
(zenburn-yellow-2 "#d0bf8f")
(zenburn-green-1 "#5f7f5f")
(zenburn-green "#7f9f7f")
(zenburn-green+1 "#8fb28f")
(zenburn-green+2 "#9fc59f")
(zenburn-green+3 "#afd8af")
(zenburn-green+4 "#bfebbf")
(zenburn-cyan "#93e0e3")
(zenburn-blue+1 "#94bff3")
(zenburn-blue "#8cd0d3")
(zenburn-blue-1 "#7cb8bb")
(zenburn-blue-2 "#6ca0a3")
(zenburn-blue-3 "#5c888b")
(zenburn-blue-4 "#4c7073")
(zenburn-blue-5 "#366060")
(zenburn-magenta "#dc8cc3"))
(custom-theme-set-faces
'zenburn
'(button ((t (:underline t))))
`(link ((,class (:foreground ,zenburn-yellow :underline t :weight bold))))
`(link-visited ((,class (:foreground ,zenburn-yellow-2 :underline t :weight normal))))
;;; define some reusable zenburn faces that we can inherit from afterwards
`(zenburn-strong-1-face ((,class (:foreground ,zenburn-yellow :weight bold))))
`(zenburn-strong-2-face ((,class (:foreground ,zenburn-orange :weight bold))))
`(zenburn-warning-face ((,class (:foreground ,zenburn-yellow-1 :weight bold :underline t))))
`(zenburn-error-face ((,class (:foreground ,zenburn-red-1 :weight bold :underline t))))
;;; basic coloring
`(default ((,class (:foreground ,zenburn-fg :background ,zenburn-bg))))
`(cursor ((,class (:foreground ,zenburn-fg))))
`(escape-glyph-face ((,class (:foreground ,zenburn-red))))
`(fringe ((,class (:foreground ,zenburn-fg :background ,zenburn-bg+1))))
`(header-line ((,class (:foreground ,zenburn-yellow :background ,zenburn-bg-2))))
`(highlight ((,class (:background ,zenburn-bg-05))))
;;; compilation
`(compilation-column-face ((,class (:foreground ,zenburn-yellow))))
`(compilation-enter-directory-face ((,class (:foreground ,zenburn-green))))
`(compilation-error-face ((,class (:foreground ,zenburn-red-1 :weight bold :underline t))))
`(compilation-face ((,class (:foreground ,zenburn-fg))))
`(compilation-info-face ((,class (:foreground ,zenburn-blue))))
`(compilation-info ((,class (:foreground ,zenburn-green+4 :underline t))))
`(compilation-leave-directory-face ((,class (:foreground ,zenburn-green))))
`(compilation-line-face ((,class (:foreground ,zenburn-yellow))))
`(compilation-line-number ((,class (:foreground ,zenburn-yellow))))
`(compilation-message-face ((,class (:foreground ,zenburn-blue))))
`(compilation-warning-face ((,class (:foreground ,zenburn-yellow-1 :weight bold :underline t))))
;;; grep
`(grep-context-face ((,class (:foreground ,zenburn-fg))))
`(grep-error-face ((,class (:foreground ,zenburn-red-1 :weight bold :underline t))))
`(grep-hit-face ((,class (:foreground ,zenburn-blue))))
`(grep-match-face ((,class (:foreground ,zenburn-orange :weight bold))))
`(match ((,class (:background ,zenburn-bg-1 :foreground ,zenburn-orange :weight bold))))
;; faces used by isearch
`(isearch ((,class (:foreground ,zenburn-yellow :background ,zenburn-bg-1))))
`(isearch-fail ((,class (:foreground ,zenburn-fg :background ,zenburn-red-4))))
`(lazy-highlight ((,class (:foreground ,zenburn-yellow :background ,zenburn-bg+2))))
`(menu ((,class (:foreground ,zenburn-fg :background ,zenburn-bg))))
`(minibuffer-prompt ((,class (:foreground ,zenburn-yellow))))
`(mode-line
((,class (:foreground ,zenburn-green+1 :background ,zenburn-bg-1))))
`(mode-line-buffer-id ((,class (:foreground ,zenburn-yellow :weight bold))))
`(mode-line-inactive
((,class (:foreground ,zenburn-green-1 :background ,zenburn-bg-1))))
`(region ((,class (:background ,zenburn-bg-1))))
`(secondary-selection ((,class (:background ,zenburn-bg+2))))
`(trailing-whitespace ((,class (:background ,zenburn-red))))
`(vertical-border ((,class (:foreground ,zenburn-fg))))
;;; font lock
`(font-lock-builtin-face ((,class (:foreground ,zenburn-blue))))
`(font-lock-comment-face ((,class (:foreground ,zenburn-green))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,zenburn-green))))
`(font-lock-constant-face ((,class (:foreground ,zenburn-green+4))))
`(font-lock-doc-face ((,class (:foreground ,zenburn-green+1))))
`(font-lock-doc-string-face ((,class (:foreground ,zenburn-blue+1))))
`(font-lock-function-name-face ((,class (:foreground ,zenburn-blue))))
`(font-lock-keyword-face ((,class (:foreground ,zenburn-yellow :weight bold))))
`(font-lock-negation-char-face ((,class (:foreground ,zenburn-fg))))
`(font-lock-preprocessor-face ((,class (:foreground ,zenburn-blue))))
`(font-lock-string-face ((,class (:foreground ,zenburn-red))))
`(font-lock-type-face ((,class (:foreground ,zenburn-blue))))
`(font-lock-variable-name-face ((,class (:foreground ,zenburn-orange))))
`(font-lock-warning-face ((,class (:foreground ,zenburn-yellow-1 :weight bold :underline t))))
;;; external
;; diff
`(diff-added ((,class (:foreground ,zenburn-green+4))))
`(diff-changed ((,class (:foreground ,zenburn-yellow))))
`(diff-removed ((,class (:foreground ,zenburn-red))))
`(diff-header ((,class (:background ,zenburn-bg+1))))
`(diff-file-header
((,class (:background ,zenburn-bg+2 :foreground ,zenburn-fg :bold t))))
;; eshell
`(eshell-prompt ((,class (:foreground ,zenburn-yellow :weight bold))))
`(eshell-ls-archive ((,class (:foreground ,zenburn-red-1 :weight bold))))
`(eshell-ls-backup ((,class (:inherit font-lock-comment))))
`(eshell-ls-clutter ((,class (:inherit font-lock-comment))))
`(eshell-ls-directory ((,class (:foreground ,zenburn-blue+1 :weight bold))))
`(eshell-ls-executable ((,class (:foreground ,zenburn-red+1 :weight bold))))
`(eshell-ls-unreadable ((,class (:foreground ,zenburn-fg))))
`(eshell-ls-missing ((,class (:inherit font-lock-warning))))
`(eshell-ls-product ((,class (:inherit font-lock-doc))))
`(eshell-ls-special ((,class (:foreground ,zenburn-yellow :weight bold))))
`(eshell-ls-symlink ((,class (:foreground ,zenburn-cyan :weight bold))))
;; flymake
`(flymake-errline ((,class (:foreground ,zenburn-red-1 :weight bold :underline t))))
`(flymake-warnline ((,class (:foreground ,zenburn-yellow-1 :weight bold :underline t))))
;; flyspell
`(flyspell-duplicate ((,class (:foreground ,zenburn-yellow-1 :weight bold :underline t))))
`(flyspell-incorrect ((,class (:foreground ,zenburn-red-1 :weight bold :underline t))))
;; erc
`(erc-action-face ((,class (:inherit erc-default-face))))
`(erc-bold-face ((,class (:weight bold))))
`(erc-current-nick-face ((,class (:foreground ,zenburn-blue :weight bold))))
`(erc-dangerous-host-face ((,class (:inherit font-lock-warning))))
`(erc-default-face ((,class (:foreground ,zenburn-fg))))
`(erc-direct-msg-face ((,class (:inherit erc-default))))
`(erc-error-face ((,class (:inherit font-lock-warning))))
`(erc-fool-face ((,class (:inherit erc-default))))
`(erc-highlight-face ((,class (:inherit hover-highlight))))
`(erc-input-face ((,class (:foreground ,zenburn-yellow))))
`(erc-keyword-face ((,class (:foreground ,zenburn-blue :weight bold))))
`(erc-nick-default-face ((,class (:foreground ,zenburn-yellow :weight bold))))
`(erc-my-nick-face ((,class (:foreground ,zenburn-red :weigth bold))))
`(erc-nick-msg-face ((,class (:inherit erc-default))))
`(erc-notice-face ((,class (:foreground ,zenburn-green))))
`(erc-pal-face ((,class (:foreground ,zenburn-orange :weight bold))))
`(erc-prompt-face ((,class (:foreground ,zenburn-orange :weight bold))))
`(erc-timestamp-face ((,class (:foreground ,zenburn-green+1))))
`(erc-underline-face ((t (:underline t))))
;; gnus
`(gnus-group-mail-1-face ((,class (:bold t :inherit gnus-group-mail-1-empty))))
`(gnus-group-mail-1-empty-face ((,class (:inherit gnus-group-news-1-empty))))
`(gnus-group-mail-2-face ((,class (:bold t :inherit gnus-group-mail-2-empty))))
`(gnus-group-mail-2-empty-face ((,class (:inherit gnus-group-news-2-empty))))
`(gnus-group-mail-3-face ((,class (:bold t :inherit gnus-group-mail-3-empty))))
`(gnus-group-mail-3-empty-face ((,class (:inherit gnus-group-news-3-empty))))
`(gnus-group-mail-4-face ((,class (:bold t :inherit gnus-group-mail-4-empty))))
`(gnus-group-mail-4-empty-face ((,class (:inherit gnus-group-news-4-empty))))
`(gnus-group-mail-5-face ((,class (:bold t :inherit gnus-group-mail-5-empty))))
`(gnus-group-mail-5-empty-face ((,class (:inherit gnus-group-news-5-empty))))
`(gnus-group-mail-6-face ((,class (:bold t :inherit gnus-group-mail-6-empty))))
`(gnus-group-mail-6-empty-face ((,class (:inherit gnus-group-news-6-empty))))
`(gnus-group-mail-low-face ((,class (:bold t :inherit gnus-group-mail-low-empty))))
`(gnus-group-mail-low-empty-face ((,class (:inherit gnus-group-news-low-empty))))
`(gnus-group-news-1-face ((,class (:bold t :inherit gnus-group-news-1-empty))))
`(gnus-group-news-2-face ((,class (:bold t :inherit gnus-group-news-2-empty))))
`(gnus-group-news-3-face ((,class (:bold t :inherit gnus-group-news-3-empty))))
`(gnus-group-news-4-face ((,class (:bold t :inherit gnus-group-news-4-empty))))
`(gnus-group-news-5-face ((,class (:bold t :inherit gnus-group-news-5-empty))))
`(gnus-group-news-6-face ((,class (:bold t :inherit gnus-group-news-6-empty))))
`(gnus-group-news-low-face ((,class (:bold t :inherit gnus-group-news-low-empty))))
`(gnus-header-content-face ((,class (:inherit message-header-other))))
`(gnus-header-from-face ((,class (:inherit message-header-from))))
`(gnus-header-name-face ((,class (:inherit message-header-name))))
`(gnus-header-newsgroups-face ((,class (:inherit message-header-other))))
`(gnus-header-subject-face ((,class (:inherit message-header-subject))))
`(gnus-summary-cancelled-face ((,class (:foreground ,zenburn-orange))))
`(gnus-summary-high-ancient-face ((,class (:foreground ,zenburn-blue))))
`(gnus-summary-high-read-face ((,class (:foreground ,zenburn-green :weight bold))))
`(gnus-summary-high-ticked-face ((,class (:foreground ,zenburn-orange :weight bold))))
`(gnus-summary-high-unread-face ((,class (:foreground ,zenburn-fg :weight bold))))
`(gnus-summary-low-ancient-face ((,class (:foreground ,zenburn-blue))))
`(gnus-summary-low-read-face ((t (:foreground ,zenburn-green))))
`(gnus-summary-low-ticked-face ((,class (:foreground ,zenburn-orange :weight bold))))
`(gnus-summary-low-unread-face ((,class (:foreground ,zenburn-fg))))
`(gnus-summary-normal-ancient-face ((,class (:foreground ,zenburn-blue))))
`(gnus-summary-normal-read-face ((,class (:foreground ,zenburn-green))))
`(gnus-summary-normal-ticked-face ((,class (:foreground ,zenburn-orange :weight bold))))
`(gnus-summary-normal-unread-face ((,class (:foreground ,zenburn-fg))))
`(gnus-summary-selected-face ((,class (:foreground ,zenburn-yellow :weight bold))))
`(gnus-cite-1-face ((,class (:foreground ,zenburn-blue))))
`(gnus-cite-10-face ((,class (:foreground ,zenburn-yellow-1))))
`(gnus-cite-11-face ((,class (:foreground ,zenburn-yellow))))
`(gnus-cite-2-face ((,class (:foreground ,zenburn-blue-1))))
`(gnus-cite-3-face ((,class (:foreground ,zenburn-blue-2))))
`(gnus-cite-4-face ((,class (:foreground ,zenburn-green+2))))
`(gnus-cite-5-face ((,class (:foreground ,zenburn-green+1))))
`(gnus-cite-6-face ((,class (:foreground ,zenburn-green))))
`(gnus-cite-7-face ((,class (:foreground ,zenburn-red))))
`(gnus-cite-8-face ((,class (:foreground ,zenburn-red-1))))
`(gnus-cite-9-face ((,class (:foreground ,zenburn-red-2))))
`(gnus-group-news-1-empty-face ((,class (:foreground ,zenburn-yellow))))
`(gnus-group-news-2-empty-face ((,class (:foreground ,zenburn-green+3))))
`(gnus-group-news-3-empty-face ((,class (:foreground ,zenburn-green+1))))
`(gnus-group-news-4-empty-face ((,class (:foreground ,zenburn-blue-2))))
`(gnus-group-news-5-empty-face ((,class (:foreground ,zenburn-blue-3))))
`(gnus-group-news-6-empty-face ((,class (:foreground ,zenburn-bg+2))))
`(gnus-group-news-low-empty-face ((,class (:foreground ,zenburn-bg+2))))
`(gnus-signature-face ((,class (:foreground ,zenburn-yellow))))
`(gnus-x-face ((,class (:background ,zenburn-fg :foreground ,zenburn-bg))))
;; hl-line-mode
`(hl-line-face ((,class (:background ,zenburn-bg-1))))
;; ido-mode
`(ido-first-match ((,class (:foreground ,zenburn-yellow :weight bold))))
`(ido-only-match ((,class (:foreground ,zenburn-orange :weight bold))))
`(ido-subdir ((,class (:foreground ,zenburn-yellow))))
;; linum-mode
`(linum ((,class (:foreground ,zenburn-fg-1 :background ,zenburn-bg-1))))
;; magit
`(magit-section-title ((,class (:foreground ,zenburn-yellow :weight bold))))
`(magit-branch ((,class (:foreground ,zenburn-orange :weight bold))))
;; message-mode
`(message-cited-text-face ((,class (:inherit font-lock-comment))))
`(message-header-name-face ((,class (:foreground ,zenburn-green+1))))
`(message-header-other-face ((,class (:foreground ,zenburn-green))))
`(message-header-to-face ((,class (:foreground ,zenburn-yellow :weight bold))))
`(message-header-from-face ((,class (:foreground ,zenburn-yellow :weight bold))))
`(message-header-cc-face ((,class (:foreground ,zenburn-yellow :weight bold))))
`(message-header-newsgroups-face ((,class (:foreground ,zenburn-yellow :weight bold))))
`(message-header-subject-face ((,class (:foreground ,zenburn-orange :weight bold))))
`(message-header-xheader-face ((,class (:foreground ,zenburn-green))))
`(message-mml-face ((,class (:foreground ,zenburn-yellow :weight bold))))
`(message-separator-face ((,class (:inherit font-lock-comment))))
;; mew
`(mew-face-header-subject ((,class (:foreground ,zenburn-orange))))
`(mew-face-header-from ((,class (:foreground ,zenburn-yellow))))
`(mew-face-header-date ((,class (:foreground ,zenburn-green))))
`(mew-face-header-to ((,class (:foreground ,zenburn-red))))
`(mew-face-header-key ((,class (:foreground ,zenburn-green))))
`(mew-face-header-private ((,class (:foreground ,zenburn-green))))
`(mew-face-header-important ((,class (:foreground ,zenburn-blue))))
`(mew-face-header-marginal ((,class (:foreground ,zenburn-fg :weight bold))))
`(mew-face-header-warning ((,class (:foreground ,zenburn-red))))
`(mew-face-header-xmew ((,class (:foreground ,zenburn-green))))
`(mew-face-header-xmew-bad ((,class (:foreground ,zenburn-red))))
`(mew-face-body-url ((,class (:foreground ,zenburn-orange))))
`(mew-face-body-comment ((,class (:foreground ,zenburn-fg :slant italic))))
`(mew-face-body-cite1 ((,class (:foreground ,zenburn-green))))
`(mew-face-body-cite2 ((,class (:foreground ,zenburn-blue))))
`(mew-face-body-cite3 ((,class (:foreground ,zenburn-orange))))
`(mew-face-body-cite4 ((,class (:foreground ,zenburn-yellow))))
`(mew-face-body-cite5 ((,class (:foreground ,zenburn-red))))
`(mew-face-mark-review ((,class (:foreground ,zenburn-blue))))
`(mew-face-mark-escape ((,class (:foreground ,zenburn-green))))
`(mew-face-mark-delete ((,class (:foreground ,zenburn-red))))
`(mew-face-mark-unlink ((,class (:foreground ,zenburn-yellow))))
`(mew-face-mark-refile ((,class (:foreground ,zenburn-green))))
`(mew-face-mark-unread ((,class (:foreground ,zenburn-red-2))))
`(mew-face-eof-message ((,class (:foreground ,zenburn-green))))
`(mew-face-eof-part ((,class (:foreground ,zenburn-yellow))))
;; nav
`(nav-face-heading ((,class (:foreground ,zenburn-yellow))))
`(nav-face-button-num ((,class (:foreground ,zenburn-cyan))))
`(nav-face-dir ((,class (:foreground ,zenburn-green))))
`(nav-face-hdir ((,class (:foreground ,zenburn-red))))
`(nav-face-file ((,class (:foreground ,zenburn-fg))))
`(nav-face-hfile ((,class (:foreground ,zenburn-red-4))))
;; org-mode
`(org-agenda-date-today
((,class (:foreground "white" :slant italic :weight bold))) t)
`(org-agenda-structure
((,class (:inherit font-lock-comment-face))))
`(org-archived ((,class (:foreground ,zenburn-fg :weight bold))))
`(org-checkbox ((,class (:background ,zenburn-bg+2 :foreground "white"
:box (:line-width 1 :style released-button)))))
`(org-date ((,class (:foreground ,zenburn-blue :underline t))))
`(org-deadline-announce ((,class (:foreground ,zenburn-red-1))))
`(org-done ((,class (:bold t :weight bold :foreground ,zenburn-green+3))))
`(org-formula ((,class (:foreground ,zenburn-yellow-2))))
`(org-headline-done ((,class (:foreground ,zenburn-green+3))))
`(org-hide ((,class (:foreground ,zenburn-bg-1))))
`(org-level-1 ((,class (:foreground ,zenburn-orange))))
`(org-level-2 ((,class (:foreground ,zenburn-green+1))))
`(org-level-3 ((,class (:foreground ,zenburn-blue-1))))
`(org-level-4 ((,class (:foreground ,zenburn-yellow-2))))
`(org-level-5 ((,class (:foreground ,zenburn-cyan))))
`(org-level-6 ((,class (:foreground ,zenburn-green-1))))
`(org-level-7 ((,class (:foreground ,zenburn-red-4))))
`(org-level-8 ((,class (:foreground ,zenburn-blue-4))))
`(org-link ((,class (:foreground ,zenburn-yellow-2 :underline t))))
`(org-scheduled ((,class (:foreground ,zenburn-green+4))))
`(org-scheduled-previously ((,class (:foreground ,zenburn-red-4))))
`(org-scheduled-today ((,class (:foreground ,zenburn-blue+1))))
`(org-special-keyword ((,class (:foreground ,zenburn-yellow-1))))
`(org-table ((,class (:foreground ,zenburn-green+2))))
`(org-tag ((,class (:bold t :weight bold))))
`(org-time-grid ((,class (:foreground ,zenburn-orange))))
`(org-todo ((,class (:bold t :foreground ,zenburn-red :weight bold))))
`(org-upcoming-deadline ((,class (:inherit font-lock-keyword-face))))
`(org-warning ((,class (:bold t :foreground ,zenburn-red :weight bold))))
;; outline
`(outline-8 ((,class (:inherit default))))
`(outline-7 ((,class (:inherit outline-8 :height 1.0))))
`(outline-6 ((,class (:inherit outline-7 :height 1.0))))
`(outline-5 ((,class (:inherit outline-6 :height 1.0))))
`(outline-4 ((,class (:inherit outline-5 :height 1.0))))
`(outline-3 ((,class (:inherit outline-4 :height 1.0))))
`(outline-2 ((,class (:inherit outline-3 :height 1.0))))
`(outline-1 ((,class (:inherit outline-2 :height 1.0))))
;; rainbow-delimiters
`(rainbow-delimiters-depth-1-face ((,class (:foreground ,zenburn-cyan))))
`(rainbow-delimiters-depth-2-face ((,class (:foreground ,zenburn-yellow))))
`(rainbow-delimiters-depth-3-face ((,class (:foreground ,zenburn-blue+1))))
`(rainbow-delimiters-depth-4-face ((,class (:foreground ,zenburn-red+1))))
`(rainbow-delimiters-depth-5-face ((,class (:foreground ,zenburn-orange))))
`(rainbow-delimiters-depth-6-face ((,class (:foreground ,zenburn-blue-1))))
`(rainbow-delimiters-depth-7-face ((,class (:foreground ,zenburn-green+4))))
`(rainbow-delimiters-depth-8-face ((,class (:foreground ,zenburn-red-3))))
`(rainbow-delimiters-depth-9-face ((,class (:foreground ,zenburn-yellow-2))))
`(rainbow-delimiters-depth-10-face ((,class (:foreground ,zenburn-green+2))))
`(rainbow-delimiters-depth-11-face ((,class (:foreground ,zenburn-blue+1))))
`(rainbow-delimiters-depth-12-face ((,class (:foreground ,zenburn-red-4))))
;; rpm-mode
`(rpm-spec-dir-face ((,class (:foreground ,zenburn-green))))
`(rpm-spec-doc-face ((,class (:foreground ,zenburn-green))))
`(rpm-spec-ghost-face ((,class (:foreground ,zenburn-red))))
`(rpm-spec-macro-face ((,class (:foreground ,zenburn-yellow))))
`(rpm-spec-obsolete-tag-face ((,class (:foreground ,zenburn-red))))
`(rpm-spec-package-face ((,class (:foreground ,zenburn-red))))
`(rpm-spec-section-face ((,class (:foreground ,zenburn-yellow))))
`(rpm-spec-tag-face ((,class (:foreground ,zenburn-blue))))
`(rpm-spec-var-face ((,class (:foreground ,zenburn-red))))
;; show-paren
`(show-paren-mismatch ((,class (:foreground ,zenburn-red-3 :weight bold))))
`(show-paren-match ((,class (:foreground ,zenburn-blue-1 :weight bold))))
;; SLIME
`(slime-repl-inputed-output-face ((,class (:foreground ,zenburn-red))))
;; wanderlust
`(wl-highlight-folder-few-face ((,class (:foreground ,zenburn-red-2))))
`(wl-highlight-folder-many-face ((,class (:foreground ,zenburn-red-1))))
`(wl-highlight-folder-path-face ((,class (:foreground ,zenburn-orange))))
`(wl-highlight-folder-unread-face ((,class (:foreground ,zenburn-blue))))
`(wl-highlight-folder-zero-face ((,class (:foreground ,zenburn-fg))))
`(wl-highlight-folder-unknown-face ((,class (:foreground ,zenburn-blue))))
`(wl-highlight-message-citation-header ((,class (:foreground ,zenburn-red-1))))
`(wl-highlight-message-cited-text-1 ((,class (:foreground ,zenburn-red))))
`(wl-highlight-message-cited-text-2 ((,class (:foreground ,zenburn-green+2))))
`(wl-highlight-message-cited-text-3 ((,class (:foreground ,zenburn-blue))))
`(wl-highlight-message-cited-text-4 ((,class (:foreground ,zenburn-blue+1))))
`(wl-highlight-message-header-contents-face ((,class (:foreground ,zenburn-green))))
`(wl-highlight-message-headers-face ((,class (:foreground ,zenburn-red+1))))
`(wl-highlight-message-important-header-contents ((,class (:foreground ,zenburn-green+2))))
`(wl-highlight-message-header-contents ((,class (:foreground ,zenburn-green+1))))
`(wl-highlight-message-important-header-contents2 ((,class (:foreground ,zenburn-green+2))))
`(wl-highlight-message-signature ((,class (:foreground ,zenburn-green))))
`(wl-highlight-message-unimportant-header-contents ((,class (:foreground ,zenburn-fg))))
`(wl-highlight-summary-answered-face ((,class (:foreground ,zenburn-blue))))
`(wl-highlight-summary-disposed-face ((,class (:foreground ,zenburn-fg
:slant italic))))
`(wl-highlight-summary-new-face ((,class (:foreground ,zenburn-blue))))
`(wl-highlight-summary-normal-face ((,class (:foreground ,zenburn-fg))))
`(wl-highlight-summary-thread-top-face ((,class (:foreground ,zenburn-yellow))))
`(wl-highlight-thread-indent-face ((,class (:foreground ,zenburn-magenta))))
`(wl-highlight-summary-refiled-face ((,class (:foreground ,zenburn-fg))))
`(wl-highlight-summary-displaying-face ((,class (:underline t :weight bold))))))
(custom-theme-set-variables
'zenburn
'(ansi-color-names-vector [zenburn-bg zenburn-red zenburn-green zenburn-yellow
zenburn-blue zenburn-magenta zenburn-cyan zenburn-fg]))
(provide-theme 'zenburn)
;; Local Variables:
;; no-byte-compile: t
;; End:
;;; zenburn-theme.el ends here.

30
ui-prelude.el Normal file
View file

@ -0,0 +1,30 @@
;; the toolbar is just a waste of valuable screen estate
(tool-bar-mode -1)
;; the menu bar is mostly useless as well
;; but removing it under OS X doesn't make much sense
(unless (string= system-type "darwin")
(menu-bar-mode -1))
;; the blinking cursor is nothing, but an annoyance
(blink-cursor-mode -1)
;; disable startup screen
(setq inhibit-startup-screen t)
;; nice scrolling
(setq scroll-margin 0
scroll-conservatively 100000
scroll-preserve-screen-position 1)
;; mode line settings
(line-number-mode t)
(column-number-mode t)
(size-indication-mode t)
;; enable y/n answers
(fset 'yes-or-no-p 'y-or-n-p)
;; custom Emacs 24 color themes support
(add-to-list 'custom-theme-load-path (concat dotfiles-dir "themes/"))
(load-theme 'zenburn t)
(provide 'ui-prelude)