X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=emacs_el%2Fconfiguration%2Fdon-configuration.org;h=2f3d1ce282300936955489f6984ff358fc72092e;hb=88ecb98b11389576c0a7092450226ca8c9a4b34a;hp=a2ffaff5ad756bd3115d33c0183cbf251b98c597;hpb=1fdfb23c7c04fae72adeca65ff1375fea959abf6;p=lib.git diff --git a/emacs_el/configuration/don-configuration.org b/emacs_el/configuration/don-configuration.org index a2ffaff..2f3d1ce 100644 --- a/emacs_el/configuration/don-configuration.org +++ b/emacs_el/configuration/don-configuration.org @@ -7,36 +7,68 @@ #+BEGIN_SRC emacs-lisp (setq debug-on-event 'siguser2) #+END_SRC -* Add library paths - +* Initial startup stuff +** Disable startup screen #+BEGIN_SRC emacs-lisp - (add-to-list 'load-path '"~/lib/emacs_el/") - (add-to-list 'load-path '"~/lib/emacs_el/tiny-tools/lisp/tiny") - (add-to-list 'load-path '"~/lib/emacs_el/tiny-tools/lisp/other") - (add-to-list 'load-path '"~/lib/emacs_el/magit-annex") + (setq inhibit-startup-screen t) #+END_SRC - -* Package management -** package repositories and package manager +** Disable cluter #+BEGIN_SRC emacs-lisp - (require 'package) - (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") - ("melpa" . "https://melpa.org/packages/") - ("org" . "http://orgmode.org/elpa/") )) + ; (if (fboundp 'menu-bar-mode) (menu-bar-mode -1)) + (if (fboundp 'tool-bar-mode) (tool-bar-mode -1)) + (if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1)) #+END_SRC -** [[https://github.com/jwiegley/use-package/][use-package]] +** Fullscreen #+BEGIN_SRC emacs-lisp - (package-initialize) - (condition-case nil - (require 'use-package) - (progn (package-install 'use-package) - (require 'use-package))) + (setq frame-resize-pixelwise t) + (add-to-list 'default-frame-alist '(fullscreen . maximixed)) +#+END_SRC +* Package management +** package repositories and package manager +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) + (eval-and-compile + (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 + (package-initialize) + (unless (package-installed-p 'use-package) + (package-refresh-contents) + (package-install 'use-package)) + (let ((package-user-dir-real (file-truename package-user-dir))) + ;; The reverse is necessary, because outside we mapc + ;; add-to-list element-by-element, which reverses. + (nreverse (apply #'nconc + ;; Only keep package.el provided loadpaths. + (mapcar #'(lambda (path) + (if (string-prefix-p package-user-dir-real path) + (list path) + nil)) + load-path)))))) + + (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") + ("melpa" . "https://melpa.org/packages/") + ("org" . "http://orgmode.org/elpa/") )) + (require 'use-package) + (require 'diminish) + (require 'bind-key) #+END_SRC ** Paradox #+BEGIN_SRC emacs-lisp (use-package paradox :ensure paradox - ) + :commands (paradox-upgrade-packages paradox-list-packages) + :config (setq paradox-execute-asynchronously t) + ) +#+END_SRC +* Add library paths + +#+BEGIN_SRC emacs-lisp + (add-to-list 'load-path '"~/lib/emacs_el/") + (add-to-list 'load-path '"~/lib/emacs_el/magit-annex") #+END_SRC * Disable custom-vars #+BEGIN_SRC emacs-lisp @@ -809,7 +841,7 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ** Mutt *** Message-mode #+BEGIN_SRC emacs-lisp - (use-package message-mode + (use-package message :mode "muttng-[a-z0-9]+-[0-9]+-" :mode "mutt-[a-z0-9]+-[0-9]+-" @@ -878,10 +910,10 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori #+END_SRC ** Agenda Configuration #+BEGIN_SRC emacs-lisp - :mode "\\.\\(org\\|org_archive\\|txt\\)$" + :mode ("\\.\\(org\\|org_archive\\|txt\\)\\'" . org-mode) :bind (("C-c l" . org-store-link) ("C-c a" . org-agenda) - ("C-c b" . org-iswitchb) + ("C-c b" . org-iswitchb)) :config (setq-default org-log-done 'time) (setq-default org-agenda-ndays 5) @@ -1002,12 +1034,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (write-file "/tmp/timeline.org") (org-agenda arg "L"))) (define-key org-mode-map (kbd "C-c t") 'org-agenda-timeline-all) - ;; add automatic reminders for appointments - (defadvice org-agenda-redo (after org-agenda-redo-add-appts) - "Pressing `r' on the agenda will also add appointments." - (progn - (setq appt-time-msg-list nil) - (org-agenda-to-appt))) #+END_SRC ** General config @@ -1794,6 +1820,49 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (load-file "~/.hide/org_gcal.el")) ) ) +#+END_SRC +** appt integration +#+BEGIN_SRC emacs-lisp + (use-package appt + :config + ;; Show notification 10 minutes before event + (setq appt-message-warning-time 10) + ;; Disable multiple reminders + (setq appt-display-interval appt-message-warning-time) + (setq appt-display-mode-line nil) + + ;; add automatic reminders for appointments + (defun my/org-agenda-to-appt () + (interactive) + (setq appt-time-msg-list nil) + (org-agenda-to-appt)) + ;; add reminders when starting emacs + (my/org-agenda-to-appt) + ;; when rebuilding the agenda + (defadvice org-agenda-redo (after org-agenda-redo-add-appts) + "Pressing `r' on the agenda will also add appointments." + (my/org-agenda-to-appt) + ) + ;; when saving all org buffers + (defadvice org-save-all-org-buffers (after org-save-all-org-buffers-add-appts) + "Re-add appts after saving all org buffers" + (my/org-agenda-to-appt)) + ;; Display appointments as a window manager notification + (setq appt-disp-window-function 'my/appt-display) + (setq appt-delete-window-function (lambda () t)) + + (setq my/appt-notification-app (concat (getenv "HOME") "/bin/appt_notification")) + + (defun my/appt-display (min-to-app new-time msg) + (if (atom min-to-app) + (start-process "my/appt-notification-app" nil my/appt-notification-app min-to-app msg) + (dolist (i (number-sequence 0 (1- (length min-to-app)))) + (start-process "my/appt-notification-app" nil my/appt-notification-app + (nth i min-to-app) (nth i msg)))) + ) + ) + + #+END_SRC ** End use-package #+BEGIN_SRC emacs-lisp @@ -1845,8 +1914,8 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori #+END_SRC * Misc (uncharacterized) #+BEGIN_SRC emacs-lisp - (setq calendar-latitude 40.11) - (setq calendar-longitude -88.24) + (setq calendar-latitude 38.6) + (setq calendar-longitude -121.5) (setq case-fold-search t) (setq confirm-kill-emacs (quote y-or-n-p)) (setq cperl-lazy-help-time nil)