Cumulative changes
This commit is contained in:
parent
218a8023cb
commit
0d1968fb55
61
config.el
61
config.el
@ -21,19 +21,14 @@
|
||||
;;
|
||||
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
|
||||
;; font string. You generally only need these two:
|
||||
(setq doom-font (font-spec :family "Fira Mono" :size 14.0))
|
||||
(setq doom-font (font-spec :family "Fira Mono" :size 14.0)
|
||||
doom-variable-pitch-font (font-spec :family "Liberation Serif" :size 16.0))
|
||||
|
||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||
;; `load-theme' function. This is the default:
|
||||
(setq doom-theme 'doom-solarized-light)
|
||||
|
||||
;; TODO: Restore session at startup
|
||||
;; (add-hook 'window-setup-hook #'doom-load-session 'append)
|
||||
|
||||
;; If you use `org' and don't want your org files in the default location below,
|
||||
;; change `org-directory'. It must be set before org loads!
|
||||
|
||||
;; https://github.com/hlissner/doom-emacs/issues/4832
|
||||
;; (after! org
|
||||
;; (defun +org--restart-mode-h ()
|
||||
@ -47,6 +42,10 @@
|
||||
;; change `org-directory'. It must be set before org loads!
|
||||
(setq org-directory "~/Nextcloud/org/")
|
||||
|
||||
(after! org
|
||||
;; Store org links to info pages
|
||||
(add-to-list 'org-modules 'ol-info))
|
||||
|
||||
;; (defun max/org-gtd--incubate ()
|
||||
;; "Process GTD inbox item by incubating it.
|
||||
;; Allow the user apply user-defined tags from
|
||||
@ -96,8 +95,8 @@
|
||||
;; (autoload #'org-pomodoro-active-p "org-pomodoro" nil t)
|
||||
|
||||
|
||||
(map! :map evil-org-agenda-mode-map
|
||||
:m "c p" #'org-agenda-set-property)
|
||||
;; (map! :map evil-org-agenda-mode-map
|
||||
;; :m "c p" #'org-agenda-set-property)
|
||||
|
||||
;; (defun max/skip-habits ()
|
||||
;; "Skip trees that are habits."
|
||||
@ -227,7 +226,6 @@
|
||||
(use-package! org-inline-pdf
|
||||
:hook (org-mode . org-inline-pdf-mode))
|
||||
|
||||
|
||||
(use-package! indium
|
||||
:hook ((js-mode typescript-mode) . indium-interaction-mode)
|
||||
:init
|
||||
@ -235,8 +233,7 @@
|
||||
:config
|
||||
(map! :localleader
|
||||
:map indium-interaction-mode-map
|
||||
"I" #'indium-launch)
|
||||
)
|
||||
"I" #'indium-launch))
|
||||
|
||||
;; (use-package! ox-mm
|
||||
;; :after org)
|
||||
@ -310,6 +307,14 @@
|
||||
;; ;; (add-hook 'kill-emacs-hook 'org-caldav-sync-at-close)
|
||||
;; )
|
||||
|
||||
(use-package! org-roam-ui
|
||||
:after org-roam
|
||||
:config
|
||||
(setq org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start t))
|
||||
|
||||
(setq +org-roam-open-buffer-on-find-file nil)
|
||||
|
||||
(after! org-roam
|
||||
@ -363,10 +368,15 @@
|
||||
citar-notes-paths `(,org-roam-directory)
|
||||
citar-bibliography '("~/Nextcloud/Papers/library.bib")))
|
||||
|
||||
(use-package citar-org-roam
|
||||
(use-package! citar-org-roam
|
||||
:after citar org-roam
|
||||
:no-require
|
||||
:config (citar-org-roam-mode))
|
||||
:config
|
||||
(setq citar-org-roam-subdir "reference")
|
||||
(citar-org-roam-mode))
|
||||
|
||||
(use-package! nov
|
||||
:mode ("\\.epub\\'" . nov-mode))
|
||||
|
||||
;; Taken from: https://github.com/hlissner/doom-emacs/pull/6077
|
||||
;; (use-package! org-roam-bibtex
|
||||
@ -411,6 +421,9 @@
|
||||
(after! projectile
|
||||
(setq projectile-project-search-path '(("~/Projects" . 1))))
|
||||
|
||||
(after! typescript-mode
|
||||
(setq typescript-indent-level 2))
|
||||
|
||||
;; (setq ns-auto-hide-menu-bar t)
|
||||
|
||||
;(defun switch-to-agenda ()
|
||||
@ -511,6 +524,11 @@
|
||||
|
||||
(setq +workspaces-on-switch-project-behavior t)
|
||||
|
||||
(map! :leader
|
||||
(:prefix "TAB"
|
||||
:desc "Move workspace left" ">" #'+workspace/swap-right
|
||||
:desc "Move workspace left" "<" #'+workspace/swap-left))
|
||||
|
||||
(after! evil-snipe
|
||||
(setq evil-snipe-spillover-scope 'visible))
|
||||
|
||||
@ -523,6 +541,21 @@
|
||||
|
||||
(advice-add #'restart-emacs--get-emacs-binary :override #'max/restart-emacs--get-emacs-binary))
|
||||
|
||||
(after! yasnippet
|
||||
(setq yas-triggers-in-field t))
|
||||
|
||||
(use-package! moinmoin-mode
|
||||
:mode ("\\.wiki" . moinmoin-mode))
|
||||
|
||||
(use-package! centered-cursor-mode
|
||||
:config
|
||||
(setq ccm-recenter-at-end-of-file t)
|
||||
(map! :leader :desc "Centered cursor mode" "t -" #'centered-cursor-mode))
|
||||
|
||||
(with-eval-after-load 'doom-themes
|
||||
(doom-themes-neotree-config)
|
||||
(setq doom-themes-neotree-enable-variable-pitch nil))
|
||||
|
||||
;; (server-start)
|
||||
|
||||
;; (use-package! mac-pseudo-daemon
|
||||
|
1
email.el
1
email.el
@ -103,6 +103,7 @@
|
||||
;; Sign sent email automatically
|
||||
;; (add-hook 'message-send-hook 'mml-secure-message-sign-smime)
|
||||
|
||||
(require 'khalel-icalendar)
|
||||
)
|
||||
|
||||
;; (defun max/mu4e-view-import-attachment-calendar (msg attnum)
|
||||
|
83
gtd.el
83
gtd.el
@ -1,18 +1,19 @@
|
||||
;;; gtd.el -*- lexical-binding: t; -*-
|
||||
|
||||
(require 'org)
|
||||
|
||||
(after! org
|
||||
(setq org-return-follows-link t
|
||||
org-complete-tags-always-offer-all-agenda-tags t
|
||||
org-agenda-files (append (mapcar 'file-truename
|
||||
(file-expand-wildcards (concat org-directory "gtd/*.org")))
|
||||
(list (expand-file-name (funcall #'gtd-get-current-journal) org-directory))))
|
||||
|
||||
org-agenda-files (mapcar 'file-truename
|
||||
(file-expand-wildcards (concat org-directory "gtd/*.org"))))
|
||||
;; org-agenda-files (append (mapcar 'file-truename
|
||||
;; (file-expand-wildcards (concat org-directory "gtd/*.org")))
|
||||
;; (list (expand-file-name (funcall #'gtd-get-current-journal) org-directory))))
|
||||
(setq org-capture-templates
|
||||
`(("i" "Inbox" entry (file "gtd/inbox.org")
|
||||
,(concat "* %?\n"
|
||||
":PROPERTIES:\n:CREATED: %U\n:END:") :prepend t)
|
||||
("j" "Journal" entry (file+datetree ,(gtd-get-current-journal))
|
||||
;; ("j" "Journal" entry (file+datetree ,(funcall #'gtd-get-current-journal))
|
||||
("j" "Journal" entry (file+datetree "gtd/journal.org")
|
||||
,(concat "* %?\n"
|
||||
":PROPERTIES:\n:CREATED: %U\n:END:"))
|
||||
("@" "Inbox [mu4e]" entry (file "gtd/inbox.org")
|
||||
@ -25,7 +26,7 @@
|
||||
;; org-refile-target-verify-function nil
|
||||
;; org-refile-targets '(("tasks.org" . (:maxlevel . 2))))
|
||||
org-refile-targets '(("tasks.org" . (:maxlevel . 2))
|
||||
("someday.org" . (:level . 0))))
|
||||
("someday.org" . (:level . 0)))))
|
||||
|
||||
(defun gtd-capture-inbox ()
|
||||
(interactive)
|
||||
@ -50,6 +51,7 @@
|
||||
|
||||
;; Insert CREATED property timestamps for non-captured headlines
|
||||
(use-package! org-expiry
|
||||
:after org
|
||||
:config
|
||||
(map! :map org-mode-map
|
||||
"C-c c" #'org-expiry-insert-created)
|
||||
@ -57,13 +59,15 @@
|
||||
|
||||
;; Automatically trigger state changes in projects
|
||||
(use-package! org-edna
|
||||
:after org
|
||||
:config
|
||||
(setq org-edna-use-inheritance t)
|
||||
(org-edna-mode))
|
||||
(org-edna-mode)
|
||||
(setq org-edna-use-inheritance t))
|
||||
|
||||
(use-package! org-super-agenda
|
||||
:after org
|
||||
:config
|
||||
(org-super-agenda-mode)
|
||||
(setq org-agenda-window-setup 'current-window
|
||||
org-agenda-restore-windows-after-quit t
|
||||
org-agenda-block-separator nil
|
||||
@ -77,6 +81,7 @@
|
||||
((org-agenda-skip-function
|
||||
'(org-agenda-skip-entry-if 'deadline))
|
||||
(org-deadline-warning-days 0)))
|
||||
;; TODO combine the two queries into one
|
||||
(tags "inbox" ((org-agenda-overriding-header "")
|
||||
(org-agenda-prefix-format " %?-14t% s")
|
||||
(org-super-agenda-groups
|
||||
@ -84,7 +89,7 @@
|
||||
:anything t)))))
|
||||
(alltodo "" ((org-agenda-overriding-header "")
|
||||
(org-agenda-prefix-format " %i %-14:c ")
|
||||
(org-agenda-sorting-strategy '(category-up))
|
||||
;; (org-agenda-sorting-strategy '(category-up))
|
||||
(org-agenda-skip-function
|
||||
'(org-agenda-skip-entry-if 'scheduled))
|
||||
(org-super-agenda-groups
|
||||
@ -99,7 +104,7 @@
|
||||
(:discard (:anything t)))))))))))
|
||||
|
||||
;; Automatically save gtd files after some actions on them
|
||||
;; Taken from: https://www.labri.fr/perso/nrougier/GTD/index.html
|
||||
;; Source: https://www.labri.fr/perso/nrougier/GTD/index.html
|
||||
(defun gtd-save-org-buffers ()
|
||||
"Save `org-agenda-files' buffers without user confirmation.
|
||||
See also `org-save-all-org-buffers'"
|
||||
@ -110,31 +115,28 @@ See also `org-save-all-org-buffers'"
|
||||
t)))
|
||||
(message "Saving org-agenda-files buffers... done"))
|
||||
|
||||
(after! org
|
||||
(advice-add 'org-refile :after (lambda (&rest _) (gtd-save-org-buffers)))
|
||||
(advice-add 'org-todo :after (lambda (&rest _) (gtd-save-org-buffers)))
|
||||
(advice-add 'org-add-note :after (lambda (&rest _) (gtd-save-org-buffers)))
|
||||
(advice-add 'org-clock-in :after (lambda (&rest _) (gtd-save-org-buffers)))
|
||||
|
||||
(map! :map 'override
|
||||
"<f1>" #'gtd-agenda)
|
||||
(advice-add 'org-clock-in :after (lambda (&rest _) (gtd-save-org-buffers))))
|
||||
|
||||
(defun gtd-agenda ()
|
||||
(interactive)
|
||||
(org-agenda nil "g"))
|
||||
|
||||
;; (defun gtd-archive-subtree ()
|
||||
;; "Archive the current subtree to a yearly journal."
|
||||
;; (when (not (equal "DONE" (org-get-todo-state)))
|
||||
;; (org-todo "DONE"))
|
||||
(map! :map 'override
|
||||
"<f1>" #'gtd-agenda)
|
||||
|
||||
;; Archiving
|
||||
;;
|
||||
;;; Archiving
|
||||
|
||||
(defun gtd-get-current-journal ()
|
||||
"Returns journal file as a string for the current year."
|
||||
(let ((year (number-to-string (caddr (calendar-current-date)))))
|
||||
(concat "journal/" year ".org")))
|
||||
;; Store archived entries in <current_file>.org_archive in a datetree
|
||||
(after! org
|
||||
(setq org-archive-location "%s_archive::datetree/"))
|
||||
|
||||
(setq org-archive-location (concat (funcall #'gtd-get-current-journal) "::datetree/"))
|
||||
;;
|
||||
;;; Calendar
|
||||
|
||||
(defun max/khalel--insert-import-file-header (sdate edate)
|
||||
"Insert imported events file header information into current buffer.
|
||||
@ -146,12 +148,7 @@ the current import date range."
|
||||
(insert (format "*Events scheduled between %s and %s*:\n" sdate edate)))
|
||||
|
||||
(use-package! khalel
|
||||
:commands (khalel-export-org-subtree-to-calendar
|
||||
khalel-import-events
|
||||
khalel-edit-calender-event
|
||||
khalel-add-capture-template)
|
||||
:init
|
||||
(khalel-add-capture-template)
|
||||
:after org
|
||||
:config
|
||||
(advice-add #'khalel--insert-import-file-header :override #'max/khalel--insert-import-file-header)
|
||||
(advice-add #'khalel-import-events :around #'doom-shut-up-a)
|
||||
@ -160,6 +157,16 @@ the current import date range."
|
||||
khalel-import-start-date "-15d"
|
||||
khalel-import-end-date "+30d"
|
||||
khalel-import-org-file (expand-file-name "gtd/calendar.org" org-directory)
|
||||
khalel-import-format "* {title} {cancelled} :{calendar}:\n\
|
||||
:PROPERTIES:\n:CALENDAR: {calendar}\n\
|
||||
:LOCATION: {location}\n\
|
||||
:ID: {uid}\n\
|
||||
:END:\n\
|
||||
<{start-date-long} {start-time}>--<{end-date-long} {end-time}>\n\
|
||||
{description}\n\
|
||||
[[elisp:(khalel-edit-calendar-event)][Edit this event]]\
|
||||
[[elisp:(progn (khalel-run-vdirsyncer) (khalel-import-events))]\
|
||||
[Sync and update all]]\n"
|
||||
khalel-import-org-file-header "#+TITLE: Calendar\n\n\
|
||||
*NOTE*: this file has been generated by \
|
||||
[[elisp:(khalel-import-events)][khalel-import-events]] \
|
||||
@ -173,11 +180,21 @@ to synchronize with remote calendars.
|
||||
Consider adding this file to your list of agenda files so that events \
|
||||
show up there.\n\n"))
|
||||
|
||||
(after! org
|
||||
(khalel-add-capture-template))
|
||||
|
||||
(defun gtd-capture-event ()
|
||||
(interactive)
|
||||
(org-capture nil "e"))
|
||||
|
||||
(map! "C-c e" #'gtd-capture-event)
|
||||
|
||||
(after! org
|
||||
(setq org-clock-persist t
|
||||
;; Useful when clocking in on a waiting task
|
||||
org-clock-in-switch-to-state "NEXT"
|
||||
org-clock-out-when-done '("DONE" "CNCL" "WAIT")
|
||||
org-clock-persist-query-resume nil)
|
||||
org-clock-persist-query-resume nil))
|
||||
|
||||
(use-package! org-clock-convenience
|
||||
:after org
|
||||
|
23
init.el
23
init.el
@ -39,7 +39,7 @@
|
||||
;;minimap ; show a map of the code on the side
|
||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
;; nav-flash ; blink the current line after jumping
|
||||
;;neotree ; a project drawer, like NERDTree for vim
|
||||
neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults +all) ; tame sudden yet inevitable temporary windows
|
||||
;;tabs ; an tab bar for Emacs
|
||||
@ -55,7 +55,7 @@
|
||||
(evil +everywhere); come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
;;(format +onsave) ; automated prettiness
|
||||
(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
;;lispy ; vim for lisp, for people who don't like vim
|
||||
multiple-cursors ; editing in many places at once
|
||||
@ -88,15 +88,15 @@
|
||||
biblio ; Writes a PhD for you (citation needed)
|
||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||
direnv
|
||||
;;docker
|
||||
docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
lookup ; navigate your code and its documentation
|
||||
;;lsp ; M-x vscode
|
||||
lsp ; M-x vscode
|
||||
(magit +forge) ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
make ; run make tasks from Emacs
|
||||
pass ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
;;prodigy ; FIXME managing external services & code builders
|
||||
@ -104,6 +104,7 @@
|
||||
;;taskrunner ; taskrunner for all your projects
|
||||
;;terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
tree-sitter ; syntax and parsing, sitting in a tree...
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
@ -136,9 +137,9 @@
|
||||
;;(haskell +lsp) ; a language that's lazier than I am
|
||||
;;hy ; readability of scheme w/ speed of python
|
||||
;;idris ;
|
||||
;;json ; At least it ain't XML
|
||||
json ; At least it ain't XML
|
||||
(java +meghanada) ; the poster child for carpal tunnel syndrome
|
||||
(javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
|
||||
(javascript +lsp +tree-sitter) ; all(hope(abandon(ye(who(enter(here))))))
|
||||
;;julia ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
(latex +latexmk) ; writing papers in Emacs has never been so fun
|
||||
@ -149,11 +150,11 @@
|
||||
;;nim ; python + lisp at the speed of c
|
||||
nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
(org +noter +roam2 +dragndrop +pomodoro) ; organize your plain life in plain text
|
||||
(org +noter +journal +roam2 +dragndrop +pomodoro) ; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
;;python ; beautiful is better than ugly
|
||||
(python +lsp +poetry) ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
;;raku ; the artist formerly known as perl6
|
||||
@ -168,8 +169,8 @@
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
;;web ; the tubes
|
||||
;;yaml ; JSON, but readable
|
||||
web ; the tubes
|
||||
yaml ; JSON, but readable
|
||||
;;zig ; C, but simpler
|
||||
|
||||
:email
|
||||
|
22
packages.el
22
packages.el
@ -50,10 +50,10 @@
|
||||
;; our package manager can't deal with; see raxod502/straight.el#279)
|
||||
;(package! builtin-package :recipe (:branch "develop"))
|
||||
|
||||
(package! org-inline-pdf :pin "b2dfbf41efac55edacde8a8a6bd0275418de6454")
|
||||
(package! org-clock-convenience :pin "efc9773a8dedf834cf4a78fb6f5f8fffe55ef8eb")
|
||||
(package! org-roam-bibtex :pin "3ac2445f431bc39aa0ca5abfc80e28c0c06f0738")
|
||||
;; (package! org-super-agenda)
|
||||
(package! org-inline-pdf)
|
||||
(package! org-clock-convenience)
|
||||
;; (package! org-roam-bibtex :pin "3ac2445f431bc39aa0ca5abfc80e28c0c06f0738")
|
||||
(package! org-super-agenda)
|
||||
;; (package! mu4e-alert)
|
||||
;; (package! clip2org)
|
||||
(package! centered-cursor-mode)
|
||||
@ -65,9 +65,17 @@
|
||||
;; (package! mac-pseudo-daemon)
|
||||
;; (package! nix-docbook-mode)
|
||||
(package! base16-theme)
|
||||
(package! citar-org-roam
|
||||
:recipe (:host github :repo "emacs-citar/citar-org-roam"))
|
||||
(package! citar-org-roam)
|
||||
;; (package! citar-org-roam
|
||||
;; :recipe (:host github :repo "emacs-citar/citar-org-roam"))
|
||||
(package! pdf-tools :built-in 'prefer)
|
||||
(package! org-gtd)
|
||||
(package! nov)
|
||||
;; (package! org-gtd)
|
||||
(package! khalel)
|
||||
(package! jl-encrypt
|
||||
:recipe (:host gitlab :repo "lechten/defaultencrypt"))
|
||||
;; (package! weblorg)
|
||||
|
||||
;; org-roam-ui keeps up with the latest features in org-roam
|
||||
(unpin! org-roam)
|
||||
(package! org-roam-ui)
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: Liele Grüße
|
||||
# key: lg,
|
||||
# name: Mit freundlichen Grüßen
|
||||
# key: mfg,
|
||||
# --
|
||||
Mit freundlichen Grüßen,
|
||||
Max Schlüter
|
Loading…
x
Reference in New Issue
Block a user