diff options
author | Yann Herklotz <git@yannherklotz.com> | 2022-11-20 19:14:22 +0000 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2022-11-20 19:14:22 +0000 |
commit | 386e0829c64d26df9a0d992b240c29a250df6f87 (patch) | |
tree | fd8d8e83a1a3deda369e4664facef3f3f92c25d2 | |
parent | f0f9bee1e39846461003b1ce268037b885b2a1d2 (diff) | |
download | ymh-emacs-386e0829c64d26df9a0d992b240c29a250df6f87.tar.gz ymh-emacs-386e0829c64d26df9a0d992b240c29a250df6f87.zip |
Add some configuration to org-agenda
-rw-r--r-- | init.el | 449 |
1 files changed, 243 insertions, 206 deletions
@@ -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) |