2024-04-06 12:53:30 +01:00
|
|
|
;;; FG42 --- The mighty editor for the emacsians -*- lexical-binding: t; -*-
|
|
|
|
;;
|
|
|
|
;; Copyright (c) 2010-2024 Sameer Rahmani & Contributors
|
|
|
|
;;
|
|
|
|
;; Author: Sameer Rahmani <lxsameer@gnu.org>
|
|
|
|
;; URL: https://devheroes.codes/FG42/FG42
|
|
|
|
;; Version: 4.0.0
|
|
|
|
;;
|
|
|
|
;; 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 <http://www.gnu.org/licenses/>.
|
|
|
|
;;
|
|
|
|
;;; Commentary:
|
|
|
|
;;; Code:
|
|
|
|
(eval-when-compile
|
|
|
|
(require 'fpkg))
|
|
|
|
|
2024-04-15 22:31:51 +01:00
|
|
|
|
2024-04-06 12:53:30 +01:00
|
|
|
(defvar fg42/org-super-agenda-groups nil)
|
|
|
|
|
|
|
|
(defvar fg42/org-home "~/.orgs"
|
|
|
|
"The location to the org file repository.")
|
|
|
|
|
|
|
|
(defvar fg42/default-org-journal-heder
|
|
|
|
"
|
|
|
|
#+TITLE: Yearly Journal
|
|
|
|
#+STARTUP: folded logdrawer logdone logreschedule indent content align constSI entitiespretty
|
|
|
|
"
|
|
|
|
"Org journal header.")
|
|
|
|
|
|
|
|
(defvar fg42/notes-file "notes.org")
|
|
|
|
|
|
|
|
(defvar fg42/global-tags nil)
|
|
|
|
|
|
|
|
(defvar fg42/agenda-files "main.org")
|
|
|
|
|
|
|
|
|
|
|
|
(use! org-ql
|
|
|
|
"This package provides a query language for Org files. It offers two
|
|
|
|
syntax styles: Lisp-like sexps and search engine-like keywords.
|
|
|
|
|
|
|
|
It includes three libraries: The `org-ql' library is flexible and may
|
|
|
|
be used as a backend for other tools. The libraries `org-ql-search' and
|
|
|
|
`helm-org-ql' (a separate package) provide interactive search commands
|
|
|
|
and saved views."
|
|
|
|
:after org)
|
|
|
|
|
|
|
|
|
|
|
|
(use! org-super-agenda
|
|
|
|
"This package lets you supercharge your Org daily/weekly agenda. The idea is
|
|
|
|
to group items into sections, rather than having them all in one big list.
|
|
|
|
|
|
|
|
Now you can sort-of do this already with custom agenda commands, but when you
|
|
|
|
do that, you lose the daily/weekly aspect of the agenda: items are no longer
|
|
|
|
shown based on deadline/scheduled timestamps, but are shown no-matter-what.
|
|
|
|
|
|
|
|
h
|
|
|
|
For more information checkout `https://github.com/alphapapa/org-super-agenda'"
|
|
|
|
:after org-agenda
|
|
|
|
:config
|
|
|
|
(setq org-agenda-skip-scheduled-if-done t
|
|
|
|
org-agenda-skip-deadline-if-done t
|
|
|
|
org-agenda-include-deadlines t
|
|
|
|
org-agenda-compact-blocks t
|
|
|
|
org-agenda-start-day nil ;; Today
|
|
|
|
org-agenda-span 1
|
|
|
|
org-super-agenda-groups fg42/org-super-agenda-groups)
|
|
|
|
(org-super-agenda-mode))
|
|
|
|
|
|
|
|
|
|
|
|
(use! org-capture
|
|
|
|
"Quickly capture what is in your head."
|
2024-04-06 13:54:08 +01:00
|
|
|
:bind (("<f6>" . org-capture))
|
2024-04-06 12:53:30 +01:00
|
|
|
|
|
|
|
:init
|
|
|
|
(setq-default
|
|
|
|
org-capture-templates
|
|
|
|
(eval
|
|
|
|
`(list
|
|
|
|
'("t" "Todo" entry (file+headline ,(expand-file-name "main.org" fg42/org-home) "New Tasks")
|
|
|
|
(file ,(expand-file-name "templates/todo" fg42/org-home))
|
|
|
|
:prepend t)
|
|
|
|
'("l" "Link" entry (file+headline ,(expand-file-name "bookmarks.org" fg42/org-home) "Links")
|
|
|
|
(file ,(expand-file-name "templates/links" fg42/org-home))
|
|
|
|
:prepend t
|
|
|
|
:immediate-finish t
|
|
|
|
:empty-lines 1)
|
|
|
|
|
|
|
|
'("h" "Thoughts" entry (file+datetree ,(expand-file-name "journal.org" fg42/org-home))
|
|
|
|
(file ,(expand-file-name "templates/thoughts" fg42/org-home)))))))
|
|
|
|
|
|
|
|
|
|
|
|
(use! org-protocol
|
|
|
|
"`org-protocol' intercepts calls from emacsclient to trigger custom actions without external
|
|
|
|
dependencies. Only one protocol has to be configured with your external applications or
|
|
|
|
the operating system, to trigger an arbitrary number of custom actions. Just register
|
|
|
|
your custom sub-protocol and handler with the variable `org-protocol-protocol-alist'.")
|
|
|
|
|
|
|
|
(use! org
|
|
|
|
"A GNU Emacs major mode for keeping notes, authoring documents, computational notebooks,
|
|
|
|
literate programming, maintaining to-do lists, planning projects, and more — in a fast
|
|
|
|
and effective plain text system.
|
|
|
|
|
|
|
|
For more info on ~org-mode~ check out `https://orgmode.org/'"
|
2024-04-08 11:45:43 +01:00
|
|
|
:hook (org-mod . flyspell-mode)
|
2024-04-06 12:53:30 +01:00
|
|
|
:init
|
|
|
|
(setq
|
|
|
|
org-auto-align-tags nil
|
|
|
|
org-tags-column 0
|
|
|
|
org-catch-invisible-edits 'show-and-error
|
|
|
|
org-special-ctrl-a/e t
|
|
|
|
org-insert-heading-respect-content t)
|
2024-04-06 15:56:41 +01:00
|
|
|
org-tag-alist fg42/global-tags
|
|
|
|
;; Org styling, hide markup etc.
|
|
|
|
org-hide-emphasis-markers t
|
|
|
|
org-pretty-entities t
|
|
|
|
org-ellipsis "…"
|
|
|
|
;; 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 ─────────────────────────────────────────────────"
|
|
|
|
org-agenda-files (concat (file-name-as-directory fg42/org-home)
|
|
|
|
fg42/agenda-files)
|
|
|
|
|
|
|
|
org-directory fg42/org-home
|
|
|
|
org-default-notes-file (concat (file-name-as-directory fg42/org-home)
|
|
|
|
fg42/notes-file)
|
|
|
|
|
|
|
|
org-refile-targets '((org-agenda-files :maxlevel . 3))
|
2024-04-06 12:53:30 +01:00
|
|
|
|
|
|
|
(with-eval-after-load "ox-latex"
|
|
|
|
(setq org-latex-default-packages-alist
|
|
|
|
(append '(("hidelinks" "hyperref" nil))
|
|
|
|
org-latex-default-packages-alist))))
|
|
|
|
|
|
|
|
|
|
|
|
(use! org-modern
|
|
|
|
"A modern look for the old org."
|
|
|
|
:hook ((org-mode . org-modern-mode)
|
|
|
|
(org-agenda-finalize . org-modern-mode)))
|
|
|
|
|
|
|
|
|
2024-04-15 22:31:51 +01:00
|
|
|
(provide 'fg42/organize)
|
|
|
|
;;; organize.el ends here
|