summaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorMartin Polden <martin.polden@gmail.com>2014-03-14 18:44:13 +0100
committerMartin Polden <martin.polden@gmail.com>2014-03-14 18:44:13 +0100
commit348c184925e7ff8b399e0c52df178ac76853f49d (patch)
tree68cfb8a54e42ae5834de4e1a4a62939a1a249d1f /lisp
parent5fffa0575248c65c45e8255aea23c4304f179321 (diff)
Split up config into multiple files
Diffstat (limited to 'lisp')
-rw-r--r--lisp/init-appearance.el33
-rw-r--r--lisp/init-evil-mode.el15
-rw-r--r--lisp/init-go-mode.el7
-rw-r--r--lisp/init-ido.el31
-rw-r--r--lisp/init-mac.el32
-rw-r--r--lisp/init-package.el17
-rw-r--r--lisp/init-sane-defaults.el16
-rw-r--r--lisp/init-server.el6
-rw-r--r--lisp/init-yaml-mode.el7
9 files changed, 164 insertions, 0 deletions
diff --git a/lisp/init-appearance.el b/lisp/init-appearance.el
new file mode 100644
index 0000000..3c14a4d
--- /dev/null
+++ b/lisp/init-appearance.el
@@ -0,0 +1,33 @@
+;; disable splash
+(setq inhibit-startup-message t)
+(setq inhibit-startup-echo-area-message t)
+
+;; hide toolbar
+(tool-bar-mode -1)
+
+;; hide scrollbar
+(scroll-bar-mode -1)
+
+;; set theme
+(require-package 'solarized-theme)
+(load-theme 'solarized-dark t)
+
+;; display line numbers
+(global-linum-mode 1)
+(setq linum-format " %d ")
+
+;; highlight current line
+(global-hl-line-mode)
+
+;; highlight matching parentheses
+(show-paren-mode 1)
+
+;; highlight lines exceeding 80 columns
+(require 'whitespace)
+(setq whitespace-style '(face empty tabs lines-tail trailing))
+(global-whitespace-mode t)
+
+;; disable word wrapping
+(setq-default truncate-lines 1)
+
+(provide 'init-appearance)
diff --git a/lisp/init-evil-mode.el b/lisp/init-evil-mode.el
new file mode 100644
index 0000000..59cff19
--- /dev/null
+++ b/lisp/init-evil-mode.el
@@ -0,0 +1,15 @@
+;; install packages
+(require-package 'evil)
+(require-package 'key-chord)
+
+;; load evil mode
+(require 'evil)
+(evil-mode 1)
+
+;; load key-chord and map jj to normal mode
+(require 'key-chord)
+(setq key-chord-two-keys-delay 0.5)
+(key-chord-define evil-insert-state-map "jj" 'evil-normal-state)
+(key-chord-mode 1)
+
+(provide 'init-evil-mode)
diff --git a/lisp/init-go-mode.el b/lisp/init-go-mode.el
new file mode 100644
index 0000000..8a74f24
--- /dev/null
+++ b/lisp/init-go-mode.el
@@ -0,0 +1,7 @@
+;; install package
+(require 'go-mode-load)
+
+;; load go-mode
+(require 'go-mode-load)
+
+(provide 'init-go-mode)
diff --git a/lisp/init-ido.el b/lisp/init-ido.el
new file mode 100644
index 0000000..41afe25
--- /dev/null
+++ b/lisp/init-ido.el
@@ -0,0 +1,31 @@
+;; install packages
+(require-package 'flx-ido)
+(require-package 'ido-vertical-mode)
+(require-package 'find-file-in-repository)
+
+;; load ido
+(require 'ido)
+(ido-mode t)
+(setq ido-enable-prefix nil
+ ido-enable-flex-matching t
+ ido-case-fold nil
+ ido-auto-merge-work-directories-length -1
+ ido-create-new-buffer 'always
+ ido-use-filename-at-point nil
+ ido-max-prospects 10
+ ido-everywhere t)
+
+;; load flx-ido
+(require 'flx-ido)
+(flx-ido-mode 1)
+;; disable ido faces to see flx highlights.
+(setq ido-use-faces nil)
+
+;; vertical mode for ido
+(require 'ido-vertical-mode)
+(ido-vertical-mode)
+
+;; find file in project
+(global-set-key (kbd "C-x f") 'find-file-in-repository)
+
+(provide 'init-ido)
diff --git a/lisp/init-mac.el b/lisp/init-mac.el
new file mode 100644
index 0000000..ba9bb2e
--- /dev/null
+++ b/lisp/init-mac.el
@@ -0,0 +1,32 @@
+;; mac-specific settings
+(when (eq system-type 'darwin)
+ ;; set font
+ (set-face-attribute 'default nil :family "Source Code Pro")
+ (set-face-attribute 'default nil :height 140)
+
+ ;; configure modifiers
+ (setq mac-option-modifier 'super)
+ (setq mac-command-modifier 'meta)
+ (setq ns-function-modifier 'hyper)
+
+ ;; Norwegian mac-keyboard
+ (define-key key-translation-map (kbd "s-8") (kbd "["))
+ (define-key key-translation-map (kbd "s-(") (kbd "{"))
+ (define-key key-translation-map (kbd "s-9") (kbd "]"))
+ (define-key key-translation-map (kbd "s-)") (kbd "}"))
+ (define-key key-translation-map (kbd "s-7") (kbd "|"))
+ (define-key key-translation-map (kbd "s-/") (kbd "\\"))
+ (define-key key-translation-map (kbd "M-s-7") (kbd "M-|")))
+
+ ;; don't open files from the workspace in a new frame
+ (setq ns-pop-up-frames nil)
+
+ ;; move deleted files to ~/.Trash
+ (setq delete-by-moving-to-trash t
+ trash-directory "~/.Trash/emacs")
+
+ ;; use path from shell
+ (require-package 'exec-path-from-shell)
+ (exec-path-from-shell-initialize)
+
+(provide 'init-mac)
diff --git a/lisp/init-package.el b/lisp/init-package.el
new file mode 100644
index 0000000..f868c0d
--- /dev/null
+++ b/lisp/init-package.el
@@ -0,0 +1,17 @@
+;; add melpa repo
+(require 'package)
+(add-to-list 'package-archives
+ '("melpa" . "http://melpa.milkbox.net/packages/") t)
+(package-initialize)
+
+;; helper function to install a package if it doesn't exist
+(defun require-package (package &optional min-version no-refresh)
+ (if (package-installed-p package min-version)
+ t
+ (if (or (assoc package package-archive-contents) no-refresh)
+ (package-install package)
+ (progn
+ (package-refresh-contents)
+ (require-package package min-version t)))))
+
+(provide 'init-package)
diff --git a/lisp/init-sane-defaults.el b/lisp/init-sane-defaults.el
new file mode 100644
index 0000000..9372972
--- /dev/null
+++ b/lisp/init-sane-defaults.el
@@ -0,0 +1,16 @@
+;; use soft tabs and 4 space indent
+(setq-default
+ tab-width 4
+ tab-stop-list (number-sequence 4 120 4)
+ indent-tabs-mode nil)
+
+;; bind return to newline-and-indent
+(global-set-key (kbd "RET") 'newline-and-indent)
+
+;; make prompts accept y or n
+(defalias 'yes-or-no-p 'y-or-n-p)
+
+;; no confirmation for non-existent files or buffers
+(setq confirm-nonexistent-file-or-buffer nil)
+
+(provide 'init-sane-defaults)
diff --git a/lisp/init-server.el b/lisp/init-server.el
new file mode 100644
index 0000000..12a223f
--- /dev/null
+++ b/lisp/init-server.el
@@ -0,0 +1,6 @@
+;; start server for emacsclient
+(require 'server)
+(unless (server-running-p)
+ (server-start))
+
+(provide 'init-server)
diff --git a/lisp/init-yaml-mode.el b/lisp/init-yaml-mode.el
new file mode 100644
index 0000000..3569998
--- /dev/null
+++ b/lisp/init-yaml-mode.el
@@ -0,0 +1,7 @@
+;; install package
+(require-package 'yaml-mode)
+
+;; load yaml-mode
+(require 'yaml-mode)
+
+(provide 'init-yaml-mode)