Borrowed from https://github.com/nilcons/emacs-use-package-fast/ to
load [[https://github.com/jwiegley/use-package/][use-package]] even faster
#+BEGIN_SRC emacs-lisp
- (setq package-enable-at-startup nil)
- (setq package--init-file-ensured t)
- (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
- ("melpa" . "https://melpa.org/packages/")
- ("org" . "http://orgmode.org/elpa/") ))
(eval-and-compile
+ ;; add /etc/ssl/ca-global/ca-certificates.crt so that we can
+ ;; download packages when we're on Debian hosts which chop down the
+ ;; list of available certificates
+ (require 'gnutls)
+ (add-to-list 'gnutls-trustfiles "/etc/ssl/ca-global/ca-certificates.crt")
+ (setq package-enable-at-startup nil)
+ (setq package--init-file-ensured t)
+ (setq package-user-dir "~/var/emacs/elpa")
+ (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
+ ("melpa" . "https://melpa.org/packages/")
+ ("org" . "http://orgmode.org/elpa/")))
(setq use-package-verbose (not (bound-and-true-p byte-compile-current-file))))
(mapc #'(lambda (add) (add-to-list 'load-path add))
(eval-when-compile
nil))
load-path))))))
- (require 'use-package)
+ ;;; fix up info paths for packages
+ (with-eval-after-load "info"
+ (info-initialize)
+ (dolist (dir (directory-files package-user-dir))
+ (let ((fdir (concat (file-name-as-directory package-user-dir) dir)))
+ (unless (or (member dir '("." ".." "archives" "gnupg"))
+ (not (file-directory-p fdir))
+ (not (file-exists-p (concat (file-name-as-directory fdir) "dir"))))
+ (add-to-list 'Info-directory-list fdir)))))
+
+
+ (eval-when-compile
+ (require 'use-package))
(require 'diminish)
(require 'bind-key)
#+END_SRC
* Variables
** Safe Local Variables
#+BEGIN_SRC emacs-lisp
- (setq safe-local-variable-values
- (quote ((auto-save-default)
- (make-backup-files)
- (cperl-indent-level . 4)
- (indent-level . 4)
- (indent-tabs-mode . f)
- )))
+(setq safe-local-variable-values
+ (quote ((auto-save-default)
+ (make-backup-files)
+ (cperl-indent-level . 4)
+ (indent-level . 4)
+ (indent-tabs-mode . f)
+ (vcl-indent-level . 4)
+ )))
#+END_SRC
* Memory
#+BEGIN_SRC emacs-lisp
(add-hook 'minibuffer-exit-hook #'don/minibuffer-exit-hook)
#+END_SRC
* Modules
+** Spacemacs theme
+#+BEGIN_SRC emacs-lisp
+(use-package spacemacs-theme
+ :ensure t
+ :init
+ (load-theme 'spacemacs-dark)
+ )
+#+END_SRC
** Hippie Expand
#+BEGIN_SRC emacs-lisp
(use-package hippie-exp
*** Avy
#+BEGIN_SRC emacs-lisp
(use-package avy
+ :if (>= emacs-major-version 25)
:ensure t
:bind (("C-c C-<SPC>" . avy-goto-word-or-subword-1)
("C-c j j" . avy-goto-word-or-subword-1)
*** Auto-YASnippet
#+BEGIN_SRC emacs-lisp
(use-package auto-yasnippet
+ :ensure t
:bind (("H-w" . aya-create)
("H-y" . aya-expand)
)
#+END_SRC
** Company
#+BEGIN_SRC emacs-lisp
- (use-package company
- :ensure t
- :bind (("M-/" . company-complete))
- :config
- (setq company-echo-delay 0 ; remove blinking
- company-show-numbers t ; show numbers for easy selection
- company-selection-wrap-around t
- company-require-match nil
- company-dabbrev-ignore-case t
- company-dabbrev-ignore-invisible t
- company-dabbrev-other-buffers t
- company-dabbrev-downcase nil
- company-dabbrev-code-everywhere t
- company-tooltip-align-annotations t
- company-minimum-prefix-length 1
- company-global-modes '(not)
- company-lighter-base "(C)")
- (global-company-mode 1)
-
- (bind-key "C-n" #'company-select-next company-active-map)
- (bind-key "C-p" #'company-select-previous company-active-map)
- (bind-key "<tab>" #'company-complete company-active-map)
- (bind-key "M-?" #'company-show-doc-buffer company-active-map)
- (bind-key "M-." #'company-show-location company-active-map)
- (bind-key "M-/" #'company-complete-common org-mode-map)
- )
+(use-package company
+ :ensure t
+ :bind (("M-/" . company-complete))
+ :config
+ (setq company-echo-delay 0 ; remove blinking
+ company-show-numbers t ; show numbers for easy selection
+ company-selection-wrap-around t
+ company-require-match nil
+ company-dabbrev-ignore-case t
+ company-dabbrev-ignore-invisible t
+ company-dabbrev-other-buffers t
+ company-dabbrev-downcase nil
+ company-dabbrev-code-everywhere t
+ company-tooltip-align-annotations t
+ company-minimum-prefix-length 1
+ company-global-modes '(not)
+ company-lighter-base "(C)")
+ (global-company-mode 1)
+ :bind (:map company-active-map
+ ("C-n" . company-select-next)
+ ("C-p" . company-select-previous)
+ ("M-?" . company-show-doc-buffer)
+ ("M-." . company-show-location)
+ )
+ )
#+END_SRC
*** C/C++
#+BEGIN_SRC emacs-lisp
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
)
#+END_SRC
+** Do the Right Thing Indenting
+Attempts to automatically identify the right indentation for a file
+#+BEGIN_SRC emacs-lisp
+(use-package dtrt-indent
+ :ensure t
+)
+#+END_SRC
** VCL --editing varnish configuration files
#+BEGIN_SRC emacs-lisp
(use-package vcl-mode
** Web Mode
#+BEGIN_SRC emacs-lisp
(use-package web-mode
+ :load-path "/home/don/projects/web-mode/"
+ :mode ("\\.\\(tx|tmpl\\)\\'" . web-mode)
:config
(add-to-list 'auto-mode-alist '("\\.tmpl\\'" . web-mode))
(setq web-mode-enable-engine-detection t)
(setq default-abbrev-mode t))
#+END_SRC
+** Go language
+#+BEGIN_SRC emacs-lisp
+(use-package go-mode
+ :diminish "go"
+ :mode "\\.go"
+ )
+#+END_SRC
+
* Email
** Mutt
*** Message-mode
(setq-default org-log-done 'time)
(setq-default org-agenda-ndays 5)
+ (setq org-agenda-sticky t)
+ (defun dla/show-org-agenda ()
+ (interactive)
+ (let (agendabuffer
+ '(delq nil
+ (mapcar (lambda (x)
+ (and (string-match-p
+ "\*Org Agenda.*\*"
+ (buffer-name x))
+ x)
+ )
+ (buffer-list))))
+ (if agendabuffer
+ (switch-to-buffer
+ (buffer-name agendabuffer))
+ (org-agenda-list)))
+ (delete-other-windows))
+
;; agenda configuration
;; Do not dim blocked tasks
(setq org-agenda-dim-blocked-tasks nil)
"~/projects/org-notes/wildman.org"
"~/projects/org-notes/uddin.org"
"~/projects/org-notes/reviews.org"
+ "~/projects/org-notes/laurel.org"
+ "~/projects/org-notes/from-calendar.org"
"~/org-mode/from-mobile.org"
"~/projects/org-notes/fh.org")))
("<f9> I" . bh/punch-in)
("<f9> O" . bh/punch-out)
("<f9> SPC" . bh/clock-in-last-task)
- ("<f12>" . org-agenda)
+ ("<f12>" . dla/show-org-agenda)
;; ("<f5>" . bh/org-todo)
("<S-f5>" . bh/widen)
("<f7>" . bh/set-truncate-lines)
("<f8>" . org-cycle-agenda-files)
- ("<f9> <f9>" . org-agenda)
+ ("<f9> <f9>" . dla/show-org-agenda)
("<f9> b" . bbdb)
("<f9> c" . calendar)
("<f9> f" . boxquote-insert-file)
; (lambda ()
; (add-hook 'before-save-hook 'my/org-add-ids-to-headlines-in-file nil 'local)))
#+END_SRC
+** Org ID locations
+#+BEGIN_SRC emacs-lisp
+(use-package find-lisp
+ :ensure t)
+(setq org-agenda-text-search-extra-files
+ (append '(agenda-archives)
+ (find-lisp-find-files "~/projects/org-notes" "\.org$")
+ (find-lisp-find-files "~/projects/org-notes" "\.org_archive$")
+ ))
+#+END_SRC
** Keywords (TODO)
#+BEGIN_SRC emacs-lisp
(setq org-todo-keywords
#+END_SRC
** General Org Babel Configuration
#+BEGIN_SRC emacs-lisp
- ;; org babel support
- (org-babel-do-load-languages
- 'org-babel-load-languages
- '((emacs-lisp . t )
- (R . t)
- (latex . t)
- (ditaa . t)
- (dot . t)
- ))
- ;; use graphviz-dot for dot things
- (add-to-list 'org-src-lang-modes '("dot" . graphviz-dot))
- ;; org-babel-by-backend
- (defmacro org-babel-by-backend (&rest body)
- `(case (if (boundp 'backend)
- (org-export-backend-name backend)
- nil) ,@body))
-
- (defun my/fix-inline-images ()
- (when org-inline-image-overlays
- (org-redisplay-inline-images)))
-
- (add-hook 'org-babel-after-execute-hook
- 'my/fix-inline-images)
+;; org babel support
+(org-babel-do-load-languages
+ 'org-babel-load-languages
+ '((emacs-lisp . t )
+ (R . t)
+ (latex . t)
+ (ditaa . t)
+ (dot . t)
+ ))
+;; set the right path to ditaa.jar
+(setq org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar")
+;; use graphviz-dot for dot things
+(add-to-list 'org-src-lang-modes '("dot" . graphviz-dot))
+;; do not indent begin_src blocks
+(setq org-edit-src-content-indentation 0)
+;; org-babel-by-backend
+(defmacro org-babel-by-backend (&rest body)
+ `(case (if (boundp 'backend)
+ (org-export-backend-name backend)
+ nil) ,@body))
+
+(defun my/fix-inline-images ()
+ (when org-inline-image-overlays
+ (org-redisplay-inline-images)))
+
+(add-hook 'org-babel-after-execute-hook
+ 'my/fix-inline-images)
#+END_SRC
** LaTeX configuration
#+END_SRC
** Org-Gcal
#+BEGIN_SRC emacs-lisp
- (use-package calfw
- :ensure f
- )
- (use-package calfw-org
- :ensure f
- )
- (use-package org-gcal
- :ensure f
- :config '((if (file-readable-p "~/.hide/org_gcal.el")
- (load-file "~/.hide/org_gcal.el"))
- )
- )
+(use-package calfw
+ :ensure f
+ )
+(use-package calfw-org
+ :ensure f
+ )
+(use-package org-gcal
+ :if (file-readable-p "~/.hide/org_gcal.el")
+ :ensure f
+ :config '((if (file-readable-p "~/.hide/org_gcal.el")
+ (load-file "~/.hide/org_gcal.el"))
+ )
+ )
#+END_SRC
** appt integration
#+BEGIN_SRC emacs-lisp
(setq case-fold-search t)
(setq confirm-kill-emacs (quote y-or-n-p))
(setq cperl-lazy-help-time nil)
- (display-time)
- (setq display-time-24hr-format t)
- (setq display-time-day-and-date t)
- (display-time-mode 1)
(global-font-lock-mode 1)
(icomplete-mode 1)
(setq log-edit-keep-buffer t)