This repository contains my configuration for Org Mode.
I’ve strived to make this configuration super simple to install and use, if you face any problems please open an issue and let me know about it.
- This configuration is ONLY known to work with Emacs 27.2 and above. You are on your own with older versions of Emacs.
- This configuration requires Org Mode 9.4 and above.
$ git clone git://github.com/vedang/org-mode-crate.git /path/to/org-mode-crate
(add-to-list 'load-path "/path/to/org-mode-crate/")
(setq org-directory "/path/to/org-files-dir")
;; Agenda does not have a key-binding by default.
;; Provide one as a starting point.
(global-set-key (kbd "<f12>") 'org-agenda)
(require 'org-mode-crate)
;; in packages.el
(package! org-mode-crate
:recipe (:host github :repo "vedang/org-mode-crate"))
;; in config.el
(use-package! org-mode-crate
:init (global-set-key (kbd "<f12>") 'org-agenda)
:config (require 'org-mode-crate))
- Create and maintain as many files in your org-directory as you want.
- Currently, I don’t handle recursively loading org files, so your org-directory should be a flat structure.
- Tasks are categorized as follows:
- Important tasks: These tasks should be tagged with
important
. - Next tasks: In any given project, tag the next thing you want to
do with the tag
next
. You can have manynext
tasks, but ideally you should have only one. Whenever a task goes into WORKING state, it automatically gets thenext
tag. Moving to any other state automatically removes this tag.
- Important tasks: These tasks should be tagged with
- The following hotkeys are provided for quick tagging:
(setq org-tag-alist
'(("next" . ?x)
("notes" . ?n)
("important" . ?i)
("action_items" . ?a)
("joy" . ?j)
("waiting" . ?w)))
- You can use the convenience function `bh/punch-in’ (bound to
<f9> i
) to clock in a predetermined default task. All you need is the following one time setup:- Go to the org-task you want to use as the default task.
- Give this task an org-id by running the function
org-id-get-create
M-x org-id-get-create
- Copy the ID (stored in the task properties) and add the following
line above
(require 'org-mode-crate)
(defvar bh/organization-task-id "<task_id>")
- Now when you start org-mode, you can press
<f9> i
to clock in the default task.