Add startup notification
Add better pdftools and ready player toggle Add org-roam toggle based on directory location Add paradox modding support
This commit is contained in:
parent
5475803398
commit
b8e9d592aa
4 changed files with 139 additions and 100 deletions
4
init.el
4
init.el
|
|
@ -85,3 +85,7 @@
|
||||||
(load-directory (concat user-emacs-directory "workflows"))
|
(load-directory (concat user-emacs-directory "workflows"))
|
||||||
;; Custom screens
|
;; Custom screens
|
||||||
(load-directory (concat user-emacs-directory "screens"))
|
(load-directory (concat user-emacs-directory "screens"))
|
||||||
|
|
||||||
|
(unless (fboundp 'notifications-notify)
|
||||||
|
(require 'notifications))
|
||||||
|
(notifications-notify :title "Emacs Server Started" :app-name "Emacs")
|
||||||
|
|
|
||||||
|
|
@ -51,27 +51,27 @@
|
||||||
:config
|
:config
|
||||||
(add-hook 'dired-mode-hook 'all-the-icons-dired-mode))
|
(add-hook 'dired-mode-hook 'all-the-icons-dired-mode))
|
||||||
|
|
||||||
(defcustom theurgy-enable-pdf-tools-windows nil
|
(defcustom theurgy-enable-pdf-tools (equal system-type 'gnu/linux)
|
||||||
"Whether `pdf-tools' should be enabled on Windows sytems."
|
"Whether `pdf-tools' should be enabled on Windows sytems."
|
||||||
:type 'boolean
|
:type 'boolean
|
||||||
:group 'theurgy
|
:group 'theurgy
|
||||||
:group 'theurgy-compat)
|
:group 'theurgy-compat)
|
||||||
|
|
||||||
(defcustom theurgy-enable-ready-player-windows nil
|
(defcustom theurgy-enable-ready-player (equal system-type 'gnu/linux)
|
||||||
"Whether `ready-player' should be enabled on Windows sytems."
|
"Whether `ready-player' should be enabled on Windows sytems."
|
||||||
:type 'boolean
|
:type 'boolean
|
||||||
:group 'theurgy
|
:group 'theurgy
|
||||||
:group 'theurgy-compat)
|
:group 'theurgy-compat)
|
||||||
|
|
||||||
;; Multimedia and PDF viewing
|
;; Multimedia and PDF viewing
|
||||||
(when (or (equal system-type 'gnu/linux) theurgy-enable-ready-player-windows)
|
(when theurgy-enable-ready-player-windows
|
||||||
(use-package ready-player
|
(use-package ready-player
|
||||||
:ensure t
|
:ensure t
|
||||||
:config
|
:config
|
||||||
(setq ready-player-autoplay nil)
|
(setq ready-player-autoplay nil)
|
||||||
(ready-player-mode 1)))
|
(ready-player-mode 1)))
|
||||||
|
|
||||||
(when (or (equal system-type 'gnu/linux) theurgy-enable-pdf-tools-windows)
|
(when theurgy-enable-pdf-tools-windows
|
||||||
(use-package pdf-tools
|
(use-package pdf-tools
|
||||||
:config (pdf-loader-install)))
|
:config (pdf-loader-install)))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
org-agenda-skip-scheduled-if-done t ;; Don't show done stuff in the agenda view
|
org-agenda-skip-scheduled-if-done t ;; Don't show done stuff in the agenda view
|
||||||
org-agenda-skip-deadline-if-done t
|
org-agenda-skip-deadline-if-done t
|
||||||
org-agenda-skip-timestamp-if-done t
|
org-agenda-skip-timestamp-if-done t
|
||||||
|
|
||||||
org-todo-keywords '((sequence "TODO(t)" "WIP(w)" "DELEGATED(p)" "WAITING(?)" "|" "CANCELLED(x)" "DONE(d)")) ;; Some extra keywords in addition to TODO and DONE
|
org-todo-keywords '((sequence "TODO(t)" "WIP(w)" "DELEGATED(p)" "WAITING(?)" "|" "CANCELLED(x)" "DONE(d)")) ;; Some extra keywords in addition to TODO and DONE
|
||||||
org-use-fast-todo-selection t ;; Always use fast selection
|
org-use-fast-todo-selection t ;; Always use fast selection
|
||||||
org-refile-targets '((org-agenda-files :maxlevel . 2)) ;; Allow any agenda files to be refile targets.
|
org-refile-targets '((org-agenda-files :maxlevel . 2)) ;; Allow any agenda files to be refile targets.
|
||||||
|
|
@ -543,112 +543,113 @@
|
||||||
(window-width . 0.2))))
|
(window-width . 0.2))))
|
||||||
|
|
||||||
;; Org roam
|
;; Org roam
|
||||||
(use-package org-roam
|
(when (file-directory-p "~/.org/lore")
|
||||||
:straight nil
|
(use-package org-roam
|
||||||
:ensure t
|
:straight nil
|
||||||
:init
|
:ensure t
|
||||||
(setq org-roam-v2-ack t)
|
:init
|
||||||
:custom
|
(setq org-roam-v2-ack t)
|
||||||
(org-roam-directory (file-truename "~/.org/lore/"))
|
:custom
|
||||||
(org-roam-dailies-directory (file-truename "~/.org/lore/refined/journal/"))
|
(org-roam-directory (file-truename "~/.org/lore/"))
|
||||||
(org-roam-file-exclude-regexp "\\.git/.*\\|logseq/.*$")
|
(org-roam-dailies-directory (file-truename "~/.org/lore/refined/journal/"))
|
||||||
(org-roam-completion-everywhere)
|
(org-roam-file-exclude-regexp "\\.git/.*\\|logseq/.*$")
|
||||||
(org-roam-capture-templates
|
(org-roam-completion-everywhere)
|
||||||
'(("r" "Raw")
|
(org-roam-capture-templates
|
||||||
("rr" "Note" plain
|
'(("r" "Raw")
|
||||||
"%?"
|
("rr" "Note" plain
|
||||||
:target (file+head "raw/${slug}.org" "#+title: ${title}\n")
|
"%?"
|
||||||
:unnarrowed t)
|
:target (file+head "raw/${slug}.org" "#+title: ${title}\n")
|
||||||
("rq" "Question" plain
|
:unnarrowed t)
|
||||||
"%?"
|
("rq" "Question" plain
|
||||||
:target (file+head "raw/${slug}.org" "#+title: ${title}\n#+filetags: :question:")
|
"%?"
|
||||||
:unnarrowed t)
|
:target (file+head "raw/${slug}.org" "#+title: ${title}\n#+filetags: :question:")
|
||||||
("i" "Index" plain
|
:unnarrowed t)
|
||||||
"%?"
|
("i" "Index" plain
|
||||||
:target (file+head "raw/${slug}.org" "#+title: ${title} - Index\n#+filetags: :index:")
|
"%?"
|
||||||
:unnarrowed t)
|
:target (file+head "raw/${slug}.org" "#+title: ${title} - Index\n#+filetags: :index:")
|
||||||
("R" "Refined")
|
:unnarrowed t)
|
||||||
("Rm" "Mini-essay" plain
|
("R" "Refined")
|
||||||
"%?"
|
("Rm" "Mini-essay" plain
|
||||||
:target (file+head "refined/wiki/${slug}.org" "#+title: ${title}\n#+author: Jakub Nowak\n#+filetags: :mini-essay:")
|
"%?"
|
||||||
:unnarrowed t)
|
:target (file+head "refined/wiki/${slug}.org" "#+title: ${title}\n#+author: Jakub Nowak\n#+filetags: :mini-essay:")
|
||||||
("Re" "Essay" plain
|
:unnarrowed t)
|
||||||
"%?"
|
("Re" "Essay" plain
|
||||||
:target (file+head "refined/wiki/${slug}.org" "#+title: ${title}\n#+author: Jakub Nowak\n#+filetags: :essay:")
|
"%?"
|
||||||
:unnarrowed t)))
|
:target (file+head "refined/wiki/${slug}.org" "#+title: ${title}\n#+author: Jakub Nowak\n#+filetags: :essay:")
|
||||||
(org-roam-dailies-capture-templates
|
:unnarrowed t)))
|
||||||
'(("d" "default" entry
|
(org-roam-dailies-capture-templates
|
||||||
"* %?"
|
'(("d" "default" entry
|
||||||
:target (file+head "%<%Y-%m-%d>.org" ;; format matches Logseq
|
"* %?"
|
||||||
"#+title: %<%Y-%m-%d>\n"))))
|
:target (file+head "%<%Y-%m-%d>.org" ;; format matches Logseq
|
||||||
:bind (("C-c n l" . org-roam-buffer-toggle)
|
"#+title: %<%Y-%m-%d>\n"))))
|
||||||
("C-c n f" . org-roam-node-find)
|
:bind (("C-c n l" . org-roam-buffer-toggle)
|
||||||
("C-c n g" . org-roam-graph)
|
("C-c n f" . org-roam-node-find)
|
||||||
("C-c n i" . org-roam-node-insert)
|
("C-c n g" . org-roam-graph)
|
||||||
("C-c n c" . org-roam-capture)
|
("C-c n i" . org-roam-node-insert)
|
||||||
:map org-roam-dailies-map
|
("C-c n c" . org-roam-capture)
|
||||||
("Y" . org-roam-dailies-capture-yesterday)
|
:map org-roam-dailies-map
|
||||||
("T" . org-roam-dailies-capture-tomorrow))
|
("Y" . org-roam-dailies-capture-yesterday)
|
||||||
:bind-keymap ("C-c n d" . org-roam-dailies-map)
|
("T" . org-roam-dailies-capture-tomorrow))
|
||||||
:config
|
:bind-keymap ("C-c n d" . org-roam-dailies-map)
|
||||||
(require 'org-roam-dailies) ;; Ensure the keymap is available
|
:config
|
||||||
(org-roam-db-autosync-mode))
|
(require 'org-roam-dailies) ;; Ensure the keymap is available
|
||||||
|
(org-roam-db-autosync-mode))
|
||||||
|
|
||||||
(defun org-roam-create-node-from-headline ()
|
(defun org-roam-create-node-from-headline ()
|
||||||
"Create an Org-roam note from the current headline and jump to it.
|
"Create an Org-roam note from the current headline and jump to it.
|
||||||
|
|
||||||
Normally, insert the headline’s title using the ’#title:’ file-level property
|
Normally, insert the headline’s title using the ’#title:’ file-level property
|
||||||
and delete the Org-mode headline. However, if the current headline has a
|
and delete the Org-mode headline. However, if the current headline has a
|
||||||
Org-mode properties drawer already, keep the headline and don’t insert
|
Org-mode properties drawer already, keep the headline and don’t insert
|
||||||
‘#+title:'. Org-roam can extract the title from both kinds of notes, but using
|
‘#+title:'. Org-roam can extract the title from both kinds of notes, but using
|
||||||
‘#+title:’ is a bit cleaner for a short note, which Org-roam encourages."
|
‘#+title:’ is a bit cleaner for a short note, which Org-roam encourages."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((title (nth 4 (org-heading-components)))
|
(let ((title (nth 4 (org-heading-components)))
|
||||||
(has-properties (org-get-property-block)))
|
(has-properties (org-get-property-block)))
|
||||||
(org-cut-subtree)
|
(org-cut-subtree)
|
||||||
(org-roam-find-file title nil nil 'no-confirm)
|
(org-roam-find-file title nil nil 'no-confirm)
|
||||||
(org-paste-subtree)
|
(org-paste-subtree)
|
||||||
(unless has-properties
|
(unless has-properties
|
||||||
(kill-line)
|
(kill-line)
|
||||||
(while (outline-next-heading)
|
(while (outline-next-heading)
|
||||||
(org-promote)))
|
(org-promote)))
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(when has-properties
|
(when has-properties
|
||||||
(kill-line)
|
(kill-line)
|
||||||
(kill-line))))
|
(kill-line))))
|
||||||
|
|
||||||
(use-package logseq-org-roam
|
(use-package logseq-org-roam
|
||||||
:straight (:host github
|
:straight (:host github
|
||||||
:repo "sbougerel/logseq-org-roam"
|
:repo "sbougerel/logseq-org-roam"
|
||||||
:files ("*.el")))
|
:files ("*.el")))
|
||||||
|
|
||||||
(transient-define-prefix org-roam-menu ()
|
(transient-define-prefix org-roam-menu ()
|
||||||
"Transient menu for task management shortcuts."
|
"Transient menu for task management shortcuts."
|
||||||
["Node" ("c" "Capture" org-roam-node-find)
|
["Node" ("c" "Capture" org-roam-node-find)
|
||||||
("i" "Insert" org-roam-node-insert)
|
("i" "Insert" org-roam-node-insert)
|
||||||
("r" "Refile" org-roam-create-node-from-headline)
|
("r" "Refile" org-roam-create-node-from-headline)
|
||||||
("f" "Find" org-roam-node-find) ]
|
("f" "Find" org-roam-node-find) ]
|
||||||
["Dailies" ("t" "Today" org-roam-dailies-capture-today)
|
["Dailies" ("t" "Today" org-roam-dailies-capture-today)
|
||||||
("y" "Yesterday" org-roam-dailies-capture-yesterday)
|
("y" "Yesterday" org-roam-dailies-capture-yesterday)
|
||||||
("n" "Tomorrow" org-roam-dailies-capture-tomorrow)]
|
("n" "Tomorrow" org-roam-dailies-capture-tomorrow)]
|
||||||
["Logseq" ("R" "Fix links" logseq-org-roam)]
|
["Logseq" ("R" "Fix links" logseq-org-roam)]
|
||||||
["Org Roam UI" ("U" "Enable org-roam-ui-mode" org-roam-ui-mode)])
|
["Org Roam UI" ("U" "Enable org-roam-ui-mode" org-roam-ui-mode)])
|
||||||
|
|
||||||
(define-key global-map (kbd "C-c o n") #'org-roam-menu)
|
(define-key global-map (kbd "C-c o n") #'org-roam-menu)
|
||||||
|
|
||||||
(use-package org-roam-ui
|
(use-package org-roam-ui
|
||||||
:straight
|
:straight
|
||||||
(:host github :repo "org-roam/org-roam-ui" :branch "main" :files ("*.el" "out"))
|
(:host github :repo "org-roam/org-roam-ui" :branch "main" :files ("*.el" "out"))
|
||||||
:after org-roam
|
:after org-roam
|
||||||
;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have
|
;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have
|
||||||
;; a hookable mode anymore, you're advised to pick something yourself
|
;; a hookable mode anymore, you're advised to pick something yourself
|
||||||
;; if you don't care about startup time, use
|
;; if you don't care about startup time, use
|
||||||
:hook (after-init . org-roam-ui-mode)
|
:hook (after-init . org-roam-ui-mode)
|
||||||
:config
|
:config
|
||||||
(setq org-roam-ui-sync-theme t
|
(setq org-roam-ui-sync-theme t
|
||||||
org-roam-ui-follow t
|
org-roam-ui-follow t
|
||||||
org-roam-ui-update-on-save t
|
org-roam-ui-update-on-save t
|
||||||
org-roam-ui-open-on-start nil))
|
org-roam-ui-open-on-start nil)))
|
||||||
|
|
||||||
;; Bibliography stuff
|
;; Bibliography stuff
|
||||||
(setq bibtex-dialect 'biblatex) ;; Use biblatex instead of bibtex.
|
(setq bibtex-dialect 'biblatex) ;; Use biblatex instead of bibtex.
|
||||||
|
|
|
||||||
34
workflows/paradox-modding.el
Normal file
34
workflows/paradox-modding.el
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
;;; paradox-modding.el --- Tools for paradox game modding. -*- lexical-binding: t -*-
|
||||||
|
|
||||||
|
;; This file is not part of GNU Emacs
|
||||||
|
|
||||||
|
;; 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:
|
||||||
|
|
||||||
|
;; commentary
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(use-package jomini-mode
|
||||||
|
:straight (jomini-mode
|
||||||
|
:type git
|
||||||
|
:host nil
|
||||||
|
:repo "https://git.cyan.sh/BirDt/jomini.el.git"
|
||||||
|
:files ("*.el")))
|
||||||
|
|
||||||
|
(provide 'paradox-modding)
|
||||||
|
|
||||||
|
;;; paradox-modding.el ends here
|
||||||
Loading…
Add table
Add a link
Reference in a new issue