diff options
author | Vincent Ambo <vincent@kivra.com> | 2014-10-21T17·37+0200 |
---|---|---|
committer | Vincent Ambo <vincent@kivra.com> | 2014-10-21T17·37+0200 |
commit | 1f70abb1769a3528f23bc96ee3f570338ace50d3 (patch) | |
tree | 9517f6eab292a13cdd4a4cfb7768471aace41a3c /init/settings.el | |
parent | 10057a887b931b25d93691992c35665cac277fcb (diff) |
Move all configuration to subfolder
Diffstat (limited to 'init/settings.el')
-rw-r--r-- | init/settings.el | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/init/settings.el b/init/settings.el new file mode 100644 index 000000000000..8d1b7fbace5b --- /dev/null +++ b/init/settings.el @@ -0,0 +1,243 @@ +(require 'uniquify) +(require 'smart-mode-line) + +; ## Generic settings ## + +; Hide those ugly tool bars +(tool-bar-mode 0) +(scroll-bar-mode 0) + +(defun disable-scroll-bar () + (scroll-bar-mode 0)) + +; And remember to do it if I create a new frame. +(add-hook 'before-make-frame-hook 'disable-scroll-bar) + +;; Don't make any noises, don't flash, just leave me alone +(setq ring-bell-function 'ignore) + +;; Go away go away +(setq initial-scratch-message "") + +(flx-ido-mode 1) +(setq ido-use-faces nil) +(setq gc-cons-threshold 20000000) + +(setq uniquify-buffer-name-style 'forward) + +;;; Code: + +(add-to-list 'exec-path "/usr/local/bin") +(add-to-list 'exec-path (expand-file-name "~/bin")) + + +(when window-system + (setq frame-title-format '(buffer-file-name "%f" ("%b"))) + (tooltip-mode -1) + (mouse-wheel-mode t) + (blink-cursor-mode -1)) + +; Fix some defaults +(setq visible-bell nil + inhibit-startup-message t + color-theme-is-global t + sentence-end-double-space nil + shift-select-mode nil + mouse-yank-at-point t + uniquify-buffer-name-style 'forward + whitespace-style '(face trailing lines-tail tabs) + whitespace-line-column 80 + default-directory "~" + fill-column 80 + ediff-window-setup-function 'ediff-setup-windows-plain + ediff-diff-options "-w" + ediff-split-window-function 'split-window-horizontally + oddmuse-directory (concat user-emacs-directory "oddmuse") + save-place-file (concat user-emacs-directory "places") + backup-directory-alist `((,(concat user-emacs-directory "backups"))) + diff-switches "-u") + +;; Fix keys on Linux +(if is-linux + (setq x-super-keysym 'meta + x-alt-keysym 'alt)) + +(setq smex-save-file (concat user-emacs-directory ".smex-items")) +(setq smex-key-advice-ignore-menu-bar t) +(smex-initialize) +(global-set-key (kbd "M-x") 'smex) + +(add-to-list 'safe-local-variable-values '(lexical-binding . t)) +(add-to-list 'safe-local-variable-values '(whitespace-line-column . 80)) + +(set-default 'indent-tabs-mode nil) + +;; ido-mode is like magic pixie dust! +(ido-mode t) +(ido-ubiquitous t) +(setq ido-enable-prefix nil + ido-enable-flex-matching t + ido-auto-merge-work-directories-length nil + ido-create-new-buffer 'always + ido-use-filename-at-point 'guess + ido-use-virtual-buffers t + ido-handle-duplicate-virtual-buffers 2 + ido-max-prospects 10) + +;; Swedish! +(set-language-environment 'Swedish) + +;; UTF-8 please +(setq locale-coding-system 'utf-8) ; pretty +(set-terminal-coding-system 'utf-8) ; pretty +(set-keyboard-coding-system 'utf-8) ; pretty +(set-selection-coding-system 'utf-8) ; please +(prefer-coding-system 'utf-8) ; with sugar on top + +(require 'ffap) + +(defalias 'yes-or-no-p 'y-or-n-p) +(defalias 'auto-tail-revert-mode 'tail-mode) + +;; ## Look and feel ## + +;; Themes! I download and install the ones I like and default the one +;; I currently like most. This changes a lot because I hate +;; everything. (It's in my nature, don't judge) +(custom-download-theme + "https://raw.github.com/owainlewis/emacs-color-themes/master/themes/hickey-theme.el" + "hickey-theme.el") + +(custom-download-theme + "https://raw.github.com/rexim/gruber-darker-theme/master/gruber-darker-theme.el" + "gruber-darker-theme.el") + +(load-theme 'gruber-darker t) + +(global-hl-line-mode -1) + +(setq default-frame-alist '((font-backend . "xft") + (font . "Source Code Pro-12"))) + +(set-default-font "Source Code Pro 12") + +;; Don't make the nyan cat too long ... I have other stuff in the mode +;; bar as well! +(set-variable 'nyan-bar-length 15) +;; Not the real deal without this ... +(set-variable 'nyan-wavy-trail t) + +;; Style line numbers (shown with M-g g) +(setq linum-format + (lambda (line) + (propertize + (format (concat " %" + (number-to-string + (length (number-to-string + (line-number-at-pos (point-max))))) + "d ") + line) + 'face 'linum))) + +(eval-after-load 'diff-mode + '(progn + (set-face-foreground 'diff-added "green4") + (set-face-foreground 'diff-removed "red3"))) + +(eval-after-load 'magit + '(progn + (set-face-foreground 'magit-diff-add "green4") + (set-face-foreground 'magit-diff-del "red3"))) + +;; ## Mac specific settings ## + +;; Enable mouse support on OS X +(unless window-system + (require 'mouse) + (xterm-mouse-mode t) + (global-set-key [mouse-4] '(lambda () + (interactive) + (scroll-down 1))) + (global-set-key [mouse-5] '(lambda () + (interactive) + (scroll-up 1))) + (defun track-mouse (e)) + + (setq mouse-sel-mode t) +) + +;; Use clipboard properly +(setq x-select-enable-clipboard t) + +;; Settings for Emacs.app (Cocoa Emacs) +;; Menu bar doesn't take up additional space, so lets use it. +(menu-bar-mode 1) + +;; Auto refresh buffers +(global-auto-revert-mode 1) + +;; Also auto refresh dired, but be quiet about it +(setq global-auto-revert-non-file-buffers t) +(setq auto-revert-verbose nil) + +;; Show keystrokes in progress +(setq echo-keystrokes 0.1) + +;; Move files to trash when deleting +(setq delete-by-moving-to-trash t) + +;; Make emacs behave sanely (overwrite selected text) +(delete-selection-mode 1) + +;; ## Navigation and key bindings ## + +(setq windmove-wrap-around t) + +;; Load ace-jump-mode +(autoload + 'ace-jump-mode + "ace-jump-mode" + "Emacs quick move minor mode" + ) + +(define-key global-map [?] 'ace-jump-mode) + +;; Quick jump back +(autoload + 'ace-jump-mode-pop-mark + "ace-jump-mode" + "Ace jump back:-)" + ) + +(eval-after-load "ace-jump-mode" + '(ace-jump-mode-enable-mark-sync)) +(define-key global-map (kbd "C-x ö") 'ace-jump-mode-pop-mark) + +;; Keep your backup files in tmp, emacs! +(setq backup-directory-alist + `((".*" . ,temporary-file-directory))) +(setq auto-save-file-name-transforms + `((".*" ,temporary-file-directory t))) + +;; Eshell +;; Start/join +(global-set-key (kbd "C-x m") 'eshell) +;; Always start +(global-set-key (kbd "C-x M") (lambda () (interactive) (eshell t))) + +;; Git +(global-set-key (kbd "C-c g") 'magit-status) + +(remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) + +;; Display tabs as 4 spaces +(setq default-tab-width 4) + +;; Set up Java home & path +(setenv "JAVA_HOME" "/usr/lib/jvm/default") + +;; Use CUPS +(setq lpr-command "xpp") + + +(provide 'settings) |