Skip to content

Latest commit

 

History

History
92 lines (75 loc) · 2.87 KB

README.org

File metadata and controls

92 lines (75 loc) · 2.87 KB

Org Mode Crate

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.

Caveats

  • 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.

Install

Manual Install

Get the code:

$ git clone git://github.com/vedang/org-mode-crate.git /path/to/org-mode-crate

Add the following lines to your .emacs

(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)

Press F12 to get started with your agenda

Install via Melpa

Install via El-Get

Install in DOOM emacs

;; 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))

Workflow notes

  • 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 many next tasks, but ideally you should have only one. Whenever a task goes into WORKING state, it automatically gets the next tag. Moving to any other state automatically removes this tag.
  • 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)))

Optional notes

  • 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.