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"))
|
||||
;; Custom 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
|
||||
(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."
|
||||
:type 'boolean
|
||||
:group 'theurgy
|
||||
: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."
|
||||
:type 'boolean
|
||||
:group 'theurgy
|
||||
:group 'theurgy-compat)
|
||||
|
||||
;; 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
|
||||
:ensure t
|
||||
:config
|
||||
(setq ready-player-autoplay nil)
|
||||
(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
|
||||
:config (pdf-loader-install)))
|
||||
|
||||
|
|
|
|||
|
|
@ -543,112 +543,113 @@
|
|||
(window-width . 0.2))))
|
||||
|
||||
;; Org roam
|
||||
(use-package org-roam
|
||||
:straight nil
|
||||
:ensure t
|
||||
:init
|
||||
(setq org-roam-v2-ack t)
|
||||
:custom
|
||||
(org-roam-directory (file-truename "~/.org/lore/"))
|
||||
(org-roam-dailies-directory (file-truename "~/.org/lore/refined/journal/"))
|
||||
(org-roam-file-exclude-regexp "\\.git/.*\\|logseq/.*$")
|
||||
(org-roam-completion-everywhere)
|
||||
(org-roam-capture-templates
|
||||
'(("r" "Raw")
|
||||
("rr" "Note" plain
|
||||
"%?"
|
||||
:target (file+head "raw/${slug}.org" "#+title: ${title}\n")
|
||||
:unnarrowed t)
|
||||
("rq" "Question" plain
|
||||
"%?"
|
||||
:target (file+head "raw/${slug}.org" "#+title: ${title}\n#+filetags: :question:")
|
||||
:unnarrowed t)
|
||||
("i" "Index" plain
|
||||
"%?"
|
||||
:target (file+head "raw/${slug}.org" "#+title: ${title} - Index\n#+filetags: :index:")
|
||||
:unnarrowed t)
|
||||
("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)
|
||||
("Re" "Essay" plain
|
||||
"%?"
|
||||
:target (file+head "refined/wiki/${slug}.org" "#+title: ${title}\n#+author: Jakub Nowak\n#+filetags: :essay:")
|
||||
:unnarrowed t)))
|
||||
(org-roam-dailies-capture-templates
|
||||
'(("d" "default" entry
|
||||
"* %?"
|
||||
:target (file+head "%<%Y-%m-%d>.org" ;; format matches Logseq
|
||||
"#+title: %<%Y-%m-%d>\n"))))
|
||||
:bind (("C-c n l" . org-roam-buffer-toggle)
|
||||
("C-c n f" . org-roam-node-find)
|
||||
("C-c n g" . org-roam-graph)
|
||||
("C-c n i" . org-roam-node-insert)
|
||||
("C-c n c" . org-roam-capture)
|
||||
:map org-roam-dailies-map
|
||||
("Y" . org-roam-dailies-capture-yesterday)
|
||||
("T" . org-roam-dailies-capture-tomorrow))
|
||||
:bind-keymap ("C-c n d" . org-roam-dailies-map)
|
||||
:config
|
||||
(require 'org-roam-dailies) ;; Ensure the keymap is available
|
||||
(org-roam-db-autosync-mode))
|
||||
(when (file-directory-p "~/.org/lore")
|
||||
(use-package org-roam
|
||||
:straight nil
|
||||
:ensure t
|
||||
:init
|
||||
(setq org-roam-v2-ack t)
|
||||
:custom
|
||||
(org-roam-directory (file-truename "~/.org/lore/"))
|
||||
(org-roam-dailies-directory (file-truename "~/.org/lore/refined/journal/"))
|
||||
(org-roam-file-exclude-regexp "\\.git/.*\\|logseq/.*$")
|
||||
(org-roam-completion-everywhere)
|
||||
(org-roam-capture-templates
|
||||
'(("r" "Raw")
|
||||
("rr" "Note" plain
|
||||
"%?"
|
||||
:target (file+head "raw/${slug}.org" "#+title: ${title}\n")
|
||||
:unnarrowed t)
|
||||
("rq" "Question" plain
|
||||
"%?"
|
||||
:target (file+head "raw/${slug}.org" "#+title: ${title}\n#+filetags: :question:")
|
||||
:unnarrowed t)
|
||||
("i" "Index" plain
|
||||
"%?"
|
||||
:target (file+head "raw/${slug}.org" "#+title: ${title} - Index\n#+filetags: :index:")
|
||||
:unnarrowed t)
|
||||
("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)
|
||||
("Re" "Essay" plain
|
||||
"%?"
|
||||
:target (file+head "refined/wiki/${slug}.org" "#+title: ${title}\n#+author: Jakub Nowak\n#+filetags: :essay:")
|
||||
:unnarrowed t)))
|
||||
(org-roam-dailies-capture-templates
|
||||
'(("d" "default" entry
|
||||
"* %?"
|
||||
:target (file+head "%<%Y-%m-%d>.org" ;; format matches Logseq
|
||||
"#+title: %<%Y-%m-%d>\n"))))
|
||||
:bind (("C-c n l" . org-roam-buffer-toggle)
|
||||
("C-c n f" . org-roam-node-find)
|
||||
("C-c n g" . org-roam-graph)
|
||||
("C-c n i" . org-roam-node-insert)
|
||||
("C-c n c" . org-roam-capture)
|
||||
:map org-roam-dailies-map
|
||||
("Y" . org-roam-dailies-capture-yesterday)
|
||||
("T" . org-roam-dailies-capture-tomorrow))
|
||||
:bind-keymap ("C-c n d" . org-roam-dailies-map)
|
||||
:config
|
||||
(require 'org-roam-dailies) ;; Ensure the keymap is available
|
||||
(org-roam-db-autosync-mode))
|
||||
|
||||
(defun org-roam-create-node-from-headline ()
|
||||
"Create an Org-roam note from the current headline and jump to it.
|
||||
(defun org-roam-create-node-from-headline ()
|
||||
"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
|
||||
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
|
||||
‘#+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."
|
||||
(interactive)
|
||||
(let ((title (nth 4 (org-heading-components)))
|
||||
(has-properties (org-get-property-block)))
|
||||
(org-cut-subtree)
|
||||
(org-roam-find-file title nil nil 'no-confirm)
|
||||
(org-paste-subtree)
|
||||
(unless has-properties
|
||||
(kill-line)
|
||||
(while (outline-next-heading)
|
||||
(org-promote)))
|
||||
(goto-char (point-min))
|
||||
(when has-properties
|
||||
(kill-line)
|
||||
(kill-line))))
|
||||
(interactive)
|
||||
(let ((title (nth 4 (org-heading-components)))
|
||||
(has-properties (org-get-property-block)))
|
||||
(org-cut-subtree)
|
||||
(org-roam-find-file title nil nil 'no-confirm)
|
||||
(org-paste-subtree)
|
||||
(unless has-properties
|
||||
(kill-line)
|
||||
(while (outline-next-heading)
|
||||
(org-promote)))
|
||||
(goto-char (point-min))
|
||||
(when has-properties
|
||||
(kill-line)
|
||||
(kill-line))))
|
||||
|
||||
(use-package logseq-org-roam
|
||||
:straight (:host github
|
||||
:repo "sbougerel/logseq-org-roam"
|
||||
:files ("*.el")))
|
||||
(use-package logseq-org-roam
|
||||
:straight (:host github
|
||||
:repo "sbougerel/logseq-org-roam"
|
||||
:files ("*.el")))
|
||||
|
||||
(transient-define-prefix org-roam-menu ()
|
||||
"Transient menu for task management shortcuts."
|
||||
["Node" ("c" "Capture" org-roam-node-find)
|
||||
("i" "Insert" org-roam-node-insert)
|
||||
("r" "Refile" org-roam-create-node-from-headline)
|
||||
("f" "Find" org-roam-node-find) ]
|
||||
["Dailies" ("t" "Today" org-roam-dailies-capture-today)
|
||||
("y" "Yesterday" org-roam-dailies-capture-yesterday)
|
||||
("n" "Tomorrow" org-roam-dailies-capture-tomorrow)]
|
||||
["Logseq" ("R" "Fix links" logseq-org-roam)]
|
||||
["Org Roam UI" ("U" "Enable org-roam-ui-mode" org-roam-ui-mode)])
|
||||
(transient-define-prefix org-roam-menu ()
|
||||
"Transient menu for task management shortcuts."
|
||||
["Node" ("c" "Capture" org-roam-node-find)
|
||||
("i" "Insert" org-roam-node-insert)
|
||||
("r" "Refile" org-roam-create-node-from-headline)
|
||||
("f" "Find" org-roam-node-find) ]
|
||||
["Dailies" ("t" "Today" org-roam-dailies-capture-today)
|
||||
("y" "Yesterday" org-roam-dailies-capture-yesterday)
|
||||
("n" "Tomorrow" org-roam-dailies-capture-tomorrow)]
|
||||
["Logseq" ("R" "Fix links" logseq-org-roam)]
|
||||
["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
|
||||
:straight
|
||||
(:host github :repo "org-roam/org-roam-ui" :branch "main" :files ("*.el" "out"))
|
||||
:after org-roam
|
||||
;; 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
|
||||
;; if you don't care about startup time, use
|
||||
:hook (after-init . org-roam-ui-mode)
|
||||
:config
|
||||
(setq org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start nil))
|
||||
(use-package org-roam-ui
|
||||
:straight
|
||||
(:host github :repo "org-roam/org-roam-ui" :branch "main" :files ("*.el" "out"))
|
||||
:after org-roam
|
||||
;; 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
|
||||
;; if you don't care about startup time, use
|
||||
:hook (after-init . org-roam-ui-mode)
|
||||
:config
|
||||
(setq org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start nil)))
|
||||
|
||||
;; Bibliography stuff
|
||||
(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