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