diff options
-rw-r--r-- | .emacs.d/init.el | 7 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-aesthetics.el | 31 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-ai.el | 36 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-books.el | 10 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-dev.el | 18 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-dired.el | 11 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-elfeed.el | 11 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-eshell.el | 11 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-markdown.el | 17 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-mu4e.el | 11 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-multimedia.el | 11 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-org-config.el | 79 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-org-roam.el | 105 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-org-themes.el | 142 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-org.el | 273 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-packages.el | 31 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-pass.el | 14 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-random.el | 32 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-vm.el | 54 | ||||
-rw-r--r-- | .emacs.d/modules/thanos-yeetube.el | 95 |
20 files changed, 385 insertions, 614 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el index efb36c3..e062649 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -28,18 +28,13 @@ (require 'thanos-eshell) (require 'thanos-aesthetics) (require 'thanos-dired) -(require 'thanos-org-config) -(require 'thanos-org-roam) -(require 'thanos-org-themes) +(require 'thanos-org) (require 'thanos-pass) (require 'thanos-commands) -(require 'thanos-vm) -(require 'thanos-ai) (require 'thanos-books) (require 'thanos-chat) (require 'thanos-dev) (require 'thanos-dired) -(require 'thanos-markdown) (require 'thanos-mu4e) (require 'thanos-multimedia) diff --git a/.emacs.d/modules/thanos-aesthetics.el b/.emacs.d/modules/thanos-aesthetics.el index 91ca3a7..6f27a52 100644 --- a/.emacs.d/modules/thanos-aesthetics.el +++ b/.emacs.d/modules/thanos-aesthetics.el @@ -19,9 +19,14 @@ ;; along with this program. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: - -;; - +;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮ +;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯ +;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮ +;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫ +;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃ +;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯ ;;; Code: (setf inhibit-startup-message t) @@ -74,7 +79,7 @@ (if is-hermes '(default ((t (:inherit nil :height 120 :family "Jetbrains Mono")))) '(default ((t (:inherit nil :height 135 :family "Jetbrains Mono")))))) -(load-theme 'monokai) +(load-theme 'molokai) (doom-modeline-mode 1) @@ -138,5 +143,23 @@ (add-hook 'ibuffer-mode-hook 'nerd-icons-ibuffer-mode) +(defun thanos/markdown-theme () + "Adjust height for markdown" + (interactive) + (dolist + (face + '(markdown-header-face-1 :height 2.0)))) + +(require 'markdown-mode) +(setq markdown-header-scaling t) +(add-to-list 'auto-mode-alist '("\\.md\\'" . gfm-mode)) +(setq markdown-command "multimarkdown") + +(electric-pair-mode 1) +(auto-insert-mode 1) +(global-flycheck-mode) +(global-set-key (kbd "M-.") 'xref-find-definitions) +(global-set-key (kbd "C-c l") 'display-line-numbers-mode) + (provide 'thanos-aesthetics) ;;; thanos-aesthetics.el ends here diff --git a/.emacs.d/modules/thanos-ai.el b/.emacs.d/modules/thanos-ai.el deleted file mode 100644 index 387e71d..0000000 --- a/.emacs.d/modules/thanos-ai.el +++ /dev/null @@ -1,36 +0,0 @@ -;;; thanos-ai.el --- -*- 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 'gptel) - -(define-key 'thanos/applications-map (kbd "c") 'gptel-send) - -(setf gptel-api-key (password-store-get "chatgpt/api") - gptel-model 'gpt-4-32k) - - -(provide 'thanos-ai) -;;; thanos-ai.el ends here diff --git a/.emacs.d/modules/thanos-books.el b/.emacs.d/modules/thanos-books.el index b34992e..0f17bce 100644 --- a/.emacs.d/modules/thanos-books.el +++ b/.emacs.d/modules/thanos-books.el @@ -37,11 +37,15 @@ (add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)) -(defun my-nov-font-setup () +(defun thanos/nov-font-setup () (face-remap-add-relative 'variable-pitch :family "Jetbrains Mono" - :height 100)) -(add-hook 'nov-mode-hook 'my-nov-font-setup) + (if is-hermes + :height 99 + :height 120)) + (beacon-mode -1)) + +(add-hook 'nov-mode-hook 'thanos/nov-font-setup) (provide 'thanos-books) diff --git a/.emacs.d/modules/thanos-dev.el b/.emacs.d/modules/thanos-dev.el index 576a524..d80170e 100644 --- a/.emacs.d/modules/thanos-dev.el +++ b/.emacs.d/modules/thanos-dev.el @@ -19,9 +19,14 @@ ;; along with this program. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: - -;; - +;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮ +;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯ +;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮ +;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫ +;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃ +;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯ ;;; Code: (require 'company) @@ -104,6 +109,13 @@ (require 'json-mode) (add-to-list 'auto-mode-alist '("\\.json'" . json-mode)) +;; ChatGPT +(require 'gptel) + +(define-key 'thanos/applications-map (kbd "c") 'gptel-send) + +(setf gptel-api-key (password-store-get "chatgpt/api") + gptel-model 'gpt-4-32k) (provide 'thanos-dev) ;;; thanos-dev.el ends here diff --git a/.emacs.d/modules/thanos-dired.el b/.emacs.d/modules/thanos-dired.el index 48a6bdc..74973b1 100644 --- a/.emacs.d/modules/thanos-dired.el +++ b/.emacs.d/modules/thanos-dired.el @@ -19,9 +19,14 @@ ;; along with this program. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: - -;; - +;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮ +;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯ +;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮ +;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫ +;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃ +;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯ ;;; Code: (require 'dired) diff --git a/.emacs.d/modules/thanos-elfeed.el b/.emacs.d/modules/thanos-elfeed.el index 181e8f4..630c902 100644 --- a/.emacs.d/modules/thanos-elfeed.el +++ b/.emacs.d/modules/thanos-elfeed.el @@ -19,9 +19,14 @@ ;; along with this program. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: - -;; - +;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮ +;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯ +;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮ +;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫ +;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃ +;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯ ;;; Code: (require 'elfeed) diff --git a/.emacs.d/modules/thanos-eshell.el b/.emacs.d/modules/thanos-eshell.el index 1a0e9c3..dcb2ef5 100644 --- a/.emacs.d/modules/thanos-eshell.el +++ b/.emacs.d/modules/thanos-eshell.el @@ -19,9 +19,14 @@ ;; along with this program. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: - -;; - +;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮ +;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯ +;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮ +;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫ +;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃ +;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯ ;;; Code: (setenv "EDITOR" "emacsclient -n") diff --git a/.emacs.d/modules/thanos-markdown.el b/.emacs.d/modules/thanos-markdown.el index 72e0327..53aefc6 100644 --- a/.emacs.d/modules/thanos-markdown.el +++ b/.emacs.d/modules/thanos-markdown.el @@ -24,23 +24,6 @@ ;;; Code: -(defun thanos/markdown-theme () - "." - (interactive) - (dolist - (face - '(markdown-header-face-1 :height 2.0)))) - -(require 'markdown-mode) -(setq markdown-header-scaling t) -(add-to-list 'auto-mode-alist '("\\.md\\'" . gfm-mode)) -(setq markdown-command "multimarkdown") - -(electric-pair-mode 1) -(auto-insert-mode 1) -(global-flycheck-mode) -(global-set-key (kbd "M-.") 'xref-find-definitions) -(global-set-key (kbd "C-c l") 'display-line-numbers-mode) diff --git a/.emacs.d/modules/thanos-mu4e.el b/.emacs.d/modules/thanos-mu4e.el index 10e0045..7703f17 100644 --- a/.emacs.d/modules/thanos-mu4e.el +++ b/.emacs.d/modules/thanos-mu4e.el @@ -19,9 +19,14 @@ ;; along with this program. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: - -;; - +;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮ +;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯ +;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮ +;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫ +;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃ +;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯ ;;; Code: (require 'smtpmail) diff --git a/.emacs.d/modules/thanos-multimedia.el b/.emacs.d/modules/thanos-multimedia.el index aed0982..232b33f 100644 --- a/.emacs.d/modules/thanos-multimedia.el +++ b/.emacs.d/modules/thanos-multimedia.el @@ -19,9 +19,14 @@ ;; along with this program. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: - -;; - +;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮ +;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯ +;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮ +;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫ +;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃ +;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯ ;;; Code: ;; EMMS diff --git a/.emacs.d/modules/thanos-org-config.el b/.emacs.d/modules/thanos-org-config.el deleted file mode 100644 index 845dea5..0000000 --- a/.emacs.d/modules/thanos-org-config.el +++ /dev/null @@ -1,79 +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) - -(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-log-into-drawer t - org-todo-keywords ;; This overwrites the default Doom org-todo-keywords - '((sequence - "TODO(t)" ;; A task that is ready to be tackled - "BLOG(b)" ;; Blog writing assignments - "GYM(g)" ;; Things to accomplish at the gym - "WAIT(w)" ;; Something is holding up this task - "|" ;; The pipe necessary to separate "active" states and "inactive" states - "DONE(d)" ;; Task has been completed - "CANCELLED(c)" ))) - -(define-key org-mode-map (kbd "C-c t") 'org-time-stamp-inactive) -(define-key org-mode-map (kbd "C-c s") 'org-download-screenshot) - -(add-hook 'org-mode-hook 'thanos/org-theme-gruvbox) -(add-hook 'org-mode-hook 'flyspell-mode) -(add-hook 'org-mode-hook 'toc-org-mode) - -(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) - - -(provide 'thanos-org-config) -;;; thanos-org-config.el ends here diff --git a/.emacs.d/modules/thanos-org-roam.el b/.emacs.d/modules/thanos-org-roam.el deleted file mode 100644 index 1eeaa4b..0000000 --- a/.emacs.d/modules/thanos-org-roam.el +++ /dev/null @@ -1,105 +0,0 @@ -;;; org-roam.el --- org roam 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-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 "C-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")))) - -(provide 'thanos-org-roam) -;;; org-roam.el ends here diff --git a/.emacs.d/modules/thanos-org-themes.el b/.emacs.d/modules/thanos-org-themes.el deleted file mode 100644 index a63459c..0000000 --- a/.emacs.d/modules/thanos-org-themes.el +++ /dev/null @@ -1,142 +0,0 @@ -;;; thanos-org-themes.el --- org themes -*- 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-modern) -(require 'org-agenda) -(require 'org) - -(defun thanos/org-theme-dracula () - "Enable Dracula theme for Org headers." - (interactive) - (dolist - (face - '((org-level-1 1.7 "#8be9fd" extra-bold) - (org-level-2 1.6 "#bd93f9" extra-bold) - (org-level-3 1.5 "#50fa7b" bold) - (org-level-4 1.4 "#ff79c6" semi-bold) - (org-level-5 1.3 "#9aedfe" normal) - (org-level-6 1.2 "#caa9fa" normal) - (org-level-7 1.1 "#5af78e" normal) - (org-level-8 1.0 "#ff92d0" normal))) - (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 'normal - :height 1.0 - :foreground "#bfafdf")) - -(defun thanos/org-theme-darkone () - "Enable Darkone theme for Org headers." - (interactive) - (dolist - (face - '((org-level-1 1.70 "#51afef" bold) - (org-level-2 1.55 "#7FBCD2" bold) - (org-level-3 1.40 "#da8548" bold) - (org-level-4 1.20 "#da8548" semi-bold) - (org-level-5 1.20 "#5699af" normal) - (org-level-6 1.20 "#a9a1e1" normal) - (org-level-7 1.10 "#46d9ff" normal) - (org-level-8 1.00 "#ff6c6b" normal))) - (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 'normal - :height 1.0 - :foreground "#A66CFF")) - -(defun thanos/org-theme-gruvbox () - "Enable Darkone theme for Org headers." - (interactive) - (dolist - (face - '((org-level-1 1.70 "#fb4934" bold) - (org-level-2 1.55 "#98971a" bold) - (org-level-3 1.40 "#458588" bold) - (org-level-4 1.20 "#b16286" semi-bold) - (org-level-5 1.20 "#689d6a" normal) - (org-level-6 1.20 "#d3869b" normal) - (org-level-7 1.10 "#8ec07c" normal) - (org-level-8 1.00 "#ebdbb2" normal))) - (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 'normal - :height 1.0 - :foreground "#A66CFF")) - -(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-todo nil) - - - -(provide 'thanos-org-themes) -;;; thanos-org-themes.el ends here diff --git a/.emacs.d/modules/thanos-org.el b/.emacs.d/modules/thanos-org.el new file mode 100644 index 0000000..b1f3d43 --- /dev/null +++ b/.emacs.d/modules/thanos-org.el @@ -0,0 +1,273 @@ +;;; 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) + +(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-log-into-drawer t + org-todo-keywords ;; This overwrites the default Doom org-todo-keywords + '((sequence + "TODO(t)" ;; A task that is ready to be tackled + "BLOG(b)" ;; Blog writing assignments + "GYM(g)" ;; Things to accomplish at the gym + "WAIT(w)" ;; Something is holding up this task + "|" ;; The pipe necessary to separate "active" states and "inactive" states + "DONE(d)" ;; Task has been completed + "CANCELLED(c)" ))) + +(define-key org-mode-map (kbd "C-c t") 'org-time-stamp-inactive) +(define-key org-mode-map (kbd "C-c s") 'org-download-screenshot) + +(add-hook 'org-mode-hook 'thanos/org-theme-gruvbox) +(add-hook 'org-mode-hook 'flyspell-mode) +(add-hook 'org-mode-hook 'toc-org-mode) + +(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 "C-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) +(require 'org-modern) +(require 'org-agenda) +(require 'org) + +(defun thanos/org-theme-dracula () + "Enable Dracula theme for Org headers." + (interactive) + (dolist + (face + '((org-level-1 1.7 "#8be9fd" extra-bold) + (org-level-2 1.6 "#bd93f9" extra-bold) + (org-level-3 1.5 "#50fa7b" bold) + (org-level-4 1.4 "#ff79c6" semi-bold) + (org-level-5 1.3 "#9aedfe" normal) + (org-level-6 1.2 "#caa9fa" normal) + (org-level-7 1.1 "#5af78e" normal) + (org-level-8 1.0 "#ff92d0" normal))) + (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 'normal + :height 1.0 + :foreground "#bfafdf")) + +(defun thanos/org-theme-darkone () + "Enable Darkone theme for Org headers." + (interactive) + (dolist + (face + '((org-level-1 1.70 "#51afef" bold) + (org-level-2 1.55 "#7FBCD2" bold) + (org-level-3 1.40 "#da8548" bold) + (org-level-4 1.20 "#da8548" semi-bold) + (org-level-5 1.20 "#5699af" normal) + (org-level-6 1.20 "#a9a1e1" normal) + (org-level-7 1.10 "#46d9ff" normal) + (org-level-8 1.00 "#ff6c6b" normal))) + (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 'normal + :height 1.0 + :foreground "#A66CFF")) + +(defun thanos/org-theme-gruvbox () + "Enable Darkone theme for Org headers." + (interactive) + (dolist + (face + '((org-level-1 1.70 "#fb4934" bold) + (org-level-2 1.55 "#98971a" bold) + (org-level-3 1.40 "#458588" bold) + (org-level-4 1.20 "#b16286" semi-bold) + (org-level-5 1.20 "#689d6a" normal) + (org-level-6 1.20 "#d3869b" normal) + (org-level-7 1.10 "#8ec07c" normal) + (org-level-8 1.00 "#ebdbb2" normal))) + (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 'normal + :height 1.0 + :foreground "#A66CFF")) + +(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-todo nil) + + +(provide 'thanos-org) +;;; thanos-org-config.el ends here diff --git a/.emacs.d/modules/thanos-packages.el b/.emacs.d/modules/thanos-packages.el index 543fd7f..a80cbed 100644 --- a/.emacs.d/modules/thanos-packages.el +++ b/.emacs.d/modules/thanos-packages.el @@ -26,24 +26,19 @@ (require 'package) -(defvar thanos/packages - '(emms tree-sitter org-snooze org-drill - all-the-icons nerd-icons-dired nerd-icons-ibuffer - nerd-icons-ivy-rich toc-org emojify nerd-icons-completion - doom-modeline gruvbox-theme counsel - vterm multi-vterm which-key ivy ivy-rich helpful - password-store org org-modern org-roam - visual-fill-column rainbow-delimiters flycheck - lsp-mode lsp-ui json-mode rjsx-mode - typescript-mode python-mode pyvenv company - company-box magit elfeed elfeed-goodies paredit - corfu monkeytype sudo-edit consult alsamixer - simple-httpd eshell-syntax-highlighting - org-superstar pdf-tools org-auto-tangle sly - org-download eshell-git-prompt eshell-vterm - hackernews circe gptel beacon ement mu4e-alert - pass eat nov yeetube stumpwm-mode telega - transmission monokai-theme)) +(defvar thanos/packages '(emms tree-sitter org-snooze org-drill + all-the-icons nerd-icons-dired nerd-icons-ibuffer + nerd-icons-ivy-rich toc-org emojify nerd-icons-completion + doom-modeline counsel molokai-theme vterm multi-vterm which-key + ivy ivy-rich helpful password-store org org-modern org-roam + visual-fill-column rainbow-delimiters flycheck lsp-mode lsp-ui + json-mode rjsx-mode typescript-mode python-mode pyvenv company + company-box magit elfeed elfeed-goodies paredit corfu + monkeytype sudo-edit consult alsamixer simple-httpd + eshell-syntax-highlighting org-superstar pdf-tools + org-auto-tangle sly org-download eshell-git-prompt eshell-vterm + hackernews circe gptel beacon ement mu4e-alert pass eat nov + yeetube stumpwm-mode telega transmission)) (setf package-archives '(("melpa" . "https://melpa.org/packages/") ("elpa" . "https://elpa.gnu.org/packages/") diff --git a/.emacs.d/modules/thanos-pass.el b/.emacs.d/modules/thanos-pass.el index edad15e..a72759b 100644 --- a/.emacs.d/modules/thanos-pass.el +++ b/.emacs.d/modules/thanos-pass.el @@ -3,7 +3,6 @@ ;; 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 @@ -19,9 +18,14 @@ ;; along with this program. If not, see <https://www.gnu.org/licenses/>. ;;; Commentary: - -;; - +;; ╭━━━━┳╮╱╱╱╱╱╱╱╱╱╱╱╱╱╱╭━━━╮╱╱╱╱╱╭╮╭╮╱╱╱╱╱╱╱╱╭━━━╮ +;; ┃╭╮╭╮┃┃╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃╭━╮┃╱╱╱╱╱┃┃┃┃╱╱╱╱╱╱╱╱┃╭━━╯ +;; ╰╯┃┃╰┫╰━┳━━┳━╮╭━━┳━━╮┃┃╱┃┣━━┳━━┫┃┃┃╭━━╮╱╱╱╱┃╰━━┳╮╭┳━━┳━━┳━━╮ +;; ╱╱┃┃╱┃╭╮┃╭╮┃╭╮┫╭╮┃━━┫┃╰━╯┃╭╮┃╭╮┃┃┃┃┃╭╮┃╭━━╮┃╭━━┫╰╯┃╭╮┃╭━┫━━┫ +;; ╱╱┃┃╱┃┃┃┃╭╮┃┃┃┃╰╯┣━━┃┃╭━╮┃╰╯┃╰╯┃╰┫╰┫╰╯┃╰━━╯┃╰━━┫┃┃┃╭╮┃╰━╋━━┃ +;; ╱╱╰╯╱╰╯╰┻╯╰┻╯╰┻━━┻━━╯╰╯╱╰┫╭━┻━━┻━┻━┻━━╯╱╱╱╱╰━━━┻┻┻┻╯╰┻━━┻━━╯ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱┃┃ +;; ╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╱╰╯ ;;; Code: (require 'password-store) @@ -60,7 +64,7 @@ (delete-frame))))))) (defun smtp-get-pass () - "Get password for smtp" + "Get password for smtp." (interactive) (password-store-copy-field "fastmail.com/[email protected]" "smtp")) diff --git a/.emacs.d/modules/thanos-random.el b/.emacs.d/modules/thanos-random.el deleted file mode 100644 index 9ea2cea..0000000 --- a/.emacs.d/modules/thanos-random.el +++ /dev/null @@ -1,32 +0,0 @@ -;;; thanos-random.el --- -*- 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: - -;; Random functions and configurations - -;;; Code: - -(require 'stumpwm-mode) -(setf stumpwm-shell-program "~/.stumpwm.d/modules/util/stumpish/stumpish") - - -(provide 'thanos-random) -;;; thanos-random.el ends here diff --git a/.emacs.d/modules/thanos-vm.el b/.emacs.d/modules/thanos-vm.el deleted file mode 100644 index c6d2559..0000000 --- a/.emacs.d/modules/thanos-vm.el +++ /dev/null @@ -1,54 +0,0 @@ -;;; thanos-vm.el --- Manage your virtual machines with emacs -*- 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: - -(defvar vm-directory "~/virtual-machines/") - -(defun vm-create-image () - "Create qcow2 image." - (interactive) - (let ((name (format "%s%s.qcow2" vm-directory (read-string "Name: "))) - (size (format "%s" (read-string "Size(G): ")))) - (shell-command - (format "qemu-img create -f qcow2 %s %sG" name size)))) - - -(defun vm-run () - "Spawn Virtual Machine." - (interactive) - (let ((memory (format "%sG" (read-string "Memory(G): "))) - (cores (read-string "Cores: ")) - (image (read-file-name "Image: " vm-directory)) - (iso (if (y-or-n-p "Load iso?? ") - (read-file-name "ISO: ") - nil))) - (start-process-shell-command - "virtual-machine" nil - (format "qemu-system-x86_64 -enable-kvm -m %s -smp %s -hda %s -vga qxl -device virtio-serial-pci -spice port=5784,disable-ticketing -display spice-app %s " - memory cores image (when iso (concat "-cdrom " iso)))))) - - -(provide 'thanos-vm) -;;; thanos-vm.el ends here diff --git a/.emacs.d/modules/thanos-yeetube.el b/.emacs.d/modules/thanos-yeetube.el deleted file mode 100644 index 517d245..0000000 --- a/.emacs.d/modules/thanos-yeetube.el +++ /dev/null @@ -1,95 +0,0 @@ -;;; thanos-yeetube.el --- -*- 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 'yeetube) - - -(defun yeetube-download-vimeo-videos () - (interactive) - (let ((url "") - (name "") - (download-counter 1)) - (while (not (string= url "q")) - (setf url (read-string "Enter URL (q to quit): ")) - (unless (string= url "q") - (setf name (read-string (format "Custom name (download counter: %d) " download-counter))) - (setf download-counter (1+ download-counter)) - (call-process-shell-command - (format - "yt-dlp '%s' -o '%s'" - (replace-regexp-in-string "\\.json" ".m3u8" url) name) - nil 0))))) - -(defun yeetube-download-videos-ffmpeg () - "Download one or multiple videos using yt-dlp. - This command is not meant to be used in the *Yeetube Search* buffer. - - Usage Example: - Open a Dired buffer and navigate where you want to download your videos, - then run this command interactively. You can leave the 'Custom name:' - prompt blank to keep the default name." - (interactive) - (let ((url "") - (name "") - (download-counter 1) - (stored-contents nil)) - ;; Read links and names until "q" is entered - (while (not (string= url "q")) - (setf url (read-string "Enter URL (q to quit): ")) - (unless (string= url "q") - (setf name (read-string (format "Custom name (download counter: %d) " download-counter))) - (push (cons url name) stored-contents) - (setf download-counter (1+ download-counter)))) - ;; Process the collected links and names - (dolist (pair stored-contents) - (let ((url (car pair)) - (name (cdr pair))) - (async-shell-command - (format - "ffmpeg -protocol_whitelist file,crypto,data,https,tls,tcp -stats -i '%s' -codec copy '%s.mp4'" - url name)))))) - -(when is-zeus - (load-file "~/Developer/yeetube.el/yeetube.el")) -(require 'yeetube) - -(setf yeetube-results-limit 30 - yeetube-mpv-disable-video t) - -(define-prefix-command 'thanos/yeetube) -(global-set-key (kbd "C-c y") 'thanos/yeetube) -(define-key thanos/yeetube (kbd "s") 'yeetube-search) -(define-key thanos/yeetube (kbd "b") 'yeetube-play-saved-video) -(define-key thanos/yeetube (kbd "d") 'yeetube-download-videos) -(define-key thanos/yeetube (kbd "p") 'yeetube-mpv-toggle-pause) -(define-key thanos/yeetube (kbd "C-p") 'yeetube-mpv-toggle-video) -(define-key thanos/yeetube (kbd "k") 'yeetube-remove-saved-video) -(define-key thanos/yeetube (kbd "u") 'yeetube-change-platform) -(define-key thanos/yeetube (kbd "C-d") 'yeetube-download-vimeo-videos) -(define-key yeetube-mode-map (kbd "c") 'yeetube-switch-mpv) - -(provide 'thanos-yeetube) -;;; thanos-yeetube.el ends here |