diff options
Diffstat (limited to '.config/emacs/init.el')
-rw-r--r-- | .config/emacs/init.el | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/.config/emacs/init.el b/.config/emacs/init.el new file mode 100644 index 0000000..65634cb --- /dev/null +++ b/.config/emacs/init.el @@ -0,0 +1,181 @@ +;; Preliminary settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(set-face-attribute 'default nil :height 80) +(setq notify-method 'notify-via-libnotify) +(add-to-list 'load-path "~/.emacs.d/") +(add-to-list 'load-path "~/.emacs.d/el-get/el-get") +(setq custom-file "~/.emacs.d/custom.el") + +; derived from ELPA installation +; http://tromey.com/elpa/install.html +(defun eval-url (url) + (let ((buffer (url-retrieve-synchronously url))) + (save-excursion + (set-buffer buffer) + (goto-char (point-min)) + (re-search-forward "^$" nil 'move) + (eval-region (point) (point-max)) + (kill-buffer (current-buffer))))) + + ;; ELPA stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(unless (require 'package nil t) + (eval-url "http://tromey.com/elpa/package-install.el")) + +(setq package-archives '(("ELPA" . "http://tromey.com/elpa/") + ("marmalade" . "http://marmalade-repo.org/packages/") + ("gnu" . "http://elpa.gnu.org/packages/"))) + +;; el-get stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(setq el-get-install-branch "master") ;; live life on the edge +(unless (require 'el-get nil t) + (eval-url "https://github.com/dimitri/el-get/raw/master/el-get-install.el")) + +(setq el-get-sources '( + (:name nxhtml + :type http + :url "http://ourcomments.org/Emacs/DL/elisp/nxhtml/zip/nxhtml-2.08-100425.zip" + :build ("unzip nxhtml-2.08-100425.zip") + :load "nxhtml/autostart.el") + )) + +(setq my-el-get-packages + '(el-get +; nxhtml + apel flim semi wanderlust + smarttabs + )) + +;; Now load all of that ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; ELPA +(package-initialize) +;; el-get +(when (require 'el-get nil t) (el-get 'sync my-el-get-packages)) +;; custom +(load custom-file 'noerror) + +;; General settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;(load "mdmua") +(load "emacsutils") + +(tool-bar-mode -1) +(ido-mode t) +(show-paren-mode 1) +(setq org-hide-leading-stars t) +(setq org-log-done 'time) +;(xclip-mode 1) + +(load "whitespace") +(setq whitespace-style '( + tab-mark + space-mark + newline-mark + empty +)) + + +;; These are my preferred settings; we let dtrt-indent detect when we play with other's files +(setq-default tab-width 8) +(setq-default c-basic-offset 8) +(setq-default indent-tabs-mode t) + + +(setq + backup-by-copying t ;; don't clobber symlinks + backup-directory-alist '(("." . "~/.emacs.d/saves")) ;; don't litter my fs tree + delete-old-versions t + kept-new-versions 6 + kept-old-versions 2 + version-control t ;; use versioned backups +) + +(setq column-number-mode t + inhibit-startup-screen t + line-number-mode t + server-use-tcp t + server-mode t + show-paren-mode t) + +(setq browse-url-generic-program (executable-find "v-www-browser") + browse-url-browser-function 'browse-url-generic) + + +(defun toggle-fullscreen (&optional f) + (interactive) + (let ((current-value (frame-parameter nil 'fullscreen))) + (set-frame-parameter nil 'fullscreen + (if (equal 'fullboth current-value) + (if (boundp 'old-fullscreen) old-fullscreen nil) + (progn (setq old-fullscreen current-value) + 'fullboth))))) + +;; Custom keybindings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(global-set-key [f11] 'toggle-fullscreen) +(global-set-key "\C-cw" 'global-whitespace-mode) + +;; mode-hooks ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(add-hook 'text-mode-hook 'turn-on-auto-fill) + +; for term-mode +;; (add-hook 'after-make-frame-functions +;; (lambda (frame) +;; (set-variable 'term-default-fg-color +;; (face-foreground 'default)) +;; (set-variable 'term-default-bg-color +;; (face-background 'default))) +;; t) + +(add-hook 'lisp-mode-hook + '(lambda () + (set (make-local-variable 'indent-tabs-mode) nil) + )) + +(add-hook 'emacs-lisp-mode-hook + '(lambda () + (set (make-local-variable 'indent-tabs-mode) nil) + )) + +(add-hook 'coffee-mode-hook + '(lambda () + (set (make-local-variable 'tab-width) 2) + )) + +(add-hook 'term-mode-hook + '(lambda () + (setq term-prompt-regexp "^[^#$%>\n]*[#$%>] *") + (make-local-variable 'mouse-yank-at-point) + ;(make-local-variable 'transient-mark-mode) + (setq mouse-yank-at-point t) + ;(setq transient-mark-mode nil) + (auto-fill-mode -1) + (setq tab-width 8 ) + (setq autopair-dont-activate t) ;; Don't let autopair break ansi-term + )) + +(add-hook 'ruby-mode-hook + '(lambda () + (set (make-local-variable 'indent-tabs-mode) t) + (set (make-local-variable 'ruby-indent-level) 4) + (set (make-local-variable 'tab-width) 4) + )) + +(add-hook 'coffee-mode-hook + '(lambda () + (set (make-local-variable 'indent-tabs-mode) nil) + )) + +(add-to-list 'auto-mode-alist '("PKGBUILD" . sh-mode)) +(add-to-list 'auto-mode-alist '("SRCBUILD" . sh-mode)) + +;(require 'flymake) +;(add-hook 'php-mode-hook (lambda() (flymake-mode 1))) +;(define-key php-mode-map '[M-S-up] 'flymake-goto-prev-error) +;(define-key php-mode-map '[M-S-down] 'flymake-goto-next-error) + +;(setq tramp-debug-buffer t) +;(setq tramp-verbose 10) |