+#+PROPERTY: header-args:emacs-lisp :tangle don-configuration.el
* Load debugger
# if for some reason, things get pear-shaped, we want to be able to
# enter the debugger by sending -USR2 to emacs
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(setq debug-on-event 'siguser2)
#+END_SRC
* Add library paths
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(add-to-list 'load-path '"~/lib/emacs_el/")
(add-to-list 'load-path '"~/lib/emacs_el/helm")
(add-to-list 'load-path '"~/lib/emacs_el/tiny-tools/lisp/tiny")
(add-to-list 'load-path '"~/lib/emacs_el/polymode")
#+END_SRC
-
+* Package management
+** package repositories and package manager
+#+BEGIN_SRC emacs-lisp
+ (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
+ ("melpa" . "https://melpa.org/packages/")
+ ("org" . "http://orgmode.org/elpa/") ))
+ (package-initialize)
+#+END_SRC
+** [[https://github.com/jwiegley/use-package/][use-package]]
+#+BEGIN_SRC emacs-lisp
+ (require 'use-package)
+#+END_SRC
+** Paradox
+#+BEGIN_SRC emacs-lisp
+ (use-package paradox
+ :ensure paradox
+ )
+#+END_SRC
* Misc functions
** with-library
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
;; From http://www.emacswiki.org/emacs/LoadingLispFiles
;; execute conditional code when loading libraries
(defmacro with-library (symbol &rest body)
#+END_SRC
+* Memory
+#+BEGIN_SRC emacs-lisp
+ (setq global-mark-ring-max 128
+ mark-ring-max 128
+ kill-ring-max 128)
+
+ (defun don/minibuffer-setup-hook ()
+ (setq gc-cons-threshold most-positive-fixnum))
+ (defun don/minibuffer-exit-hook ()
+ (setq gc-cons-threshold 1048576))
+
+ (add-hook 'minibuffer-setup-hook #'don/minibuffer-setup-hook)
+ (add-hook 'minibuffer-exit-hook #'don/minibuffer-exit-hook)
+#+END_SRC
* Modules
+** Winnermode
+#+BEGIN_SRC emacs-lisp
+(winner-mode 1)
+#+END_SRC
** Tinyprocmail
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
;; load tinyprocmail
(with-library 'tinyprocmail
; (setq tinyprocmail--procmail-version "v3.22")
#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
; don't verify where we are pushing
(setq magit-push-always-verify nil)
+ ;; refine diffs always (hilight words)
+ (setq magit-diff-refine-hunk 'all)
+ ;; load magit-annex
+ (setq load-path
+ (append '("~/lib/emacs_el/magit-annex")
+ load-path))
+ (require 'magit-annex)
#+END_SRC
** Perl
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(require 'cperl-mode)
;; Use c-mode for perl .xs files
(add-to-list 'auto-mode-alist '("\\.xs\\'" . c-mode))
#+END_SRC
** Helm
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(require 'don-helm)
#+END_SRC
** Hydra
#+END_SRC
** Tramp
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(add-to-list 'tramp-methods '("vcsh"
(tramp-login-program "vcsh")
(tramp-login-args
("-c"))))
#+END_SRC
** LaTeX
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(load "auctex.el" nil t t)
(load "preview-latex.el" nil t t)
(load "latex.el" nil t t)
#+END_SRC
** Org
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(require 'org-mode-configuration)
#+END_SRC
** ESS
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(require 'ess_configuration)
#+END_SRC
** Polymode
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(setq load-path
(append '("~/lib/emacs_el/polymode/modes")
load-path))
* Keybindings
** Override other things
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
; apparently things like to step on C-;, so we'll use a hack from
; http://stackoverflow.com/questions/683425/globally-override-key-binding-in-emacs/5340797#5340797 to fix this
#+END_SRC
* Misc (uncharacterized)
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(setq bibtex-user-optional-fields (quote (("annote" "Personal annotation (ignored)") ("abstract" "") ("pmid" "") ("doi" ""))))
(setq calendar-latitude 40.11)
(setq calendar-longitude -88.24)
#+END_SRC
* END
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(provide 'don-configuration)
#+END_SRC