summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2022-11-20 19:14:22 +0000
committerYann Herklotz <git@yannherklotz.com>2022-11-20 19:14:22 +0000
commit386e0829c64d26df9a0d992b240c29a250df6f87 (patch)
treefd8d8e83a1a3deda369e4664facef3f3f92c25d2
parentf0f9bee1e39846461003b1ce268037b885b2a1d2 (diff)
downloadymh-emacs-386e0829c64d26df9a0d992b240c29a250df6f87.tar.gz
ymh-emacs-386e0829c64d26df9a0d992b240c29a250df6f87.zip
Add some configuration to org-agenda
-rw-r--r--init.el449
1 files changed, 243 insertions, 206 deletions
diff --git a/init.el b/init.el
index 6f5df08..7568eb0 100644
--- a/init.el
+++ b/init.el
@@ -1,67 +1,11 @@
+;; -*- lexical-binding: t; -*-
+
(setq user-full-name "Yann Herklotz")
(setq user-mail-address "yann@yannherklotz.com")
-(unless (string= system-type "darwin")
- (menu-bar-mode -1))
-(tool-bar-mode -1)
-(scroll-bar-mode -1)
-
-(set-face-attribute 'default nil :font "Iosevka YMHG Medium-11")
-
(setq gc-cons-threshold (* 1024 1024 1024))
-(setq-default fill-column 80)
-
-(setq tab-bar-show nil)
-(setq tab-bar-select-tab-modifiers '(meta))
-(tab-bar-mode 1)
-
-(setq inhibit-startup-message t)
-(setq confirm-nonexistent-file-or-buffer nil)
-(setq ring-bell-function 'ignore)
-(setq sentence-end-double-space t)
-(setq-default bidi-paragraph-direction 'left-to-right)
-(if (version<= "27.1" emacs-version)
- (setq bidi-inhibit-bpa t))
-;; Set up dictionaries
-(setq ispell-dictionary "british")
-
-(setq read-extended-command-predicate
- #'command-completion-default-include-p)
-
-(setq enable-recursive-minibuffers t)
-
-(setq auto-mode-alist
- (append
- (list ;;'("\\.\\(vcf\\|gpg\\)\\'" . sensitive-minor-mode)
- '("\\.sv\\'" . verilog-mode)
- '("\\.mkiv\\'" . context-mode)
- '("\\.mkii\\'" . context-mode)
- '("\\.mkxl\\'" . context-mode))
- auto-mode-alist))
-
-(setq face-remapping-alist '((proof-locked-face . region)))
-
-(fset 'yes-or-no-p 'y-or-n-p)
-
-;; Mac configuration
-(when (eq system-type 'darwin)
- (progn (setq mac-right-option-modifier 'none
- mac-command-modifier 'meta
- mac-option-modifier nil)
-
- (defun ymhg/apply-theme (appearance)
- "Load theme, taking current system APPEARANCE into consideration."
- (mapc #'disable-theme custom-enabled-themes)
- (pcase appearance
- ;;('light (load-theme 'modus-operandi t))
- ;;('dark (load-theme 'modus-vivendi t))
- ('light (load-theme 'ef-spring t))
- ('dark (load-theme 'ef-autumn t))))
-
- (add-hook 'ns-system-appearance-change-functions #'ymhg/apply-theme)))
-
-(defun prev-window ()
+(defun ymhg/prev-window ()
(interactive)
(other-window -1))
@@ -80,45 +24,27 @@
"Return the password as a string from QUERY."
(s-trim (shell-command-to-string (concat "pass show " query))))
+(defun ymhg/apply-theme (appearance)
+ "Load theme, taking current system APPEARANCE into consideration."
+ (mapc #'disable-theme custom-enabled-themes)
+ (pcase appearance
+ ;;('light (load-theme 'modus-operandi t))
+ ;;('dark (load-theme 'modus-vivendi t))
+ ('light (load-theme 'ef-spring t))
+ ('dark (load-theme 'ef-autumn t))))
+
(global-set-key (kbd "M-u") #'upcase-dwim)
(global-set-key (kbd "M-l") #'downcase-dwim)
(global-set-key (kbd "M-c") #'capitalize-dwim)
(global-set-key (kbd "C-c z") #'quick-calc)
(global-set-key (kbd "<f5>") #'revert-buffer)
(global-set-key (kbd "C-.") #'other-window)
-(global-set-key (kbd "C-,") #'prev-window)
+(global-set-key (kbd "C-,") #'ymhg/prev-window)
(global-set-key (kbd "C-\\") #'undo-only)
(global-set-key (kbd "C-c l") #'org-store-link)
-(global-set-key (kbd "C-c a") #'org-agenda)
(global-set-key (kbd "C-c c") #'org-capture)
-(defvar --backup-directory)
-(setq --backup-directory (concat user-emacs-directory "backups"))
-(if (not (file-exists-p --backup-directory))
- (make-directory --backup-directory t))
-(setq backup-directory-alist `(("." . ,--backup-directory)))
-(setq make-backup-files t ; backup of a file the first time it is saved.
- backup-by-copying t ; don't clobber symlinks
- version-control t ; version numbers for backup files
- delete-old-versions t ; delete excess backup files silently
- delete-by-moving-to-trash t
- kept-old-versions 6 ; oldest versions to keep when a new numbered backup is made (default: 2)
- kept-new-versions 9 ; newest versions to keep when a new numbered backup is made (default: 2)
- auto-save-default t ; auto-save every buffer that visits a file
- auto-save-timeout 20 ; number of seconds idle time before auto-save (default: 30)
- auto-save-interval 200 ; number of keystrokes between auto-saves (default: 300)
- )
-
-(setq vc-follow-symlinks t)
-
-(setq-default indent-tabs-mode nil)
-(setq-default tab-width 4)
-(setq-default python-indent-offset 4)
-(setq-default c-basic-offset 4)
-
-(setq line-number-display-limit 2000000)
-
(define-prefix-command 'ymh-map)
(global-set-key (kbd "C-c y") 'ymh-map)
(define-key ymh-map (kbd "o") #'ymhg/reset-coq-windows)
@@ -128,41 +54,12 @@
(define-key ymh-map (kbd "C-n") #'org-next-link)
;;(define-key y-map (kbd "C-g") #'org-zettelkasten-goto-id)
-(setq browse-url-handlers
- '(("wikipedia\\.org" . eww-browse-url)
- ("yannherklotz\\.com" . eww-browse-url)
- ("ymhg\\.org" . eww-browse-url)
- ("archlinux\\.org" . eww-browse-url)
- ("sachachua\\.com" . eww-browse-url)
- ("comonad\\.com" . eww-browse-url)
- ("drewdevault\\.com" . eww-browse-url)
- ("wordpress\\.com" . eww-browse-url)
- ("mathbabe\\.org" . eww-browse-url)
- ("ethz\\.ch" . eww-browse-url)
- ("pragmaticemacs\\.com" . eww-browse-url)))
-
(set-register ?l (cons 'file "~/.emacs.d/loader.org"))
(set-register ?m (cons 'file "~/Dropbox/org/meetings.org"))
(set-register ?i (cons 'file "~/Dropbox/org/inbox.org"))
(set-register ?p (cons 'file "~/Dropbox/org/projects.org"))
(set-register ?c (cons 'file (format-time-string "~/Dropbox/org/%Y-%m.org")))
-(setq message-send-mail-function 'message-send-mail-with-sendmail)
-(setq message-fill-column 80)
-
-(setq message-signature "Yann Herklotz
-Imperial College London
-https://yannherklotz.com")
-
-(setq auth-sources '("~/.authinfo" "~/.authinfo.gpg" "~/.netrc"))
-
-(setq mail-specify-envelope-from t)
-(setq message-sendmail-envelope-from 'header)
-(setq mail-envelope-from 'header)
-
-(setq shr-use-fonts nil)
-(setq shr-max-image-proportion 0.5)
-
(defun diary-schedule (y1 m1 d1 y2 m2 d2 dayname)
"Entry applies if date is between dates on DAYNAME.
Order of the parameters is M1, D1, Y1, M2, D2, Y2 if
@@ -175,7 +72,8 @@ https://yannherklotz.com")
(<= date1 d)
(<= d date2)
(= (calendar-day-of-week date) dayname)
- (not (calendar-check-holidays date)))
+ ;;(not (calendar-check-holidays date))
+ )
entry)))
(defun diary-last-day-of-month (date)
@@ -203,8 +101,143 @@ https://yannherklotz.com")
(straight-use-package 'use-package)
-(use-package flyspell
+(use-package emacs
+ :straight nil
+ :init
+ (setq-default fill-column 80)
+
+ (setq inhibit-startup-message t)
+ (setq confirm-nonexistent-file-or-buffer nil)
+ (setq ring-bell-function 'ignore)
+ (setq sentence-end-double-space t)
+ (setq-default bidi-paragraph-direction 'left-to-right)
+ (if (version<= "27.1" emacs-version)
+ (setq bidi-inhibit-bpa t))
+ ;; Set up dictionaries
+ (setq read-extended-command-predicate
+ #'command-completion-default-include-p)
+
+ (setq enable-recursive-minibuffers t)
+
+ (setq face-remapping-alist '((proof-locked-face . region)))
+
+ (fset 'yes-or-no-p 'y-or-n-p)
+
+ (defvar --backup-directory)
+ (setq --backup-directory (concat user-emacs-directory "backups"))
+ (if (not (file-exists-p --backup-directory))
+ (make-directory --backup-directory t))
+ (setq backup-directory-alist `(("." . ,--backup-directory)))
+ (setq make-backup-files t ; backup of a file the first time it is saved.
+ backup-by-copying t ; don't clobber symlinks
+ version-control t ; version numbers for backup files
+ delete-old-versions t ; delete excess backup files silently
+ delete-by-moving-to-trash t
+ kept-old-versions 6 ; oldest versions to keep when a new numbered backup is made (default: 2)
+ kept-new-versions 9 ; newest versions to keep when a new numbered backup is made (default: 2)
+ auto-save-default t ; auto-save every buffer that visits a file
+ auto-save-timeout 20 ; number of seconds idle time before auto-save (default: 30)
+ auto-save-interval 200 ; number of keystrokes between auto-saves (default: 300)
+ )
+
+ (setq vc-follow-symlinks t)
+
+ (setq-default indent-tabs-mode nil)
+ (setq-default tab-width 4)
+ (setq-default python-indent-offset 4)
+ (setq-default c-basic-offset 4)
+
+ (setq line-number-display-limit 2000000)
+
+ (setq auth-sources '("~/.authinfo" "~/.authinfo.gpg" "~/.netrc"))
+ :config
+ (unless (string= system-type "darwin")
+ (menu-bar-mode -1))
+ (tool-bar-mode -1)
+ (scroll-bar-mode -1)
+
+ (set-face-attribute 'default nil :font "Iosevka YMHG Medium-12")
+
+ (setq auto-mode-alist
+ (append
+ (list ;;'("\\.\\(vcf\\|gpg\\)\\'" . sensitive-minor-mode)
+ '("\\.sv\\'" . verilog-mode)
+ '("\\.mkiv\\'" . context-mode)
+ '("\\.mkii\\'" . context-mode)
+ '("\\.mkxl\\'" . context-mode))
+ auto-mode-alist))
+ ;; Mac configuration
+ (when (eq system-type 'darwin)
+ (progn (setq mac-right-option-modifier 'none
+ mac-command-modifier 'meta
+ mac-option-modifier nil)
+
+ (add-hook 'ns-system-appearance-change-functions #'ymhg/apply-theme))))
+
+(use-package shr
+ :straight nil
+ :init
+ (setq shr-use-fonts nil)
+ (setq shr-max-image-proportion 0.5))
+
+(use-package browse-url
+ :straight nil
+ :init
+ (setq browse-url-handlers
+ '(("wikipedia\\.org" . eww-browse-url)
+ ("yannherklotz\\.com" . eww-browse-url)
+ ("ymhg\\.org" . eww-browse-url)
+ ("archlinux\\.org" . eww-browse-url)
+ ("sachachua\\.com" . eww-browse-url)
+ ("comonad\\.com" . eww-browse-url)
+ ("drewdevault\\.com" . eww-browse-url)
+ ("wordpress\\.com" . eww-browse-url)
+ ("mathbabe\\.org" . eww-browse-url)
+ ("ethz\\.ch" . eww-browse-url)
+ ("pragmaticemacs\\.com" . eww-browse-url))))
+
+(use-package message
:straight nil
+ :init
+ (setq message-send-mail-function 'message-send-mail-with-sendmail)
+ (setq message-fill-column 80)
+
+ (setq message-signature "Yann Herklotz
+Imperial College London
+https://yannherklotz.com"))
+
+(use-package ispell
+ :straight nil
+ :init
+ (setq ispell-dictionary "british"))
+
+(use-package delight
+ :config
+ (delight 'auto-revert-mode nil "autorevert")
+ (delight 'eldoc-mode nil "eldoc"))
+
+(use-package project
+ :straight nil
+ :init
+ (setq project-switch-commands
+ '((project-find-file "Find file")
+ (project-find-regexp "Find regexp")
+ (project-find-dir "Find directory")
+ (project-vc-dir "VC-Dir")
+ (magit-project-status "Magit")
+ (project-eshell "Eshell")))
+ :config
+ (define-key project-prefix-map "m" #'magit-project-status))
+
+(use-package tab-bar
+ :straight nil
+ :init
+ (setq tab-bar-show nil)
+ (setq tab-bar-select-tab-modifiers '(meta))
+ :config
+ (tab-bar-mode 1))
+
+(use-package flyspell
:config
(unbind-key "C-." flyspell-mode-map)
(unbind-key "C-," flyspell-mode-map)
@@ -273,7 +306,7 @@ https://yannherklotz.com")
(use-package appt
:straight nil
- :config
+ :init
(setq appt-display-diary nil)
(setq appt-disp-window-function #'appt-disp-window)
(setq appt-display-mode-line t)
@@ -281,6 +314,7 @@ https://yannherklotz.com")
(setq appt-audible nil)
(setq appt-warning-time-regexp "appt \\([0-9]+\\)")
(setq appt-message-warning-time 15)
+ :config
(run-at-time 10 nil #'appt-activate 1))
(use-package savehist
@@ -290,7 +324,13 @@ https://yannherklotz.com")
(use-package ef-themes
:config
- (load-theme 'ef-autumn t))
+ (load-theme 'ef-autumn t)
+ )
+
+(use-package modus-themes
+ :config
+ ;;(load-theme 'modus-vivendi t)
+ )
(use-package pass
:bind (:map ymh-map
@@ -302,9 +342,7 @@ https://yannherklotz.com")
(use-package magit)
(use-package org
- :config
- (unbind-key "C-," org-mode-map)
-
+ :init
(setq org-startup-indented nil)
(setq org-src-window-setup 'current-window)
(setq org-return-follows-link t)
@@ -328,10 +366,67 @@ https://yannherklotz.com")
("d" . "definition")
("t" . "theorem")))
(setq org-attach-auto-tag "attach")
+ (setq org-reverse-note-order t)
+ (setq org-fast-tag-selection-single-key 'expert)
(setq org-log-done 'time)
(setq org-log-into-drawer t)
+ (setq org-icalendar-include-todo t)
+ (setq org-icalendar-include-bbdb-anniversaries t)
+
+ (setq org-refile-targets `(("~/Dropbox/org/main.org" :level . 1)
+ ("~/Dropbox/org/someday.org" :level . 1)
+ ("~/Dropbox/org/projects.org" :maxlevel . 2)
+ (,(format-time-string "~/Dropbox/org/%Y-%m.org") :level . 1)))
+
+ (setq org-todo-keywords
+ '((sequence
+ "TODO(t)" ; A task that needs doing & is ready to do
+ "PROJ(p)" ; A project, which usually contains other tasks
+ "STRT(s)" ; A task that is in progress
+ "WAIT(w)" ; Something external is holding up this task
+ "HOLD(h)" ; This task is paused/on hold because of me
+ "DELG(l)" ; This task is delegated
+ "SMDY(m)" ; todo some day
+ "|"
+ "DONE(d!)" ; Task successfully completed
+ "KILL(k)") ; Task was cancelled, aborted or is no longer applicable
+ (sequence
+ "[ ](T)" ; A task that needs doing
+ "[-](S)" ; Task is in progress
+ "[?](W)" ; Task is being held up or paused
+ "|"
+ "[X](D)")))
+ (setq org-todo-keyword-faces '(("[-]" . "yellow")
+ ("STRT" . (:background "aquamarine"))
+ ("[?]" . (:weight bold))
+ ("WAIT" . "yellow")
+ ("HOLD" . "yellow")
+ ("DELG" . "goldenrod")
+ ("SMDY" . "cadet blue")
+ ("PROJ" . (:background "sea green" :weight bold))
+ ("NO" . (:background "dark salmon"))
+ ("KILL" . "pale green")))
+ (setq org-html-head-include-default-style nil)
+ (setq org-html-head-include-scripts nil)
+ (setq org-html-doctype "html5")
+ (setq org-html-html5-fancy t)
+ (setq org-html-container-element "section")
+ (setq org-html-postamble-format '(("en" "")))
+ (setq org-html-postamble t)
+ (setq org-html-divs '((preamble "header" "header")
+ (content "article" "content")
+ (postamble "footer" "postamble")))
+
+ (setq org-export-with-broken-links t)
+ :config
+ (unbind-key "C-," org-mode-map))
+
+(use-package org-agenda
+ :straight nil
+ :bind ("C-c a" . org-agenda)
+ :init
(setq org-agenda-files (mapcar 'expand-file-name
(list "~/Dropbox/org/inbox.org"
"~/Dropbox/org/main.org"
@@ -349,17 +444,16 @@ https://yannherklotz.com")
(setq org-agenda-tag-filter '("-backed"))
(setq org-agenda-span 7)
(setq org-agenda-start-day ".")
- (setq org-agenda-start-on-week 1)
+ (setq org-agenda-start-on-weekday nil)
(setq org-agenda-include-diary t)
+ (setq org-agenda-skip-deadline-if-done t)
+ (setq org-agenda-skip-scheduled-if-done t)
+ (setq org-agenda-show-all-dates t))
- (setq org-icalendar-include-todo t)
- (setq org-icalendar-include-bbdb-anniversaries t)
-
- (setq org-refile-targets `(("~/Dropbox/org/main.org" :level . 1)
- ("~/Dropbox/org/someday.org" :level . 1)
- ("~/Dropbox/org/projects.org" :maxlevel . 2)
- (,(format-time-string "~/Dropbox/org/%Y-%m.org") :level . 1)))
-
+(use-package org-capture
+ :straight nil
+ :bind ("C-c c" . org-capture)
+ :init
(setq org-capture-templates
`(("t" "Todo" entry (file "inbox.org")
"* TODO %?
@@ -383,52 +477,10 @@ https://yannherklotz.com")
"* %(org-contacts-template-name)
:PROPERTIES:
:EMAIL: %(org-contacts-template-email)
- :END:" :empty-lines 1))
-
- org-todo-keywords
- '((sequence
- "TODO(t)" ; A task that needs doing & is ready to do
- "PROJ(p)" ; A project, which usually contains other tasks
- "STRT(s)" ; A task that is in progress
- "WAIT(w)" ; Something external is holding up this task
- "HOLD(h)" ; This task is paused/on hold because of me
- "DELG(l)" ; This task is delegated
- "SMDY(m)" ; todo some day
- "|"
- "DONE(d!)" ; Task successfully completed
- "KILL(k)") ; Task was cancelled, aborted or is no longer applicable
- (sequence
- "[ ](T)" ; A task that needs doing
- "[-](S)" ; Task is in progress
- "[?](W)" ; Task is being held up or paused
- "|"
- "[X](D)"))
- org-todo-keyword-faces '(("[-]" . +org-todo-active)
- ("STRT" . +org-todo-active)
- ("[?]" . +org-todo-onhold)
- ("WAIT" . +org-todo-onhold)
- ("HOLD" . +org-todo-onhold)
- ("DELG" . +org-todo-onhold)
- ("SMDY" . +org-todo-onhold)
- ("PROJ" . +org-todo-project)
- ("NO" . +org-todo-cancel)
- ("KILL" . +org-todo-cancel)))
- (setq org-html-head-include-default-style nil)
- (setq org-html-head-include-scripts nil)
- (setq org-html-doctype "html5")
- (setq org-html-html5-fancy t)
- (setq org-html-container-element "section")
- (setq org-html-postamble-format '(("en" "")))
- (setq org-html-postamble t)
- (setq org-html-divs '((preamble "header" "header")
- (content "article" "content")
- (postamble "footer" "postamble")))
-
- (setq org-export-with-broken-links t))
+ :END:" :empty-lines 1))))
(use-package org-habit
- :straight nil
- :after org)
+ :straight nil)
(use-package org-crypt
:straight nil
@@ -466,6 +518,9 @@ https://yannherklotz.com")
:config
(pdf-tools-install))
+(use-package flycheck
+ :delight flycheck-mode)
+
(use-package proof-general
:config
(setq proof-splash-enable nil)
@@ -492,12 +547,10 @@ https://yannherklotz.com")
(use-package alectryon
:hook (coq-mode . alectryon-mode)
+ :delight alectryon-mode
:config
(when (eq system-type 'darwin)
(setq alectryon-executable "/nix/store/bvlk3hyrjdgl0sg93rrdr2z71hgza0m9-python3.9-alectryon-1.4.0/bin/alectryon"))
- (map! :map alectryon-mode-map
- "C-c u t" #'alectryon-toggle
- "C-c u p" #'ymhg/alectryon-preview)
(defun ymhg/alectryon-preview ()
"Display an HTML preview of the current buffer."
(interactive)
@@ -505,7 +558,9 @@ https://yannherklotz.com")
(args `("-r" "5" "-" ,html-fname)))
(apply #'call-process-region nil nil "rst2html5" nil nil nil args)
(message "Compilation complete")
- (browse-url html-fname))))
+ (browse-url html-fname)))
+ (define-key alectryon-mode-map (kbd "C-c u t") #'alectryon-toggle)
+ (define-key alectryon-mode-map (kbd "C-c u p") #'ymhg/alectryon-preview))
(use-package rst)
@@ -526,6 +581,10 @@ https://yannherklotz.com")
(vertico-mode))
(use-package sendmail
+ :init
+ (setq mail-specify-envelope-from t)
+ (setq message-sendmail-envelope-from 'header)
+ (setq mail-envelope-from 'header)
:config
(if (eq system-type 'darwin)
(setq sendmail-program "/usr/local/bin/msmtp")
@@ -729,7 +788,8 @@ https://yannherklotz.com")
(use-package geiser
:config
;;(unbind-key "C-." geiser-mode-map)
- (unbind-key "C-." geiser-repl-mode-map))
+ ;;(unbind-key "C-." geiser-repl-mode-map)
+ )
(use-package geiser-chicken
:config
@@ -737,28 +797,5 @@ https://yannherklotz.com")
(setq gc-cons-threshold (* 1024 1024 10))
-(custom-set-variables
- ;; custom-set-variables was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- '(org-agenda-files
- '("/home/ymherklotz/Dropbox/org/inbox.org" "/home/ymherklotz/Dropbox/org/main.org" "/home/ymherklotz/Dropbox/org/tickler.org" "/home/ymherklotz/Dropbox/org/projects.org" "/home/ymherklotz/Dropbox/bibliography/reading_list.org"))
- '(safe-local-variable-values
- '((eval setq org-ref-pdf-directory
- (concat
- (projectile-project-root)
- "papers/"))
- (eval setq org-attach-id-dir
- (concat
- (locate-dominating-file
- (buffer-file-name)
- ".dir-locals.el")
- "data"))
- (eval add-hook 'before-save-hook #'org-zettelkasten-update-modified nil t))))
-(custom-set-faces
- ;; custom-set-faces was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- )
+(setq custom-file (concat user-emacs-directory "custom.el"))
+(load custom-file)