1
0
Fork 0

Initial commit

dotbot, X, emacs, zsh, i3
This commit is contained in:
Jeremy Kaplan 2015-09-04 22:53:17 -04:00
commit c154ac3f7c
17 changed files with 2241 additions and 0 deletions

6
.gitmodules vendored Normal file
View file

@ -0,0 +1,6 @@
[submodule "dotbot"]
path = dotbot
url = https://github.com/anishathalye/dotbot
[submodule "zsh/z-zsh"]
path = zsh/z-zsh
url = https://github.com/sjl/z-zsh.git

1
X/.Xdefaults Symbolic link
View file

@ -0,0 +1 @@
.Xresources

34
X/.Xresources Normal file
View file

@ -0,0 +1,34 @@
URxvt*depth: 32
URxvt*background: [90]#000000
URxvt*foreground: [100]#FFFFFF
URxvt*scrollBar: false
URxvt*saveLines: 65535
URxvt*pastableTabs: true
URxvt*cursorBlink: false
URxvt*transparent: true
URxvt.shading: 20
URxvt*font: xft:DejaVu Sans Mono:size=10
URxvt*letterSpace: -1
URxvt*buffered: true
URxvt*intensityStyles: false
URxvt*urgentOnBell: true
URxvt*iso14755: false
URxvt*perl-ext-common: default,tabbedex,clipboard
URxvt*tabbed.tabbar-fg: 235
URxvt*tabbed.tabbar-bg: 0
URxvt*tabbed.tab-fg: 245
URxvt*tabbed.tab-bg: 0
URxvt*tabbed.autohide: true
URxvt*tabbed.no-tabbedex-keys: true
URxvt*keysym.C-T: perl:tabbedex:new_tab
URxvt*keysym.C-Next: perl:tabbedex:next_tab
URxvt*keysym.C-Prior: perl:tabbedex:prev_tab
Xautolock.corners: 000-
Xautolock.time: 10
Xautolock.locker: i3lock

1
dotbot Submodule

@ -0,0 +1 @@
Subproject commit bb209bd17fef4b43361573bffcb3a485b5663d73

14
emacs/.gitignore vendored Normal file
View file

@ -0,0 +1,14 @@
# autosave
auto-save-list
# autocomplete history
ac-comphist.dat
# temporary files
*~
# package management
elpa
# bookmarks
bookmarks

272
emacs/init.el Normal file
View file

@ -0,0 +1,272 @@
(require 'package)
(push '("melpa" . "http://melpa.milkbox.net/packages/")
package-archives)
(package-initialize)
(require 'cl)
(defvar my-packages
'(
autopair
evil
evil-surround
go-mode
goto-chg
haskell-mode
jinja2-mode
markdown-mode
php-mode
scala-mode
undo-tree
web-mode
)
"A list of packages to ensure are installed at launch.")
(defun my-packages-installed-p ()
(loop for p in my-packages
when (not (package-installed-p p)) do (return nil)
finally (return t)))
(unless (my-packages-installed-p)
;; check for new packages (package versions)
(package-refresh-contents)
;; install the missing packages
(dolist (p my-packages)
(when (not (package-installed-p p))
(package-install p))))
(require 'evil)
(evil-mode 1)
(require 'evil-surround)
(global-evil-surround-mode 1)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(global-subword-mode t)
'(indent-tabs-mode nil)
'(inhibit-startup-buffer-menu t)
'(inhibit-startup-screen t)
'(initial-scratch-message "")
'(menu-bar-mode nil)
'(mouse-wheel-mode nil)
'(require-final-newline t)
'(scheme-program-name "mit-scheme")
'(split-height-threshold 0)
'(split-width-threshold 0)
'(tab-width 4)
'(tool-bar-mode t)
'(visible-cursor nil))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(hl-line ((t (:background "black")))))
(require 'autopair)
(autopair-global-mode)
(require 'ido)
(ido-mode t)
;; remove line wrap character
(set-display-table-slot standard-display-table 'wrap ?\ )
;; longlines mode everywhere
(global-visual-line-mode t)
;; show line/column numbers
(setq line-number-mode t)
(setq column-number-mode t)
;; pretty-greek
(defun pretty-greek ()
(let ((greek '("alpha" "beta" "gamma" "delta" "epsilon" "zeta" "eta" "theta" "iota" "kappa" "lambda" "mu" "nu" "xi" "omicron" "pi" "rho" "sigma_final" "sigma" "tau" "upsilon" "phi" "chi" "psi" "omega")))
(loop for word in greek
for code = 97 then (+ 1 code)
do (let ((greek-char (make-char 'greek-iso8859-7 code)))
(font-lock-add-keywords nil
`((,(concatenate 'string "\\(^\\|[^a-zA-Z0-9]\\)\\(" word "\\)[a-zA-Z]")
(0 (progn (decompose-region (match-beginning 2) (match-end 2))
nil)))))
(font-lock-add-keywords nil
`((,(concatenate 'string "\\(^\\|[^a-zA-Z0-9]\\)\\(" word "\\)[^a-zA-Z]")
(0 (progn (compose-region (match-beginning 2) (match-end 2)
,greek-char)
nil)))))))))
(add-hook 'tex-mode-hook 'pretty-greek)
(add-hook 'prog-mode-hook 'pretty-greek)
(put 'narrow-to-region 'disabled nil)
(global-hl-line-mode 1)
;; comment current line
;; Original idea from
;; http://www.opensubscriber.com/message/emacs-devel@gnu.org/10971693.html
(defun comment-dwim-line (&optional arg)
"Replacement for the comment-dwim command.
If no region is selected and current line is not blank and we are not at the end of the line,
then comment current line.
Replaces default behaviour of comment-dwim, when it inserts comment at the end of the line."
(interactive "*P")
(comment-normalize-vars)
(if (and (not (region-active-p)) (not (looking-at "[ \t]*$")))
(comment-or-uncomment-region (line-beginning-position) (line-end-position))
(comment-dwim arg)))
(global-set-key "\M-;" 'comment-dwim-line)
;; python3
(add-to-list 'auto-mode-alist '("\\.py3\\'" . python-mode))
;; highlight matching parens
(require 'paren)
(defun lispy-parens ()
"Setup parens display for lisp modes"
(setq show-paren-delay 0)
(setq show-paren-style 'parenthesis)
(make-variable-buffer-local 'show-paren-mode)
(show-paren-mode 1)
(set-face-attribute 'show-paren-match-face nil :foreground "orange")
(set-face-attribute 'show-paren-match-face nil :background "black")
(set-face-attribute 'show-paren-match-face nil :weight 'extra-bold))
(add-hook 'emacs-lisp-mode-hook 'lispy-parens)
(add-hook 'scheme-mode-hook 'lispy-parens)
;; Missing things from scheme IDE
(defun scheme-send-buffer ()
(interactive)
(let ((oldbuf (current-buffer)))
(run-scheme scheme-program-name)
(switch-to-buffer oldbuf)
(scheme-send-region (point-min) (point-max))))
(defun scheme-send-buffer-and-go ()
(interactive)
(let ((oldbuf (current-buffer)))
(if (= (length (window-list)) 1)
(split-window-right))
(other-window 1)
(run-scheme scheme-program-name)
(other-window -1))
(scheme-send-region (point-min) (point-max)))
(eval-after-load 'scheme
'(define-key scheme-mode-map (kbd "C-c C-s") 'scheme-send-buffer))
(require 'php-mode)
(require 'markdown-mode)
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
;; linum-mode
(add-hook 'prog-mode-hook (lambda () (linum-mode 1)))
(unless window-system
(add-hook 'linum-before-numbering-hook
(lambda ()
(setq-local linum-format-fmt
(let ((w (length (number-to-string
(count-lines (point-min) (point-max))))))
(concat "%" (number-to-string w) "d"))))))
(defun linum-format-func (line)
(concat
(propertize (format linum-format-fmt line) 'face 'linum)
(propertize " " 'face 'linum)))
(unless window-system
(setq linum-format 'linum-format-func))
;; delete trailing whitespace on save
(add-hook 'prog-mode-hook (lambda () (add-to-list 'write-file-functions 'delete-trailing-whitespace)))
(require 'jinja2-mode)
(add-to-list 'auto-mode-alist '("\\.jinja2\\'" . jinja2-mode))
;; found at https://gist.github.com/NFicano/1356280
;; modified for 24.3
(defadvice python-indent-calculate-indentation (around fix-list-indentation)
"Fix indentation in continuation lines within lists"
(unless (save-excursion
(beginning-of-line)
(when (python-info-continuation-line-p)
(let* ((syntax (syntax-ppss))
(open-start (cadr syntax))
(point (point)))
(when open-start
;; Inside bracketed expression.
(goto-char (1+ open-start))
;; Indent relative to statement start, one
;; level per bracketing level.
(goto-char (1+ open-start))
(python-nav-beginning-of-statement)
(setq ad-return-value (+ (current-indentation) (* (car syntax) python-indent)))))))
ad-do-it))
(defadvice python-indent-calculate-indentation (around outdent-closing-brackets)
"Handle lines beginning with a closing bracket and indent them so that
they line up with the line containing the corresponding opening bracket."
(save-excursion
(beginning-of-line)
(let ((syntax (syntax-ppss)))
(if (and (not (eq 'string (syntax-ppss-context syntax)))
(python-info-continuation-line-p)
(cadr syntax)
(skip-syntax-forward "-")
(looking-at "\\s)"))
(progn
(forward-char 1)
(ignore-errors (backward-sexp))
(setq ad-return-value (current-indentation)))
ad-do-it))))
;; Activate Python ident advice
(ad-activate 'python-indent-calculate-indentation)
(require 'scala-mode)
(require 'haskell-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.phtml\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.tpl\\.php\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.[agj]sp\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.djhtml\\'" . web-mode))
(add-hook 'web-mode-hook
(lambda ()
(setq web-mode-markup-indent-offset 2)
(setq web-mode-css-indent-offset 2)
(setq web-mode-code-indent-offset 2)
(setq web-mode-enable-auto-pairing t)
(setq web-mode-enable-auto-expanding t)
(setq web-mode-enable-html-colorization t)
(setq web-mode-enable-css-colorization t)
(set-face-attribute 'web-mode-html-attr-name-face nil :foreground "#3387cc")
(set-face-attribute 'web-mode-html-attr-equal-face nil :foreground "gray60")
(set-face-attribute 'web-mode-html-tag-bracket-face nil :foreground "gray60")
(set-face-attribute 'web-mode-html-tag-face nil :foreground "#e9c062")
(define-key web-mode-map (kbd "C-c /") 'web-mode-element-close)))
(require 'go-mode-autoloads)
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
(load-theme 'jdkaplan t)
(add-to-list 'auto-mode-alist '(("/tmp/mutt.*" . mail-mode)))

View file

@ -0,0 +1,456 @@
;; Base16 Default (https://github.com/chriskempson/base16)
;; Scheme: Chris Kempson (http://chriskempson.com)
;;; base16-default-dark-theme.el
;;; Code:
(deftheme base16-default-dark)
(let ((base00 "#181818")
(base01 "#282828")
(base02 "#383838")
(base03 "#585858")
(base04 "#b8b8b8")
(base05 "#d8d8d8")
(base06 "#e8e8e8")
(base07 "#f8f8f8")
(base08 "#ab4642")
(base09 "#dc9656")
(base0A "#f7ca88")
(base0B "#a1b56c")
(base0C "#86c1b9")
(base0D "#7cafc2")
(base0E "#ba8baf")
(base0F "#a16946"))
(custom-theme-set-faces
'base16-default-dark
;; Built-in stuff (Emacs 23)
`(border ((t (:background ,base03))))
`(border-glyph ((t (nil))))
`(cursor ((t (:background ,base08))))
`(default ((t (:background ,base00 :foreground ,base05))))
`(fringe ((t (:background ,base02))))
`(gui-element ((t (:background ,base03 :foreground ,base06))))
`(highlight ((t (:background ,base01))))
`(link ((t (:foreground ,base0D))))
`(link-visited ((t (:foreground ,base0E))))
`(minibuffer-prompt ((t (:foreground ,base0D))))
`(mode-line ((t (:background ,base02 :foreground ,base04 :box nil))))
`(mode-line-buffer-id ((t (:foreground ,base0E :background nil))))
`(mode-line-emphasis ((t (:foreground ,base06 :slant italic))))
`(mode-line-highlight ((t (:foreground ,base0E :box nil :weight bold))))
`(mode-line-inactive ((t (:background ,base01 :foreground ,base03 :box nil))))
`(region ((t (:background ,base02))))
`(secondary-selection ((t (:background ,base03))))
`(error ((t (:foreground ,base08 :weight bold))))
`(warning ((t (:foreground ,base09 :weight bold))))
`(success ((t (:foreground ,base0B :weight bold))))
`(header-line ((t (:inherit mode-line :foreground ,base0E :background nil))))
;; Font-lock stuff
`(font-lock-builtin-face ((t (:foreground ,base0C))))
`(font-lock-comment-delimiter-face ((t (:foreground ,base02))))
`(font-lock-comment-face ((t (:foreground ,base03))))
`(font-lock-constant-face ((t (:foreground ,base09))))
`(font-lock-doc-face ((t (:foreground ,base04))))
`(font-lock-doc-string-face ((t (:foreground ,base03))))
`(font-lock-function-name-face ((t (:foreground ,base0D))))
`(font-lock-keyword-face ((t (:foreground ,base0E))))
`(font-lock-negation-char-face ((t (:foreground ,base0B))))
`(font-lock-preprocessor-face ((t (:foreground ,base0D))))
`(font-lock-regexp-grouping-backslash ((t (:foreground ,base0A))))
`(font-lock-regexp-grouping-construct ((t (:foreground ,base0E))))
`(font-lock-string-face ((t (:foreground ,base0B))))
`(font-lock-type-face ((t (:foreground ,base0A))))
`(font-lock-variable-name-face ((t (:foreground ,base0C))))
`(font-lock-warning-face ((t (:foreground ,base08))))
;; linum-mode
`(linum ((t (:background ,base01 :foreground ,base03))))
;; Search
`(match ((t (:foreground ,base0D :background ,base01 :inverse-video t))))
`(isearch ((t (:foreground ,base0A :background ,base01 :inverse-video t))))
`(isearch-lazy-highlight-face ((t (:foreground ,base0C :background ,base01 :inverse-video t))))
`(isearch-fail ((t (:background ,base01 :inherit font-lock-warning-face :inverse-video t))))
;; Flymake
`(flymake-warnline ((t (:underline ,base09 :background ,base01))))
`(flymake-errline ((t (:underline ,base08 :background ,base01))))
;; Clojure errors
`(clojure-test-failure-face ((t (:background nil :inherit flymake-warnline))))
`(clojure-test-error-face ((t (:background nil :inherit flymake-errline))))
`(clojure-test-success-face ((t (:background nil :foreground nil :underline ,base0B))))
;; For Brian Carper's extended clojure syntax table
`(clojure-keyword ((t (:foreground ,base0A))))
`(clojure-parens ((t (:foreground ,base06))))
`(clojure-braces ((t (:foreground ,base0B))))
`(clojure-brackets ((t (:foreground ,base0A))))
`(clojure-double-quote ((t (:foreground ,base0C :background nil))))
`(clojure-special ((t (:foreground ,base0D))))
`(clojure-java-call ((t (:foreground ,base0E))))
;; MMM-mode
`(mmm-code-submode-face ((t (:background ,base03))))
`(mmm-comment-submode-face ((t (:inherit font-lock-comment-face))))
`(mmm-output-submode-face ((t (:background ,base03))))
;; rainbow-delimiters
`(rainbow-delimiters-depth-1-face ((t (:foreground ,base0E))))
`(rainbow-delimiters-depth-2-face ((t (:foreground ,base0D))))
`(rainbow-delimiters-depth-3-face ((t (:foreground ,base0C))))
`(rainbow-delimiters-depth-4-face ((t (:foreground ,base0B))))
`(rainbow-delimiters-depth-5-face ((t (:foreground ,base0A))))
`(rainbow-delimiters-depth-6-face ((t (:foreground ,base09))))
`(rainbow-delimiters-depth-7-face ((t (:foreground ,base08))))
`(rainbow-delimiters-depth-8-face ((t (:foreground ,base03))))
`(rainbow-delimiters-depth-9-face ((t (:foreground ,base05))))
;; IDO
`(ido-subdir ((t (:foreground ,base04))))
`(ido-first-match ((t (:foreground ,base09 :weight bold))))
`(ido-only-match ((t (:foreground ,base08 :weight bold))))
`(ido-indicator ((t (:foreground ,base08 :background ,base01))))
`(ido-virtual ((t (:foreground ,base04))))
;; which-function
`(which-func ((t (:foreground ,base0D :background nil :weight bold))))
`(trailing-whitespace ((t (:background ,base0C :foreground ,base0A))))
`(whitespace-empty ((t (:foreground ,base08 :background ,base0A))))
`(whitespace-hspace ((t (:background ,base04 :foreground ,base04))))
`(whitespace-indentation ((t (:background ,base0A :foreground ,base08))))
`(whitespace-line ((t (:background ,base01 :foreground ,base0F))))
`(whitespace-newline ((t (:foreground ,base04))))
`(whitespace-space ((t (:background ,base01 :foreground ,base04))))
`(whitespace-space-after-tab ((t (:background ,base0A :foreground ,base08))))
`(whitespace-space-before-tab ((t (:background ,base09 :foreground ,base08))))
`(whitespace-tab ((t (:background ,base04 :foreground ,base04))))
`(whitespace-trailing ((t (:background ,base08 :foreground ,base0A))))
;; Parenthesis matching (built-in)
`(show-paren-match ((t (:background ,base0D :foreground ,base03))))
`(show-paren-mismatch ((t (:background ,base09 :foreground ,base03))))
;; Parenthesis matching (mic-paren)
`(paren-face-match ((t (:foreground nil :background nil :inherit show-paren-match))))
`(paren-face-mismatch ((t (:foreground nil :background nil :inherit show-paren-mismatch))))
`(paren-face-no-match ((t (:foreground nil :background nil :inherit show-paren-mismatch))))
;; Parenthesis dimming (parenface)
`(paren-face ((t (:foreground ,base04 :background nil))))
`(sh-heredoc ((t (:foreground nil :inherit font-lock-string-face :weight normal))))
`(sh-quoted-exec ((t (:foreground nil :inherit font-lock-preprocessor-face))))
`(slime-highlight-edits-face ((t (:weight bold))))
`(slime-repl-input-face ((t (:weight normal :underline nil))))
`(slime-repl-prompt-face ((t (:underline nil :weight bold :foreground ,base0E))))
`(slime-repl-result-face ((t (:foreground ,base0B))))
`(slime-repl-output-face ((t (:foreground ,base0D :background ,base01))))
`(csv-separator-face ((t (:foreground ,base09))))
`(diff-added ((t (:foreground ,base0B))))
`(diff-changed ((t (:foreground ,base0A))))
`(diff-removed ((t (:foreground ,base08))))
`(diff-header ((t (:background ,base01))))
`(diff-file-header ((t (:background ,base02))))
`(diff-hunk-header ((t (:background ,base01 :foreground ,base0E))))
`(ediff-even-diff-A ((t (:foreground nil :background nil :inverse-video t))))
`(ediff-even-diff-B ((t (:foreground nil :background nil :inverse-video t))))
`(ediff-odd-diff-A ((t (:foreground ,base04 :background nil :inverse-video t))))
`(ediff-odd-diff-B ((t (:foreground ,base04 :background nil :inverse-video t))))
`(eldoc-highlight-function-argument ((t (:foreground ,base0B :weight bold))))
;; undo-tree
`(undo-tree-visualizer-default-face ((t (:foreground ,base06))))
`(undo-tree-visualizer-current-face ((t (:foreground ,base0B :weight bold))))
`(undo-tree-visualizer-active-branch-face ((t (:foreground ,base08))))
`(undo-tree-visualizer-register-face ((t (:foreground ,base0A))))
;; auctex
`(font-latex-bold-face ((t (:foreground ,base0B))))
`(font-latex-doctex-documentation-face ((t (:background ,base03))))
`(font-latex-italic-face ((t (:foreground ,base0B))))
`(font-latex-math-face ((t (:foreground ,base09))))
`(font-latex-sectioning-0-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-1-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-2-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-3-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-4-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-5-face ((t (:foreground ,base0A))))
`(font-latex-sedate-face ((t (:foreground ,base0C))))
`(font-latex-string-face ((t (:foreground ,base0A))))
`(font-latex-verbatim-face ((t (:foreground ,base09))))
`(font-latex-warning-face ((t (:foreground ,base08))))
;; dired+
`(diredp-compressed-file-suffix ((t (:foreground ,base0D))))
`(diredp-dir-heading ((t (:foreground nil :background nil :inherit heading))))
`(diredp-dir-priv ((t (:foreground ,base0C :background nil))))
`(diredp-exec-priv ((t (:foreground ,base0D :background nil))))
`(diredp-executable-tag ((t (:foreground ,base08 :background nil))))
`(diredp-file-name ((t (:foreground ,base0A))))
`(diredp-file-suffix ((t (:foreground ,base0B))))
`(diredp-flag-mark-line ((t (:background nil :inherit highlight))))
`(diredp-ignored-file-name ((t (:foreground ,base04))))
`(diredp-link-priv ((t (:background nil :foreground ,base0E))))
`(diredp-mode-line-flagged ((t (:foreground ,base08))))
`(diredp-mode-line-marked ((t (:foreground ,base0B))))
`(diredp-no-priv ((t (:background nil))))
`(diredp-number ((t (:foreground ,base0A))))
`(diredp-other-priv ((t (:background nil :foreground ,base0E))))
`(diredp-rare-priv ((t (:foreground ,base08 :background nil))))
`(diredp-read-priv ((t (:foreground ,base0B :background nil))))
`(diredp-symlink ((t (:foreground ,base0E))))
`(diredp-write-priv ((t (:foreground ,base0A :background nil))))
;; term and ansi-term
`(term-color-black ((t (:foreground ,base02 :background ,base00))))
`(term-color-white ((t (:foreground ,base05 :background ,base07))))
`(term-color-red ((t (:foreground ,base08 :background ,base08))))
`(term-color-yellow ((t (:foreground ,base0A :background ,base0A))))
`(term-color-green ((t (:foreground ,base0B :background ,base0B))))
`(term-color-cyan ((t (:foreground ,base0C :background ,base0C))))
`(term-color-blue ((t (:foreground ,base0D :background ,base0D))))
`(term-color-magenta ((t (:foreground ,base0E :background ,base0E))))
;; Magit (a patch is pending in magit to make these standard upstream)
`(magit-branch ((t (:foreground ,base0B))))
`(magit-header ((t (:inherit nil :weight bold))))
`(magit-item-highlight ((t (:inherit highlight :background nil))))
`(magit-log-graph ((t (:foreground ,base04))))
`(magit-log-sha1 ((t (:foreground ,base0E))))
`(magit-log-head-label-bisect-bad ((t (:foreground ,base08))))
`(magit-log-head-label-bisect-good ((t (:foreground ,base0B))))
`(magit-log-head-label-default ((t (:foreground ,base0A :box nil :weight bold))))
`(magit-log-head-label-local ((t (:foreground ,base0D))))
`(magit-log-head-label-remote ((t (:foreground ,base0B))))
`(magit-log-head-label-tags ((t (:foreground ,base0C :box nil :weight bold))))
`(magit-section-title ((t (:inherit diff-hunk-header))))
`(link ((t (:foreground nil :underline t))))
`(widget-button ((t (:underline t))))
`(widget-field ((t (:background ,base03 :box (:line-width 1 :color ,base06)))))
;; Compilation (most faces politely inherit from 'success, 'error, 'warning etc.)
`(compilation-column-number ((t (:foreground ,base0A))))
`(compilation-line-number ((t (:foreground ,base0A))))
`(compilation-message-face ((t (:foreground ,base0D))))
`(compilation-mode-line-exit ((t (:foreground ,base0B))))
`(compilation-mode-line-fail ((t (:foreground ,base08))))
`(compilation-mode-line-run ((t (:foreground ,base0D))))
;; Grep
`(grep-context-face ((t (:foreground ,base04))))
`(grep-error-face ((t (:foreground ,base08 :weight bold :underline t))))
`(grep-hit-face ((t (:foreground ,base0D))))
`(grep-match-face ((t (:foreground nil :background nil :inherit match))))
`(regex-tool-matched-face ((t (:foreground nil :background nil :inherit match))))
;; mark-multiple
`(mm/master-face ((t (:inherit region :foreground nil :background nil))))
`(mm/mirror-face ((t (:inherit region :foreground nil :background nil))))
;; org-mode
`(org-agenda-structure ((t (:foreground ,base0E))))
`(org-agenda-date ((t (:foreground ,base0D :underline nil))))
`(org-agenda-done ((t (:foreground ,base0B))))
`(org-agenda-dimmed-todo-face ((t (:foreground ,base04))))
`(org-block ((t (:foreground ,base09))))
`(org-code ((t (:foreground ,base0A))))
`(org-column ((t (:background ,base03))))
`(org-column-title ((t (:inherit org-column :weight bold :underline t))))
`(org-date ((t (:foreground ,base0E :underline t))))
`(org-document-info ((t (:foreground ,base0C))))
`(org-document-info-keyword ((t (:foreground ,base0B))))
`(org-document-title ((t (:weight bold :foreground ,base09 :height 1.44))))
`(org-done ((t (:foreground ,base0B))))
`(org-ellipsis ((t (:foreground ,base04))))
`(org-footnote ((t (:foreground ,base0C))))
`(org-formula ((t (:foreground ,base08))))
`(org-hide ((t (:foreground ,base03))))
`(org-link ((t (:foreground ,base0D))))
`(org-scheduled ((t (:foreground ,base0B))))
`(org-scheduled-previously ((t (:foreground ,base09))))
`(org-scheduled-today ((t (:foreground ,base0B))))
`(org-special-keyword ((t (:foreground ,base09))))
`(org-table ((t (:foreground ,base0E))))
`(org-todo ((t (:foreground ,base08))))
`(org-upcoming-deadline ((t (:foreground ,base09))))
`(org-warning ((t (:weight bold :foreground ,base08))))
`(markdown-url-face ((t (:inherit link))))
`(markdown-link-face ((t (:foreground ,base0D :underline t))))
`(hl-sexp-face ((t (:background ,base03))))
`(highlight-80+ ((t (:background ,base03))))
;; Python-specific overrides
`(py-builtins-face ((t (:foreground ,base09 :weight normal))))
;; js2-mode
`(js2-warning-face ((t (:underline ,base09))))
`(js2-error-face ((t (:foreground nil :underline ,base08))))
`(js2-external-variable-face ((t (:foreground ,base0E))))
`(js2-function-param-face ((t (:foreground ,base0D))))
`(js2-instance-member-face ((t (:foreground ,base0D))))
`(js2-private-function-call-face ((t (:foreground ,base08))))
;; js3-mode
`(js3-warning-face ((t (:underline ,base09))))
`(js3-error-face ((t (:foreground nil :underline ,base08))))
`(js3-external-variable-face ((t (:foreground ,base0E))))
`(js3-function-param-face ((t (:foreground ,base0D))))
`(js3-jsdoc-tag-face ((t (:foreground ,base09))))
`(js3-jsdoc-type-face ((t (:foreground ,base0C))))
`(js3-jsdoc-value-face ((t (:foreground ,base0A))))
`(js3-jsdoc-html-tag-name-face ((t (:foreground ,base0D))))
`(js3-jsdoc-html-tag-delimiter-face ((t (:foreground ,base0B))))
`(js3-instance-member-face ((t (:foreground ,base0D))))
`(js3-private-function-call-face ((t (:foreground ,base08))))
;; nxml
`(nxml-name-face ((t (:foreground unspecified :inherit font-lock-constant-face))))
`(nxml-attribute-local-name-face ((t (:foreground unspecified :inherit font-lock-variable-name-face))))
`(nxml-ref-face ((t (:foreground unspecified :inherit font-lock-preprocessor-face))))
`(nxml-delimiter-face ((t (:foreground unspecified :inherit font-lock-keyword-face))))
`(nxml-delimited-data-face ((t (:foreground unspecified :inherit font-lock-string-face))))
`(rng-error-face ((t (:underline ,base08))))
;; RHTML
`(erb-delim-face ((t (:background ,base03))))
`(erb-exec-face ((t (:background ,base03 :weight bold))))
`(erb-exec-delim-face ((t (:background ,base03))))
`(erb-out-face ((t (:background ,base03 :weight bold))))
`(erb-out-delim-face ((t (:background ,base03))))
`(erb-comment-face ((t (:background ,base03 :weight bold :slant italic))))
`(erb-comment-delim-face ((t (:background ,base03))))
;; Message-mode
`(message-header-other ((t (:foreground nil :background nil :weight normal))))
`(message-header-subject ((t (:inherit message-header-other :weight bold :foreground ,base0A))))
`(message-header-to ((t (:inherit message-header-other :weight bold :foreground ,base09))))
`(message-header-cc ((t (:inherit message-header-to :foreground nil))))
`(message-header-name ((t (:foreground ,base0D :background nil))))
`(message-header-newsgroups ((t (:foreground ,base0C :background nil :slant normal))))
`(message-separator ((t (:foreground ,base0E))))
;; Jabber
`(jabber-chat-prompt-local ((t (:foreground ,base0A))))
`(jabber-chat-prompt-foreign ((t (:foreground ,base09))))
`(jabber-chat-prompt-system ((t (:foreground ,base0A :weight bold))))
`(jabber-chat-text-local ((t (:foreground ,base0A))))
`(jabber-chat-text-foreign ((t (:foreground ,base09))))
`(jabber-chat-text-error ((t (:foreground ,base08))))
`(jabber-roster-user-online ((t (:foreground ,base0B))))
`(jabber-roster-user-xa ((t :foreground ,base04)))
`(jabber-roster-user-dnd ((t :foreground ,base0A)))
`(jabber-roster-user-away ((t (:foreground ,base09))))
`(jabber-roster-user-chatty ((t (:foreground ,base0E))))
`(jabber-roster-user-error ((t (:foreground ,base08))))
`(jabber-roster-user-offline ((t (:foreground ,base04))))
`(jabber-rare-time-face ((t (:foreground ,base04))))
`(jabber-activity-face ((t (:foreground ,base0E))))
`(jabber-activity-personal-face ((t (:foreground ,base0C))))
;; Gnus
`(gnus-cite-1 ((t (:inherit outline-1 :foreground nil))))
`(gnus-cite-2 ((t (:inherit outline-2 :foreground nil))))
`(gnus-cite-3 ((t (:inherit outline-3 :foreground nil))))
`(gnus-cite-4 ((t (:inherit outline-4 :foreground nil))))
`(gnus-cite-5 ((t (:inherit outline-5 :foreground nil))))
`(gnus-cite-6 ((t (:inherit outline-6 :foreground nil))))
`(gnus-cite-7 ((t (:inherit outline-7 :foreground nil))))
`(gnus-cite-8 ((t (:inherit outline-8 :foreground nil))))
;; there are several more -cite- faces...
`(gnus-header-content ((t (:inherit message-header-other))))
`(gnus-header-subject ((t (:inherit message-header-subject))))
`(gnus-header-from ((t (:inherit message-header-other-face :weight bold :foreground ,base09))))
`(gnus-header-name ((t (:inherit message-header-name))))
`(gnus-button ((t (:inherit link :foreground nil))))
`(gnus-signature ((t (:inherit font-lock-comment-face))))
`(gnus-summary-normal-unread ((t (:foreground ,base0D :weight normal))))
`(gnus-summary-normal-read ((t (:foreground ,base06 :weight normal))))
`(gnus-summary-normal-ancient ((t (:foreground ,base0C :weight normal))))
`(gnus-summary-normal-ticked ((t (:foreground ,base09 :weight normal))))
`(gnus-summary-low-unread ((t (:foreground ,base04 :weight normal))))
`(gnus-summary-low-read ((t (:foreground ,base04 :weight normal))))
`(gnus-summary-low-ancient ((t (:foreground ,base04 :weight normal))))
`(gnus-summary-high-unread ((t (:foreground ,base0A :weight normal))))
`(gnus-summary-high-read ((t (:foreground ,base0B :weight normal))))
`(gnus-summary-high-ancient ((t (:foreground ,base0B :weight normal))))
`(gnus-summary-high-ticked ((t (:foreground ,base09 :weight normal))))
`(gnus-summary-cancelled ((t (:foreground ,base08 :background nil :weight normal))))
`(gnus-group-mail-low ((t (:foreground ,base04))))
`(gnus-group-mail-low-empty ((t (:foreground ,base04))))
`(gnus-group-mail-1 ((t (:foreground nil :weight normal :inherit outline-1))))
`(gnus-group-mail-2 ((t (:foreground nil :weight normal :inherit outline-2))))
`(gnus-group-mail-3 ((t (:foreground nil :weight normal :inherit outline-3))))
`(gnus-group-mail-4 ((t (:foreground nil :weight normal :inherit outline-4))))
`(gnus-group-mail-5 ((t (:foreground nil :weight normal :inherit outline-5))))
`(gnus-group-mail-6 ((t (:foreground nil :weight normal :inherit outline-6))))
`(gnus-group-mail-1-empty ((t (:inherit gnus-group-mail-1 :foreground ,base04))))
`(gnus-group-mail-2-empty ((t (:inherit gnus-group-mail-2 :foreground ,base04))))
`(gnus-group-mail-3-empty ((t (:inherit gnus-group-mail-3 :foreground ,base04))))
`(gnus-group-mail-4-empty ((t (:inherit gnus-group-mail-4 :foreground ,base04))))
`(gnus-group-mail-5-empty ((t (:inherit gnus-group-mail-5 :foreground ,base04))))
`(gnus-group-mail-6-empty ((t (:inherit gnus-group-mail-6 :foreground ,base04))))
`(gnus-group-news-1 ((t (:foreground nil :weight normal :inherit outline-5))))
`(gnus-group-news-2 ((t (:foreground nil :weight normal :inherit outline-6))))
`(gnus-group-news-3 ((t (:foreground nil :weight normal :inherit outline-7))))
`(gnus-group-news-4 ((t (:foreground nil :weight normal :inherit outline-8))))
`(gnus-group-news-5 ((t (:foreground nil :weight normal :inherit outline-1))))
`(gnus-group-news-6 ((t (:foreground nil :weight normal :inherit outline-2))))
`(gnus-group-news-1-empty ((t (:inherit gnus-group-news-1 :foreground ,base04))))
`(gnus-group-news-2-empty ((t (:inherit gnus-group-news-2 :foreground ,base04))))
`(gnus-group-news-3-empty ((t (:inherit gnus-group-news-3 :foreground ,base04))))
`(gnus-group-news-4-empty ((t (:inherit gnus-group-news-4 :foreground ,base04))))
`(gnus-group-news-5-empty ((t (:inherit gnus-group-news-5 :foreground ,base04))))
`(gnus-group-news-6-empty ((t (:inherit gnus-group-news-6 :foreground ,base04))))
`(erc-direct-msg-face ((t (:foreground ,base09))))
`(erc-error-face ((t (:foreground ,base08))))
`(erc-header-face ((t (:foreground ,base06 :background ,base04))))
`(erc-input-face ((t (:foreground ,base0B))))
`(erc-keyword-face ((t (:foreground ,base0A))))
`(erc-current-nick-face ((t (:foreground ,base0B))))
`(erc-my-nick-face ((t (:foreground ,base0B))))
`(erc-nick-default-face ((t (:weight normal :foreground ,base0E))))
`(erc-nick-msg-face ((t (:weight normal :foreground ,base0A))))
`(erc-notice-face ((t (:foreground ,base04))))
`(erc-pal-face ((t (:foreground ,base09))))
`(erc-prompt-face ((t (:foreground ,base0D))))
`(erc-timestamp-face ((t (:foreground ,base0C))))
`(custom-variable-tag ((t (:foreground ,base0D))))
`(custom-group-tag ((t (:foreground ,base0D))))
`(custom-state ((t (:foreground ,base0B)))))
(custom-theme-set-variables
'base16-default-dark
`(ansi-color-names-vector
;; black, base08, base0B, base0A, base0D, magenta, cyan, white
[,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05])
`(ansi-term-color-vector
;; black, base08, base0B, base0A, base0D, magenta, cyan, white
[unspecified ,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05])))
(provide-theme 'base16-default-dark)
;;; base16-default-dark-theme.el ends here

View file

@ -0,0 +1,456 @@
;; Base16 Google (https://github.com/chriskempson/base16)
;; Scheme: Seth Wright (http://sethawright.com)
;;; base16-google-dark-theme.el
;;; Code:
(deftheme base16-google-dark)
(let ((base00 "#1d1f21")
(base01 "#282a2e")
(base02 "#373b41")
(base03 "#969896")
(base04 "#b4b7b4")
(base05 "#c5c8c6")
(base06 "#e0e0e0")
(base07 "#ffffff")
(base08 "#CC342B")
(base09 "#F96A38")
(base0A "#FBA922")
(base0B "#198844")
(base0C "#3971ED")
(base0D "#3971ED")
(base0E "#A36AC7")
(base0F "#3971ED"))
(custom-theme-set-faces
'base16-google-dark
;; Built-in stuff (Emacs 23)
`(border ((t (:background ,base03))))
`(border-glyph ((t (nil))))
`(cursor ((t (:background ,base08))))
`(default ((t (:background ,base00 :foreground ,base05))))
`(fringe ((t (:background ,base02))))
`(gui-element ((t (:background ,base03 :foreground ,base06))))
`(highlight ((t (:background ,base01))))
`(link ((t (:foreground ,base0D))))
`(link-visited ((t (:foreground ,base0E))))
`(minibuffer-prompt ((t (:foreground ,base0D))))
`(mode-line ((t (:background ,base02 :foreground ,base04 :box nil))))
`(mode-line-buffer-id ((t (:foreground ,base0E :background nil))))
`(mode-line-emphasis ((t (:foreground ,base06 :slant italic))))
`(mode-line-highlight ((t (:foreground ,base0E :box nil :weight bold))))
`(mode-line-inactive ((t (:background ,base01 :foreground ,base03 :box nil))))
`(region ((t (:background ,base02))))
`(secondary-selection ((t (:background ,base03))))
`(error ((t (:foreground ,base08 :weight bold))))
`(warning ((t (:foreground ,base09 :weight bold))))
`(success ((t (:foreground ,base0B :weight bold))))
`(header-line ((t (:inherit mode-line :foreground ,base0E :background nil))))
;; Font-lock stuff
`(font-lock-builtin-face ((t (:foreground ,base0C))))
`(font-lock-comment-delimiter-face ((t (:foreground ,base02))))
`(font-lock-comment-face ((t (:foreground ,base03))))
`(font-lock-constant-face ((t (:foreground ,base09))))
`(font-lock-doc-face ((t (:foreground ,base04))))
`(font-lock-doc-string-face ((t (:foreground ,base03))))
`(font-lock-function-name-face ((t (:foreground ,base0D))))
`(font-lock-keyword-face ((t (:foreground ,base0E))))
`(font-lock-negation-char-face ((t (:foreground ,base0B))))
`(font-lock-preprocessor-face ((t (:foreground ,base0D))))
`(font-lock-regexp-grouping-backslash ((t (:foreground ,base0A))))
`(font-lock-regexp-grouping-construct ((t (:foreground ,base0E))))
`(font-lock-string-face ((t (:foreground ,base0B))))
`(font-lock-type-face ((t (:foreground ,base0A))))
`(font-lock-variable-name-face ((t (:foreground ,base0C))))
`(font-lock-warning-face ((t (:foreground ,base08))))
;; linum-mode
`(linum ((t (:background ,base01 :foreground ,base03))))
;; Search
`(match ((t (:foreground ,base0D :background ,base01 :inverse-video t))))
`(isearch ((t (:foreground ,base0A :background ,base01 :inverse-video t))))
`(isearch-lazy-highlight-face ((t (:foreground ,base0C :background ,base01 :inverse-video t))))
`(isearch-fail ((t (:background ,base01 :inherit font-lock-warning-face :inverse-video t))))
;; Flymake
`(flymake-warnline ((t (:underline ,base09 :background ,base01))))
`(flymake-errline ((t (:underline ,base08 :background ,base01))))
;; Clojure errors
`(clojure-test-failure-face ((t (:background nil :inherit flymake-warnline))))
`(clojure-test-error-face ((t (:background nil :inherit flymake-errline))))
`(clojure-test-success-face ((t (:background nil :foreground nil :underline ,base0B))))
;; For Brian Carper's extended clojure syntax table
`(clojure-keyword ((t (:foreground ,base0A))))
`(clojure-parens ((t (:foreground ,base06))))
`(clojure-braces ((t (:foreground ,base0B))))
`(clojure-brackets ((t (:foreground ,base0A))))
`(clojure-double-quote ((t (:foreground ,base0C :background nil))))
`(clojure-special ((t (:foreground ,base0D))))
`(clojure-java-call ((t (:foreground ,base0E))))
;; MMM-mode
`(mmm-code-submode-face ((t (:background ,base03))))
`(mmm-comment-submode-face ((t (:inherit font-lock-comment-face))))
`(mmm-output-submode-face ((t (:background ,base03))))
;; rainbow-delimiters
`(rainbow-delimiters-depth-1-face ((t (:foreground ,base0E))))
`(rainbow-delimiters-depth-2-face ((t (:foreground ,base0D))))
`(rainbow-delimiters-depth-3-face ((t (:foreground ,base0C))))
`(rainbow-delimiters-depth-4-face ((t (:foreground ,base0B))))
`(rainbow-delimiters-depth-5-face ((t (:foreground ,base0A))))
`(rainbow-delimiters-depth-6-face ((t (:foreground ,base09))))
`(rainbow-delimiters-depth-7-face ((t (:foreground ,base08))))
`(rainbow-delimiters-depth-8-face ((t (:foreground ,base03))))
`(rainbow-delimiters-depth-9-face ((t (:foreground ,base05))))
;; IDO
`(ido-subdir ((t (:foreground ,base04))))
`(ido-first-match ((t (:foreground ,base09 :weight bold))))
`(ido-only-match ((t (:foreground ,base08 :weight bold))))
`(ido-indicator ((t (:foreground ,base08 :background ,base01))))
`(ido-virtual ((t (:foreground ,base04))))
;; which-function
`(which-func ((t (:foreground ,base0D :background nil :weight bold))))
`(trailing-whitespace ((t (:background ,base0C :foreground ,base0A))))
`(whitespace-empty ((t (:foreground ,base08 :background ,base0A))))
`(whitespace-hspace ((t (:background ,base04 :foreground ,base04))))
`(whitespace-indentation ((t (:background ,base0A :foreground ,base08))))
`(whitespace-line ((t (:background ,base01 :foreground ,base0F))))
`(whitespace-newline ((t (:foreground ,base04))))
`(whitespace-space ((t (:background ,base01 :foreground ,base04))))
`(whitespace-space-after-tab ((t (:background ,base0A :foreground ,base08))))
`(whitespace-space-before-tab ((t (:background ,base09 :foreground ,base08))))
`(whitespace-tab ((t (:background ,base04 :foreground ,base04))))
`(whitespace-trailing ((t (:background ,base08 :foreground ,base0A))))
;; Parenthesis matching (built-in)
`(show-paren-match ((t (:background ,base0D :foreground ,base03))))
`(show-paren-mismatch ((t (:background ,base09 :foreground ,base03))))
;; Parenthesis matching (mic-paren)
`(paren-face-match ((t (:foreground nil :background nil :inherit show-paren-match))))
`(paren-face-mismatch ((t (:foreground nil :background nil :inherit show-paren-mismatch))))
`(paren-face-no-match ((t (:foreground nil :background nil :inherit show-paren-mismatch))))
;; Parenthesis dimming (parenface)
`(paren-face ((t (:foreground ,base04 :background nil))))
`(sh-heredoc ((t (:foreground nil :inherit font-lock-string-face :weight normal))))
`(sh-quoted-exec ((t (:foreground nil :inherit font-lock-preprocessor-face))))
`(slime-highlight-edits-face ((t (:weight bold))))
`(slime-repl-input-face ((t (:weight normal :underline nil))))
`(slime-repl-prompt-face ((t (:underline nil :weight bold :foreground ,base0E))))
`(slime-repl-result-face ((t (:foreground ,base0B))))
`(slime-repl-output-face ((t (:foreground ,base0D :background ,base01))))
`(csv-separator-face ((t (:foreground ,base09))))
`(diff-added ((t (:foreground ,base0B))))
`(diff-changed ((t (:foreground ,base0A))))
`(diff-removed ((t (:foreground ,base08))))
`(diff-header ((t (:background ,base01))))
`(diff-file-header ((t (:background ,base02))))
`(diff-hunk-header ((t (:background ,base01 :foreground ,base0E))))
`(ediff-even-diff-A ((t (:foreground nil :background nil :inverse-video t))))
`(ediff-even-diff-B ((t (:foreground nil :background nil :inverse-video t))))
`(ediff-odd-diff-A ((t (:foreground ,base04 :background nil :inverse-video t))))
`(ediff-odd-diff-B ((t (:foreground ,base04 :background nil :inverse-video t))))
`(eldoc-highlight-function-argument ((t (:foreground ,base0B :weight bold))))
;; undo-tree
`(undo-tree-visualizer-default-face ((t (:foreground ,base06))))
`(undo-tree-visualizer-current-face ((t (:foreground ,base0B :weight bold))))
`(undo-tree-visualizer-active-branch-face ((t (:foreground ,base08))))
`(undo-tree-visualizer-register-face ((t (:foreground ,base0A))))
;; auctex
`(font-latex-bold-face ((t (:foreground ,base0B))))
`(font-latex-doctex-documentation-face ((t (:background ,base03))))
`(font-latex-italic-face ((t (:foreground ,base0B))))
`(font-latex-math-face ((t (:foreground ,base09))))
`(font-latex-sectioning-0-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-1-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-2-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-3-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-4-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-5-face ((t (:foreground ,base0A))))
`(font-latex-sedate-face ((t (:foreground ,base0C))))
`(font-latex-string-face ((t (:foreground ,base0A))))
`(font-latex-verbatim-face ((t (:foreground ,base09))))
`(font-latex-warning-face ((t (:foreground ,base08))))
;; dired+
`(diredp-compressed-file-suffix ((t (:foreground ,base0D))))
`(diredp-dir-heading ((t (:foreground nil :background nil :inherit heading))))
`(diredp-dir-priv ((t (:foreground ,base0C :background nil))))
`(diredp-exec-priv ((t (:foreground ,base0D :background nil))))
`(diredp-executable-tag ((t (:foreground ,base08 :background nil))))
`(diredp-file-name ((t (:foreground ,base0A))))
`(diredp-file-suffix ((t (:foreground ,base0B))))
`(diredp-flag-mark-line ((t (:background nil :inherit highlight))))
`(diredp-ignored-file-name ((t (:foreground ,base04))))
`(diredp-link-priv ((t (:background nil :foreground ,base0E))))
`(diredp-mode-line-flagged ((t (:foreground ,base08))))
`(diredp-mode-line-marked ((t (:foreground ,base0B))))
`(diredp-no-priv ((t (:background nil))))
`(diredp-number ((t (:foreground ,base0A))))
`(diredp-other-priv ((t (:background nil :foreground ,base0E))))
`(diredp-rare-priv ((t (:foreground ,base08 :background nil))))
`(diredp-read-priv ((t (:foreground ,base0B :background nil))))
`(diredp-symlink ((t (:foreground ,base0E))))
`(diredp-write-priv ((t (:foreground ,base0A :background nil))))
;; term and ansi-term
`(term-color-black ((t (:foreground ,base02 :background ,base00))))
`(term-color-white ((t (:foreground ,base05 :background ,base07))))
`(term-color-red ((t (:foreground ,base08 :background ,base08))))
`(term-color-yellow ((t (:foreground ,base0A :background ,base0A))))
`(term-color-green ((t (:foreground ,base0B :background ,base0B))))
`(term-color-cyan ((t (:foreground ,base0C :background ,base0C))))
`(term-color-blue ((t (:foreground ,base0D :background ,base0D))))
`(term-color-magenta ((t (:foreground ,base0E :background ,base0E))))
;; Magit (a patch is pending in magit to make these standard upstream)
`(magit-branch ((t (:foreground ,base0B))))
`(magit-header ((t (:inherit nil :weight bold))))
`(magit-item-highlight ((t (:inherit highlight :background nil))))
`(magit-log-graph ((t (:foreground ,base04))))
`(magit-log-sha1 ((t (:foreground ,base0E))))
`(magit-log-head-label-bisect-bad ((t (:foreground ,base08))))
`(magit-log-head-label-bisect-good ((t (:foreground ,base0B))))
`(magit-log-head-label-default ((t (:foreground ,base0A :box nil :weight bold))))
`(magit-log-head-label-local ((t (:foreground ,base0D))))
`(magit-log-head-label-remote ((t (:foreground ,base0B))))
`(magit-log-head-label-tags ((t (:foreground ,base0C :box nil :weight bold))))
`(magit-section-title ((t (:inherit diff-hunk-header))))
`(link ((t (:foreground nil :underline t))))
`(widget-button ((t (:underline t))))
`(widget-field ((t (:background ,base03 :box (:line-width 1 :color ,base06)))))
;; Compilation (most faces politely inherit from 'success, 'error, 'warning etc.)
`(compilation-column-number ((t (:foreground ,base0A))))
`(compilation-line-number ((t (:foreground ,base0A))))
`(compilation-message-face ((t (:foreground ,base0D))))
`(compilation-mode-line-exit ((t (:foreground ,base0B))))
`(compilation-mode-line-fail ((t (:foreground ,base08))))
`(compilation-mode-line-run ((t (:foreground ,base0D))))
;; Grep
`(grep-context-face ((t (:foreground ,base04))))
`(grep-error-face ((t (:foreground ,base08 :weight bold :underline t))))
`(grep-hit-face ((t (:foreground ,base0D))))
`(grep-match-face ((t (:foreground nil :background nil :inherit match))))
`(regex-tool-matched-face ((t (:foreground nil :background nil :inherit match))))
;; mark-multiple
`(mm/master-face ((t (:inherit region :foreground nil :background nil))))
`(mm/mirror-face ((t (:inherit region :foreground nil :background nil))))
;; org-mode
`(org-agenda-structure ((t (:foreground ,base0E))))
`(org-agenda-date ((t (:foreground ,base0D :underline nil))))
`(org-agenda-done ((t (:foreground ,base0B))))
`(org-agenda-dimmed-todo-face ((t (:foreground ,base04))))
`(org-block ((t (:foreground ,base09))))
`(org-code ((t (:foreground ,base0A))))
`(org-column ((t (:background ,base03))))
`(org-column-title ((t (:inherit org-column :weight bold :underline t))))
`(org-date ((t (:foreground ,base0E :underline t))))
`(org-document-info ((t (:foreground ,base0C))))
`(org-document-info-keyword ((t (:foreground ,base0B))))
`(org-document-title ((t (:weight bold :foreground ,base09 :height 1.44))))
`(org-done ((t (:foreground ,base0B))))
`(org-ellipsis ((t (:foreground ,base04))))
`(org-footnote ((t (:foreground ,base0C))))
`(org-formula ((t (:foreground ,base08))))
`(org-hide ((t (:foreground ,base03))))
`(org-link ((t (:foreground ,base0D))))
`(org-scheduled ((t (:foreground ,base0B))))
`(org-scheduled-previously ((t (:foreground ,base09))))
`(org-scheduled-today ((t (:foreground ,base0B))))
`(org-special-keyword ((t (:foreground ,base09))))
`(org-table ((t (:foreground ,base0E))))
`(org-todo ((t (:foreground ,base08))))
`(org-upcoming-deadline ((t (:foreground ,base09))))
`(org-warning ((t (:weight bold :foreground ,base08))))
`(markdown-url-face ((t (:inherit link))))
`(markdown-link-face ((t (:foreground ,base0D :underline t))))
`(hl-sexp-face ((t (:background ,base03))))
`(highlight-80+ ((t (:background ,base03))))
;; Python-specific overrides
`(py-builtins-face ((t (:foreground ,base09 :weight normal))))
;; js2-mode
`(js2-warning-face ((t (:underline ,base09))))
`(js2-error-face ((t (:foreground nil :underline ,base08))))
`(js2-external-variable-face ((t (:foreground ,base0E))))
`(js2-function-param-face ((t (:foreground ,base0D))))
`(js2-instance-member-face ((t (:foreground ,base0D))))
`(js2-private-function-call-face ((t (:foreground ,base08))))
;; js3-mode
`(js3-warning-face ((t (:underline ,base09))))
`(js3-error-face ((t (:foreground nil :underline ,base08))))
`(js3-external-variable-face ((t (:foreground ,base0E))))
`(js3-function-param-face ((t (:foreground ,base0D))))
`(js3-jsdoc-tag-face ((t (:foreground ,base09))))
`(js3-jsdoc-type-face ((t (:foreground ,base0C))))
`(js3-jsdoc-value-face ((t (:foreground ,base0A))))
`(js3-jsdoc-html-tag-name-face ((t (:foreground ,base0D))))
`(js3-jsdoc-html-tag-delimiter-face ((t (:foreground ,base0B))))
`(js3-instance-member-face ((t (:foreground ,base0D))))
`(js3-private-function-call-face ((t (:foreground ,base08))))
;; nxml
`(nxml-name-face ((t (:foreground unspecified :inherit font-lock-constant-face))))
`(nxml-attribute-local-name-face ((t (:foreground unspecified :inherit font-lock-variable-name-face))))
`(nxml-ref-face ((t (:foreground unspecified :inherit font-lock-preprocessor-face))))
`(nxml-delimiter-face ((t (:foreground unspecified :inherit font-lock-keyword-face))))
`(nxml-delimited-data-face ((t (:foreground unspecified :inherit font-lock-string-face))))
`(rng-error-face ((t (:underline ,base08))))
;; RHTML
`(erb-delim-face ((t (:background ,base03))))
`(erb-exec-face ((t (:background ,base03 :weight bold))))
`(erb-exec-delim-face ((t (:background ,base03))))
`(erb-out-face ((t (:background ,base03 :weight bold))))
`(erb-out-delim-face ((t (:background ,base03))))
`(erb-comment-face ((t (:background ,base03 :weight bold :slant italic))))
`(erb-comment-delim-face ((t (:background ,base03))))
;; Message-mode
`(message-header-other ((t (:foreground nil :background nil :weight normal))))
`(message-header-subject ((t (:inherit message-header-other :weight bold :foreground ,base0A))))
`(message-header-to ((t (:inherit message-header-other :weight bold :foreground ,base09))))
`(message-header-cc ((t (:inherit message-header-to :foreground nil))))
`(message-header-name ((t (:foreground ,base0D :background nil))))
`(message-header-newsgroups ((t (:foreground ,base0C :background nil :slant normal))))
`(message-separator ((t (:foreground ,base0E))))
;; Jabber
`(jabber-chat-prompt-local ((t (:foreground ,base0A))))
`(jabber-chat-prompt-foreign ((t (:foreground ,base09))))
`(jabber-chat-prompt-system ((t (:foreground ,base0A :weight bold))))
`(jabber-chat-text-local ((t (:foreground ,base0A))))
`(jabber-chat-text-foreign ((t (:foreground ,base09))))
`(jabber-chat-text-error ((t (:foreground ,base08))))
`(jabber-roster-user-online ((t (:foreground ,base0B))))
`(jabber-roster-user-xa ((t :foreground ,base04)))
`(jabber-roster-user-dnd ((t :foreground ,base0A)))
`(jabber-roster-user-away ((t (:foreground ,base09))))
`(jabber-roster-user-chatty ((t (:foreground ,base0E))))
`(jabber-roster-user-error ((t (:foreground ,base08))))
`(jabber-roster-user-offline ((t (:foreground ,base04))))
`(jabber-rare-time-face ((t (:foreground ,base04))))
`(jabber-activity-face ((t (:foreground ,base0E))))
`(jabber-activity-personal-face ((t (:foreground ,base0C))))
;; Gnus
`(gnus-cite-1 ((t (:inherit outline-1 :foreground nil))))
`(gnus-cite-2 ((t (:inherit outline-2 :foreground nil))))
`(gnus-cite-3 ((t (:inherit outline-3 :foreground nil))))
`(gnus-cite-4 ((t (:inherit outline-4 :foreground nil))))
`(gnus-cite-5 ((t (:inherit outline-5 :foreground nil))))
`(gnus-cite-6 ((t (:inherit outline-6 :foreground nil))))
`(gnus-cite-7 ((t (:inherit outline-7 :foreground nil))))
`(gnus-cite-8 ((t (:inherit outline-8 :foreground nil))))
;; there are several more -cite- faces...
`(gnus-header-content ((t (:inherit message-header-other))))
`(gnus-header-subject ((t (:inherit message-header-subject))))
`(gnus-header-from ((t (:inherit message-header-other-face :weight bold :foreground ,base09))))
`(gnus-header-name ((t (:inherit message-header-name))))
`(gnus-button ((t (:inherit link :foreground nil))))
`(gnus-signature ((t (:inherit font-lock-comment-face))))
`(gnus-summary-normal-unread ((t (:foreground ,base0D :weight normal))))
`(gnus-summary-normal-read ((t (:foreground ,base06 :weight normal))))
`(gnus-summary-normal-ancient ((t (:foreground ,base0C :weight normal))))
`(gnus-summary-normal-ticked ((t (:foreground ,base09 :weight normal))))
`(gnus-summary-low-unread ((t (:foreground ,base04 :weight normal))))
`(gnus-summary-low-read ((t (:foreground ,base04 :weight normal))))
`(gnus-summary-low-ancient ((t (:foreground ,base04 :weight normal))))
`(gnus-summary-high-unread ((t (:foreground ,base0A :weight normal))))
`(gnus-summary-high-read ((t (:foreground ,base0B :weight normal))))
`(gnus-summary-high-ancient ((t (:foreground ,base0B :weight normal))))
`(gnus-summary-high-ticked ((t (:foreground ,base09 :weight normal))))
`(gnus-summary-cancelled ((t (:foreground ,base08 :background nil :weight normal))))
`(gnus-group-mail-low ((t (:foreground ,base04))))
`(gnus-group-mail-low-empty ((t (:foreground ,base04))))
`(gnus-group-mail-1 ((t (:foreground nil :weight normal :inherit outline-1))))
`(gnus-group-mail-2 ((t (:foreground nil :weight normal :inherit outline-2))))
`(gnus-group-mail-3 ((t (:foreground nil :weight normal :inherit outline-3))))
`(gnus-group-mail-4 ((t (:foreground nil :weight normal :inherit outline-4))))
`(gnus-group-mail-5 ((t (:foreground nil :weight normal :inherit outline-5))))
`(gnus-group-mail-6 ((t (:foreground nil :weight normal :inherit outline-6))))
`(gnus-group-mail-1-empty ((t (:inherit gnus-group-mail-1 :foreground ,base04))))
`(gnus-group-mail-2-empty ((t (:inherit gnus-group-mail-2 :foreground ,base04))))
`(gnus-group-mail-3-empty ((t (:inherit gnus-group-mail-3 :foreground ,base04))))
`(gnus-group-mail-4-empty ((t (:inherit gnus-group-mail-4 :foreground ,base04))))
`(gnus-group-mail-5-empty ((t (:inherit gnus-group-mail-5 :foreground ,base04))))
`(gnus-group-mail-6-empty ((t (:inherit gnus-group-mail-6 :foreground ,base04))))
`(gnus-group-news-1 ((t (:foreground nil :weight normal :inherit outline-5))))
`(gnus-group-news-2 ((t (:foreground nil :weight normal :inherit outline-6))))
`(gnus-group-news-3 ((t (:foreground nil :weight normal :inherit outline-7))))
`(gnus-group-news-4 ((t (:foreground nil :weight normal :inherit outline-8))))
`(gnus-group-news-5 ((t (:foreground nil :weight normal :inherit outline-1))))
`(gnus-group-news-6 ((t (:foreground nil :weight normal :inherit outline-2))))
`(gnus-group-news-1-empty ((t (:inherit gnus-group-news-1 :foreground ,base04))))
`(gnus-group-news-2-empty ((t (:inherit gnus-group-news-2 :foreground ,base04))))
`(gnus-group-news-3-empty ((t (:inherit gnus-group-news-3 :foreground ,base04))))
`(gnus-group-news-4-empty ((t (:inherit gnus-group-news-4 :foreground ,base04))))
`(gnus-group-news-5-empty ((t (:inherit gnus-group-news-5 :foreground ,base04))))
`(gnus-group-news-6-empty ((t (:inherit gnus-group-news-6 :foreground ,base04))))
`(erc-direct-msg-face ((t (:foreground ,base09))))
`(erc-error-face ((t (:foreground ,base08))))
`(erc-header-face ((t (:foreground ,base06 :background ,base04))))
`(erc-input-face ((t (:foreground ,base0B))))
`(erc-keyword-face ((t (:foreground ,base0A))))
`(erc-current-nick-face ((t (:foreground ,base0B))))
`(erc-my-nick-face ((t (:foreground ,base0B))))
`(erc-nick-default-face ((t (:weight normal :foreground ,base0E))))
`(erc-nick-msg-face ((t (:weight normal :foreground ,base0A))))
`(erc-notice-face ((t (:foreground ,base04))))
`(erc-pal-face ((t (:foreground ,base09))))
`(erc-prompt-face ((t (:foreground ,base0D))))
`(erc-timestamp-face ((t (:foreground ,base0C))))
`(custom-variable-tag ((t (:foreground ,base0D))))
`(custom-group-tag ((t (:foreground ,base0D))))
`(custom-state ((t (:foreground ,base0B)))))
(custom-theme-set-variables
'base16-google-dark
`(ansi-color-names-vector
;; black, base08, base0B, base0A, base0D, magenta, cyan, white
[,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05])
`(ansi-term-color-vector
;; black, base08, base0B, base0A, base0D, magenta, cyan, white
[unspecified ,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05])))
(provide-theme 'base16-google-dark)
;;; base16-google-dark-theme.el ends here

View file

@ -0,0 +1,456 @@
;; Base16 Tomorrow (https://github.com/chriskempson/base16)
;; Scheme: Chris Kempson (http://chriskempson.com)
;;; base16-tomorrow-dark-theme.el
;;; Code:
(deftheme base16-tomorrow-dark)
(let ((base00 "#1d1f21")
(base01 "#282a2e")
(base02 "#373b41")
(base03 "#969896")
(base04 "#b4b7b4")
(base05 "#c5c8c6")
(base06 "#e0e0e0")
(base07 "#ffffff")
(base08 "#cc6666")
(base09 "#de935f")
(base0A "#f0c674")
(base0B "#b5bd68")
(base0C "#8abeb7")
(base0D "#81a2be")
(base0E "#b294bb")
(base0F "#a3685a"))
(custom-theme-set-faces
'base16-tomorrow-dark
;; Built-in stuff (Emacs 23)
`(border ((t (:background ,base03))))
`(border-glyph ((t (nil))))
`(cursor ((t (:background ,base08))))
`(default ((t (:background ,base00 :foreground ,base05))))
`(fringe ((t (:background ,base02))))
`(gui-element ((t (:background ,base03 :foreground ,base06))))
`(highlight ((t (:background ,base01))))
`(link ((t (:foreground ,base0D))))
`(link-visited ((t (:foreground ,base0E))))
`(minibuffer-prompt ((t (:foreground ,base0D))))
`(mode-line ((t (:background ,base02 :foreground ,base04 :box nil))))
`(mode-line-buffer-id ((t (:foreground ,base0E :background nil))))
`(mode-line-emphasis ((t (:foreground ,base06 :slant italic))))
`(mode-line-highlight ((t (:foreground ,base0E :box nil :weight bold))))
`(mode-line-inactive ((t (:background ,base01 :foreground ,base03 :box nil))))
`(region ((t (:background ,base02))))
`(secondary-selection ((t (:background ,base03))))
`(error ((t (:foreground ,base08 :weight bold))))
`(warning ((t (:foreground ,base09 :weight bold))))
`(success ((t (:foreground ,base0B :weight bold))))
`(header-line ((t (:inherit mode-line :foreground ,base0E :background nil))))
;; Font-lock stuff
`(font-lock-builtin-face ((t (:foreground ,base0C))))
`(font-lock-comment-delimiter-face ((t (:foreground ,base02))))
`(font-lock-comment-face ((t (:foreground ,base03))))
`(font-lock-constant-face ((t (:foreground ,base09))))
`(font-lock-doc-face ((t (:foreground ,base04))))
`(font-lock-doc-string-face ((t (:foreground ,base03))))
`(font-lock-function-name-face ((t (:foreground ,base0D))))
`(font-lock-keyword-face ((t (:foreground ,base0E))))
`(font-lock-negation-char-face ((t (:foreground ,base0B))))
`(font-lock-preprocessor-face ((t (:foreground ,base0D))))
`(font-lock-regexp-grouping-backslash ((t (:foreground ,base0A))))
`(font-lock-regexp-grouping-construct ((t (:foreground ,base0E))))
`(font-lock-string-face ((t (:foreground ,base0B))))
`(font-lock-type-face ((t (:foreground ,base0A))))
`(font-lock-variable-name-face ((t (:foreground ,base0C))))
`(font-lock-warning-face ((t (:foreground ,base08))))
;; linum-mode
`(linum ((t (:background ,base01 :foreground ,base03))))
;; Search
`(match ((t (:foreground ,base0D :background ,base01 :inverse-video t))))
`(isearch ((t (:foreground ,base0A :background ,base01 :inverse-video t))))
`(isearch-lazy-highlight-face ((t (:foreground ,base0C :background ,base01 :inverse-video t))))
`(isearch-fail ((t (:background ,base01 :inherit font-lock-warning-face :inverse-video t))))
;; Flymake
`(flymake-warnline ((t (:underline ,base09 :background ,base01))))
`(flymake-errline ((t (:underline ,base08 :background ,base01))))
;; Clojure errors
`(clojure-test-failure-face ((t (:background nil :inherit flymake-warnline))))
`(clojure-test-error-face ((t (:background nil :inherit flymake-errline))))
`(clojure-test-success-face ((t (:background nil :foreground nil :underline ,base0B))))
;; For Brian Carper's extended clojure syntax table
`(clojure-keyword ((t (:foreground ,base0A))))
`(clojure-parens ((t (:foreground ,base06))))
`(clojure-braces ((t (:foreground ,base0B))))
`(clojure-brackets ((t (:foreground ,base0A))))
`(clojure-double-quote ((t (:foreground ,base0C :background nil))))
`(clojure-special ((t (:foreground ,base0D))))
`(clojure-java-call ((t (:foreground ,base0E))))
;; MMM-mode
`(mmm-code-submode-face ((t (:background ,base03))))
`(mmm-comment-submode-face ((t (:inherit font-lock-comment-face))))
`(mmm-output-submode-face ((t (:background ,base03))))
;; rainbow-delimiters
`(rainbow-delimiters-depth-1-face ((t (:foreground ,base0E))))
`(rainbow-delimiters-depth-2-face ((t (:foreground ,base0D))))
`(rainbow-delimiters-depth-3-face ((t (:foreground ,base0C))))
`(rainbow-delimiters-depth-4-face ((t (:foreground ,base0B))))
`(rainbow-delimiters-depth-5-face ((t (:foreground ,base0A))))
`(rainbow-delimiters-depth-6-face ((t (:foreground ,base09))))
`(rainbow-delimiters-depth-7-face ((t (:foreground ,base08))))
`(rainbow-delimiters-depth-8-face ((t (:foreground ,base03))))
`(rainbow-delimiters-depth-9-face ((t (:foreground ,base05))))
;; IDO
`(ido-subdir ((t (:foreground ,base04))))
`(ido-first-match ((t (:foreground ,base09 :weight bold))))
`(ido-only-match ((t (:foreground ,base08 :weight bold))))
`(ido-indicator ((t (:foreground ,base08 :background ,base01))))
`(ido-virtual ((t (:foreground ,base04))))
;; which-function
`(which-func ((t (:foreground ,base0D :background nil :weight bold))))
`(trailing-whitespace ((t (:background ,base0C :foreground ,base0A))))
`(whitespace-empty ((t (:foreground ,base08 :background ,base0A))))
`(whitespace-hspace ((t (:background ,base04 :foreground ,base04))))
`(whitespace-indentation ((t (:background ,base0A :foreground ,base08))))
`(whitespace-line ((t (:background ,base01 :foreground ,base0F))))
`(whitespace-newline ((t (:foreground ,base04))))
`(whitespace-space ((t (:background ,base01 :foreground ,base04))))
`(whitespace-space-after-tab ((t (:background ,base0A :foreground ,base08))))
`(whitespace-space-before-tab ((t (:background ,base09 :foreground ,base08))))
`(whitespace-tab ((t (:background ,base04 :foreground ,base04))))
`(whitespace-trailing ((t (:background ,base08 :foreground ,base0A))))
;; Parenthesis matching (built-in)
`(show-paren-match ((t (:background ,base0D :foreground ,base03))))
`(show-paren-mismatch ((t (:background ,base09 :foreground ,base03))))
;; Parenthesis matching (mic-paren)
`(paren-face-match ((t (:foreground nil :background nil :inherit show-paren-match))))
`(paren-face-mismatch ((t (:foreground nil :background nil :inherit show-paren-mismatch))))
`(paren-face-no-match ((t (:foreground nil :background nil :inherit show-paren-mismatch))))
;; Parenthesis dimming (parenface)
`(paren-face ((t (:foreground ,base04 :background nil))))
`(sh-heredoc ((t (:foreground nil :inherit font-lock-string-face :weight normal))))
`(sh-quoted-exec ((t (:foreground nil :inherit font-lock-preprocessor-face))))
`(slime-highlight-edits-face ((t (:weight bold))))
`(slime-repl-input-face ((t (:weight normal :underline nil))))
`(slime-repl-prompt-face ((t (:underline nil :weight bold :foreground ,base0E))))
`(slime-repl-result-face ((t (:foreground ,base0B))))
`(slime-repl-output-face ((t (:foreground ,base0D :background ,base01))))
`(csv-separator-face ((t (:foreground ,base09))))
`(diff-added ((t (:foreground ,base0B))))
`(diff-changed ((t (:foreground ,base0A))))
`(diff-removed ((t (:foreground ,base08))))
`(diff-header ((t (:background ,base01))))
`(diff-file-header ((t (:background ,base02))))
`(diff-hunk-header ((t (:background ,base01 :foreground ,base0E))))
`(ediff-even-diff-A ((t (:foreground nil :background nil :inverse-video t))))
`(ediff-even-diff-B ((t (:foreground nil :background nil :inverse-video t))))
`(ediff-odd-diff-A ((t (:foreground ,base04 :background nil :inverse-video t))))
`(ediff-odd-diff-B ((t (:foreground ,base04 :background nil :inverse-video t))))
`(eldoc-highlight-function-argument ((t (:foreground ,base0B :weight bold))))
;; undo-tree
`(undo-tree-visualizer-default-face ((t (:foreground ,base06))))
`(undo-tree-visualizer-current-face ((t (:foreground ,base0B :weight bold))))
`(undo-tree-visualizer-active-branch-face ((t (:foreground ,base08))))
`(undo-tree-visualizer-register-face ((t (:foreground ,base0A))))
;; auctex
`(font-latex-bold-face ((t (:foreground ,base0B))))
`(font-latex-doctex-documentation-face ((t (:background ,base03))))
`(font-latex-italic-face ((t (:foreground ,base0B))))
`(font-latex-math-face ((t (:foreground ,base09))))
`(font-latex-sectioning-0-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-1-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-2-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-3-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-4-face ((t (:foreground ,base0A))))
`(font-latex-sectioning-5-face ((t (:foreground ,base0A))))
`(font-latex-sedate-face ((t (:foreground ,base0C))))
`(font-latex-string-face ((t (:foreground ,base0A))))
`(font-latex-verbatim-face ((t (:foreground ,base09))))
`(font-latex-warning-face ((t (:foreground ,base08))))
;; dired+
`(diredp-compressed-file-suffix ((t (:foreground ,base0D))))
`(diredp-dir-heading ((t (:foreground nil :background nil :inherit heading))))
`(diredp-dir-priv ((t (:foreground ,base0C :background nil))))
`(diredp-exec-priv ((t (:foreground ,base0D :background nil))))
`(diredp-executable-tag ((t (:foreground ,base08 :background nil))))
`(diredp-file-name ((t (:foreground ,base0A))))
`(diredp-file-suffix ((t (:foreground ,base0B))))
`(diredp-flag-mark-line ((t (:background nil :inherit highlight))))
`(diredp-ignored-file-name ((t (:foreground ,base04))))
`(diredp-link-priv ((t (:background nil :foreground ,base0E))))
`(diredp-mode-line-flagged ((t (:foreground ,base08))))
`(diredp-mode-line-marked ((t (:foreground ,base0B))))
`(diredp-no-priv ((t (:background nil))))
`(diredp-number ((t (:foreground ,base0A))))
`(diredp-other-priv ((t (:background nil :foreground ,base0E))))
`(diredp-rare-priv ((t (:foreground ,base08 :background nil))))
`(diredp-read-priv ((t (:foreground ,base0B :background nil))))
`(diredp-symlink ((t (:foreground ,base0E))))
`(diredp-write-priv ((t (:foreground ,base0A :background nil))))
;; term and ansi-term
`(term-color-black ((t (:foreground ,base02 :background ,base00))))
`(term-color-white ((t (:foreground ,base05 :background ,base07))))
`(term-color-red ((t (:foreground ,base08 :background ,base08))))
`(term-color-yellow ((t (:foreground ,base0A :background ,base0A))))
`(term-color-green ((t (:foreground ,base0B :background ,base0B))))
`(term-color-cyan ((t (:foreground ,base0C :background ,base0C))))
`(term-color-blue ((t (:foreground ,base0D :background ,base0D))))
`(term-color-magenta ((t (:foreground ,base0E :background ,base0E))))
;; Magit (a patch is pending in magit to make these standard upstream)
`(magit-branch ((t (:foreground ,base0B))))
`(magit-header ((t (:inherit nil :weight bold))))
`(magit-item-highlight ((t (:inherit highlight :background nil))))
`(magit-log-graph ((t (:foreground ,base04))))
`(magit-log-sha1 ((t (:foreground ,base0E))))
`(magit-log-head-label-bisect-bad ((t (:foreground ,base08))))
`(magit-log-head-label-bisect-good ((t (:foreground ,base0B))))
`(magit-log-head-label-default ((t (:foreground ,base0A :box nil :weight bold))))
`(magit-log-head-label-local ((t (:foreground ,base0D))))
`(magit-log-head-label-remote ((t (:foreground ,base0B))))
`(magit-log-head-label-tags ((t (:foreground ,base0C :box nil :weight bold))))
`(magit-section-title ((t (:inherit diff-hunk-header))))
`(link ((t (:foreground nil :underline t))))
`(widget-button ((t (:underline t))))
`(widget-field ((t (:background ,base03 :box (:line-width 1 :color ,base06)))))
;; Compilation (most faces politely inherit from 'success, 'error, 'warning etc.)
`(compilation-column-number ((t (:foreground ,base0A))))
`(compilation-line-number ((t (:foreground ,base0A))))
`(compilation-message-face ((t (:foreground ,base0D))))
`(compilation-mode-line-exit ((t (:foreground ,base0B))))
`(compilation-mode-line-fail ((t (:foreground ,base08))))
`(compilation-mode-line-run ((t (:foreground ,base0D))))
;; Grep
`(grep-context-face ((t (:foreground ,base04))))
`(grep-error-face ((t (:foreground ,base08 :weight bold :underline t))))
`(grep-hit-face ((t (:foreground ,base0D))))
`(grep-match-face ((t (:foreground nil :background nil :inherit match))))
`(regex-tool-matched-face ((t (:foreground nil :background nil :inherit match))))
;; mark-multiple
`(mm/master-face ((t (:inherit region :foreground nil :background nil))))
`(mm/mirror-face ((t (:inherit region :foreground nil :background nil))))
;; org-mode
`(org-agenda-structure ((t (:foreground ,base0E))))
`(org-agenda-date ((t (:foreground ,base0D :underline nil))))
`(org-agenda-done ((t (:foreground ,base0B))))
`(org-agenda-dimmed-todo-face ((t (:foreground ,base04))))
`(org-block ((t (:foreground ,base09))))
`(org-code ((t (:foreground ,base0A))))
`(org-column ((t (:background ,base03))))
`(org-column-title ((t (:inherit org-column :weight bold :underline t))))
`(org-date ((t (:foreground ,base0E :underline t))))
`(org-document-info ((t (:foreground ,base0C))))
`(org-document-info-keyword ((t (:foreground ,base0B))))
`(org-document-title ((t (:weight bold :foreground ,base09 :height 1.44))))
`(org-done ((t (:foreground ,base0B))))
`(org-ellipsis ((t (:foreground ,base04))))
`(org-footnote ((t (:foreground ,base0C))))
`(org-formula ((t (:foreground ,base08))))
`(org-hide ((t (:foreground ,base03))))
`(org-link ((t (:foreground ,base0D))))
`(org-scheduled ((t (:foreground ,base0B))))
`(org-scheduled-previously ((t (:foreground ,base09))))
`(org-scheduled-today ((t (:foreground ,base0B))))
`(org-special-keyword ((t (:foreground ,base09))))
`(org-table ((t (:foreground ,base0E))))
`(org-todo ((t (:foreground ,base08))))
`(org-upcoming-deadline ((t (:foreground ,base09))))
`(org-warning ((t (:weight bold :foreground ,base08))))
`(markdown-url-face ((t (:inherit link))))
`(markdown-link-face ((t (:foreground ,base0D :underline t))))
`(hl-sexp-face ((t (:background ,base03))))
`(highlight-80+ ((t (:background ,base03))))
;; Python-specific overrides
`(py-builtins-face ((t (:foreground ,base09 :weight normal))))
;; js2-mode
`(js2-warning-face ((t (:underline ,base09))))
`(js2-error-face ((t (:foreground nil :underline ,base08))))
`(js2-external-variable-face ((t (:foreground ,base0E))))
`(js2-function-param-face ((t (:foreground ,base0D))))
`(js2-instance-member-face ((t (:foreground ,base0D))))
`(js2-private-function-call-face ((t (:foreground ,base08))))
;; js3-mode
`(js3-warning-face ((t (:underline ,base09))))
`(js3-error-face ((t (:foreground nil :underline ,base08))))
`(js3-external-variable-face ((t (:foreground ,base0E))))
`(js3-function-param-face ((t (:foreground ,base0D))))
`(js3-jsdoc-tag-face ((t (:foreground ,base09))))
`(js3-jsdoc-type-face ((t (:foreground ,base0C))))
`(js3-jsdoc-value-face ((t (:foreground ,base0A))))
`(js3-jsdoc-html-tag-name-face ((t (:foreground ,base0D))))
`(js3-jsdoc-html-tag-delimiter-face ((t (:foreground ,base0B))))
`(js3-instance-member-face ((t (:foreground ,base0D))))
`(js3-private-function-call-face ((t (:foreground ,base08))))
;; nxml
`(nxml-name-face ((t (:foreground unspecified :inherit font-lock-constant-face))))
`(nxml-attribute-local-name-face ((t (:foreground unspecified :inherit font-lock-variable-name-face))))
`(nxml-ref-face ((t (:foreground unspecified :inherit font-lock-preprocessor-face))))
`(nxml-delimiter-face ((t (:foreground unspecified :inherit font-lock-keyword-face))))
`(nxml-delimited-data-face ((t (:foreground unspecified :inherit font-lock-string-face))))
`(rng-error-face ((t (:underline ,base08))))
;; RHTML
`(erb-delim-face ((t (:background ,base03))))
`(erb-exec-face ((t (:background ,base03 :weight bold))))
`(erb-exec-delim-face ((t (:background ,base03))))
`(erb-out-face ((t (:background ,base03 :weight bold))))
`(erb-out-delim-face ((t (:background ,base03))))
`(erb-comment-face ((t (:background ,base03 :weight bold :slant italic))))
`(erb-comment-delim-face ((t (:background ,base03))))
;; Message-mode
`(message-header-other ((t (:foreground nil :background nil :weight normal))))
`(message-header-subject ((t (:inherit message-header-other :weight bold :foreground ,base0A))))
`(message-header-to ((t (:inherit message-header-other :weight bold :foreground ,base09))))
`(message-header-cc ((t (:inherit message-header-to :foreground nil))))
`(message-header-name ((t (:foreground ,base0D :background nil))))
`(message-header-newsgroups ((t (:foreground ,base0C :background nil :slant normal))))
`(message-separator ((t (:foreground ,base0E))))
;; Jabber
`(jabber-chat-prompt-local ((t (:foreground ,base0A))))
`(jabber-chat-prompt-foreign ((t (:foreground ,base09))))
`(jabber-chat-prompt-system ((t (:foreground ,base0A :weight bold))))
`(jabber-chat-text-local ((t (:foreground ,base0A))))
`(jabber-chat-text-foreign ((t (:foreground ,base09))))
`(jabber-chat-text-error ((t (:foreground ,base08))))
`(jabber-roster-user-online ((t (:foreground ,base0B))))
`(jabber-roster-user-xa ((t :foreground ,base04)))
`(jabber-roster-user-dnd ((t :foreground ,base0A)))
`(jabber-roster-user-away ((t (:foreground ,base09))))
`(jabber-roster-user-chatty ((t (:foreground ,base0E))))
`(jabber-roster-user-error ((t (:foreground ,base08))))
`(jabber-roster-user-offline ((t (:foreground ,base04))))
`(jabber-rare-time-face ((t (:foreground ,base04))))
`(jabber-activity-face ((t (:foreground ,base0E))))
`(jabber-activity-personal-face ((t (:foreground ,base0C))))
;; Gnus
`(gnus-cite-1 ((t (:inherit outline-1 :foreground nil))))
`(gnus-cite-2 ((t (:inherit outline-2 :foreground nil))))
`(gnus-cite-3 ((t (:inherit outline-3 :foreground nil))))
`(gnus-cite-4 ((t (:inherit outline-4 :foreground nil))))
`(gnus-cite-5 ((t (:inherit outline-5 :foreground nil))))
`(gnus-cite-6 ((t (:inherit outline-6 :foreground nil))))
`(gnus-cite-7 ((t (:inherit outline-7 :foreground nil))))
`(gnus-cite-8 ((t (:inherit outline-8 :foreground nil))))
;; there are several more -cite- faces...
`(gnus-header-content ((t (:inherit message-header-other))))
`(gnus-header-subject ((t (:inherit message-header-subject))))
`(gnus-header-from ((t (:inherit message-header-other-face :weight bold :foreground ,base09))))
`(gnus-header-name ((t (:inherit message-header-name))))
`(gnus-button ((t (:inherit link :foreground nil))))
`(gnus-signature ((t (:inherit font-lock-comment-face))))
`(gnus-summary-normal-unread ((t (:foreground ,base0D :weight normal))))
`(gnus-summary-normal-read ((t (:foreground ,base06 :weight normal))))
`(gnus-summary-normal-ancient ((t (:foreground ,base0C :weight normal))))
`(gnus-summary-normal-ticked ((t (:foreground ,base09 :weight normal))))
`(gnus-summary-low-unread ((t (:foreground ,base04 :weight normal))))
`(gnus-summary-low-read ((t (:foreground ,base04 :weight normal))))
`(gnus-summary-low-ancient ((t (:foreground ,base04 :weight normal))))
`(gnus-summary-high-unread ((t (:foreground ,base0A :weight normal))))
`(gnus-summary-high-read ((t (:foreground ,base0B :weight normal))))
`(gnus-summary-high-ancient ((t (:foreground ,base0B :weight normal))))
`(gnus-summary-high-ticked ((t (:foreground ,base09 :weight normal))))
`(gnus-summary-cancelled ((t (:foreground ,base08 :background nil :weight normal))))
`(gnus-group-mail-low ((t (:foreground ,base04))))
`(gnus-group-mail-low-empty ((t (:foreground ,base04))))
`(gnus-group-mail-1 ((t (:foreground nil :weight normal :inherit outline-1))))
`(gnus-group-mail-2 ((t (:foreground nil :weight normal :inherit outline-2))))
`(gnus-group-mail-3 ((t (:foreground nil :weight normal :inherit outline-3))))
`(gnus-group-mail-4 ((t (:foreground nil :weight normal :inherit outline-4))))
`(gnus-group-mail-5 ((t (:foreground nil :weight normal :inherit outline-5))))
`(gnus-group-mail-6 ((t (:foreground nil :weight normal :inherit outline-6))))
`(gnus-group-mail-1-empty ((t (:inherit gnus-group-mail-1 :foreground ,base04))))
`(gnus-group-mail-2-empty ((t (:inherit gnus-group-mail-2 :foreground ,base04))))
`(gnus-group-mail-3-empty ((t (:inherit gnus-group-mail-3 :foreground ,base04))))
`(gnus-group-mail-4-empty ((t (:inherit gnus-group-mail-4 :foreground ,base04))))
`(gnus-group-mail-5-empty ((t (:inherit gnus-group-mail-5 :foreground ,base04))))
`(gnus-group-mail-6-empty ((t (:inherit gnus-group-mail-6 :foreground ,base04))))
`(gnus-group-news-1 ((t (:foreground nil :weight normal :inherit outline-5))))
`(gnus-group-news-2 ((t (:foreground nil :weight normal :inherit outline-6))))
`(gnus-group-news-3 ((t (:foreground nil :weight normal :inherit outline-7))))
`(gnus-group-news-4 ((t (:foreground nil :weight normal :inherit outline-8))))
`(gnus-group-news-5 ((t (:foreground nil :weight normal :inherit outline-1))))
`(gnus-group-news-6 ((t (:foreground nil :weight normal :inherit outline-2))))
`(gnus-group-news-1-empty ((t (:inherit gnus-group-news-1 :foreground ,base04))))
`(gnus-group-news-2-empty ((t (:inherit gnus-group-news-2 :foreground ,base04))))
`(gnus-group-news-3-empty ((t (:inherit gnus-group-news-3 :foreground ,base04))))
`(gnus-group-news-4-empty ((t (:inherit gnus-group-news-4 :foreground ,base04))))
`(gnus-group-news-5-empty ((t (:inherit gnus-group-news-5 :foreground ,base04))))
`(gnus-group-news-6-empty ((t (:inherit gnus-group-news-6 :foreground ,base04))))
`(erc-direct-msg-face ((t (:foreground ,base09))))
`(erc-error-face ((t (:foreground ,base08))))
`(erc-header-face ((t (:foreground ,base06 :background ,base04))))
`(erc-input-face ((t (:foreground ,base0B))))
`(erc-keyword-face ((t (:foreground ,base0A))))
`(erc-current-nick-face ((t (:foreground ,base0B))))
`(erc-my-nick-face ((t (:foreground ,base0B))))
`(erc-nick-default-face ((t (:weight normal :foreground ,base0E))))
`(erc-nick-msg-face ((t (:weight normal :foreground ,base0A))))
`(erc-notice-face ((t (:foreground ,base04))))
`(erc-pal-face ((t (:foreground ,base09))))
`(erc-prompt-face ((t (:foreground ,base0D))))
`(erc-timestamp-face ((t (:foreground ,base0C))))
`(custom-variable-tag ((t (:foreground ,base0D))))
`(custom-group-tag ((t (:foreground ,base0D))))
`(custom-state ((t (:foreground ,base0B)))))
(custom-theme-set-variables
'base16-tomorrow-dark
`(ansi-color-names-vector
;; black, base08, base0B, base0A, base0D, magenta, cyan, white
[,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05])
`(ansi-term-color-vector
;; black, base08, base0B, base0A, base0D, magenta, cyan, white
[unspecified ,base00 ,base08 ,base0B ,base0A ,base0D ,base0E ,base0D ,base05])))
(provide-theme 'base16-tomorrow-dark)
;;; base16-tomorrow-dark-theme.el ends here

View file

@ -0,0 +1,24 @@
(deftheme jdkaplan "jdkaplan's theme")
(custom-theme-set-faces
'jdkaplan
'(default ((t (:foreground "#e4e4e4" :background "#262626" ))))
'(cursor ((t (:background "#eeeeee" ))))
'(fringe ((t (:background "#262626" ))))
'(mode-line ((t (:foreground "#eeeeee" :background "#444444" ))))
'(mode-line-inactive ((t (:foreground "#444444" :background "#1e1e1e" ))))
'(vertical-border ((t (:foreground "#444444" :background "#262626" ))))
'(region ((t (:background "#3a3a3a" ))))
'(secondary-selection ((t (:background "#1e1e1e" ))))
'(font-lock-builtin-face ((t (:foreground "#f67f4e" ))))
'(font-lock-comment-face ((t (:foreground "#aaaaaa" ))))
'(font-lock-function-name-face ((t (:foreground "#00c7ff" ))))
'(font-lock-keyword-face ((t (:foreground "#3cc93a" ))))
'(font-lock-string-face ((t (:foreground "#d4a102" ))))
'(font-lock-type-face ((t (:foreground "#e8cf0e" ))))
'(font-lock-constant-face ((t (:foreground "#b987ff" ))))
'(font-lock-variable-name-face ((t (:foreground "#00c7ff" ))))
'(minibuffer-prompt ((t (:foreground "#c7c7c7" :bold t ))))
'(font-lock-warning-face ((t (:foreground "red" :bold t ))))
)
(provide-theme 'jdkaplan)

179
i3/config Normal file
View file

@ -0,0 +1,179 @@
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below. ISO 10646 = Unicode
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
new_window none
new_float none
hide_edge_borders none
for_window [class="^.*"] border pixel 0
for_window [class="Pithos"] floating enable
for_window [class="Xfce4-notifyd"] floating enable
# use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
# start "dmenu" (a program launcher)
bindsym $mod+d exec --no-startup-id xboomx
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal (split is vertical) orientation
bindsym $mod+z split h
# split in vertical (split is horizontal) orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+t layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+Shift+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
bindsym $mod+c focus child
# move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1; workspace 1
bindsym $mod+Shift+2 move container to workspace 2; workspace 2
bindsym $mod+Shift+3 move container to workspace 3; workspace 3
bindsym $mod+Shift+4 move container to workspace 4; workspace 4
bindsym $mod+Shift+5 move container to workspace 5; workspace 5
bindsym $mod+Shift+6 move container to workspace 6; workspace 6
bindsym $mod+Shift+7 move container to workspace 7; workspace 7
bindsym $mod+Shift+8 move container to workspace 8; workspace 8
bindsym $mod+Shift+9 move container to workspace 9; workspace 9
bindsym $mod+Shift+0 move container to workspace 10; workspace 10
# switch to next screen
bindsym $mod+o focus output right
# move focused container to next screen
bindsym $mod+Shift+o move container to output right
# volume
bindsym XF86AudioLowerVolume exec /usr/bin/pulseaudio-ctl down
bindsym XF86AudioRaiseVolume exec /usr/bin/pulseaudio-ctl up
bindsym XF86AudioMute exec /usr/bin/pulseaudio-ctl mute
# screenshot
bindsym Print exec xfce4-screenshooter
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym Control+g mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3status
position bottom
colors {
background #000000
statusline #FFFFFF
separator #333333
#border # back # text
focused_workspace #1A1A1A #1A1A1A #FFFFFF
active_workspace #111111 #111111 #FFFFFF
inactive_workspace #000000 #000000 #FFFFFF
urgent_workspace #FF0000 #FF0000 #FFFFFF
}
}
set $Locker i3lock -e -i ~/images/lockscreen.png
bindsym $mod+Shift+semicolon exec --no-startup-id $Locker, mode "default"
# startup
exec --no-startup-id xss-lock -- $Locker
exec --no-startup-id nitrogen --restore

35
i3status/config Normal file
View file

@ -0,0 +1,35 @@
general {
colors = true
interval = 1
}
order += "ethernet enp3s0f1"
order += "wireless wlp2s0"
order += "volume master"
order += "battery 0"
order += "tztime local"
ethernet enp3s0f1 {
format_up = "E: %ip"
format_down = ""
}
wireless wlp2s0 {
format_up = "%essid %ip"
format_down = "W: down"
}
battery 0 {
format = "%status %percentage"
low_threshold = 15
threshold_type = percentage
integer_battery_capacity = true
last_full_capacity = true
}
tztime local {
format = "%a %d %b %T"
}
volume master {
format = "♪: %volume"
}

5
zsh/.profile Normal file
View file

@ -0,0 +1,5 @@
export EDITOR='emacsclient --alternate-editor="" --tty'
export VISUAL=$EDITOR
export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh

69
zsh/.zshrc Normal file
View file

@ -0,0 +1,69 @@
# Lines configured by zsh-newuser-install
HISTFILE=~/.config/zsh/histfile
HISTSIZE=1000000
SAVEHIST=1000000
DIRSTACKSIZE=100
setopt appendhistory extendedglob nomatch
setopt autopushd pushdsilent pushdtohome histignorespace
unsetopt beep autocd notify
bindkey -e
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle ':completion:*' _expand completer _complete _ignored
zstyle ':completion:*' matcher-list '' 'l:|=* r:|=*' 'm:{[:lower:]}={[:upper:]}' 'r:|[._-]=** r:|=**'
zstyle :compinstall filename "$HOME/.zshrc"
autoload -Uz compinit
compinit
# End of lines added by compinstall
# prompt
autoload -U colors
colors
autoload -U zmv
alias mmv='noglob zmv -W'
if [[ $TERM =~ '256color' ]]; then
local blue="%F{81}"
local orange="%F{166}"
local purple="%F{135}"
local hotpink="%F{161}"
local green="%F{118}"
local gray="%F{241}"
else
local blue="%{$fg[cyan]%}"
local orange="%{$fg[yellow]%}"
local purple="%{$fg[magenta]%}"
local hotpink="%{$fg[red]%}"
local gray="%{$fg[white]%}"
fi
local lbrkt="${gray}[%f"
local rbrkt="${gray}]%f"
local colon="${gray}:%f"
local user="${purple}%n%f"
local host="${blue}%m%f"
local dir="${green}%~%f"
export PROMPT="%# "
export RPROMPT="${lbrkt}${user}${colon}${host}${colon}${dir}${rbrkt}"
# aliases
source $HOME/.config/zsh/aliases
source $HOME/.config/zsh/z-zsh/z.sh
function precmd () {
z --add "$(pwd -P)"
}
# ls colors
eval $(dircolors $HOME/.config/zsh/dircolors.256dark)
autoload -U select-word-style
select-word-style bash
export PATH=$PATH:$HOME/bin
[ -f ~/.profile ] && source ~/.profile

14
zsh/aliases Normal file
View file

@ -0,0 +1,14 @@
alias startx='ssh-agent startx'
alias ls='ls --color=auto'
alias l='ls'
alias la='ls -a'
alias ll='ls -l'
alias units='units --verbose'
alias trr='transmission-remote'
alias s='sl'
alias emacs='emacsclient --alternate-editor="" --tty'
alias emacs-kill='emacsclient -e "(kill-emacs)"'

218
zsh/dircolors.256dark Normal file
View file

@ -0,0 +1,218 @@
# Dark 256 color solarized theme for the color GNU ls utility.
# Used and tested with dircolors (GNU coreutils) 8.5
#
# @author {@link http://sebastian.tramp.name Sebastian Tramp}
# @license http://sam.zoy.org/wtfpl/ Do What The Fuck You Want To Public License (WTFPL)
#
# More Information at
# https://github.com/seebi/dircolors-solarized
## Documentation
#
# standard colors
#
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#
#
# 256 color support
# see here: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html)
#
# Text 256 color coding:
# 38;5;COLOR_NUMBER
# Background 256 color coding:
# 48;5;COLOR_NUMBER
## Special files
NORMAL 00;38;5;244 # no color code at all
#FILE 00 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 00;38;5;33 # directory 01;34
LINK 00;38;5;37 # symbolic link. (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 48;5;230;38;5;136;01 # pipe
SOCK 48;5;230;38;5;136;01 # socket
DOOR 48;5;230;38;5;136;01 # door
BLK 48;5;230;38;5;244;01 # block device driver
CHR 48;5;230;38;5;244;01 # character device driver
ORPHAN 48;5;235;38;5;160 # symlink to nonexistent file, or non-stat'able file
SETUID 48;5;160;38;5;230 # file that is setuid (u+s)
SETGID 48;5;136;38;5;230 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 48;5;64;38;5;230 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 48;5;235;38;5;33 # dir that is other-writable (o+w) and not sticky
STICKY 48;5;33;38;5;230 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 00;38;5;64
## Archives or compressed (violet + bold for compression)
.tar 00;38;5;61
.tgz 00;38;5;61
.arj 00;38;5;61
.taz 00;38;5;61
.lzh 00;38;5;61
.lzma 00;38;5;61
.tlz 00;38;5;61
.txz 00;38;5;61
.zip 00;38;5;61
.z 00;38;5;61
.Z 00;38;5;61
.dz 00;38;5;61
.gz 00;38;5;61
.lz 00;38;5;61
.xz 00;38;5;61
.bz2 00;38;5;61
.bz 00;38;5;61
.tbz 00;38;5;61
.tbz2 00;38;5;61
.tz 00;38;5;61
.deb 00;38;5;61
.rpm 00;38;5;61
.jar 00;38;5;61
.rar 00;38;5;61
.ace 00;38;5;61
.zoo 00;38;5;61
.cpio 00;38;5;61
.7z 00;38;5;61
.rz 00;38;5;61
.apk 00;38;5;61
.gem 00;38;5;61
# Image formats (yellow)
.jpg 00;38;5;136
.JPG 00;38;5;136 #stupid but needed
.jpeg 00;38;5;136
.gif 00;38;5;136
.bmp 00;38;5;136
.pbm 00;38;5;136
.pgm 00;38;5;136
.ppm 00;38;5;136
.tga 00;38;5;136
.xbm 00;38;5;136
.xpm 00;38;5;136
.tif 00;38;5;136
.tiff 00;38;5;136
.png 00;38;5;136
.svg 00;38;5;136
.svgz 00;38;5;136
.mng 00;38;5;136
.pcx 00;38;5;136
.dl 00;38;5;136
.xcf 00;38;5;136
.xwd 00;38;5;136
.yuv 00;38;5;136
.cgm 00;38;5;136
.emf 00;38;5;136
.eps 00;38;5;136
.CR2 00;38;5;136
.ico 00;38;5;136
# Files of special interest (base1 + bold)
.tex 00;38;5;245
.rdf 00;38;5;245
.owl 00;38;5;245
.n3 00;38;5;245
.ttl 00;38;5;245
.nt 00;38;5;245
.torrent 00;38;5;245
.xml 00;38;5;245
*Makefile 00;38;5;245
*Rakefile 00;38;5;245
*build.xml 00;38;5;245
*rc 00;38;5;245
*1 00;38;5;245
.nfo 00;38;5;245
*README 00;38;5;245
*README.txt 00;38;5;245
*readme.txt 00;38;5;245
.md 00;38;5;245
*README.markdown 00;38;5;245
.ini 00;38;5;245
.yml 00;38;5;245
.cfg 00;38;5;245
.conf 00;38;5;245
.c 00;38;5;245
.cpp 00;38;5;245
.cc 00;38;5;245
# "unimportant" files as logs and backups (base01)
.log 00;38;5;240
.bak 00;38;5;240
.aux 00;38;5;240
.lof 00;38;5;240
.lol 00;38;5;240
.lot 00;38;5;240
.out 00;38;5;240
.toc 00;38;5;240
.bbl 00;38;5;240
.blg 00;38;5;240
*~ 00;38;5;240
*# 00;38;5;240
.part 00;38;5;240
.incomplete 00;38;5;240
.swp 00;38;5;240
.tmp 00;38;5;240
.temp 00;38;5;240
.o 00;38;5;240
.pyc 00;38;5;240
.class 00;38;5;240
.cache 00;38;5;240
# Audio formats (orange)
.aac 00;38;5;166
.au 00;38;5;166
.flac 00;38;5;166
.mid 00;38;5;166
.midi 00;38;5;166
.mka 00;38;5;166
.mp3 00;38;5;166
.mpc 00;38;5;166
.ogg 00;38;5;166
.ra 00;38;5;166
.wav 00;38;5;166
.m4a 00;38;5;166
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa 00;38;5;166
.oga 00;38;5;166
.spx 00;38;5;166
.xspf 00;38;5;166
# Video formats (as audio + bold)
.mov 00;38;5;166
.mpg 00;38;5;166
.mpeg 00;38;5;166
.m2v 00;38;5;166
.mkv 00;38;5;166
.ogm 00;38;5;166
.mp4 00;38;5;166
.m4v 00;38;5;166
.mp4v 00;38;5;166
.vob 00;38;5;166
.qt 00;38;5;166
.nuv 00;38;5;166
.wmv 00;38;5;166
.asf 00;38;5;166
.rm 00;38;5;166
.rmvb 00;38;5;166
.flc 00;38;5;166
.avi 00;38;5;166
.fli 00;38;5;166
.flv 00;38;5;166
.gl 00;38;5;166
.m2ts 00;38;5;166
.divx 00;38;5;166
.webm 00;38;5;166
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 00;38;5;166
.anx 00;38;5;166
.ogv 00;38;5;166
.ogx 00;38;5;166

1
zsh/z-zsh Submodule

@ -0,0 +1 @@
Subproject commit 052a6cbbcd83c1968a11c26d75950bf455b816fb