Created
November 20, 2015 13:28
-
-
Save llowder/07556ee5689ec6b05d1b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(setq user-full-name "Lee Lowder") | |
(setq user-mail-address "[email protected]") | |
(setenv "PATH" (concat "/usr/local/bin:/opt/local/bin:/usr/bin:/bin:/home/llowder/.cabal/bin" (getenv "PATH"))) | |
(setenv "GOPATH" (concat (getenv "HOME") "/go")) | |
(require 'cl) | |
(load "package") | |
(package-initialize) | |
(add-to-list 'package-archives | |
'("marmalade" . "http://marmalade-repo.org/packages/")) | |
(add-to-list 'package-archives | |
'("melpa" . "http://melpa.milkbox.net/packages/") t) | |
(setq package-archive-enable-alist '(("melpa" deft magit))) | |
(defvar llowder/packages '(ac-slime | |
auto-complete | |
autopair | |
clojure-mode | |
coffee-mode | |
csharp-mode | |
deft | |
erlang | |
feature-mode | |
flycheck | |
gist | |
go-mode | |
graphviz-dot-mode | |
haml-mode | |
haskell-mode | |
htmlize | |
idris-mode | |
magit | |
markdown-mode | |
marmalade | |
nodejs-repl | |
o-blog | |
org | |
paredit | |
php-mode | |
puppet-mode | |
restclient | |
rvm | |
scala-mode | |
smex | |
sml-mode | |
solarized-theme | |
web-mode | |
writegood-mode | |
yaml-mode) | |
"Default packages") | |
(defun llowder/packages-installed-p () | |
(loop for pkg in llowder/packages | |
when (not (package-installed-p pkg)) do (return nil) | |
finally (return t))) | |
(unless (llowder/packages-installed-p) | |
(message "%s" "Refreshing package database...") | |
(package-refresh-contents) | |
(dolist (pkg llowder/packages) | |
(when (not (package-installed-p pkg)) | |
(package-install pkg)))) | |
(setq inhibit-splash-screen t | |
initial-scratch-message nil | |
initial-major-mode 'org-mode) | |
(scroll-bar-mode -1) | |
(tool-bar-mode -1) | |
(menu-bar-mode -1) | |
(delete-selection-mode t) | |
(transient-mark-mode t) | |
(setq x-select-enable-clipboard t) | |
(setq-default indicate-empty-lines t) | |
(when (not indicate-empty-lines) | |
(toggle-indicate-empty-lines)) | |
(setq tab-width 2 | |
indent-tabs-mode nil) | |
(setq make-backup-files nil) | |
(defalias 'yes-or-no-p 'y-or-n-p) | |
(global-set-key (kbd "RET") 'newline-and-indent) | |
(global-set-key (kbd "C-;") 'comment-or-uncomment-region) | |
(global-set-key (kbd "M-/") 'hippie-expand) | |
(global-set-key (kbd "C-+") 'text-scale-increase) | |
(global-set-key (kbd "C--") 'text-scale-decrease) | |
(global-set-key (kbd "C-c C-k") 'compile) | |
(global-set-key (kbd "C-x g") 'magit-status) | |
(global-set-key (kbd "<f8>") | |
'hc-toggle-highlight-trailing-whitespace) | |
(setq echo-keystrokes 0.1 | |
use-dialog-box nil | |
visible-bell t) | |
(show-paren-mode t) | |
(defvar llowder/vendor-dir (expand-file-name "vendor" user-emacs-directory)) | |
(add-to-list 'load-path llowder/vendor-dir) | |
(setq org-log-done t | |
org-todo-keywords '((sequence "TODO" "INPROGRESS" "DONE")) | |
org-todo-keyword-faces '(("INPROGRESS" . (:foreground "blue" :weight bold)))) | |
(add-hook 'org-mode-hook | |
(lambda () | |
(flyspell-mode))) | |
(add-hook 'org-mode-hook | |
(lambda () | |
(writegood-mode))) | |
(global-set-key (kbd "C-c a") 'org-agenda) | |
(setq org-agenda-show-log t | |
org-agenda-todo-ignore-scheduled t | |
org-agenda-todo-ignore-deadlines t) | |
(setq org-agenda-files (list "~/org/personal.org" | |
"~/org/groupon.org")) | |
(setq smex-save-file (expand-file-name ".smex-items" user-emacs-directory)) | |
(smex-initialize) | |
(global-set-key (kbd "M-x") 'smex) | |
(global-set-key (kbd "M-X") 'smex-major-mode-commands) | |
(ido-mode t) | |
(setq ido-enable-flex-matching t | |
ido-use-virtual-buffers t) | |
(setq column-number-mode t) | |
(setq backup-directory-alist `((".*" . ,temporary-file-directory))) | |
(setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) | |
(require 'autopair) | |
(setq lisp-modes '(lisp-mode | |
emacs-lisp-mode | |
common-lisp-mode | |
scheme-mode | |
clojure-mode)) | |
(defvar lisp-power-map (make-keymap)) | |
(define-minor-mode lisp-power-mode "Fix keybindings; add power." | |
:lighter " (power)" | |
:keymap lisp-power-map | |
(paredit-mode t)) | |
(define-key lisp-power-map [delete] 'paredit-forward-delete) | |
(define-key lisp-power-map [backspace] 'paredit-backward-delete) | |
(defun abedra/engage-lisp-power () | |
(lisp-power-mode t)) | |
(dolist (mode lisp-modes) | |
(add-hook (intern (format "%s-hook" mode)) | |
#'abedra/engage-lisp-power)) | |
(setq inferior-lisp-program "clisp") | |
(setq scheme-program-name "racket") | |
(defun untabify-buffer () | |
(interactive) | |
(untabify (point-min) (point-max))) | |
(defun indent-buffer () | |
(interactive) | |
(indent-region (point-min) (point-max))) | |
(defun cleanup-buffer () | |
"Perform a bunch of operations on the whitespace content of a buffer." | |
(interactive) | |
(indent-buffer) | |
(untabify-buffer) | |
(delete-trailing-whitespace)) | |
(defun cleanup-region (beg end) | |
"Remove tmux artifacts from region." | |
(interactive "r") | |
(dolist (re '("\\\\│\·*\n" "\W*│\·*")) | |
(replace-regexp re "" nil beg end))) | |
(global-set-key (kbd "C-x M-t") 'cleanup-region) | |
(global-set-key (kbd "C-c n") 'cleanup-buffer) | |
(setq-default show-trailing-whitespace t) | |
(setq flyspell-issue-welcome-flag nil) | |
(if (eq system-type 'darwin) | |
(setq-default ispell-program-name "/usr/local/bin/aspell") | |
(setq-default ispell-program-name "/usr/bin/aspell")) | |
(setq-default ispell-list-command "list") | |
(add-hook 'ruby-mode-hook | |
(lambda () | |
(autopair-mode))) | |
(add-to-list 'auto-mode-alist '("\\.rake$" . ruby-mode)) | |
(add-to-list 'auto-mode-alist '("\\.gemspec$" . ruby-mode)) | |
(add-to-list 'auto-mode-alist '("\\.ru$" . ruby-mode)) | |
(add-to-list 'auto-mode-alist '("Rakefile" . ruby-mode)) | |
(add-to-list 'auto-mode-alist '("Gemfile" . ruby-mode)) | |
(add-to-list 'auto-mode-alist '("Capfile" . ruby-mode)) | |
(add-to-list 'auto-mode-alist '("Vagrantfile" . ruby-mode)) | |
(add-to-list 'auto-mode-alist '("Guardfile" . ruby-mode)) | |
(add-to-list 'auto-mode-alist '("Puppetfile" . ruby-mode)) | |
(add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode)) | |
(add-to-list 'auto-mode-alist '("\\.yaml$" . yaml-mode)) | |
(add-to-list 'auto-mode-alist '("\\.md$" . markdown-mode)) | |
(add-to-list 'auto-mode-alist '("\\.mdown$" . markdown-mode)) | |
(add-hook 'markdown-mode-hook | |
(lambda () | |
(visual-line-mode t) | |
(writegood-mode t) | |
(flyspell-mode t))) | |
(setq markdown-command "pandoc --smart -f markdown -t html") | |
(setq markdown-css-path (expand-file-name "markdown.css" llowder/vendor-dir)) | |
(if window-system | |
(load-theme 'solarized-light t) | |
(load-theme 'wombat t)) | |
(require 'ansi-color) | |
(defun colorize-compilation-buffer () | |
(toggle-read-only) | |
(ansi-color-apply-on-region (point-min) (point-max)) | |
(toggle-read-only)) | |
(add-hook 'compilation-filter-hook 'colorize-compilation-buffer) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment