This repository has been archived on 2022-12-11. You can view files and clone it, but cannot push or open issues or pull requests.
dot-files/.emacs

613 lines
24 KiB
Plaintext

;; Date: Aug 19, 2010
;; Author: Collin J. Doering
;; Description: Emacs configuration file (in emacs lisp)
;; TODO: clean up backages (prefer ELPA to AUR and archlinux packages); also denote which
;; source is being used after require or autoload sexp's.
;; E.g (require 'pkg) ;; PKG_SRC
;; (autoload ...) ;; PKG_SRC
;; For packages that are installed through the ELPA (and thus they are loaded
;; auto-magically) that do not require any changes to this file (.emacs) and/or
;; are changed using customize simply note (in a comment) at the beginning of this file
;; the package
;; ELPA packages that do not require modification of this file other then Customize
;; * caml (required by tuareg)
;; * tuareg
;; * project-mode
;; * register-list
;; ELPA packages configured explicitly below:
;; * php-mode
;; * python-mode
;; * ipython
;; * lua-mode
;; * erlang
;; * clojure-mode
;; Set repos for package.el
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")
("melpa" . "http://melpa.milkbox.net/packages/")
("ELPA" . "http://tromey.com/elpa/")))
;; This needs to be a the start of ~/.emacs since package-initialize is run after the user
;; init file is read but before after-init-hook. It autoloads packages installed by
;; package.el including updating the load-path and running/loading/requiring
;; pkgname-autoload.el for all packages (where pkgname is replaced with the appropriate
;; package name). To disable package.el's autoloading functionality use:
;; (setq package-enabled-at-startup nil)
;; The reason to use package-initialize here is so one can modify the installed modules
;; later in this .emacs file but still retain the autoloading functionality of package.el
(package-initialize)
;; stop renaming of saved files to filename~ which ends up breaking hardlinks
(setq backup-by-copying-when-linked t)
;; fixes color output issues; see: http://wiki.archlinux.org/index.php/Emacs#Colored_output_issues
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
;; Automatically open some config files with an associated major mode
;; Note: regexp's used to match buffer filenames are intentionally left
;; unbounded (without '$') to catch cases where the filename may
;; take the format: filename~
(add-to-list 'auto-mode-alist '("\\.conkerorrc" . javascript-mode))
(add-to-list 'auto-mode-alist '("\\.xmobarrc" . haskell-mode))
(add-to-list 'auto-mode-alist '("\\.screenrc" . conf-mode))
(add-to-list 'auto-mode-alist '("\\.stumpwmrc" . lisp-mode))
;; bind M-g to M-x goto-line
(global-set-key "\M-g" 'goto-line)
;; Make C-x O cycle backwards a pane (oposite to C-x o)
(global-set-key "\C-xO" #'(lambda ()
(interactive)
(other-window -1)))
;; Thanks to lauren michelle for this one *BROKEN*
;; Seemingly broken in emacs24 (or at least when i noticed the issue). Throws
;; off font size of function names because font-lock-add-keywords is responsible
;; for fontifying function/variable definitions. Consistency of text size is not
;; affected when emacs is run in a terminal, only the GTK GUI front end.
;; Also really only should be applied to lisp-like
;; languages (because it parses for char '(' and endBy ')' and thus \x -> ...
;; or a lambda expression from any language must be wrapped in parens
;; (defun pretty-lambdas ()
;; (font-lock-add-keywords
;; nil `(("(\\(lambda\\>\\)"
;; (0 (progn (compose-region (match-beginning 1) (match-end 1)
;; ,(make-char 'greek-iso8859-7 107))
;; nil))))))
;; adds the given function mode to each element of the given-hooks
(defun activate-mode-with-hooks (mode given-hooks)
(while given-hooks
(add-hook (car given-hooks)
mode)
(setq given-hooks (cdr given-hooks))))
;; Make lambda appear as the greek character *BROKEN* -- read above
;;(activate-mode-with-hooks 'pretty-lambdas '(scheme-mode-hook lisp-mode-hook lisp-interaction-mode geiser-repl-mode python-mode emacs-lisp-mode))
;; linum mode for pretty line numbering
(require 'linum) ;; Built-in
;; right justify the numbers and add a space between them and the text in the given buffer
(setq linum-format
(lambda (line)
(propertize (format
(let ((w (length (number-to-string
(count-lines (point-min) (point-max))))))
(concat "%" (number-to-string w) "d "))
line)
'face 'linum)))
;; code-modes is a list of mode hooks (for programming langs only)
(defvar code-modes '(scheme-mode-hook emacs-lisp-mode-hook c-mode-hook c++-mode-hook python-mode-hook lua-mode-hook python-mode-hook haskell-mode-hook php-mode-hook perl-mode-hook lisp-mode-hook clojure-mode-hook ruby-mode-hook erlang-mode-hook sh-mode-hook))
;; activate linum-mode in all buffers used for programming
(activate-mode-with-hooks (lambda () (linum-mode 1)) code-modes)
;; activate flyspell-prog-mode for all buffers used for programming
(activate-mode-with-hooks 'flyspell-prog-mode code-modes)
;; use flyspell-mode in org-mode and magit-log-edit-mode buffers
(activate-mode-with-hooks 'flyspell-mode '(org-mode-hook magit-log-edit-mode-hook))
;; Enjoy a game of Sudoku on some downtime
(require 'sudoku) ;; ELPA
;; *DEPRECIATED* as of emacs24; when it goes live remove this as well as package emacs-color-theme
;; load color-theme and initialize
;;(require 'color-theme)
;;(color-theme-initialize)
;; use a global color theme
;;(color-theme-tty-dark)
;; make color-theme not applied globally and not cumunitive
;;(setq color-theme-is-cumulative nil)
;;(setq color-theme-is-global nil)
;; given a frame colorizes the frame
;; if its window-system is X Windows the tty-dark theme will be applied otherwise it will be colorized tty-dark
;;(defun apply-color-theme (frame)
;; (select-frame frame)
;; (if (eq (window-system frame) 'x)
;; (color-theme-tty-dark)
;; (color-theme-tty-dark)))
;; add the apply-color-theme function (hook) to be executed on the creation of a new frame
;;(add-hook 'after-make-frame-functions 'apply-color-theme)
;; Use the built-in themeing in emacs24
(load-theme 'manoj-dark)
;; Set the default font (12 pixels tall)
(set-default-font "Terminus-12")
;; Set default tramp method to ssh (for security purposes)
(setq tramp-default-method "ssh")
;; Setup ibuffer (interactive buffer)
(global-set-key "\C-x\C-b" 'ibuffer)
(autoload 'ibuffer "ibuffer" "List buffers." t)
;; Require ibuffer extentions (used for ibuffer-never-show-predicates)
(require 'ibuf-ext) ;; Built-in
(add-to-list 'ibuffer-never-show-predicates "^\\*slime-events\\*$")
(add-to-list 'ibuffer-never-show-predicates "^\\*Completions\\*$")
(add-to-list 'ibuffer-never-show-predicates "^\\*tramp/.*\\*$")
;; Filter ibuffers (similar to gnus)
(setq ibuffer-saved-filter-groups
(quote (("default"
("dired" (mode . dired-mode))
("config" (or
(name . "^\\.xinitrc$")
(name . "^\\.bashrc$")
(name . "^\\.bash_profile$")
(name . "^\\.zshrc$")
(name . "^xmonad\\.hs$")
(name . "^\\.emacs$")
(name . "^\\.gnus$")
(name . "^\\.xmobarrc")
(name . "^\\.Xdefaults$")
(name . "^\\.screenrc$")
(name . "^\\.xbindkeysrc$")
(name . "^\\.racketrc$")
(name . "^\\.ghci")))
("code" (or
(mode . c-mode)
(mode . c++-mode)
(mode . perl-mode)
(mode . lua-mode)
(mode . clojure-mode)
(mode . java-mode)
(mode . python-mode)
(mode . ruby-mode)
(mode . emacs-lisp-mode)
(mode . lisp-mode)
(mode . sh-mode)
(mode . scheme-mode)
(mode . haskell-mode)
(mode . php-mode)
(mode . xml-mode)))
("REPL" (or
(mode . geiser-mode)
(mode . slime-repl-mode)
(mode . inferior-python-mode)
(mode . ipython-mode)
(mode . inferior-haskell-mode)
(mode . inferior-lisp-mode)
(mode . eshell-mode)
(mode . inferior-scheme-mode)
(mode . inferior-tcl)
(mode . erlang-shell-mode)
(name . "^\\*inferior-lisp\\*$")
(name . "^\\* Racket REPL \\*$")))
("git" (or
(name . "^\\*magit: ") ;; this regxp could be better
(mode . magit-mode)
(mode . magit-log-mode)))
("planner" (or
(name . "^\\*Calendar\\*$")
(name . "^diary$")
(mode . muse-mode)))
("emacs" (or
(name . "^\\*scratch\\*$")
(name . "^\\*Messages\\*$")))
("org" (or
(mode . org-mode)
(name . "^\\.org$")
(name . "^\\.org.gpg$")))
("gnus" (or
(mode . message-mode)
(mode . bbdb-mode)
(mode . mail-mode)
(mode . gnus-group-mode)
(mode . gnus-summary-mode)
(mode . gnus-article-mode)
(name . "^\\.bbdb$")
(name . "^\\.newsrc-dribble")))))))
(add-hook 'ibuffer-mode-hook
(lambda ()
(ibuffer-switch-to-saved-filter-groups "default")))
;; Setup oauth2 (required by google-contacts)
;;(add-to-list 'load-path "/home/collin/.emacs.d/elpa/oauth2-0.5")
(require 'oauth2-autoloads) ;; ELPA
;; Setup google-contact
(require 'google-contacts) ;; AUR: emacs-google-contacts
(require 'google-contacts-gnus) ;; AUR: emacs-google-contacts
;; setup html renderer w3m and external browser conkeror
(require 'w3m-load) ;; AUR: emacs-w3m-cvs
(setq browse-url-browser-function 'w3m-browse-url
browse-url-generic-program "conkeror"
w3m-use-cookies t)
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
;; setup magit for git (being used though elpa [auto-loaded])
;;(autoload 'magit-status magit nil t)
;;(require 'magit) ;; ELPA
(global-set-key "\C-xS" 'magit-status)
;; Setup PKGBUILD mode
(autoload 'pkgbuild-mode "pkgbuild-mode.el" "PKGBUILD mode." t)
(setq auto-mode-alist (append '(("/PKGBUILD$" . pkgbuild-mode)) auto-mode-alist))
;; setup php-mode
(autoload 'php-mode "php-mode.el" "Php mode." t) ;; ELPA
(setq auto-mode-alist (append '(("/*.\.php[345]?$" . php-mode)) auto-mode-alist))
;; Set default lisp program
(setq inferior-lisp-program "/usr/bin/sbcl")
;; Since there is no support for the kawa implementation of scheme
(defun run-kawa ()
"Run Kawa Scheme in an Emacs buffer."
(interactive)
(require 'cmuscheme) ;; Built-in
(let ((scheme-program-name "/usr/bin/kawa"))
(run-scheme scheme-program-name)))
;; Set usable lisp implementations
(setq slime-lisp-implementations
'((sbcl ("/usr/bin/sbcl" ""))
(clisp ("/usr/bin/clisp" "-K base"))
(clojure ("/usr/bin/clj" ""))))
;; Function to start and/or connect to slime
(defun start-slime ()
(interactive)
(unless (slime-connected-p)
(save-excursion (slime))))
;; Setup slime mode *TODO* drop in slime from ELPA
(add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")
(require 'slime) ;; AUR: emacs-slime-cvs
(slime-setup '(slime-fancy))
;; Setup swank-clojure-mode
(add-to-list 'load-path "/usr/share/emacs/site-lisp/swank-clojure")
(require 'swank-clojure) ;; ELPA
(add-hook 'clojure-mode-hook
'(lambda ()
(define-key clojure-mode-map "\C-c\C-e" 'lisp-eval-last-sexp)
(define-key clojure-mode-map "\C-x\C-e" 'lisp-eval-last-sexp)))
(eval-after-load "slime"
`(progn
(require 'assoc) ;; Built-in
(setq swank-clojure-classpath
(list "/usr/share/clojure/clojure.jar"
"/usr/share/clojure/clojure-contrib.jar"
"/usr/share/emacs/site-lisp/swank-clojure/src"))
(aput 'slime-lisp-implementations 'clojure
(list (swank-clojure-cmd) :init 'swank-clojure-init))))
;; Setup emacs-org-mode
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
(add-hook 'org-mode-hook 'turn-on-font-lock) ; not needed when global-font-lock-mode is on
(setq org-return-follows-link t)
(setq org-log-done 'time)
;; Add additional languages for org-babel (now part of org-mode)
(org-babel-do-load-languages
'org-babel-load-languages
'((haskell . t)))
;; Set keybindings for org-mode
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
;; Setup haskell-mode ;; ELPA
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
;;(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
;;(add-hook 'haskell-mode-hook 'turn-on-haskell-simple-indent)
;; Set inferior haskell default executable
(setq haskell-program-name "/usr/bin/ghci")
;; Python stuff currently *BROKEN*
;; Setup emacs-python-mode
;; (autoload 'python-mode "python-mode.el" "Python mode." t) ;; ELPA
;; (setq auto-mode-alist (append '(("/*.\.py$" . python-mode)) auto-mode-alist))
;; Setup ipython-mode
;; (setq py-python-command "/usr/bin/ipython")
;; (require 'ipython) ;; ELPA
;; Make a variable alias because ipython-mode references python-mode-map as py-mode-map
;;(defvaralias 'python-mode-map 'py-mode-map)
;; Setup emacs-lua-mode
(setq auto-mode-alist (cons '("\.lua$" . lua-mode) auto-mode-alist)) ;; ELPA
(autoload 'lua-mode "lua-mode" "Lua editing mode." t)
;; Setup emacs-erlang-mode (ELPA)
(setq erlang-root-dir "/usr/lib/erlang")
(setq exec-path (cons "/usr/lib/erlang/bin" exec-path))
(setq auto-mode-alist (append '(("\.erl$" . erlang-mode)) auto-mode-alist))
;; Setup enhanced scheme/racket mode consisting of geiser, quack and paredit
;; Setup geiser
;;(require 'geiser-install) ;; AUR: geiser-git
;; Setup quack *DISABLED*
;(require 'quack)
;; Setup paredit
(require 'paredit) ;; ELPA
(defvar paredit-hooks '(lisp-mode-hook lisp-interaction-mode-hook emacs-lisp-mode-hook scheme-mode-hook c-mode-hook c++-mode-hook python-mode-hook))
;; Apply paredit-mode to modes listed in paredit-hooks
(activate-mode-with-hooks (lambda () (paredit-mode 1)) paredit-hooks)
;; Paredit binds to C-j globally and thus disables the binding to
;; eval-print-last-sexp in emacs-lisp-mode (e.g *scratch*, etc..)
(add-hook 'emacs-lisp-mode-hook
'(lambda ()
(define-key emacs-lisp-mode-map "\C-xj" 'eval-print-last-sexp)))
;; Highlight paren's in given modes [to apply globally do (show-paren-mode 1)]
(activate-mode-with-hooks (lambda () (show-paren-mode 1)) paredit-hooks)
;; upcomming functionallity: toggle paredit-mode due to annoying things like wrapping parens when a mistake is made
;; known issue..if paredit-mode is turned on when there are unbalanced parens an error is reported
(defun toggle-paredit-mode ()
(let ((active-minor-modes (list)))
(mapatoms (lambda (sym)
(when (and (symbolp sym) (assq sym minor-mode-alist) (symbol-value sym))
(push sym active-minor-modes))))
(if (member 'paredit-mode active-minor-modes) (paredit-mode -1) (paredit-mode 1))))
(setq geiser-repl-use-other-window nil)
(setq geiser-active-implementations '(racket))
;; setup pastebin.el for use with pastebin.com
(require 'pastebin) ;; ELPA
;; yasnippet, auto-complete-mode and flyspell do not play nicely with one another due to
;; a conflict with the context of their tab binding *OLD*
;; hideshow-org being depreciated in my config due to conflicting key bindings with yasnippet
;; and flyspell *TODO*
;; Make hs-minor-mode act like org-mode for code folding
;;(add-to-list 'load-path "/usr/share/emacs/site-lisp/hideshow-org")
;; (require 'hideshow-org)
;; (global-set-key "\C-ch" 'hs-org/minor-mode)
;; Add automatic activation of hs-org/minor-mode in the below major-modes
;; (add-hook 'c-mode-common-hook 'hs-org/minor-mode)
;; (add-hook 'emacs-lisp-mode-hook 'hs-org/minor-mode)
;; (add-hook 'java-mode-hook 'hs-org/minor-mode)
;; (add-hook 'lisp-mode-hook 'hs-org/minor-mode)
;; (add-hook 'sh-mode-hook 'hs-org/minor-mode)
;; (add-hook 'python-mode-hook 'hs-org/minor-mode)
;; (add-hook 'scheme-mode-hook 'hs-org/minor-mode)
;; Setup fancy auto-complete
(require 'auto-complete-config) ;; ELPA
;;(add-to-list 'ac-dictionary-directories "/usr/share/emacs/site-lisp/auto-complete/ac-dict")
(ac-config-default)
;; Setup yasnippet-mode (not yasnippet-bundle)
(require 'yasnippet) ;; ELPA
;;(yas/initialize)
(yas/load-directory "~/.emacs.d/elpa/yasnippet-20120718/snippets")
;; Enable flyspell-mode
(ac-flyspell-workaround)
;; Known Bug: flyspell-mode doesn't play nice with auto-complete-mode
;;(flyspell-mode)
;; Enable autoinsert feature to automagically insert
(require 'autoinsert) ;; Built-in
(auto-insert-mode) ;;; Adds hook to find-files-hook
(setq auto-insert-directory "~/.emacs.d/templates/") ;;; Or use custom, *NOTE* Trailing slash important
(setq auto-insert-query nil) ;;; If you don't want to be prompted before insertion
;; auto-insert options template and auto-completion
(add-hook 'find-file-hooks 'auto-insert)
(setq auto-insert-directory (concat (getenv "HOME") "/.emacs.d/templates/"))
(setq auto-insert-alist
'(("\\.c$" . ["c-template.c" auto-update-generic-template])
("\\.\(cc\|cpp\)$" . ["cpp-template.c" auto-update-generic-template])
("\\.php$" . ["php-template.php" auto-update-generic-template])
("\\.rb$" . ["ruby-template.rb" auto-update-generic-template])
("\\.lua$" . ["lua-template.lua" auto-update-generic-template])
("\\.erl$" . ["erlang-template.erl" auto-update-generic-template])
("\\.sh$" . ["shell-template.sh" auto-update-generic-template])
("\\.rkt$" . ["racket-template.rkt" auto-update-generic-template])
("\\.scm$" . ["scheme-template.scm" auto-update-generic-template])
("\\.clj$" . ["clojure-template.clj" auto-update-generic-template])
("\\.lisp$" . ["lisp-template.lisp" auto-update-generic-template])
("\\.el$" . ["emacs-lisp-template.el" auto-update-generic-template])
("\\.hs$" . ["haskell-template.hs" auto-update-generic-template])
("\\.ml$" . ["ocaml-template.ml" auto-update-generic-template])
("\\.py$" . ["python-template.py" auto-update-generic-template])))
(setq auto-insert 'other)
(defun auto-update-generic-template ()
(save-excursion
;; Replace @!@FILENAME@!@ with file name sans suffix
(while (search-forward "@!@FILENAME@!@" nil t)
(save-restriction
(narrow-to-region (match-beginning 0) (match-end 0))
(replace-match (file-name-sans-extension (file-name-nondirectory buffer-file-name)) t))))
(save-excursion
;; Replace @!@FILE@!@ with file name
(while (search-forward "@!@FILE@!@" nil t)
(save-restriction
(narrow-to-region (match-beginning 0) (match-end 0))
(replace-match (file-name-nondirectory buffer-file-name) t))))
(save-excursion
;; replace @!@DATE@!@ with today's date
(while (search-forward "@!@DATE@!@" nil t)
(save-restriction
(narrow-to-region (match-beginning 0) (match-end 0))
(replace-match "")
(insert-date))))
(save-excursion
;; Replace @!@YEAR@!@ with the current year
(while (search-forward "@!@YEAR@!@" nil t)
(save-restriction
(narrow-to-region (match-beginning 0) (match-end 0))
(replace-match (format-time-string "%Y" (current-time)))))))
;; Insert current date at cursor in the currently active buffer
(defun insert-date ()
"Insert today's date into buffer"
(interactive)
(insert (format-time-string "%b %e, %Y" (current-time))))
(defun open-scratch-buffer ()
"Opens the scratch buffer; if none exists creates one."
(interactive)
(let ((scratch-buffer (get-buffer "*scratch*")))
(if (null scratch-buffer) (progn (get-buffer-create "*scratch*")
(insert initial-scratch-message)
(lisp-interaction-mode)))
(switch-to-buffer "*scratch*")))
;; Bind a key to grab a scratchpad
(global-set-key "\C-x4s" 'open-scratch-buffer)
;; Bind a key to switch to eshell
(global-set-key "\C-x4e" 'eshell)
;; Toggles windows split orientation of 2 adjecent windows
;; Thanks to http://www.emacswiki.org/cgi-bin/wiki?ToggleWindowSplit
(defun toggle-window-split ()
(interactive)
(if (= (count-windows) 2)
(let* ((this-win-buffer (window-buffer))
(next-win-buffer (window-buffer (next-window)))
(this-win-edges (window-edges (selected-window)))
(next-win-edges (window-edges (next-window)))
(this-win-2nd (not (and (<= (car this-win-edges)
(car next-win-edges))
(<= (cadr this-win-edges)
(cadr next-win-edges)))))
(splitter
(if (= (car this-win-edges)
(car (window-edges (next-window))))
'split-window-horizontally
'split-window-vertically)))
(delete-other-windows)
(let ((first-win (selected-window)))
(funcall splitter)
(if this-win-2nd (other-window 1))
(set-window-buffer (selected-window) this-win-buffer)
(set-window-buffer (next-window) next-win-buffer)
(select-window first-win)
(if this-win-2nd (other-window 1))))))
;; Assign keybinding to toggle split orientation of 2 adjacent windows
(define-key ctl-x-4-map "t" 'toggle-window-split)
;; Force ediff sessions to run in the same frame
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
;; Remove menu-bar
(menu-bar-mode -1)
;; Remove tool-bar
(tool-bar-mode -1)
;; Remove scroll bars
(scroll-bar-mode -1)
;; Stop startup screen
(setq inhibit-startup-screen t)
;; Set some eshell options
(setq eshell-scroll-to-bottom-on-input t)
;; *BROKEN*
;;(setq eshell-scroll-to-bottom-on-output t)
;; Commands that require a little more then a dumb-term
(setq eshell-visual-commands '("vi" "screen" "top" "less" "more" "lynx" "ncftp" "vim" "ncmpcpp" "irssi" "mc" "alsamixer" "/usr/bin/sudo"))
(defun eshell/find-file-ext (fp)
"Finds a single file or a list of files and returns a list of their respective buffers"
(interactive)
(if (listp fp) (mapcar #'find-file fp)
(list (find-file fp))))
(defun eshell/ff (fp &rest other-fps)
"A FP is either a file path (relative or absolute) or a regexp which eshell converts to a
list of stings (file paths) which match the regexp (likely using file-expand-widcards).
eshell/ff takes one or more file paths and opens them in the current buffer returning a list
consisting of lists of buffers opened by each respective FP argument."
(interactive)
(mapcar #'eshell/find-file-ext (cons fp other-fps)))
(defun eshell/clear ()
"04Dec2001 - sailor, to clear the eshell buffer."
(interactive)
(let ((inhibit-read-only t))
(erase-buffer)))
;; (add-to-list 'load-path "~/.emacs.d/el-get/el-get")
;; *BROKEN*..can't connect to dbus for some reason?
;; ;; Setup el-get
;; (unless (require 'el-get nil t)
;; (with-current-buffer
;; (url-retrieve-synchronously
;; "https://raw.github.com/dimitri/el-get/master/el-get-install.el")
;; (end-of-buffer)
;; (eval-print-last-sexp)))
;; ;; Synchronize el-get
;; (el-get 'sync)
(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.
'(highlight-current-line-globally t nil (highlight-current-line))
'(highlight-current-line-ignore-regexp "Faces\\|Colors\\| \\*Mini\\|\\**\\*")
'(magit-commit-signoff t)
'(org-agenda-files (quote ("~/.org/tech/notes.org" "~/.org/todo/rekahsoft-mini-todo.org" "~/.org/todo/rekahsoft-todo.org" "~/.org/todo/general.org" "~/.org/todo/work.org")))
'(quack-default-program "racket")
'(quack-fontify-style (quote plt))
'(quack-programs (quote ("mzscheme" "bigloo" "csi" "csi -hygienic" "gosh" "gracket" "gsi" "gsi ~~/syntax-case.scm -" "guile" "kawa" "mit-scheme" "racket" "racket -il typed/racket" "rs" "scheme" "scheme48" "scsh" "sisc" "stklos" "sxi")))
'(scroll-bar-mode nil)
'(show-paren-mode t)
'(w3m-content-type-alist (quote (("text/plain" "\\.\\(?:txt\\|tex\\|el\\)\\'" nil nil) ("text/html" "\\.s?html?\\'" ("conkeror" file) nil) ("text/sgml" "\\.sgml?\\'" nil "text/plain") ("text/xml" "\\.xml\\'" nil "text/plain") ("image/jpeg" "\\.jpe?g\\'" ("/usr/bin/display" file) nil) ("image/png" "\\.png\\'" ("/usr/bin/display" file) nil) ("image/gif" "\\.gif\\'" ("/usr/bin/display" file) nil) ("image/tiff" "\\.tif?f\\'" ("/usr/bin/display" file) nil) ("image/x-xwd" "\\.xwd\\'" ("/usr/bin/display" file) nil) ("image/x-xbm" "\\.xbm\\'" ("/usr/bin/display" file) nil) ("image/x-xpm" "\\.xpm\\'" ("/usr/bin/display" file) nil) ("image/x-bmp" "\\.bmp\\'" ("/usr/bin/display" file) nil) ("video/mpeg" "\\.mpe?g\\'" nil nil) ("video/quicktime" "\\.mov\\'" nil nil) ("application/dvi" "\\.dvi\\'" ("xdvi" file) nil) ("application/postscript" "\\.e?ps\\'" ("gs" file) nil) ("application/pdf" "\\.pdf\\'" nil nil) ("application/x-pdf" "\\.pdf\\'" nil nil) ("application/xml" "\\.xml\\'" nil w3m-detect-xml-type) ("application/rdf+xml" "\\.rdf\\'" nil "text/plain") ("application/rss+xml" "\\.rss\\'" nil "text/plain") ("application/xhtml+xml" nil nil "text/html")))))
(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.
'(font-lock-function-name-face ((t (:foreground "mediumspringgreen" :weight bold :height 1.0))))
'(highlight-current-line-face ((t (:background "gray10")))))