Update 2023.12.20

This commit is contained in:
Phil Bajsicki 2023-12-20 03:08:40 +01:00
parent da23c12e2e
commit 87ad70fd1d
12 changed files with 385 additions and 875 deletions

View file

@ -1,8 +1,2 @@
(use-package! org-transclusion (after! flyspell
:after org (setq flyspell-lazy-idle-seconds 2))
:init
(map!
:map global-map "<F12>" #'org-transclusion-add
:leader
:prefix "n"
:desc "Org Transclusion Mode" "t" #'org-transclusion-mode))

View file

@ -20,8 +20,11 @@ A lot of these are swiped from [[https://gitlab.com/dwt1/configuring-emacs/][DT'
#+end_src #+end_src
*** Global settings *** Global settings
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
;; must be set before `org` is loaded
(setq org-directory "~/enc/org/")
(setq org-agenda-files (directory-files-recursively "~/enc/org/" ".org$"))
(setq global-auto-revert-mode t) (setq global-auto-revert-mode t)
(org-edna-mode)
(setq auth-sources '("~/.authinfo")) (setq auth-sources '("~/.authinfo"))
(setq-default backup-inhibited t) (setq-default backup-inhibited t)
@ -30,7 +33,12 @@ A lot of these are swiped from [[https://gitlab.com/dwt1/configuring-emacs/][DT'
(set-keyboard-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8)
(set-clipboard-coding-system 'utf-8) (set-clipboard-coding-system 'utf-8)
(prefer-coding-system 'utf-8) (prefer-coding-system 'utf-8)
(setq-default indent-tabs-mode t)
#+END_SRC #+END_SRC
#+RESULTS:
: t
*** Langtool *** Langtool
Note that for this functionality you do need some resources, namely: Note that for this functionality you do need some resources, namely:
@ -60,27 +68,17 @@ This command only sets up the path to your java runtime binary.
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(setq doom-themes-enable-bold t (setq doom-themes-enable-bold t
doom-themes-enable-italic t) doom-themes-enable-italic t)
(setq doom-font (font-spec :family "Iosevka")
doom-unicode-font (font-spec :family "Iosevka"))
(dolist (charset '(unicode))
(set-fontset-font (frame-parameter nil 'font)
charset (font-spec :family "Iosevka")))
#+end_src #+end_src
#+RESULTS: #+RESULTS:
: t
**** Font Family List **** Font Family List
This is a simple command that outputs the fonts you have available in Emacs. This is a simple command that outputs the fonts you have available in Emacs.
#+begin_src emacs-lisp :results value format: pp #+begin_src emacs-lisp :results value format: pp
(print (font-family-list)) (print (font-family-list))
#+end_src #+end_src
**** Ligature.el **** Ligature.el
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(ligature-set-ligatures 't '("www")) (ligature-set-ligatures 't '("www"))
;; Enable traditional ligature support in eww-mode, if the ;; Enable traditional ligature support in eww-mode, if the
;; `variable-pitch' face supports it ;; `variable-pitch' face supports it
@ -123,17 +121,6 @@ This is a simple command that outputs the fonts you have available in Emacs.
(setq-default calendar-week-start-day 1) (setq-default calendar-week-start-day 1)
#+END_SRC #+END_SRC
** Package settings
*** Straight
#+begin_src emacs-lisp :tangle config.el
(setq straight-repository-branch "develop")
#+end_src
** emojify-mode
#+begin_src emacs-lisp :tangle no
(global-emojify-mode)
(global-emojify-mode-line-mode)
#+end_src
** Global Keybinds ** Global Keybinds
Setting this here because I experiment with these occasionally and want them reset properly eaach time. Setting this here because I experiment with these occasionally and want them reset properly eaach time.
@ -142,26 +129,53 @@ Setting this here because I experiment with these occasionally and want them res
(global-set-key "\C-cu" 'browse-url-chrome) (global-set-key "\C-cu" 'browse-url-chrome)
#+end_src #+end_src
#+RESULTS: ** Package settings
: browse-url-chrome *** Straight
** org-mode
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!
Make .org file automatically open in org-mode.
*** org
**** Basic settings
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) (setq straight-repository-branch "develop")
(setq org-directory "~/enc/org/") #+end_src
*** pdf-tools
#+begin_src emacs-lisp :tangle config.el
(use-package! pdf-tools
:defer t
:commands (pdf-loader-install)
:mode "\\.pdf\\'"
:bind (:map pdf-view-mode-map
("n" . pdf-view-next-line-or-next-page)
("p" . pdf-view-previous-line-or-previous-page)
("C-=" . pdf-view-enlarge)
("C--" . pdf-view-shrink))
:init (pdf-loader-install)
:config (add-to-list 'revert-without-query ".pdf"))
(add-hook 'pdf-view-mode-hook #'(lambda () (interactive (display-line-numbers-mode))))
#+end_src
#+RESULTS:
| doom--setq-evil-normal-state-cursor-for-pdf-view-mode-h | (lambda nil (interactive (display-line-numbers-mode))) | pdf-tools-enable-minor-modes |
*** emojify-mode
#+begin_src emacs-lisp :tangle no
(global-emojify-mode)
(global-emojify-mode-line-mode)
#+end_src
*** org-mode
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!
Make .org file automatically open in org-mode.
**** org
***** Basic settings
#+begin_src emacs-lisp :tangle config.el
(add-to-list 'auto-mode-alist
'("\\.org\\'" . org-mode))
(setq org-image-actual-width nil)
(setq org-enforce-todo-dependencies t) (setq org-enforce-todo-dependencies t)
(setq org-insert-heading-respect-content nil) (setq org-insert-heading-respect-content nil)
(setq org-reverse-note-order nil) (setq org-reverse-note-order nil)
(setq org-show-following-heading t) (setq org-show-following-heading t)
(setq org-show-hierarchy-above t) (setq org-show-hierarchy-above t)
(setq org-show-siblings nil)
(setq org-deadline-warning-days 7) (setq org-deadline-warning-days 7)
(setq org-blank-before-new-entry (quote ((heading . t) (setq org-blank-before-new-entry (quote ((heading . t)
(plain-list-item . nil)))) (plain-list-item . nil))))
@ -175,24 +189,16 @@ Make .org file automatically open in org-mode.
(setq org-log-done (quote time)) (setq org-log-done (quote time))
(setq org-log-into-drawer t) (setq org-log-into-drawer t)
(setq org-catch-invisible-edits "smart") (setq org-catch-invisible-edits "smart")
(setq org-completion-use-ido t) (setq org-completion-use-ido t)
(setq org-use-property-inheritance nil) (setq org-use-property-inheritance nil)
(setq org-duration-format 'h:mm) (setq org-duration-format 'h:mm)
(setq org-hierarchical-todo-statistics t) (setq org-hierarchical-todo-statistics t)
(org-align-tags t)
#+end_src #+end_src
***** Automatically write =CREATED= properties in the =PROPERTIES= drawer:
#+BEGIN_SRC emacs-lisp
(org-expiry-insinuate)
;; not checked yet: (setq org-expiry-handler-function 'org-expiry-archive-subtree)
#+END_SRC
**** DISABLED Split lines?
Ensure that hitting ~M-<return>~ splits the line it's on. This is useful when I'm typing something long, and then decide to turn a paragraph into a list
#+begin_src emacs-lisp :tangle no
#+end_src #+RESULTS:
**** my-org-tree-to-indirect-buffer : t
***** my-org-tree-to-indirect-buffer
#+begin_quote #+begin_quote
This beautiful piece of code was done by [[https://www.reddit.com/user/github-alphapapa][alphapapa]] and published on This beautiful piece of code was done by [[https://www.reddit.com/user/github-alphapapa][alphapapa]] and published on
[[https://www.reddit.com/r/orgmode/comments/dbsngi/finally_solving_the_lack_of_a_treeview_navigation/f26qpzr/][reddit]]. Its purpose is to provide more than one indirect buffer when [[https://www.reddit.com/r/orgmode/comments/dbsngi/finally_solving_the_lack_of_a_treeview_navigation/f26qpzr/][reddit]]. Its purpose is to provide more than one indirect buffer when
@ -203,7 +209,7 @@ Using an advice, the original function gets overwritten.
#+end_quote #+end_quote
--Karl Voit --Karl Voit
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp :tangle config.el
(defun my-org-tree-to-indirect-buffer (&optional arg) (defun my-org-tree-to-indirect-buffer (&optional arg)
"Create indirect buffer and narrow it to current subtree. "Create indirect buffer and narrow it to current subtree.
The buffer is named after the subtree heading, with the filename The buffer is named after the subtree heading, with the filename
@ -234,7 +240,7 @@ selected instead of creating a new buffer."
#+END_SRC #+END_SRC
**** my-org-retrieve-url-from-point → C-c o ***** my-org-retrieve-url-from-point → C-c o
#+begin_quote #+begin_quote
I wanted a function that does not open an web URL within Org mode (via I wanted a function that does not open an web URL within Org mode (via
=C-c C-o=) but rather copies its URL to the system clipboard for =C-c C-o=) but rather copies its URL to the system clipboard for
@ -262,16 +268,18 @@ Lucky me, I found the ready-to-use solution [[https://emacs.stackexchange.com/a/
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(global-set-key (kbd "C-c o") 'my-org-retrieve-url-from-point) (global-set-key (kbd "C-c o") 'my-org-retrieve-url-from-point)
#+END_SRC #+END_SRC
**** org-element cache verification ***** org-element cache verification
2022-01-16: This has a positive impact on the performance as long as 2022-01-16: This has a positive impact on the performance as long as
you would not need it for consistency warnings. Re-enable it if you would not need it for consistency warnings. Re-enable it if
something is fishy and you want the self-check functionality again. something is fishy and you want the self-check functionality again.
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-element--cache-self-verify nil) (setq org-element--cache-self-verify nil)
#+END_SRC #+END_SRC
**** Theming #+RESULTS:
***** Theming
:PROPERTIES: :PROPERTIES:
:ID: b663a9ef-f08e-436f-913d-98e4234cf2cd :ID: b663a9ef-f08e-436f-913d-98e4234cf2cd
:END: :END:
@ -285,7 +293,7 @@ something is fishy and you want the self-check functionality again.
#+end_src #+end_src
https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines= https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(setq-default truncate-lines t) ;; (setq-default truncate-lines t)
(setq org-src-fontify-natively t) (setq org-src-fontify-natively t)
(setq org-hide-leading-stars t) (setq org-hide-leading-stars t)
@ -294,12 +302,12 @@ https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
(setq org-agenda-dim-blocked-tasks nil);; show blocked tasks (setq org-agenda-dim-blocked-tasks nil);; show blocked tasks
#+END_SRC #+END_SRC
***** Set the width of inline images: ****** Set the width of inline images:
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(setq org-image-actual-width '(600)) (setq org-image-actual-width '(600))
#+END_SRC #+END_SRC
***** org-modern ****** org-modern
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(modify-all-frames-parameters (modify-all-frames-parameters
'((right-divider-width . 2) '((right-divider-width . 2)
@ -337,13 +345,13 @@ https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
#+end_src #+end_src
**** Dependencies ***** Dependencies
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(setq-default org-enforce-todo-dependencies t) (setq-default org-enforce-todo-dependencies t)
(setq org-enforce-todo-checkbox-dependencies t) (setq org-enforce-todo-checkbox-dependencies t)
#+END_SRC #+END_SRC
*** Hooks **** Hooks
**** append and update time-stamps for =Time-stamp: <>= in headers: ***** append and update time-stamps for =Time-stamp: <>= in headers:
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(add-hook 'write-file-hooks 'time-stamp) (add-hook 'write-file-hooks 'time-stamp)
(add-hook 'org-mode-hook (add-hook 'org-mode-hook
@ -357,7 +365,7 @@ https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
;; auto-fill mode on ;; auto-fill mode on
(auto-fill-mode 1))) (auto-fill-mode 1)))
#+end_src #+end_src
*** Keybinds **** Keybinds
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-cl" 'org-store-link)
@ -365,7 +373,7 @@ https://www.emacswiki.org/emacs/TruncateLines =M-x toggle-truncate-lines=
(global-set-key "\C-cne" 'elgantt-open) (global-set-key "\C-cne" 'elgantt-open)
(global-set-key "\C-cnn" 'org-capture) (global-set-key "\C-cnn" 'org-capture)
#+end_src #+end_src
**** Timestamp keybinds ***** Timestamp keybinds
Inserts timestamps in the proper format. ~'(16)~ stands for two universal arguments, keeping the command from prompting for the time. Two keybinds here, which insert an active or inactive timestamp. Inserts timestamps in the proper format. ~'(16)~ stands for two universal arguments, keeping the command from prompting for the time. Two keybinds here, which insert an active or inactive timestamp.
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(global-set-key "\C-cia" '(lambda ()(interactive) (global-set-key "\C-cia" '(lambda ()(interactive)
@ -374,10 +382,8 @@ Inserts timestamps in the proper format. ~'(16)~ stands for two universal argume
(org-time-stamp-inactive '(16)))) (org-time-stamp-inactive '(16))))
#+end_src #+end_src
*** Todo keywords **** Todo keywords
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(after! org
(setq org-todo-keywords (setq org-todo-keywords
'((sequence '((sequence
"INBOX(i)" "INBOX(i)"
@ -404,7 +410,7 @@ Inserts timestamps in the proper format. ~'(16)~ stands for two universal argume
("WAIT" :foreground "yellow" :weight bold) ("WAIT" :foreground "yellow" :weight bold)
("HOLD" :foreground "orange" :weight bold) ("HOLD" :foreground "orange" :weight bold)
("DONE" :foreground "green" :weight bold) ("DONE" :foreground "green" :weight bold)
("KILL" :foreground "grey" :weight bold)))) ("KILL" :foreground "grey" :weight bold)))
#+end_src #+end_src
#+RESULTS: #+RESULTS:
@ -430,7 +436,9 @@ Change font for DONE tasks
(:foreground "LightSalmon" :strike-through t))))) (:foreground "LightSalmon" :strike-through t)))))
#+END_SRC #+END_SRC
*** Automated timestamps in headings
**** Automated timestamps in headings
I need this because hitting the above is tedious. I need this because hitting the above is tedious.
For the files whose paths match the strings in the function, it will advise the org-insert-heading function to insert an inactive timestamp into the new heading. For the files whose paths match the strings in the function, it will advise the org-insert-heading function to insert an inactive timestamp into the new heading.
@ -459,7 +467,7 @@ This turns making new entries from ~C-<return> C-i i~ into just ~C-<return>~. Mu
| lambda | nil | (if (or (string-match journal buffer-file-name) (string-match money buffer-file-name) (string-match therapy buffer-file-name)) (progn (org-timestamp-inactive '(16)) (newline)) (progn (signal 'wrong-type-argument (list 'symbolp ''org-insert-heading-hook)))) | | lambda | nil | (if (or (string-match journal buffer-file-name) (string-match money buffer-file-name) (string-match therapy buffer-file-name)) (progn (org-timestamp-inactive '(16)) (newline)) (progn (signal 'wrong-type-argument (list 'symbolp ''org-insert-heading-hook)))) |
*** Capture templates **** Capture templates
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(setq org-capture-templates '(("t" "inbox" entry (file+headline "~/enc/org/phil.org" "Inbox") "* TODO %i%?") (setq org-capture-templates '(("t" "inbox" entry (file+headline "~/enc/org/phil.org" "Inbox") "* TODO %i%?")
@ -480,7 +488,7 @@ This turns making new entries from ~C-<return> C-i i~ into just ~C-<return>~. Mu
:END:"))) :END:")))
#+end_src #+end_src
*** preserving all heading levels when archiving **** preserving all heading levels when archiving
Karl Voit: Karl Voit:
@ -532,7 +540,7 @@ Preserve the hierarchy when archiving: [[https://fuco1.github.io/2017-04-20-Arch
(org-end-of-subtree t t) (org-end-of-subtree t t)
(org-paste-subtree level tree-text)))))))) (org-paste-subtree level tree-text))))))))
#+END_SRC #+END_SRC
*** my-dired-insert-lfile-link-list-to-other-org-window() **** my-dired-insert-lfile-link-list-to-other-org-window()
#+begin_quote #+begin_quote
| 2022-06-20 | I had this idea and implemented it | | 2022-06-20 | I had this idea and implemented it |
@ -583,7 +591,7 @@ This results in a list that gets added to the Org-mode buffer similar to:
#+end_src #+end_src
*** link colors **** link colors
#+begin_quote #+begin_quote
| 2021-01-11 | moved commands to =my-set-linkcolors= and defined 3 categories of colors | | 2021-01-11 | moved commands to =my-set-linkcolors= and defined 3 categories of colors |
@ -744,9 +752,19 @@ When some code generates an image file, display it in the results:
#+END_SRC #+END_SRC
** org-export ** org-export*** LaTeX
*** LaTeX #+begin_src emacs-lisp :tangle config.el
**** (with-eval-after-load 'ox-latex
(add-to-list 'org-latex-classes
'("memoir"
"\\documentclass{memoir}"
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))
#+end_src
#+RESULTS:
** org-super-links ** org-super-links
@ -783,7 +801,7 @@ Replace org-store-link and org-insert-link with org-super-links alternatives.
: org-super-links-delete-link : org-super-links-delete-link
** org-super-agenda ** org-super-agenda
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle no
(org-super-agenda-mode) (org-super-agenda-mode)
(setq super-agenda-groups (setq super-agenda-groups
'(;; Each group has an implicit boolean OR operator between its selectors. '(;; Each group has an implicit boolean OR operator between its selectors.
@ -830,10 +848,7 @@ Replace org-store-link and org-insert-link with org-super-links alternatives.
:order 110 :order 110
) )
(:name "Waiting…" :todo "WAIT" :order 118) ; Set order of this section (:name "Waiting…" :todo "WAIT" :order 118) ; Set order of this section
)
;; After the last group, the agenda will display items that didn't
;; match any of these groups, with the default order position of 99
))
(defun my-super-agenda() (defun my-super-agenda()
"generates my super-agenda" "generates my super-agenda"
@ -842,8 +857,7 @@ Replace org-store-link and org-insert-link with org-super-links alternatives.
(let (let
((org-super-agenda-groups super-agenda-groups)) ((org-super-agenda-groups super-agenda-groups))
(org-agenda nil "a") (org-agenda nil "a")
) ))
)
#+end_src #+end_src
@ -957,29 +971,6 @@ Straight from Karl Voit's config.
:unnarrowed))) :unnarrowed)))
#+end_src #+end_src
** org-elgantt
#+begin_src emacs-lisp :tangle config.el
(add-to-list 'load-path "~/.emacs.d/.local/straight/repos/elgantt/")
(setq elgantt-header-type 'outline
elgantt-draw-overarching-headers t
elgantt-insert-header-even-if-no-timestamp nil
elgantt-scroll-to-current-month-at-startup t)
(setq elgantt-user-set-color-priority-counter 0)
(setq elgantt-custom-header-line
'((:left ((:prop date-at-point
:padding 25)
(:prop todo
:padding 30)))
(:center ((:prop headline)))
(:right ((:prop hashtag
:padding 40
:text-props (face (:background "red")))))))
#+end_src
** org-agenda ** org-agenda
*** Keybinds *** Keybinds
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
@ -990,11 +981,8 @@ Straight from Karl Voit's config.
(define-key org-agenda-map "a" 'org-agenda) (define-key org-agenda-map "a" 'org-agenda)
#+end_src #+end_src
*** Settings *** Settings
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
(setq org-agenda-files (directory-files-recursively "~/enc/org" "org$"))
(setq org-agenda-start-day nil (setq org-agenda-start-day nil
org-agenda-span '14 org-agenda-span '14
org-agenda-dim-blocked-tasks 'invisible org-agenda-dim-blocked-tasks 'invisible
@ -1018,22 +1006,11 @@ Straight from Karl Voit's config.
(quote (("x" "Phil's view" agenda "" (quote (("x" "Phil's view" agenda ""
((org-agenda-prefix-format " %i %-12:c %s %t ")))))) ((org-agenda-prefix-format " %i %-12:c %s %t "))))))
#+end_src #+end_src
#+RESULTS:
| x | Phil's view | agenda | | ((org-agenda-prefix-format %i %-12:c %s %t )) |
**** From Karl Voit **** From Karl Voit
Keep tasks with dates off the global todo lists:
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-agenda-todo-ignore-with-date nil)
#+END_SRC
Allow deadlines which are due soon to appear on the global todo lists:
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-agenda-todo-ignore-deadlines (quote far))
#+END_SRC
Keep tasks scheduled in the future off the global todo lists
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-agenda-todo-ignore-scheduled (quote future))
#+END_SRC
Remove completed deadline tasks from the agenda view Remove completed deadline tasks from the agenda view
#+BEGIN_SRC emacs-lisp :tangle config.el #+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-agenda-skip-deadline-if-done t) (setq org-agenda-skip-deadline-if-done t)
@ -1059,22 +1036,11 @@ show state changes in log-mode of agenda
(setq org-agenda-log-mode-items (quote (state))) (setq org-agenda-log-mode-items (quote (state)))
#+END_SRC #+END_SRC
http://orgmode.org/worg/org-faq.html
#+BEGIN_SRC emacs-lisp :tangle config.el
;(setq org-agenda-skip-additional-timestamps-same-entry t)
(setq org-agenda-skip-additional-timestamps-same-entry nil)
#+END_SRC
do not search for time in heading when displaying a date-stamp do not search for time in heading when displaying a date-stamp
#+BEGIN_SRC emacs-lisp :tangle config.el #+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-agenda-search-headline-for-time nil) (setq org-agenda-search-headline-for-time nil)
#+END_SRC #+END_SRC
open agenda in same buffer, full size
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-agenda-window-setup 'current-window)
#+END_SRC
add diary entries in agenda view add diary entries in agenda view
http://orgmode.org/org.html#Weekly_002fdaily-agenda http://orgmode.org/org.html#Weekly_002fdaily-agenda
#+BEGIN_SRC emacs-lisp :tangle config.el #+BEGIN_SRC emacs-lisp :tangle config.el
@ -1110,11 +1076,6 @@ Non-nil means skip timestamp line if same entry shows because of deadline.
(setq org-agenda-skip-timestamp-if-deadline-is-shown t) (setq org-agenda-skip-timestamp-if-deadline-is-shown t)
#+END_SRC #+END_SRC
Agenda sorting functions
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-agenda-cmp-user-defined 'bh/agenda-sort)
#+END_SRC
Enable display of the time grid so we can see the marker for the current time Enable display of the time grid so we can see the marker for the current time
#+BEGIN_SRC emacs-lisp :tangle no #+BEGIN_SRC emacs-lisp :tangle no
(setq org-agenda-time-grid (setq org-agenda-time-grid
@ -1124,24 +1085,6 @@ Enable display of the time grid so we can see the marker for the current time
(800 1000 1200 1400 1600 1800 2000))) (800 1000 1200 1400 1600 1800 2000)))
#+END_SRC #+END_SRC
Display tags farther right
#+BEGIN_SRC emacs-lisp :tangle config.el
;;(setq org-agenda-tags-column -102)
(setq org-tags-column -101); for powerplantwin 23" TFT turned 90
; degrees; should *not* differ between
; systems! Otherwise Org-files gets
; re-formatted after switching
; system
;;(when (my-system-type-is-windows)
;; ;;(setq org-agenda-tags-column -103);; for 23" TFT turned 90 degrees
;; (setq org-agenda-tags-column -117);; for 24" TFT turned 90 degrees
;; )
;;(when (my-system-is-sting)
;; (setq org-agenda-tags-column -117);; -117 for 23" TFT sting, rotated 90°
;; )
(setq org-agenda-tags-column (- (- (window-total-width) 3))) ;; total width minus 3
#+END_SRC
Sticky agendas remain opened in the background so that you don't Sticky agendas remain opened in the background so that you don't
need to regenerate them each time you hit the corresponding need to regenerate them each time you hit the corresponding
keystroke. This is a big time saver. keystroke. This is a big time saver.
@ -1158,16 +1101,9 @@ time.
(define-key org-agenda-mode-map (kbd "C-n") 'my-scroll-up-half) (define-key org-agenda-mode-map (kbd "C-n") 'my-scroll-up-half)
#+END_SRC #+END_SRC
From [[https://www.reddit.com/r/orgmode/comments/cc5vz5/how_to_avoid_duplicates_in_orgsuperagenda/][reddit]] I got the settings that deadlines are not shown when
SCHEDULED is set:
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-agenda-skip-scheduled-if-deadline-is-shown nil)
;;(setq org-agenda-skip-deadline-prewarning-if-scheduled t)
#+END_SRC
From [[https://www.reddit.com/r/orgmode/comments/e4stk2/adding_a_separator_line_between_days_in_emacs/][reddit]]: Adding a separator line between days. From [[https://www.reddit.com/r/orgmode/comments/e4stk2/adding_a_separator_line_between_days_in_emacs/][reddit]]: Adding a separator line between days.
Disabled 2020-01-03 because I usually see one single day only. Disabled 2020-01-03 because I usually see one single day only.
#+BEGIN_SRC emacs-lisp :tangle no #+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-agenda-format-date (lambda (date) (concat "\n" (setq org-agenda-format-date (lambda (date) (concat "\n"
(make-string (window-width) 9472) (make-string (window-width) 9472)
"\n" "\n"
@ -1175,79 +1111,14 @@ Disabled 2020-01-03 because I usually see one single day only.
#+END_SRC #+END_SRC
**** habits
«Org has the ability to track the consistency of a special category of
TODOs, called “habits”.»
- http://orgmode.org/manual/Tracking-your-habits.html
- http://orgmode.org/worg/org-tutorials/tracking-habits.html
- global STYLE property values for completion
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-global-properties (quote (("STYLE_ALL" . "habit"))))
#+END_SRC
- position the habit graph on the agenda to the right of the default
#+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-habit-graph-column 100)
#+END_SRC
**** my-org-obfuscate-agenda-item
:PROPERTIES:
:CREATED: [2018-09-01 Sat 14:38]
:END:
This was originally developed by [[https://github.com/alphapapa][alphapapa]] as =org-agenda-sharpie()=
and published on [[https://github.com/alphapapa/org-super-agenda/issues/43#issuecomment-403268926][GitHub]].
When invoked on an agenda item, you can enter some text and the agenda
item gets temporarily overwritten. You can use this to obfuscate or
"overwrite" agenda entries before making a screenshot for public use.
#+BEGIN_SRC emacs-lisp :tangle config.el
(defun org-agenda-sharpie ()
"Censor the text of items in the agenda."
(interactive)
(let (regexp old-heading new-heading properties)
;; Save face properties of line in agenda to reapply to changed text
(setq properties (text-properties-at (point)))
;; Go to source buffer
(org-with-point-at (org-find-text-property-in-string 'org-marker
(buffer-substring (line-beginning-position)
(line-end-position)))
;; Save old heading text and ask for new text
(line-beginning-position)
(unless (org-at-heading-p)
;; Not sure if necessary
(org-back-to-heading))
(setq old-heading (when (looking-at org-complex-heading-regexp)
(match-string 4))))
(unless old-heading
(error "Can't find heading. How can this be?"))
;; Back to agenda buffer
(setq new-heading (read-from-minibuffer "Overwrite visible heading with: "))
(add-text-properties 0 (length new-heading) properties new-heading)
;; Replace agenda text
(save-excursion
(let ((inhibit-read-only t))
(goto-char (line-beginning-position))
(when (search-forward old-heading (line-end-position))
(replace-match new-heading 'fixedcase 'literal))))))
#+END_SRC
*** Exports *** Exports
Export subtree (by default) instead of whole buffer: Export subtree (by default) instead of whole buffer:
http://orgmode.org/manual/The-Export-Dispatcher.html http://orgmode.org/manual/The-Export-Dispatcher.html
#+BEGIN_SRC emacs-lisp :tangle config.el #+BEGIN_SRC emacs-lisp :tangle no
(setq org-export-initial-scope 'subtree) (setq org-export-initial-scope 'subtree)
#+END_SRC #+END_SRC
#+RESULTS:
: subtree
With a densly interconnected Org knowledge-base (e.g., see With a densly interconnected Org knowledge-base (e.g., see
=org-super-links=) and a "few but large Org mode files" in combination =org-super-links=) and a "few but large Org mode files" in combination
with "I'm using export methods on sub-heading levels mostly", you end with "I'm using export methods on sub-heading levels mostly", you end
@ -1262,173 +1133,7 @@ part of the export result get broken because of a typo or similar.
#+BEGIN_SRC emacs-lisp :tangle config.el #+BEGIN_SRC emacs-lisp :tangle config.el
(setq org-export-with-broken-links t) (setq org-export-with-broken-links t)
#+END_SRC #+END_SRC
**** LaTeX classes
http://orgmode.org/org.html#Header-and-sectioning
BEGIN of LaTeX class definitions
#+BEGIN_SRC emacs-lisp :tangle config.el
(with-eval-after-load 'ox-latex
;;(message (concat "################################################\norg-latex-classes = [" org-latex-classes "]"))
#+END_SRC
Customized «scrartcl»
#+BEGIN_SRC emacs-lisp :tangle config.el
(add-to-list 'org-latex-classes
'("scrartcl"
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
#+END_SRC
«scrartclsmall»
- 2014-10-16: does NOT work yet. Most probably because savetrees does not work well with inputenc
#+BEGIN_SRC emacs-lisp
(add-to-list 'org-latex-classes
'("scrartclsmall"
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}\\usepackage\{savetrees\}"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
#+END_SRC
«detego»
- 2017-09-13:
#+BEGIN_SRC emacs-lisp :tangle config.el
(add-to-list 'org-latex-classes
'("detego"
"\\documentclass\[a4paper,parskip=half,11pt,headinclude=false,footinclude=false\]\{scrartcl\}
\\usepackage\[ngerman,american\]\{babel\}\\usepackage\{eurosym\}\\usepackage\{xspace\}\\usepackage\[usenames,dvipsnames\]\{xcolor\}
\\usepackage\[protrusion=true,factor=900\]\{microtype\}\\usepackage\{enumitem\}
\\definecolor\{DispositionColor\}\{RGB\}\{0,54,90\}
\\usepackage\{helvet\}
\\renewcommand\{\\familydefault\}\{\\sfdefault\}
\\DeclareRobustCommand\{\\myacro\}\[1\]\{\\textsc\{\\lowercase\{#1\}\}\} %% abbrevations using small caps
\\usepackage{scrlayer-scrpage} \\rehead{\\includegraphics\[height=1cm\]{{c:/Users/karl.voit/.emacs.d/bin/images/Detego-Logo-209x41.png}}} \\pagestyle{scrheadings} %% Logo in header
\\newenvironment{NOTES}{}{} %% declares org-reveal environment in PDF output
\\usepackage[space]{grffile} %% enable spaces in filenames of includegraphics
%% colorful headings:
%\\setheadsepline\{.4pt\}\[\\color\{DispositionColor\}\]
\\renewcommand\{\\headfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
\\renewcommand\{\\pnumfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
\\addtokomafont\{disposition\}\{\\color\{DispositionColor\}\}
\\addtokomafont\{caption\}\{\\color\{DispositionColor\}\\footnotesize\}
\\addtokomafont\{captionlabel\}\{\\color\{DispositionColor\}\}
\\usepackage\{enumitem\}
\\setlist\{noitemsep\} %% kills the space between items
"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
#+END_SRC
«rise»
- 2019-12-16
#+BEGIN_SRC emacs-lisp :tangle config.el
(add-to-list 'org-latex-classes
'("rise"
"\\documentclass\[a4paper,parskip=half,11pt,headinclude=false,footinclude=false\]\{scrartcl\}
\\usepackage\[ngerman,american\]\{babel\}\\usepackage\{eurosym\}\\usepackage\{xspace\}\\usepackage\[usenames,dvipsnames\]\{xcolor\}
\\usepackage\[protrusion=true,factor=900\]\{microtype\}\\usepackage\{enumitem\}
\\definecolor\{DispositionColor\}\{RGB\}\{0,54,90\}
\\usepackage\{helvet\}
\\renewcommand\{\\familydefault\}\{\\sfdefault\}
\\DeclareRobustCommand\{\\myacro\}\[1\]\{\\textsc\{\\lowercase\{#1\}\}\} %% abbrevations using small caps
\\usepackage{scrlayer-scrpage} \\rehead{\\includegraphics\[height=1cm\]{{c:/Users/karl.voit/.emacs.d/bin/images/RISE_logo_202x500.jpeg}}} \\pagestyle{scrheadings} %% Logo in header
\\newenvironment{NOTES}{}{} %% declares org-reveal environment in PDF output
\\usepackage[space]{grffile} %% enable spaces in filenames of includegraphics
%% colorful headings:
%\\setheadsepline\{.4pt\}\[\\color\{DispositionColor\}\]
\\renewcommand\{\\headfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
\\renewcommand\{\\pnumfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
\\addtokomafont\{disposition\}\{\\color\{DispositionColor\}\}
\\addtokomafont\{caption\}\{\\color\{DispositionColor\}\\footnotesize\}
\\addtokomafont\{captionlabel\}\{\\color\{DispositionColor\}\}
\\usepackage\{enumitem\}
\\setlist\{noitemsep\} %% kills the space between items
"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
#+END_SRC
«lyrics»
- 2017-03-23: 2-column layout sans-serif for lyrics
#+BEGIN_SRC emacs-lisp :tangle config.el
(add-to-list 'org-latex-classes
'("lyrics"
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}
\\renewcommand*\\sfdefault\{lcmss\} \\renewcommand*\\familydefault\{\\sfdefault\}"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
#+END_SRC
«lyrics2» 2 column version of «lyrics»
#+BEGIN_SRC emacs-lisp :tangle config.el
(add-to-list 'org-latex-classes
'("lyrics2"
"\\documentclass\[a4paper,parskip=half,twocolumn\]\{scrartcl\}
\\renewcommand*\\sfdefault\{lcmss\} \\renewcommand*\\familydefault\{\\sfdefault\}"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
#+END_SRC
Adding TUGRAZ letter export class format
- compare: http://orgmode.org/worg/org-tutorials/org-latex-export.html
#+BEGIN_SRC emacs-lisp :tangle no
(add-to-list 'org-export-latex-classes
'("TUGRAZletter"
"\\documentclass{scrlttr2}
\\usepackage{tugrazletter}
[NO-DEFAULT-PACKAGES]
[EXTRA]"
("\\section{%s}" . "\\section*{%s}")))
#+END_SRC
#+begin_src emacs-lisp :tangle config.el
(add-to-list 'org-latex-classes
'("memoirbook"
"\\documentclass[a5paper,12pt]{memoir}"
;; "\\semiisopage[8]"
;; "\\hypersetup{colorlinks=true,linkcolor={Blue},urlcolor={Blue}}" ;; genera un problema al exportar
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
'(org-export-latex-default-class "memoir")
#+end_src
END of LaTeX class definitions
#+BEGIN_SRC emacs-lisp :tangle config.el
);; with-eval-after-load
#+END_SRC
**** ox-asciidoc - Export to AsciiDoc
https://github.com/yashi/org-asciidoc - «An Org Mode Exporter Backend For AsciiDoc»
#+BEGIN_SRC emacs-lisp :tangle config.el
(use-package ox-asciidoc
;;:ensure t ;; install package if not found OR: (setq use-package-always-ensure t)
:defer 110
)
#+END_SRC
**** Org-Reveal - generate nice presentations out of Org-mode **** Org-Reveal - generate nice presentations out of Org-mode
https://github.com/yjwen/org-reveal https://github.com/yjwen/org-reveal
#+BEGIN_QUOTE #+BEGIN_QUOTE
- =Reveal.js= is a tool for creating good-looking HTML presentations, authored by Hakim El Hattab. - =Reveal.js= is a tool for creating good-looking HTML presentations, authored by Hakim El Hattab.
@ -1442,71 +1147,10 @@ https://github.com/yjwen/org-reveal
:ensure t :ensure t
;;:if (my-system-type-is-windows) ;;:if (my-system-type-is-windows)
:defer 110 :defer 110
:config :config)
;;(setq org-reveal-root "file:///d:/reveal.js")
(cond ((my-system-type-is-gnu)
(setq org-reveal-root "https://cdn.jsdelivr.net/npm/reveal.js")
(setq org-reveal-extra-css "file:///home/vk/.emacs.d/bin/reveal_theme_night_local.css"))
((string-equal system-name "GRZN17009")
(setq org-reveal-root "file:///C:/Users/karl.voit/.emacs.d/bin/reveal.js/")
(setq org-reveal-extra-css "file:///C:/Users/karl.voit/.emacs.d/bin/reveal_theme_night_local.css"))
((string-equal system-name "cosmo")
(setq org-reveal-root "file:///C:/Users/John/AppData/Roaming/.emacs.d/bin/reveal.js/")
(setq org-reveal-extra-css "file:///C:/Users/John/AppData/Roaming/.emacs.d/bin/reveal_theme_night_local.css"))
(t
(setq org-reveal-root "http://cdn.jsdelivr.net/reveal.js/3.0.0/"))
)
;; my preferred defaults:
(setq org-reveal-hlevel 2)
(setq org-reveal-postamble "<p> Created by Karl. </p>")
(setq org-reveal-center nil)
(setq org-reveal-progress t)
(setq org-reveal-history nil)
(setq org-reveal-control t)
(setq org-reveal-keyboard t)
(setq org-reveal-overview nil)
(setq org-reveal-transition "default")
;; - transitions:
;; - default
;; - cube
;; - page
;; - concave
;; - zoom
;; - linear
;; - fade
;; - none
(setq org-reveal-theme "night")
;; - Styles:
;; - black (default)
;; - white
;; - league
;; - gray one
;; - sky
;; - nice bright one
;; - beige
;; - nice bright one
;; - simple
;; - bright
;; - serif
;; - old school
;; - blood
;; - cool!
;; - *night*
;; - very nice
;; - moon
;; - solarized
)
#+END_SRC #+END_SRC
#+RESULTS:
: t
**** my-org-copy-region-as-markdown **** my-org-copy-region-as-markdown
| 2022-05-03 | initial setup and disabled because of error | | 2022-05-03 | initial setup and disabled because of error |
I've found this nugget on http://mbork.pl/2021-05-02_Org-mode_to_Markdown_via_the_clipboard. I've found this nugget on http://mbork.pl/2021-05-02_Org-mode_to_Markdown_via_the_clipboard.
@ -1600,9 +1244,6 @@ works *offline* (without cloud or network) and amazingly well for English.
) )
#+END_SRC #+END_SRC
** hledger-mode ** hledger-mode
#+begin_src emacs-lisp :tangle config.el #+begin_src emacs-lisp :tangle config.el
;; To open files with .journal extension in hledger-mode ;; To open files with .journal extension in hledger-mode
@ -1719,17 +1360,17 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
:checkers :checkers
syntax ; tasing you for every semicolon you forget syntax ; tasing you for every semicolon you forget
(spell +flyspell) ; tasing you for misspelling mispelling ;;(spell +flyspell) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make grammar ; tasing grammar mistake every you make
:tools :tools
;;ansible ansible
;;biblio ; Writes a PhD for you (citation needed) ;;biblio ; Writes a PhD for you (citation needed)
;;collab ; buffers with friends ;;collab ; buffers with friends
;;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
@ -1755,7 +1396,7 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
;;agda ; types of types of types of types... ;;agda ; types of types of types of types...
;;beancount ; mind the GAAP ;;beancount ; mind the GAAP
(cc +lsp) ; C > C++ == 1 (cc +lsp) ; C > C++ == 1
clojure ; java with a lisp (clojure +lsp) ; java with a lisp
common-lisp ; if you've seen one lisp, you've seen them all common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs ;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c ;;crystal ; ruby at the speed of c
@ -1781,8 +1422,8 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
;;idris ; a language you can depend on ;;idris ; a language you can depend on
json ; At least it ain't XML json ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome ;;(java +lsp) ; the poster child for carpal tunnel syndrome
javascript ; all(hope(abandon(ye(who(enter(here)))))) (javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
julia ; a better, faster MATLAB (julia +lsp) ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script) ;;kotlin ; a better, slicker Java(Script)
latex ; writing papers in Emacs has never been so fun latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove ;;lean ; for folks with too much to prove
@ -1792,11 +1433,11 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
;;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 ; organize your plain life in plain text (org +dragndrop +pandoc +pretty +gnuplot +roam2) ; 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) ; 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
@ -1806,14 +1447,14 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good ;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps ;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor (sh +lsp) ; she sells {ba,z,fi}sh shells on the C xor
;;sml ;;sml
;;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 +lsp) ; the tubes
yaml ; JSON, but readable yaml ; JSON, but readable
zig ; C, but simpler (zig +lsp) ; C, but simpler
:email :email
;;(mu4e +org +gmail) ;;(mu4e +org +gmail)
@ -1830,10 +1471,12 @@ This is the state as of <2023-08-12 Sat>. I'm sure Doom Emacs will expand/ chang
:config :config
;;literate ;;literate
(default +bindings +smartparens)) (default +bindings))
#+end_src #+end_src
#+RESULTS:
* packages.el * packages.el
** Info from the included (default) comments: ** Info from the included (default) comments:
To install a package with Doom you must declare them here and run 'doom sync' on the command line, then restart Emacs for the changes to take effect -- or use 'M-x doom/reload'. To install a package with Doom you must declare them here and run 'doom sync' on the command line, then restart Emacs for the changes to take effect -- or use 'M-x doom/reload'.
@ -1926,13 +1569,18 @@ release. You can ~unpin!~ them. Note ~(unpin! t)~ unpins all the packages and ca
#+begin_src emacs-lisp :tangle packages.el #+begin_src emacs-lisp :tangle packages.el
;; (package! helm-xref) ;; (package! helm-xref)
#+end_src #+end_src
*** pdf-tools
#+begin_src emacs-lisp :tangle packages.el
(package! pdf-tools)
#+end_src
*** Org *** Org
#+begin_src emacs-lisp :tangle packages.el #+begin_src emacs-lisp :tangle packages.el
;; Fix for org-roam link issue ;; Fix for org-roam link issue
(package! org :pin "ca873f7")
(package! org-auto-tangle) (package! org-auto-tangle)
(package! ox-slack) (package! ox-slack)
(package! ox-tufte)
(package! org-special-block-extras)
(package! org-transclusion) (package! org-transclusion)
(package! org-modern) (package! org-modern)
(package! org-ql) (package! org-ql)

View file

@ -1,7 +1,10 @@
(setq user-full-name "Phil Bajsicki") (setq user-full-name "Phil Bajsicki")
;; must be set before `org` is loaded
(setq org-directory "~/enc/org/")
(setq org-agenda-files (directory-files-recursively "~/enc/org/" ".org$"))
(setq global-auto-revert-mode t) (setq global-auto-revert-mode t)
(org-edna-mode)
(setq auth-sources '("~/.authinfo")) (setq auth-sources '("~/.authinfo"))
(setq-default backup-inhibited t) (setq-default backup-inhibited t)
@ -10,6 +13,7 @@
(set-keyboard-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8)
(set-clipboard-coding-system 'utf-8) (set-clipboard-coding-system 'utf-8)
(prefer-coding-system 'utf-8) (prefer-coding-system 'utf-8)
(setq-default indent-tabs-mode t)
(setq langtool-java-bin "/usr/bin/java") (setq langtool-java-bin "/usr/bin/java")
@ -23,12 +27,6 @@
(setq doom-themes-enable-bold t (setq doom-themes-enable-bold t
doom-themes-enable-italic t) doom-themes-enable-italic t)
(setq doom-font (font-spec :family "Iosevka")
doom-unicode-font (font-spec :family "Iosevka"))
(dolist (charset '(unicode))
(set-fontset-font (frame-parameter nil 'font)
charset (font-spec :family "Iosevka")))
(ligature-set-ligatures 't '("www")) (ligature-set-ligatures 't '("www"))
;; Enable traditional ligature support in eww-mode, if the ;; Enable traditional ligature support in eww-mode, if the
;; `variable-pitch' face supports it ;; `variable-pitch' face supports it
@ -60,20 +58,34 @@
(setq x-stretch-cursor t) (setq x-stretch-cursor t)
(setq column-number-mode t) (setq column-number-mode t)
(setq straight-repository-branch "develop")
(global-set-key "\C-g" 'keyboard-quit) (global-set-key "\C-g" 'keyboard-quit)
(global-set-key "\C-cu" 'browse-url-chrome) (global-set-key "\C-cu" 'browse-url-chrome)
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) (setq straight-repository-branch "develop")
(setq org-directory "~/enc/org/")
(use-package! pdf-tools
:defer t
:commands (pdf-loader-install)
:mode "\\.pdf\\'"
:bind (:map pdf-view-mode-map
("n" . pdf-view-next-line-or-next-page)
("p" . pdf-view-previous-line-or-previous-page)
("C-=" . pdf-view-enlarge)
("C--" . pdf-view-shrink))
:init (pdf-loader-install)
:config (add-to-list 'revert-without-query ".pdf"))
(add-hook 'pdf-view-mode-hook #'(lambda () (interactive (display-line-numbers-mode))))
(add-to-list 'auto-mode-alist
'("\\.org\\'" . org-mode))
(setq org-image-actual-width nil)
(setq org-enforce-todo-dependencies t) (setq org-enforce-todo-dependencies t)
(setq org-insert-heading-respect-content nil) (setq org-insert-heading-respect-content nil)
(setq org-reverse-note-order nil) (setq org-reverse-note-order nil)
(setq org-show-following-heading t) (setq org-show-following-heading t)
(setq org-show-hierarchy-above t) (setq org-show-hierarchy-above t)
(setq org-show-siblings nil)
(setq org-deadline-warning-days 7) (setq org-deadline-warning-days 7)
(setq org-blank-before-new-entry (quote ((heading . t) (setq org-blank-before-new-entry (quote ((heading . t)
(plain-list-item . nil)))) (plain-list-item . nil))))
@ -87,12 +99,40 @@
(setq org-log-done (quote time)) (setq org-log-done (quote time))
(setq org-log-into-drawer t) (setq org-log-into-drawer t)
(setq org-catch-invisible-edits "smart") (setq org-catch-invisible-edits "smart")
(setq org-completion-use-ido t) (setq org-completion-use-ido t)
(setq org-use-property-inheritance nil) (setq org-use-property-inheritance nil)
(setq org-duration-format 'h:mm) (setq org-duration-format 'h:mm)
(setq org-hierarchical-todo-statistics t) (setq org-hierarchical-todo-statistics t)
(org-align-tags t)
(defun my-org-tree-to-indirect-buffer (&optional arg)
"Create indirect buffer and narrow it to current subtree.
The buffer is named after the subtree heading, with the filename
appended. If a buffer by that name already exists, it is
selected instead of creating a new buffer."
(interactive "P")
(let* ((new-buffer-p)
(pos (point))
(buffer-name (let* ((heading (org-get-heading t t))
(level (org-outline-level))
(face (intern (concat "outline-" (number-to-string level))))
(heading-string (propertize (org-link-display-format heading)
'face face)))
(concat heading-string "::" (buffer-name))))
(new-buffer (or (get-buffer buffer-name)
(prog1 (condition-case nil
(make-indirect-buffer (current-buffer) buffer-name 'clone)
(error (make-indirect-buffer (current-buffer) buffer-name)))
(setq new-buffer-p t)))))
(switch-to-buffer new-buffer)
(when new-buffer-p
;; I don't understand why setting the point again is necessary, but it is.
(goto-char pos)
(rename-buffer buffer-name)
(org-narrow-to-subtree))))
(advice-add 'org-tree-to-indirect-buffer :override 'my-org-tree-to-indirect-buffer)
(setq org-element--cache-self-verify nil)
(modify-all-frames-parameters (modify-all-frames-parameters
'((right-divider-width . 2) '((right-divider-width . 2)
@ -153,7 +193,6 @@
(global-set-key "\C-cii" '(lambda () (interactive) (global-set-key "\C-cii" '(lambda () (interactive)
(org-time-stamp-inactive '(16)))) (org-time-stamp-inactive '(16))))
(after! org
(setq org-todo-keywords (setq org-todo-keywords
'((sequence '((sequence
"INBOX(i)" "INBOX(i)"
@ -180,7 +219,7 @@
("WAIT" :foreground "yellow" :weight bold) ("WAIT" :foreground "yellow" :weight bold)
("HOLD" :foreground "orange" :weight bold) ("HOLD" :foreground "orange" :weight bold)
("DONE" :foreground "green" :weight bold) ("DONE" :foreground "green" :weight bold)
("KILL" :foreground "grey" :weight bold)))) ("KILL" :foreground "grey" :weight bold)))
(add-hook 'org-insert-heading-hook (add-hook 'org-insert-heading-hook
(lambda () (lambda ()
@ -224,6 +263,15 @@
(add-hook 'org-babel-after-execute-hook 'org-display-inline-images) (add-hook 'org-babel-after-execute-hook 'org-display-inline-images)
(with-eval-after-load 'ox-latex
(add-to-list 'org-latex-classes
'("memoir"
"\\documentclass{memoir}"
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))
(defun org-super-links-quick-related () (defun org-super-links-quick-related ()
(interactive) (interactive)
(let ((org-super-links-link-prefix "\nrelated: ")) (let ((org-super-links-link-prefix "\nrelated: "))
@ -242,67 +290,6 @@
(global-set-key (kbd "C-c l r") 'org-super-links-quick-related) (global-set-key (kbd "C-c l r") 'org-super-links-quick-related)
(global-set-key (kbd "C-c l d") 'org-super-links-delete-link) (global-set-key (kbd "C-c l d") 'org-super-links-delete-link)
(org-super-agenda-mode)
(setq super-agenda-groups
'(;; Each group has an implicit boolean OR operator between its selectors.
(:name "Today" ; Optionally specify section name
:time-grid t ; Items that appear on the time grid
)
(:name "DEADLINES" :deadline t :order 1)
(:name "Focus | [A]" :tag "Focus" :priority "A" :order 2 :face (:append t :weight bold))
;; (:name "Important" :priority "A" :order 4)
;; (:name "Habits" :habit t :order 3)
;; (:name "Shopping" :tag "Besorgung" :order 8)
;; Boolean AND group matches items that match all subgroups
;; :and (:tag "shopping" :tag "@town")
;; Multiple args given in list with implicit OR
;; :tag ("food" "dinner"))
;; :habit t
;; :tag "personal")
(:name "Started" :and (:todo "TASK" :not (:tag "someday") :not (:priority "C") :not (:priority "B") ) :order 10)
;;(:name "Space-related (non-moon-or-planet-related)"
;; ;; Regexps match case-insensitively on the entire entry
;; :and (:regexp ("space" "NASA")
;; ;; Boolean NOT also has implicit OR between selectors
;; :not (:regexp "moon" :tag "planet")))
;;(:name "BWG" :tag "@BWG" :order 16)
;; (:name "read" :tag "2read" :order 22)
;; Groups supply their own section names when none are given
(:name "Someday" :and ( :todo ("WAIT" "HOLD" "INBOX") :tag "someday" :not (:priority "C") :not (:priority "B"))
;; Show this group at the end of the agenda (since it has the
;; highest number). If you specified this group last, items
;; with these todo keywords that e.g. have priority A would be
;; displayed in that group instead, because items are grouped
;; out in the order the groups are listed.
:order 25)
;; "other items": an auto-group with order 99 ----------------------------
(:name "Prio ≤ B" :priority<= "B"
;; Show this section after "Today" and "Important", because
;; their order is unspecified, defaulting to 0. Sections
;; are displayed lowest-number-first.
:order 105)
(:name "reward"
:tag ("reward" "lp")
:order 110
)
(:name "Waiting…" :todo "WAIT" :order 118) ; Set order of this section
;; After the last group, the agenda will display items that didn't
;; match any of these groups, with the default order position of 99
))
(defun my-super-agenda()
"generates my super-agenda"
(interactive)
(org-super-agenda-mode)
(let
((org-super-agenda-groups super-agenda-groups))
(org-agenda nil "a")
)
)
(org-wild-notifier-mode) (org-wild-notifier-mode)
(setq org-wild-notifier-alert-time '(10)) (setq org-wild-notifier-alert-time '(10))
@ -347,32 +334,12 @@
:empty-lines 1 :empty-lines 1
:unnarrowed))) :unnarrowed)))
(add-to-list 'load-path "~/.emacs.d/.local/straight/repos/elgantt/")
(setq elgantt-header-type 'outline
elgantt-draw-overarching-headers t
elgantt-insert-header-even-if-no-timestamp nil
elgantt-scroll-to-current-month-at-startup t)
(setq elgantt-user-set-color-priority-counter 0)
(setq elgantt-custom-header-line
'((:left ((:prop date-at-point
:padding 25)
(:prop todo
:padding 30)))
(:center ((:prop headline)))
(:right ((:prop hashtag
:padding 40
:text-props (face (:background "red")))))))
(global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-ca" 'org-agenda)
(define-prefix-command 'org-agenda-map) (define-prefix-command 'org-agenda-map)
(global-set-key "\C-a" 'org-agenda-map) (global-set-key "\C-a" 'org-agenda-map)
(define-key org-agenda-map "n" 'org-agenda-capture) (define-key org-agenda-map "n" 'org-agenda-capture)
(define-key org-agenda-map "a" 'org-agenda) (define-key org-agenda-map "a" 'org-agenda)
(setq org-agenda-files (directory-files-recursively "~/enc/org" "org$"))
(setq org-agenda-start-day nil (setq org-agenda-start-day nil
org-agenda-span '14 org-agenda-span '14
org-agenda-dim-blocked-tasks 'invisible org-agenda-dim-blocked-tasks 'invisible
@ -396,12 +363,6 @@
(quote (("x" "Phil's view" agenda "" (quote (("x" "Phil's view" agenda ""
((org-agenda-prefix-format " %i %-12:c %s %t ")))))) ((org-agenda-prefix-format " %i %-12:c %s %t "))))))
(setq org-agenda-todo-ignore-with-date nil)
(setq org-agenda-todo-ignore-deadlines (quote far))
(setq org-agenda-todo-ignore-scheduled (quote future))
(setq org-agenda-skip-deadline-if-done t) (setq org-agenda-skip-deadline-if-done t)
(setq org-agenda-skip-scheduled-if-done t) (setq org-agenda-skip-scheduled-if-done t)
@ -410,13 +371,8 @@
(setq org-agenda-log-mode-items (quote (state))) (setq org-agenda-log-mode-items (quote (state)))
;(setq org-agenda-skip-additional-timestamps-same-entry t)
(setq org-agenda-skip-additional-timestamps-same-entry nil)
(setq org-agenda-search-headline-for-time nil) (setq org-agenda-search-headline-for-time nil)
(setq org-agenda-window-setup 'current-window)
(setq org-agenda-include-diary t) (setq org-agenda-include-diary t)
(setq org-agenda-repeating-timestamp-show-all t) (setq org-agenda-repeating-timestamp-show-all t)
@ -433,170 +389,16 @@
(setq org-agenda-skip-timestamp-if-deadline-is-shown t) (setq org-agenda-skip-timestamp-if-deadline-is-shown t)
(setq org-agenda-cmp-user-defined 'bh/agenda-sort)
;;(setq org-agenda-tags-column -102)
(setq org-tags-column -101); for powerplantwin 23" TFT turned 90
; degrees; should *not* differ between
; systems! Otherwise Org-files gets
; re-formatted after switching
; system
;;(when (my-system-type-is-windows)
;; ;;(setq org-agenda-tags-column -103);; for 23" TFT turned 90 degrees
;; (setq org-agenda-tags-column -117);; for 24" TFT turned 90 degrees
;; )
;;(when (my-system-is-sting)
;; (setq org-agenda-tags-column -117);; -117 for 23" TFT sting, rotated 90°
;; )
(setq org-agenda-tags-column (- (- (window-total-width) 3))) ;; total width minus 3
(define-key org-agenda-mode-map (kbd "C-p") 'my-scroll-down-half) (define-key org-agenda-mode-map (kbd "C-p") 'my-scroll-down-half)
(define-key org-agenda-mode-map (kbd "C-n") 'my-scroll-up-half) (define-key org-agenda-mode-map (kbd "C-n") 'my-scroll-up-half)
(setq org-agenda-skip-scheduled-if-deadline-is-shown nil) (setq org-agenda-format-date (lambda (date) (concat "\n"
;;(setq org-agenda-skip-deadline-prewarning-if-scheduled t) (make-string (window-width) 9472)
"\n"
(setq org-global-properties (quote (("STYLE_ALL" . "habit")))) (org-agenda-format-date-aligned date))))
(setq org-habit-graph-column 100)
(defun org-agenda-sharpie ()
"Censor the text of items in the agenda."
(interactive)
(let (regexp old-heading new-heading properties)
;; Save face properties of line in agenda to reapply to changed text
(setq properties (text-properties-at (point)))
;; Go to source buffer
(org-with-point-at (org-find-text-property-in-string 'org-marker
(buffer-substring (line-beginning-position)
(line-end-position)))
;; Save old heading text and ask for new text
(line-beginning-position)
(unless (org-at-heading-p)
;; Not sure if necessary
(org-back-to-heading))
(setq old-heading (when (looking-at org-complex-heading-regexp)
(match-string 4))))
(unless old-heading
(error "Can't find heading. How can this be?"))
;; Back to agenda buffer
(setq new-heading (read-from-minibuffer "Overwrite visible heading with: "))
(add-text-properties 0 (length new-heading) properties new-heading)
;; Replace agenda text
(save-excursion
(let ((inhibit-read-only t))
(goto-char (line-beginning-position))
(when (search-forward old-heading (line-end-position))
(replace-match new-heading 'fixedcase 'literal))))))
(setq org-export-initial-scope 'subtree)
(setq org-export-with-broken-links t) (setq org-export-with-broken-links t)
(with-eval-after-load 'ox-latex
;;(message (concat "################################################\norg-latex-classes = [" org-latex-classes "]"))
(add-to-list 'org-latex-classes
'("scrartcl"
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
(add-to-list 'org-latex-classes
'("detego"
"\\documentclass\[a4paper,parskip=half,11pt,headinclude=false,footinclude=false\]\{scrartcl\}
\\usepackage\[ngerman,american\]\{babel\}\\usepackage\{eurosym\}\\usepackage\{xspace\}\\usepackage\[usenames,dvipsnames\]\{xcolor\}
\\usepackage\[protrusion=true,factor=900\]\{microtype\}\\usepackage\{enumitem\}
\\definecolor\{DispositionColor\}\{RGB\}\{0,54,90\}
\\usepackage\{helvet\}
\\renewcommand\{\\familydefault\}\{\\sfdefault\}
\\DeclareRobustCommand\{\\myacro\}\[1\]\{\\textsc\{\\lowercase\{#1\}\}\} %% abbrevations using small caps
\\usepackage{scrlayer-scrpage} \\rehead{\\includegraphics\[height=1cm\]{{c:/Users/karl.voit/.emacs.d/bin/images/Detego-Logo-209x41.png}}} \\pagestyle{scrheadings} %% Logo in header
\\newenvironment{NOTES}{}{} %% declares org-reveal environment in PDF output
\\usepackage[space]{grffile} %% enable spaces in filenames of includegraphics
%% colorful headings:
%\\setheadsepline\{.4pt\}\[\\color\{DispositionColor\}\]
\\renewcommand\{\\headfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
\\renewcommand\{\\pnumfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
\\addtokomafont\{disposition\}\{\\color\{DispositionColor\}\}
\\addtokomafont\{caption\}\{\\color\{DispositionColor\}\\footnotesize\}
\\addtokomafont\{captionlabel\}\{\\color\{DispositionColor\}\}
\\usepackage\{enumitem\}
\\setlist\{noitemsep\} %% kills the space between items
"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
(add-to-list 'org-latex-classes
'("rise"
"\\documentclass\[a4paper,parskip=half,11pt,headinclude=false,footinclude=false\]\{scrartcl\}
\\usepackage\[ngerman,american\]\{babel\}\\usepackage\{eurosym\}\\usepackage\{xspace\}\\usepackage\[usenames,dvipsnames\]\{xcolor\}
\\usepackage\[protrusion=true,factor=900\]\{microtype\}\\usepackage\{enumitem\}
\\definecolor\{DispositionColor\}\{RGB\}\{0,54,90\}
\\usepackage\{helvet\}
\\renewcommand\{\\familydefault\}\{\\sfdefault\}
\\DeclareRobustCommand\{\\myacro\}\[1\]\{\\textsc\{\\lowercase\{#1\}\}\} %% abbrevations using small caps
\\usepackage{scrlayer-scrpage} \\rehead{\\includegraphics\[height=1cm\]{{c:/Users/karl.voit/.emacs.d/bin/images/RISE_logo_202x500.jpeg}}} \\pagestyle{scrheadings} %% Logo in header
\\newenvironment{NOTES}{}{} %% declares org-reveal environment in PDF output
\\usepackage[space]{grffile} %% enable spaces in filenames of includegraphics
%% colorful headings:
%\\setheadsepline\{.4pt\}\[\\color\{DispositionColor\}\]
\\renewcommand\{\\headfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
\\renewcommand\{\\pnumfont\}\{\\normalfont\\sffamily\\color\{DispositionColor\}\}
\\addtokomafont\{disposition\}\{\\color\{DispositionColor\}\}
\\addtokomafont\{caption\}\{\\color\{DispositionColor\}\\footnotesize\}
\\addtokomafont\{captionlabel\}\{\\color\{DispositionColor\}\}
\\usepackage\{enumitem\}
\\setlist\{noitemsep\} %% kills the space between items
"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
(add-to-list 'org-latex-classes
'("lyrics"
"\\documentclass\[a4paper,parskip=half\]\{scrartcl\}
\\renewcommand*\\sfdefault\{lcmss\} \\renewcommand*\\familydefault\{\\sfdefault\}"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
(add-to-list 'org-latex-classes
'("lyrics2"
"\\documentclass\[a4paper,parskip=half,twocolumn\]\{scrartcl\}
\\renewcommand*\\sfdefault\{lcmss\} \\renewcommand*\\familydefault\{\\sfdefault\}"
("\\section\{%s\}" . "\\section*\{%s\}")
("\\subsection\{%s\}" . "\\subsection*\{%s\}")
("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))
(add-to-list 'org-latex-classes
'("memoirbook"
"\\documentclass[a5paper,12pt]{memoir}"
;; "\\semiisopage[8]"
;; "\\hypersetup{colorlinks=true,linkcolor={Blue},urlcolor={Blue}}" ;; genera un problema al exportar
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
'(org-export-latex-default-class "memoir")
);; with-eval-after-load
(use-package ox-asciidoc
;;:ensure t ;; install package if not found OR: (setq use-package-always-ensure t)
:defer 110
)
(defun my-org-copy-region-as-markdown () (defun my-org-copy-region-as-markdown ()
"Copy the region (in Org) to the system clipboard as Markdown." "Copy the region (in Org) to the system clipboard as Markdown."
(interactive) (interactive)

View file

@ -13,3 +13,4 @@
;; Your init file should contain only one such instance. ;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right. ;; If there is more than one, they won't work right.
) )
(put 'narrow-to-region 'disabled nil)

View file

@ -81,17 +81,17 @@
:checkers :checkers
syntax ; tasing you for every semicolon you forget syntax ; tasing you for every semicolon you forget
(spell +flyspell) ; tasing you for misspelling mispelling ;;(spell +flyspell) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make grammar ; tasing grammar mistake every you make
:tools :tools
;;ansible ansible
;;biblio ; Writes a PhD for you (citation needed) ;;biblio ; Writes a PhD for you (citation needed)
;;collab ; buffers with friends ;;collab ; buffers with friends
;;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
@ -117,7 +117,7 @@
;;agda ; types of types of types of types... ;;agda ; types of types of types of types...
;;beancount ; mind the GAAP ;;beancount ; mind the GAAP
(cc +lsp) ; C > C++ == 1 (cc +lsp) ; C > C++ == 1
clojure ; java with a lisp (clojure +lsp) ; java with a lisp
common-lisp ; if you've seen one lisp, you've seen them all common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs ;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c ;;crystal ; ruby at the speed of c
@ -143,8 +143,8 @@
;;idris ; a language you can depend on ;;idris ; a language you can depend on
json ; At least it ain't XML json ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome ;;(java +lsp) ; the poster child for carpal tunnel syndrome
javascript ; all(hope(abandon(ye(who(enter(here)))))) (javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
julia ; a better, faster MATLAB (julia +lsp) ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script) ;;kotlin ; a better, slicker Java(Script)
latex ; writing papers in Emacs has never been so fun latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove ;;lean ; for folks with too much to prove
@ -154,11 +154,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 ; organize your plain life in plain text (org +dragndrop +pandoc +pretty +gnuplot +roam2) ; 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) ; 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,14 +168,14 @@
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good ;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps ;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor (sh +lsp) ; she sells {ba,z,fi}sh shells on the C xor
;;sml ;;sml
;;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 +lsp) ; the tubes
yaml ; JSON, but readable yaml ; JSON, but readable
zig ; C, but simpler (zig +lsp) ; C, but simpler
:email :email
;;(mu4e +org +gmail) ;;(mu4e +org +gmail)
@ -192,4 +192,4 @@
:config :config
;;literate ;;literate
(default +bindings +smartparens)) (default +bindings))

View file

@ -22,10 +22,13 @@
;; (package! helm-xref) ;; (package! helm-xref)
(package! pdf-tools)
;; Fix for org-roam link issue ;; Fix for org-roam link issue
(package! org :pin "ca873f7")
(package! org-auto-tangle) (package! org-auto-tangle)
(package! ox-slack) (package! ox-slack)
(package! ox-tufte)
(package! org-special-block-extras)
(package! org-transclusion) (package! org-transclusion)
(package! org-modern) (package! org-modern)
(package! org-ql) (package! org-ql)

View file

@ -10,6 +10,12 @@ First line removes the path; second line sets it. Without the first line, your
#+begin_src fish #+begin_src fish
set -e fish_user_paths set -e fish_user_paths
set -U fish_user_paths $HOME/.local/bin $HOME/Applications $HOME/.cabal/bin $HOME/.ghcup/bin $fish_user_paths set -U fish_user_paths $HOME/.local/bin $HOME/Applications $HOME/.cabal/bin $HOME/.ghcup/bin $fish_user_paths
set -e SSH_AGENT_PID
if not set -q gnupg_SSH_AUTH_SOCK_by or test $gnupg_SSH_AUTH_SOCK_by -ne $fish_pid
set -gx SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket)
end
#+end_src #+end_src
* Exports * Exports
@ -416,6 +422,14 @@ Occasionally my keyboard layout changes. I have not figured out why yet, but thi
function polish function polish
setxkbmap -model pc104 -layout pl -option compose:rctrl setxkbmap -model pc104 -layout pl -option compose:rctrl
end end
#+end_src
** greek
Occasionally I type in greek. This function sets my keyboard layout for it.
#+begin_src fish
function greek
setxkbmap -model pc104 -layout gr -option compose:rctrl
end
#+end_src #+end_src
** vps ** vps
Logs me into my VPS with an ssh key. I use it extensively, so being able to log in without having to type a password is really nice. Logs me into my VPS with an ssh key. I use it extensively, so being able to log in without having to type a password is really nice.

View file

@ -1,6 +1,12 @@
set -e fish_user_paths set -e fish_user_paths
set -U fish_user_paths $HOME/.local/bin $HOME/Applications $HOME/.cabal/bin $HOME/.ghcup/bin $fish_user_paths set -U fish_user_paths $HOME/.local/bin $HOME/Applications $HOME/.cabal/bin $HOME/.ghcup/bin $fish_user_paths
set -e SSH_AGENT_PID
if not set -q gnupg_SSH_AUTH_SOCK_by or test $gnupg_SSH_AUTH_SOCK_by -ne $fish_pid
set -gx SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket)
end
set fish_greeting set fish_greeting
set TERM "xterm-256color" set TERM "xterm-256color"
set EDITOR "emacsclient -t -a ''" set EDITOR "emacsclient -t -a ''"
@ -235,8 +241,6 @@ alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'"
alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'" alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'"
alias tofish="sudo chsh $USER -s /bin/fish && echo 'Now log out.'" alias tofish="sudo chsh $USER -s /bin/fish && echo 'Now log out.'"
alias config="/usr/bin/git --git-dir=$HOME/git/dot --work-tree=$HOME"
alias tb="nc termbin.com 9999" alias tb="nc termbin.com 9999"
alias tips="lbrynet txo spend --type=support --is_not_my_input --blocking" alias tips="lbrynet txo spend --type=support --is_not_my_input --blocking"
@ -255,6 +259,10 @@ function polish
setxkbmap -model pc104 -layout pl -option compose:rctrl setxkbmap -model pc104 -layout pl -option compose:rctrl
end end
function greek
setxkbmap -model pc104 -layout gr -option compose:rctrl
end
function vps function vps
ssh -p 2222 phil@46.38.232.163 -i ~/.ssh/id_ed25519_nopass ssh -p 2222 phil@46.38.232.163 -i ~/.ssh/id_ed25519_nopass
end end

View file

@ -133,6 +133,19 @@ bind = , Print, exec, hyprshot -m region
bind = $mainMod, E, exec, emacsclient -c -a 'emacs' bind = $mainMod, E, exec, emacsclient -c -a 'emacs'
#+end_src #+end_src
*** Timestamps
#+begin_src config
bind = $mainMod, W, submap, timestamp
submap = timestamp
bind = , l, exec, wtype $(date +"%Y.%m.%d %H:%M:%S %Z")
bind = , l, submap, reset
bind = , e, exec, wtype $(TZ=America/New_York date +'%Y.%m.%d %H:%M:%S %Z')
bind = , e, submap, reset
bind = , p, exec, wtype $(TZ=America/Denver date +'%Y.%m.%d %H:%M:%S %Z')
bind = , p, submap, reset
bind= , escape, submap, reset
submap = reset
#+end_src
*** Workspaces *** Workspaces
**** Show **** Show
#+begin_src config #+begin_src config
@ -336,4 +349,5 @@ bindm = $mainMod, mouse:273, resizewindow
** Autostart ** Autostart
#+begin_src config #+begin_src config
exec-once=waybar exec-once=waybar
exec-once=ydotoold
#+end_src #+end_src

View file

@ -1,6 +1,8 @@
monitor=HDMI-A-1, 1920x1080@60, 0x0, 1 monitor=HDMI-A-1, 1920x1080@60, 0x0, 1
monitor=eDP-1, 1920x1080@165, 1920x0, 1 monitor=eDP-1, 1920x1080@165, 1920x0, 1
monitor=DP-2, 1920x1080@60, 3840x0, 1 monitor=eDP-2, 1920x1080@165, 1920x0, 1
monitor=DP-2, 1920x1080@60, 1920x1080, 1
monitor=DP-1, 1920x1080@60, 3840x0, 1
input { input {
kb_layout = pl kb_layout = pl
@ -24,15 +26,12 @@ general {
decoration { decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 0 rounding = 0
blur { blur {
enabled = true enabled = true
size = 3 size = 3
passes = 1 passes = 1
} }
drop_shadow = yes drop_shadow = yes
shadow_range = 4 shadow_range = 4
shadow_render_power = 3 shadow_render_power = 3
@ -60,7 +59,7 @@ master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true new_is_master = true
inherit_fullscreen = true inherit_fullscreen = true
mfact = 0.6 mfact = 0.65
} }
gestures { gestures {
@ -96,6 +95,17 @@ bind = , Print, exec, hyprshot -m region
bind = $mainMod, E, exec, emacsclient -c -a 'emacs' bind = $mainMod, E, exec, emacsclient -c -a 'emacs'
bind = $mainMod, W, submap, timestamp
submap = timestamp
bind = , l, exec, wtype $(date +"%Y.%m.%d %H:%M:%S %Z")
bind = , l, submap, reset
bind = , e, exec, wtype $(TZ=America/New_York date +'%Y.%m.%d %H:%M:%S %Z')
bind = , e, submap, reset
bind = , p, exec, wtype $(TZ=America/Denver date +'%Y.%m.%d %H:%M:%S %Z')
bind = , p, submap, reset
bind= , escape, submap, reset
submap = reset
bind = $mainMod, S, submap, show bind = $mainMod, S, submap, show
submap = show submap = show
bind = , 1, moveworkspacetomonitor, name:1 current bind = , 1, moveworkspacetomonitor, name:1 current
@ -276,7 +286,7 @@ bind = , q, movetoworkspacesilent, name:q
bind = , q, submap, reset bind = , q, submap, reset
bind = , z, movetoworkspacesilent, name:z bind = , z, movetoworkspacesilent, name:z
bind = , z, submap, reset bind = , z, submap, reset
bind = , p, movetoworkspacesilent, name:tp bind = , p, movetoworkspacesilent, name:p
bind = , p, submap, reset bind = , p, submap, reset
bind=,escape,submap,reset bind=,escape,submap,reset
submap = reset submap = reset
@ -290,3 +300,4 @@ bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
exec-once=waybar exec-once=waybar
exec-once=ydotoold

View file

@ -280,6 +280,10 @@ Dunst for notifications.
#+begin_src haskell #+begin_src haskell
spawnOnce "dunst" spawnOnce "dunst"
#+end_src #+end_src
***** Compositing - picom
#+begin_src haskell
spawnOnce "picom -b"
#+end_src
***** Activity Watch ***** Activity Watch
I like looking back on the way I spend my time every once in a while. Local time tracking is really helpful, so I run AW in the background. I like looking back on the way I spend my time every once in a while. Local time tracking is really helpful, so I run AW in the background.
#+begin_src haskell #+begin_src haskell
@ -563,6 +567,12 @@ Notes: I use a ZSA Moonlander so a lot of the 4-5 key sequences are actually jus
, ("M-<Print>", spawn "dm-maim") , ("M-<Print>", spawn "dm-maim")
, ("<Print>", spawn "flameshot gui") , ("<Print>", spawn "flameshot gui")
#+end_src
*** Keybindings for keyboard layout changes
#+begin_src haskell
, ("M-j p", spawn "setxkbmap -model pc104 -layout pl -option compose:rctrl")
, ("M-j g", spawn "setxkbmap -model pc104 -layout gr -option compose:rctrl")
#+end_src #+end_src
*** XMonad.Prompt.OrgMode *** XMonad.Prompt.OrgMode
#+begin_src haskell #+begin_src haskell

View file

@ -146,6 +146,8 @@ myStartupHook = do
spawnOnce "dunst" spawnOnce "dunst"
spawnOnce "picom -b"
spawnOnce "aw-server" spawnOnce "aw-server"
spawnOnce "aw-watcher-afk" spawnOnce "aw-watcher-afk"
spawnOnce "aw-watcher-window" spawnOnce "aw-watcher-window"
@ -342,6 +344,9 @@ main = do
, ("M-<Print>", spawn "dm-maim") , ("M-<Print>", spawn "dm-maim")
, ("<Print>", spawn "flameshot gui") , ("<Print>", spawn "flameshot gui")
, ("M-j p", spawn "setxkbmap -model pc104 -layout pl -option compose:rctrl")
, ("M-j g", spawn "setxkbmap -model pc104 -layout gr -option compose:rctrl")
, ("M-c i", orgPrompt def "TODO" "~/enc/org/inbox.org") , ("M-c i", orgPrompt def "TODO" "~/enc/org/inbox.org")
, ("M-c l", orgPromptPrimary def "LINK" "~/enc/org/inbox.org") , ("M-c l", orgPromptPrimary def "LINK" "~/enc/org/inbox.org")
, ("M-c n", orgPrompt def "NOTE" "~/enc/org/inbox.org") , ("M-c n", orgPrompt def "NOTE" "~/enc/org/inbox.org")