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))

File diff suppressed because it is too large Load diff

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,22 +58,36 @@
(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/")
(setq org-enforce-todo-dependencies t) (use-package! pdf-tools
(setq org-insert-heading-respect-content nil) :defer t
(setq org-reverse-note-order nil) :commands (pdf-loader-install)
(setq org-show-following-heading t) :mode "\\.pdf\\'"
(setq org-show-hierarchy-above t) :bind (:map pdf-view-mode-map
(setq org-show-siblings nil) ("n" . pdf-view-next-line-or-next-page)
(setq org-deadline-warning-days 7) ("p" . pdf-view-previous-line-or-previous-page)
(setq org-blank-before-new-entry (quote ((heading . t) ("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-insert-heading-respect-content nil)
(setq org-reverse-note-order nil)
(setq org-show-following-heading t)
(setq org-show-hierarchy-above t)
(setq org-deadline-warning-days 7)
(setq org-blank-before-new-entry (quote ((heading . t)
(plain-list-item . nil)))) (plain-list-item . nil))))
(setq org-todo-repeat-to-state "LOOP") (setq org-todo-repeat-to-state "LOOP")
(setq org-remove-highlights-with-change nil) (setq org-remove-highlights-with-change 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,8 +193,7 @@
(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)"
"TASK(t)" ; A task that needs doing & is ready to do "TASK(t)" ; A task that needs doing & is ready to do
@ -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
@ -387,21 +354,15 @@
org-agenda-log-mode-items '(closed clock state) org-agenda-log-mode-items '(closed clock state)
org-agenda-prefix-format "%l %i %c %s %t") org-agenda-prefix-format "%l %i %c %s %t")
(setq org-agenda-compact-blocks t) (setq org-agenda-compact-blocks t)
(setq org-agenda-use-tag-inheritance (quote (agenda)));; agenda performance (setq org-agenda-use-tag-inheritance (quote (agenda)));; agenda performance
(setq org-agenda-span 1) (setq org-agenda-span 1)
(add-hook 'org-agenda-mode-hook '(lambda () (hl-line-mode 1))) (add-hook 'org-agenda-mode-hook '(lambda () (hl-line-mode 1)))
(setq org-agenda-custom-commands (setq org-agenda-custom-commands
(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,20 +371,15 @@
(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) (setq org-agenda-show-all-dates t)
(setq org-agenda-show-all-dates t) (setq org-agenda-sorting-strategy
(setq org-agenda-sorting-strategy
(quote ((agenda habit-down time-up user-defined-up priority-down category-keep) (quote ((agenda habit-down time-up user-defined-up priority-down category-keep)
(todo priority-down category-keep) (todo priority-down category-keep)
(tags priority-down category-keep) (tags priority-down category-keep)
@ -431,172 +387,18 @@
(setq org-agenda-start-on-weekday nil) (setq org-agenda-start-on-weekday nil)
(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)
@ -617,8 +419,8 @@
("mkv" . "mpv") ("mkv" . "mpv")
("mp4" . "mpv"))) ("mp4" . "mpv")))
(mode-icons-mode) (mode-icons-mode)
(add-hook 'dired-mode-hook #'mode-icons--mode-disable) ;; with mode-icons, visiting a dir with dired takes up *lots* of CPU for =mode-icons-reset= (performance-issue) (add-hook 'dired-mode-hook #'mode-icons--mode-disable) ;; with mode-icons, visiting a dir with dired takes up *lots* of CPU for =mode-icons-reset= (performance-issue)
(add-to-list 'auto-mode-alist '("\\.[Cc][Ss][Vv]\\'" . csv-mode)) (add-to-list 'auto-mode-alist '("\\.[Cc][Ss][Vv]\\'" . csv-mode))
(autoload 'csv-mode "csv-mode" (autoload 'csv-mode "csv-mode"

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")