summaryrefslogtreecommitdiff
path: root/.emacs.d/modules/thanos-org.el
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d/modules/thanos-org.el')
-rw-r--r--.emacs.d/modules/thanos-org.el247
1 files changed, 0 insertions, 247 deletions
diff --git a/.emacs.d/modules/thanos-org.el b/.emacs.d/modules/thanos-org.el
deleted file mode 100644
index 0ad1f28..0000000
--- a/.emacs.d/modules/thanos-org.el
+++ /dev/null
@@ -1,247 +0,0 @@
-;;; thanos-org-config.el --- org config -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2023 Thanos Apollo
-
-;; Author: Thanos Apollo <[email protected]>
-;; Keywords:
-
-;; This program is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; This program is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮
-;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯
-;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮
-;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫
-;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃
-;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯
-;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃
-;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯
-;;; Code:
-
-(require 'org)
-(require 'org-agenda)
-;; Export backends
-(require 'ox-texinfo)
-(require 'ox-hugo)
-
-(setf org-directory "~/org/"
- org-agenda-files '("~/org/agenda.org")
- org-default-notes-file (expand-file-name "notes.org" org-directory)
- org-ellipsis " ▼ "
- org-log-done 'time
- org-hide-emphasis-markers nil ;;change to t to hide emphasis markers
- org-table-convert-region-max-lines 20000
- org-log-done 'time
- org-todo-keywords '((sequence "TODO(t)" "SEMINAR(s)" "LECTURE(l)" "DONE(d)")))
-
-(define-key org-mode-map (kbd "C-c t") 'org-time-stamp-inactive)
-
-(defadvice org-edit-src-code (around set-buffer-file-name activate compile)
- (let ((file-name (buffer-file-name))) ;; (1)
- ad-do-it ;; (2)
- (setf buffer-file-name file-name))) ;; (3)
-
-(org-babel-do-load-languages
- 'org-babel-load-languages
- '((emacs-lisp . t)
- (python . t)))
-
-
-
-(setf org-structure-template-alist
- '(("e" . "src emacs-lisp")
- ("p" . "src python")
- ("l" . "src lisp")
- ("b" . "src bash")
- ("q" . "QUOTE")))
-
-;;Auto tangle
-(add-hook 'org-mode-hook 'org-auto-tangle-mode)
-
-
-;; Org roam
-(require 'org-roam)
-
-;; Create ~/Notes, ignore errors if it's already made
-(ignore-errors
- (make-directory "~/Notes"))
-
-(setf org-roam-directory "~/Notes"
- org-roam-dailies-directory "journal/")
-
-(org-roam-db-autosync-enable)
-
-(setf org-roam-node-display-template (concat "${title:50} "(propertize "${tags:30}" 'face 'org-tag)))
-
-(setf org-roam-db-node-include-function
- (lambda ()
- (not (or (member "journal" (org-get-tags))
- (member "memorize" (org-get-tags))))))
-
-;; Functions
-(defun org-insert-book ()
- "Insert org-link from ~/Library for book"
- (interactive)
- (let* ((book-path (read-file-name "Book: " "~/Library/")))
- (org-insert-link nil book-path (file-name-base book-path))))
-
-;;; Keybindings
-(define-key org-mode-map (kbd "C-c b") 'org-insert-book)
-
-;; Set maps
-(define-prefix-command 'thanos/notes)
-(global-set-key (kbd "C-c n") 'thanos/notes)
-;; org-roam keys
-(define-key thanos/notes (kbd "t") 'org-roam-buffer-toggle)
-(define-key thanos/notes (kbd "f") 'org-roam-node-find)
-(define-key thanos/notes (kbd "i") 'org-roam-node-insert)
-;; Journaling
-(define-prefix-command 'Journal)
-(define-key thanos/notes (kbd "j") 'Journal)
-(define-key Journal (kbd "d") 'Journaling/dailies)
-(define-key Journal (kbd "C-c") 'org-roam-dailies-capture-today)
-(define-key Journal (kbd "C-t") 'org-roam-dailies-capture-tomorrow)
-(define-key Journal (kbd "C-y") 'org-roam-dailies-capture-yesterday)
-(define-key Journal (kbd "c") 'org-roam-dailies-goto-today)
-(define-key Journal (kbd "t") 'org-roam-dailies-goto-tomorrow)
-(define-key Journal (kbd "y") 'org-roam-dailies-goto-yesterday)
-
-(define-key org-mode-map (kbd "C-c C-.") 'org-roam-tag-add)
-(define-key org-mode-map (kbd "C-c i") 'org-id-get-create)
-
-;; Templates
-(setf org-roam-capture-templates
- '(("d" "default" plain
- "%?"
- :if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n")
- :unnarrowed t)
- ("l" "programming language" plain
- "* Characteristics\n\n- Family: %?\n- Inspired by: \n\n* Reference:\n\n"
- :if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n")
- :unnarrowed t)
- ("p" "MUS" plain "* Goals\n\n%?\n\n* Tasks\n\n** TODO Add initial tasks\n\n* Dates\n\n"
- :if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n#+filetags: MUS")
- :unnarrowed t)))
-;; Dailies
-(setf org-roam-dailies-capture-templates
- '(("d" "default" entry
- "* %?"
- :target (file+head "%<%Y-%m-%d>.org"
- "#+title: %<%Y-%m-%d>\n"))
- ("j" "Daily Journaling" entry
- (file "~/org/Templates/journaling.org")
- :target (file+head "%<%Y-%m-%d>.org"
- "#+title: %<%Y-%m-%d>\n"))
- ("i" "Improve" entry
- (file "~/org/Templates/improve.org")
- :target (file+head "%<%Y-%m-%d>.org"
- "#+title: %<%Y-%m-%d>\n"))))
-
-;; Org themes
-(require 'org-modern)
-
-
-(defvar org-gruvbox-theming
- '((org-level-1 1.30 "#fb4934" extra-bold)
- (org-level-2 1.20 "#98971a" bold)
- (org-level-3 1.13 "#458588" bold)
- (org-level-4 1.10 "#b16286" semi-bold)
- (org-level-5 1.10 "#689d6a" normal)
- (org-level-6 1.10 "#d3869b" normal)
- (org-level-7 1.10 "#8ec07c" normal)
- (org-level-8 1.00 "#ebdbb2" normal)))
-
-(defun thanos/org-theme-gruvbox ()
- "Enable Darkone theme for Org headers."
- (interactive)
- (dolist (face org-gruvbox-theming)
- (set-face-attribute (nth 0 face) nil
- :font "Jetbrains Mono"
- :weight (nth 3 face)
- :height (nth 1 face)
- :foreground (nth 2 face)))
- (set-face-attribute 'org-table nil
- :font "Jetbrains Mono"
- :weight 'semi-bold
- :height 1.0
- :foreground "#fb4934"))
-
-(defun thanos/org-scale ()
- "Enable Darkone theme for Org headers."
- (interactive)
- (dolist (face org-gruvbox-theming)
- (set-face-attribute (nth 0 face) nil
- :font "Jetbrains Mono"
- :weight (nth 3 face)
- :height (nth 1 face)))
- (set-face-attribute 'org-table nil
- :font "Jetbrains Mono"
- :weight 'semi-bold
- :height 1.0
- :foreground "#fb4934"))
-
-(defun thanos/org-hook ()
- "Add hooks for `org-mode'."
- (display-line-numbers-mode -1)
- (flyspell-mode)
- (org-auto-tangle-mode)
- (when (not (equal (car custom-enabled-themes) 'modus-vivendi))
- (thanos/org-scale)))
-
-(add-hook 'org-mode-hook #'thanos/org-hook)
-
-(modify-all-frames-parameters
- '((right-divider-width . 5)
- (internal-border-width . 5)))
-(dolist (face '(window-divider
- window-divider-first-pixel
- window-divider-last-pixel))
- (face-spec-reset-face face)
- (set-face-foreground face (face-attribute 'default :background)))
-(set-face-background 'fringe (face-attribute 'default :background))
-
-(setf
- ;; Edit settings
- org-auto-align-tags nil
- org-tags-column 0
- org-fold-catch-invisible-edits 'show-and-error
- org-special-ctrl-a/e t
- org-insert-heading-respect-content t
-
- ;; Org styling, hide markup etc.
- org-hide-emphasis-markers t
- org-pretty-entities t
-
- ;; Agenda styling
- org-agenda-tags-column 0
- org-agenda-block-separator ?─
- org-agenda-time-grid
- '((daily today require-timed)
- (800 1000 1200 1400 1600 1800 2000)
- " ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄")
- org-agenda-current-time-string
- "⭠ now ─────────────────────────────────────────────────")
-
-(global-org-modern-mode)
-
-(setf org-modern-table nil)
-(setf org-modern-todo nil)
-
-;; Jinx
-(require 'jinx)
-(add-hook 'org-mode-hook #'jinx-mode)
-(define-key jinx-mode-map (kbd "M-'") #'jinx-correct)
-
-(provide 'thanos-org)
-;;; thanos-org.el ends here