]> git.donarmstrong.com Git - lib.git/blob - emacs_el/configuration/don-configuration.org
update org files
[lib.git] / emacs_el / configuration / don-configuration.org
1 * Add library paths
2
3 #+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
4   (add-to-list 'load-path '"~/lib/emacs_el/")
5   (add-to-list 'load-path '"~/lib/emacs_el/helm")
6   (add-to-list 'load-path '"~/lib/emacs_el/tiny-tools/lisp/tiny")
7   (add-to-list 'load-path '"~/lib/emacs_el/tiny-tools/lisp/other")
8 #+END_SRC
9
10
11 * Misc functions
12 ** with-library
13 #+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
14 ;; From http://www.emacswiki.org/emacs/LoadingLispFiles
15 ;; execute conditional code when loading libraries
16 (defmacro with-library (symbol &rest body)
17   `(when (require ,symbol nil t)
18      ,@body))
19 (put 'with-library 'lisp-indent-function 1)
20 #+END_SRC
21
22
23
24 * Modules
25 ** Tinyprocmail
26
27 #+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
28   ;; load tinyprocmail
29   (with-library 'tinyprocmail
30     ; (setq tinyprocmail--procmail-version "v3.22")
31     (add-hook 'tinyprocmail--load-hook 'tinyprocmail-install))
32 #+END_SRC
33
34 ** Perl
35 #+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
36   (require 'cperl-mode)
37   ;; Use c-mode for perl .xs files
38   (add-to-list 'auto-mode-alist '("\\.xs\\'" . c-mode))
39   (add-to-list 'auto-mode-alist '("\\.\\([pP][Llm]\\|al\\)\\'" . cperl-mode))
40   (add-to-list 'interpreter-mode-alist '("perl" . cperl-mode))
41   (add-to-list 'interpreter-mode-alist '("perl5" . cperl-mode))
42   (add-to-list 'interpreter-mode-alist '("miniperl" . cperl-mode))
43   (setq cperl-hairy t
44         cperl-indent-level 4
45         cperl-auto-newline nil
46         cperl-auto-newline-after-colon nil
47         cperl-continued-statement-offset 4
48         cperl-brace-offset -1
49         cperl-continued-brace-offset 0
50         cperl-label-offset -4
51         cperl-highlight-variables-indiscriminately t
52         cperl-electric-lbrace-space nil
53         cperl-indent-parens-as-block nil
54         cperl-close-paren-offset -1
55         cperl-tab-always-indent t)
56   ;(add-hook 'cperl-mode-hook (lambda () (cperl-set-style "PerlStyle")))
57 #+END_SRC
58
59 ** Helm
60 #+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
61 (require 'don-helm)
62 #+END_SRC
63 ** Hydra
64 #+BEGIN_SRC emacs-lisp :tangle don-configuration.el
65 (require 'don-hydra)
66 #+END_SRC
67
68 ** Tramp
69 #+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
70   (add-to-list 'tramp-methods '("vcsh"
71                                 (tramp-login-program "vcsh")
72                                 (tramp-login-args
73                                  (("enter")
74                                   ("%h")))
75                                 (tramp-remote-shell "/bin/sh")
76                                 (tramp-remote-shell-args
77                                  ("-c"))))
78 #+END_SRC
79 * Keybindings
80 ** Override other things
81 #+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
82   ; apparently things like to step on C-;, so we'll use a hack from
83   ; http://stackoverflow.com/questions/683425/globally-override-key-binding-in-emacs/5340797#5340797 to fix this
84
85   (defvar my-keys-minor-mode-map (make-keymap) "my-keys-minor-mode keymap.")
86
87   ; use iedit everywhere
88   (define-key my-keys-minor-mode-map (kbd "C-;") 'iedit-mode)
89   ;; use outline mode keybindings everywhere
90   (define-key my-keys-minor-mode-map (kbd "C-;") 'my/mydra-outline/body)
91
92   (define-minor-mode my-keys-minor-mode
93     "A minor mode so that my key settings override annoying major modes."
94     t " my-keys" 'my-keys-minor-mode-map)
95
96   (my-keys-minor-mode 1)
97   (defun my-minibuffer-setup-hook ()
98     (my-keys-minor-mode 0))
99
100   (add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook)
101   (defadvice load (after give-my-keybindings-priority)
102     "Try to ensure that my keybindings always have priority."
103     (if (not (eq (car (car minor-mode-map-alist)) 'my-keys-minor-mode))
104         (let ((mykeys (assq 'my-keys-minor-mode minor-mode-map-alist)))
105           (assq-delete-all 'my-keys-minor-mode minor-mode-map-alist)
106           (add-to-list 'minor-mode-map-alist mykeys))))
107   (ad-activate 'load)
108 #+END_SRC
109
110 * END
111 #+BEGIN_SRC emacs-lisp  :tangle don-configuration.el
112   (provide 'don-configuration)
113 #+END_SRC