+#+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
* 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 :tangle don-configuration.el
+ (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
** 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 [33 57 north])
- (setq calendar-longitude [117 24 west])
+ (setq calendar-latitude 40.11)
+ (setq calendar-longitude -88.24)
(setq case-fold-search t)
(setq confirm-kill-emacs (quote y-or-n-p))
(setq cperl-lazy-help-time nil)
(setq debian-changelog-mailing-address "don@debian.org")
- (setq display-time t)
+ (display-time)
(setq display-time-24hr-format t)
(setq display-time-day-and-date t)
- (setq display-time-mode t)
+ (display-time-mode 1)
(setq font-latex-fontify-script nil)
(setq font-latex-fontify-sectioning (quote color))
(setq font-latex-script-display (quote (nil)))
- (setq global-auto-revert-mode t)
- (setq global-font-lock-mode t)
- (setq icomplete-mode t)
+ (global-auto-revert-mode 1)
+ (global-font-lock-mode 1)
+ (icomplete-mode 1)
(setq log-edit-keep-buffer t)
(setq mail-user-agent (quote sendmail-user-agent))
(setq markdown-enable-math t)
(setq sentence-end "[.?!][]\"')]*\\($\\| \\| \\)[
]*")
(setq sentence-end-double-space nil)
- (setq show-paren-mode t)
+ ; enable matching parenthesis
+ (show-paren-mode 1)
(tool-bar-mode -1)
(setq user-mail-address "don@donarmstrong.com")
(setq vc-delete-logbuf-window nil)
#+END_SRC
* END
-#+BEGIN_SRC emacs-lisp :tangle don-configuration.el
+#+BEGIN_SRC emacs-lisp
(provide 'don-configuration)
#+END_SRC