1
0
Fork 0
mirror of https://github.com/Horhik/dotfiles.git synced 2024-11-01 14:37:19 +00:00
Dotfiles/home/pure_emacs/.emacs.d/config.org
2021-05-31 15:42:36 +03:00

715 lines
28 KiB
Org Mode
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#+title: Emacs config
#+author O. George
#+BABEL: :cache no
#+PROPERTY: header-args:emacs-lisp :tangle init.el
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░█░█░█▀█░█▀▄░█░█░▀█▀░█░█░▀░█▀▀░░░░
░░█▀█░█░█░█▀▄░█▀█░░█░░█▀▄░░░▀▀█░░░░
░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░░░▀▀▀░░░░
░░█▀▄░█▀█░▀█▀░█▀▀░▀█▀░█░░░█▀▀░█▀▀░░
░░█░█░█░█░░█░░█▀▀░░█░░█░░░█▀▀░▀▀█░░
░░▀▀░░▀▀▀░░▀░░▀░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
* Help info ~C-z~ to toggle vim/emacs mode
* Packages
#+begin_src emacs-lisp
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(package-initialize)
(unless package-archive-contents
(package-refresh-contents))
(defvar package-list
'(use-package doom-themes))
(dolist (p package-list)
(when (not (package-installed-p p))
(package-install p)))
#+end_src
#+RESULTS:
* UI
** Cleaning up
#+begin_src emacs-lisp
(require 'package)
(setq inhibit-startup-message t)
(menu-bar-mode -1)
(toggle-scroll-bar -1)
(tool-bar-mode -1)
(tooltip-mode -1)
(set-fringe-mode 10)
(visual-line-mode t)
(global-visual-line-mode 1)
(global-visual-line-mode)
#+end_src
#+RESULTS:
: t
** Theme
#+begin_src emacs-lisp
(require 'use-package)
(use-package doom-themes)
'(custom-enabled-themes '(gruvbox))
'(custom-safe-themes
'("d14f3df28603e9517eb8fb7518b662d653b25b26e83bd8e129acea042b774298" "6b5c518d1c250a8ce17463b7e435e9e20faa84f3f7defba8b579d4f5925f60c1" default))
(use-package gruvbox-theme
:ensure t
:config
(load-theme 'gruvbox-dark-hard)
)
(setq use-package-always-ensure t)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
; '(custom-safe-themes
; '("6b5c518d1c250a8ce17463b7e435e9e20faa84f3f7defba8b579d4f5925f60c1" "75b8719c741c6d7afa290e0bb394d809f0cc62045b93e1d66cd646907f8e6d43" "7661b762556018a44a29477b84757994d8386d6edee909409fabe0631952dad9" default))
'(package-selected-packages
'(org-roam-server visual-fill-column org-bullets workgroups2 neotree treemacs-persp treemacs-magit treemacs-icons-dired treemacs-projectile treemacs-evil treemacs-all-the-icons ivy-rich which-key rainbow-delimiters highlight-parentheses org-roam general use-package)))
#+end_src
#+RESULTS:
** Modeline
#+begin_src emacs-lisp
(use-package doom-modeline
:init
(doom-modeline-mode 1))
;; Line numbers
(column-number-mode)
#+end_src
#+RESULTS:
: t
** Fonts
#+begin_src emacs-lisp
;; Default fonts
(add-to-list 'default-frame-alist '(font . "Mononoki Nerd Font" ))
(set-face-attribute 'default t :font "Mononoki Nerd Font" )
;;(set-fontset-font "fontset-startup" 'unicode
;; (font-spec :name "Mononoki Nerd Font" :size 14))
(when (member "Twitter Color Emoji" (font-family-list))
(set-fontset-font t 'unicode "Twitter Color Emoji" nil 'prepend))
;; ☺️ ☻ 😃 😄 😅 😆 😊 😎 😇 😈 😏 🤣 🤩 🤪 🥳 😁 😀 😂 🤠 🤡 🤑 🤓 🤖 😗 😚 😘 😙 😉 🤗 😍 🥰 🤤 😋 🤔 🤨 🧐 🤭 🤫 😯 🤐 😌 😖 😕 😳 😔 🤥 🥴 😮 😲 🤯 😩 😫 🥱 😪 😴 😵 ☹️ 😦 😞 😥 😟 😢 😭 🤢 🤮 😷 🤒 🤕 🥵 🥶 🥺 😬 😓 😰 😨 😱 😒 😠 😡 😤 😣 😧 🤬 😸 😹 😺 😻 😼 😽 😾 😿 🙀 🙈 🙉 🙊 🤦 🤷 🙅 🙆 🙋 🙌 🙍 🙎 🙇 🙏 👯 💃 🕺 🤳 💇 💈 💆 🧖 🧘 🧍 🧎 👰 🤰 🤱 👶 🧒 👦 👧 👩 👨 🧑 🧔 🧓 👴 👵 👤 👥 👪 👫 👬 👭 👱 👳 👲 🧕 👸 🤴 🎅 🤶 🧏 🦻 🦮 🦯 🦺 🦼 🦽 🦾 🦿 🤵 👮 👷 💁 💂 🕴 🕵️ 🦸 🦹 🧙 🧚 🧜 🧝 🧞 🧛 🧟 👼 👿 👻 👹 👺 👽 👾 🛸 💀 ☠️ 🕱 🧠 🦴 👁 👀 👂 👃 👄 🗢 👅 🦷 🦵 🦶 💭 🗬 🗭 💬 🗨 🗩 💦 💧 💢 💫 💤 💨 💥 💪 🗲 🔥 💡 💩 💯
;; Fallback for emojies
#+end_src
#+RESULTS:
** Line Numbers
#+begin_src emacs-lisp
(dolist (mode '(text-mode-hook
prog-mode-hook
conf-mode-hook))
(add-hook mode (lambda ()
(display-line-numbers-mode 1)
(setq display-line-numbers 'relative))))
;; Override some modes which derive from the above
(dolist (mode '(org-mode-hook))
(add-hook mode (lambda () (display-line-numbers-mode 0))))
#+end_src
#+RESULTS:
** Brakets
#+begin_src emacs-lisp
(use-package highlight-parentheses
:ensure t
:init
(global-highlight-parentheses-mode t)
(show-paren-mode t)) ;
(use-package rainbow-delimiters
:hook (prog-mode . rainbow-delimiters-mode))
#+end_src
#+RESULTS:
| rainbow-delimiters-mode | (lambda nil (display-line-numbers-mode 1) (setq display-line-numbers 'relative)) |
** Treemacs
#+begin_src emacs-lisp
(use-package all-the-icons)
(use-package treemacs-all-the-icons)
(use-package treemacs
:after all-the-icons
:ensure t
:defer t
:init
(with-eval-after-load 'winum
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
:config
(progn
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
treemacs-deferred-git-apply-delay 0.5
treemacs-directory-name-transformer #'identity
treemacs-display-in-side-window t
treemacs-eldoc-display t
treemacs-file-event-delay 5000
treemacs-file-extension-regex treemacs-last-period-regex-value
treemacs-file-follow-delay 0.2
treemacs-file-name-transformer #'identity
treemacs-follow-after-init t
treemacs-git-command-pipe ""
treemacs-goto-tag-strategy 'refetch-index
treemacs-indentation 2
treemacs-indentation-string " "
treemacs-is-never-other-window nil
treemacs-max-git-entries 5000
treemacs-missing-project-action 'ask
treemacs-move-forward-on-expand nil
treemacs-no-png-images nil
treemacs-no-delete-other-windows t
treemacs-project-follow-cleanup nil
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
treemacs-position 'left
treemacs-read-string-input 'from-child-frame
treemacs-recenter-distance 0.1
treemacs-recenter-after-file-follow nil
treemacs-recenter-after-tag-follow nil
treemacs-recenter-after-project-jump 'always
treemacs-recenter-after-project-expand 'on-distance
treemacs-show-cursor nil
treemacs-show-hidden-files t
treemacs-silent-filewatch nil
treemacs-silent-refresh nil
treemacs-sorting 'alphabetic-asc
treemacs-space-between-root-nodes t
treemacs-tag-follow-cleanup t
treemacs-tag-follow-delay 1.5
treemacs-user-mode-line-format nil
treemacs-user-header-line-format nil
treemacs-width 35
treemacs-workspace-switch-cleanup nil)
;; The default width and height of the icons is 22 pixels. If you are
;; using a Hi-DPI display, uncomment this to double the icon size.
;;(treemacs-resize-icons 44)
(treemacs-follow-mode t)
(treemacs-filewatch-mode t)
(treemacs-load-theme 'all-the-icons)
(treemacs-fringe-indicator-mode 'always)
(pcase (cons (not (null (executable-find "git")))
(not (null treemacs-python-executable)))
(`(t . t)
(treemacs-git-mode 'deferred))
(`(t . _)
(treemacs-git-mode 'simple))))
:bind
(:map global-map
("M-0" . treemacs-select-window)
("C-x t 1" . treemacs-delete-other-windows)
("C-x t t" . treemacs)
("C-x t B" . treemacs-bookmark)
("C-x t C-t" . treemacs-find-file)
("C-x t M-t" . treemacs-find-tag)))
(use-package treemacs-evil
:after (treemacs evil)
:ensure t)
(use-package treemacs-projectile
:after (treemacs projectile)
:ensure t)
(use-package treemacs-icons-dired
:after (treemacs dired)
:ensure t
:config (treemacs-icons-dired-mode))
(use-package treemacs-magit
:after (treemacs magit)
:ensure t)
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
:after (treemacs persp-mode) ;;or perspective vs. persp-mode
:ensure t
:config (treemacs-set-scope-type 'Perspectives))
(use-package neotree
:ensure t
:init
(setq neo-theme (if (display-graphic-p) 'icons 'arrow)))
(org-babel-do-load-languages
'org-babel-load-languages
'((python . t)))
(use-package magit)
(use-package workgroups2)
#+end_src
#+RESULTS:
*** Theme
#+begin_src emacs-lisp
(treemacs-create-theme "Material"
:icon-directory (treemacs-join-path treemacs-dir "/home/horhik/.emacs.d/icons")
:config
(progn
(treemacs-create-icon :file "folder-core-open.png" :fallback "📁" :extensions (root-open))
(treemacs-create-icon :file "folder-core.png" :fallback "📁" :extensions (root-closed))
(treemacs-create-icon :file "folder-node-open.png" :fallback "📂" :extensions (dir-open))
(treemacs-create-icon :file "folder-node.png" :fallback "📁" :extensions (dir-closed))
(treemacs-create-icon :file "folder-test-open.png" :fallback "📂" :extensions ("tests"))
(treemacs-create-icon :file "folder-test.png" :fallback "📁" :extensions ("tests"))
(treemacs-create-icon :file "emacs.png" :fallback "💜" :extensions ("el" "elc" ".spacemacs" "doom" ))
(treemacs-create-icon :file "emacs.png" :fallback "💜" :extensions ("el" "elc"))
(treemacs-create-icon :file "markdown.png" :fallback "📖" :extensions ("md"))
(treemacs-create-icon :file "readme.png" :fallback "📖" :extensions ("readme.md" "README.md" "README" "readme"))
(treemacs-create-icon :file "editorconfig.png" :fallback "📖" :extensions ("editorconfig"))
(treemacs-create-icon :file "org.png" :fallback "🐴" :extensions ("org"))
(treemacs-create-icon :file "rust.png" :fallback "🐴" :extensions ("rs"))
(treemacs-create-icon :file "dart.png" :fallback "🐴" :extensions ("dart"))
(treemacs-create-icon :file "dart.png" :fallback "🐴" :extensions ("dt"))
(treemacs-create-icon :file "haskell.png" :fallback "🐴" :extensions ("hs" "haskell"))
(treemacs-create-icon :file "c.png" :fallback "🐴" :extensions ("c"))
(treemacs-create-icon :file "cpp.png" :fallback "🐴" :extensions ("cpp" "c++"))
(treemacs-create-icon :file "nix.png" :fallback "🐴" :extensions ("nix"))
(treemacs-create-icon :file "lock.png" :fallback "🐴" :extensions ("lock" "lck"))
(treemacs-create-icon :file "h.png" :fallback "🐴" :extensions ("h"))
(treemacs-create-icon :file "diff.png" :fallback "🐴" :extensions ("diff"))
(treemacs-create-icon :file "makefile.png" :fallback "🐴" :extensions ("mk" "make" "Makefile"))
(treemacs-create-icon :file "assembly.png" :fallback "🐴" :extensions ("bin" "so" "o"))
(treemacs-create-icon :file "document.png" :fallback "🐴" :extensions ("" "txt"))
(treemacs-create-icon :file "file.png" :fallback "🐴" :extensions (fallback))
(treemacs-create-icon :file "toml.png" :fallback "🗃️" :extensions ("toml"))
(treemacs-create-icon :file "json.png" :fallback "🗃️" :extensions ("json"))
(treemacs-create-icon :file "yaml.png" :fallback "🗃️" :extensions ("yml" "yaml"))
(treemacs-create-icon :file "vim.png" :fallback "🗃️" :extensions ("vim" "vi" "nvim"))
(treemacs-create-icon :file "video.png" :fallback "🗃️" :extensions ("mp4" "avi" "gif" "mpv"))
(treemacs-create-icon :file "audio.png" :fallback "🗃️" :extensions ("mp3" "ogg" "wav" ))
(treemacs-create-icon :file "image.png" :fallback "🗃️" :extensions ("png" "jpg"))
(treemacs-create-icon :file "svg.png" :fallback "🗃️" :extensions ("svg"))
(treemacs-create-icon :file "css.png" :fallback "🗃️" :extensions ("css"))
(treemacs-create-icon :file "console.png" :fallback "🗃️" :extensions ("bash" "sh" "install" "setup"))
(treemacs-create-icon :file "certificate.png" :fallback "🗃️" :extensions ("cert" "LICENSE" "license" "gpl" "mit" "gpl3" "gplv3" "apache"))
(treemacs-create-icon :file "database.png" :fallback "🗃️" :extensions ("sqlite" "db" "sql"))
(treemacs-create-icon :file "lua.png" :fallback "🗃️" :extensions ("lua"))
(treemacs-create-icon :file "javascript.png" :fallback "🗃️" :extensions ("js" "javascript"))
(treemacs-create-icon :file "typescript.png" :fallback "🗃️" :extensions ("ts" "typescript"))
(treemacs-create-icon :file "react.png" :fallback "🗃️" :extensions ("jsx"))
(treemacs-create-icon :file "react_ts.png" :fallback "🗃️" :extensions ("tsx"))
(treemacs-create-icon :file "settings.png" :fallback "🗃️" :extensions ("config" "conf" "rc" "*rc"))
(treemacs-create-icon :file "sass.png" :fallback "🗃️" :extensions ("sass" "scss"))
(treemacs-create-icon :file "xml.png" :fallback "🗃️" :extensions ("xml"))
(treemacs-create-icon :file "less.png" :fallback "🗃️" :extensions ("less"))
(treemacs-create-icon :file "pdf.png" :fallback "🗃️" :extensions ("pdf"))
(treemacs-create-icon :file "tex.png" :fallback "🗃️" :extensions ("tex" "latex" ))
(treemacs-create-icon :file "log.png" :fallback "🗃️" :extensions ("log" ))
(treemacs-create-icon :file "word.png" :fallback "🗃️" :extensions ("docs" "docx" "word" ))
(treemacs-create-icon :file "powerpoint.png" :fallback "🗃️" :extensions ("ppt" "pptx" ))
(treemacs-create-icon :file "html.png" :fallback "🗃️" :extensions ("html"))
(treemacs-create-icon :file "zip.png" :fallback "🗃️" :extensions ("zip" "tar" "tar.xz" "xz" "xfv" "7z"))
(treemacs-create-icon :file "todo.png" :fallback "🗃️" :extensions ("TODO" "todo" "Tasks" ))
(treemacs-create-icon :file "webassembly" :fallback "🗃️" :extensions ("wasm" "webasm" "webassembly"))
(treemacs-create-icon :file "python" :fallback "🗃️" :extensions ("py" "python"))))
(treemacs-load-theme 'Material)
#+end_src
#+RESULTS:
* Evil Mode
#+begin_src emacs-lisp
(use-package undo-tree)
(use-package evil
:init
(setq evil-want-keybinding nil)
(setq evil-want-integration t)
(setq evil-want-C-u-scroll t)
(setq evil-want-C-i-jump nil)
(global-undo-tree-mode)
:config
(evil-set-undo-system 'undo-tree)
(evil-mode 1)
(define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state)
(define-key evil-insert-state-map (kbd "C-h") 'evil-delete-backward-char-and-join)
;; Use visual line motions even outside of visual-line-mode buffers
(evil-global-set-key 'motion "j" 'evil-next-visual-line)
(evil-global-set-key 'motion "k" 'evil-previous-visual-line)
(evil-set-initial-state 'messages-buffer-mode 'normal)
(evil-set-initial-state 'dashboard-mode 'normal))
(use-package evil-collection
:after evil
:init
:config
(evil-collection-init))
#+end_src
#+RESULTS:
: t
* Keybindings
#+begin_src emacs-lisp
(use-package counsel)
(use-package ivy
:diminish
:bind (
("M-x" . counsel-M-x)
("C-s" . swiper)
:map ivy-minibuffer-map
("TAB" . ivy-alt-done)
("C-f" . ivy-alt-done)
("C-l" . ivy-alt-done)
("C-j" . ivy-next-line)
("C-k" . ivy-previous-line)
:map ivy-switch-buffer-map
("C-k" . ivy-previous-line)
("C-l" . ivy-done)
("C-d" . ivy-switch-buffer-kill)
:map ivy-reverse-i-search-map
("C-k" . ivy-previous-line)
("C-d" . ivy-reverse-i-search-kill))
:init
(ivy-mode 1))
(use-package counsel-projectile
:config (counsel-projectile-mode))
;; Keybindings
(defun add-to-map(keys func)
"Add a keybinding in evil mode from keys to func."
(define-key evil-normal-state-map (kbd keys) func)
(define-key evil-motion-state-map (kbd keys) func))
;;(add-to-map "<SPC>" nil)
;;(add-to-map "<SPC> <SPC>" 'counsel-M-x)
;; (add-to-map "<SPC> f" 'lusty-file-explorer)
;; (add-to-map "<SPC> b" 'lusty-buffer-explorer)
;;(add-to-map "<SPC> o" 'treemacs)
;;(add-to-map "<SPC> s" 'save-buffer)
(defun open-file (file)
"just more shortest function for opening the file"
(interactive)
((lambda (file) (interactive)
(find-file (expand-file-name (format "%s" file)))) file ) )
(use-package general)
(general-evil-setup)
(general-nmap
:prefix "SPC"
;; dotfiles editing config
"SPC" '(counsel-M-x :which-key "M-x")
"o" '(treemacs :which-key "treemacs")
"f f" '(counsel-find-file :which-key "find-file")
"f r" '(counsel-buffer-or-recentf :which-key "recent files")
"b b" '(counsel-switch-buffer :which-key "switch buff")
"f e" '(lambda() (interactive) (find-file "~/.emacs.d/config.org") :which-key "config.org")
"f v" '(lambda() (interactive) (find-file "~/.config/nvim/init.vim" :which-key "neovim config" ))
"f d" '(lambda() (interactive) (find-file "~/dotfiles/home" :which-key "dotfiles dired" ))
"f a" '(lambda() (interactive) (find-file "~/.config/alacritty/alacritty.yml" :which-key "alacritty"))
"f b" '(lambda() (interactive) (find-file "~/Brain") :which-key "my brain")
)
#+end_src
#+RESULTS:
* Suggestions
#+begin_src emacs-lisp
(use-package which-key
:init (which-key-mode)
:diminish which-key-mode
:config
(setq which-key-idle-delay 0.3))
(use-package ivy-rich
:init
(ivy-rich-mode 1))
#+end_src
#+RESULTS:
* Org
** Fonts
#+begin_src emacs-lisp
(set-face-attribute 'variable-pitch nil
;; :font "Cantarell"
:font "Hack"
:height 1.3
:weight 'light)
(set-face-attribute 'org-document-title nil :font "ubuntu" :weight 'bold :height 1.3)
(dolist (face '((org-level-1 . 1.3)
(org-level-2 . 1.2)
(org-level-3 . 1.05)
(org-level-4 . 1.0)
(org-level-5 . 1.1)
(org-level-6 . 1.1)
(org-level-7 . 1.1)
(org-level-8 . 1.1)))
(set-face-attribute (car face) nil :font "ubuntu" :weight 'bold :height (cdr face)))
(require 'org-indent)
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch :font "Hack" )
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
(set-face-attribute 'org-formula nil :inherit 'fixed-pitch)
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-indent nil :inherit '(org-hide fixed-pitch))
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch)
;; Get rid of the background on column views
(set-face-attribute 'org-column nil :background nil)
(set-face-attribute 'org-column-title nil :background nil)
(setq org-src-fontify-natively t)
#+end_src
#+RESULTS:
: t
** Org mode
#+begin_src emacs-lisp
(defun my/org-mode-setup()
(auto-fill-mode 0)
(visual-line-mode 1)
(setq evil-auto-indent 1)
(variable-pitch-mode t)
)
(use-package org
:hook ((org-mode . my/org-mode-setup)
(org-mode . variable-pitch-mode)
)
:config (setq org-agenda-files `("~/Brain" "~/Brain/Tasks/Tasks.org"))
(org-bullets-mode t)
(org-indent-mode t)
(setq org-ellipsis "" org-hide-emphasis-markers t org-src-fontify-natively t
org-src-tab-acts-natively t org-edit-src-content-indentation 2 org-hide-block-startup nil
org-src-preserve-indentation nil org-startup-folded 'content org-cycle-separator-lines 2)
(setq org-agenda-start-with-log-mode t)
(setq org-log-done 'time)
(setq org-log-into-drawer t)
(setq org-todo-keyword-faces '(("TODO" . org-warning)
("STARTED" . "yellow")
("DREAM" . "pink")
("IDEA" . "gold")
("ARTICLE" . "lightblue")
("CANCELED" .
(:foreground "blue"
:weight bold))))
(setq org-todo-keywords '((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)"
"WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")
(sequence "IDEA(i)" "DREAM(d)" "ARTICLE(a)" "|" "DONE(d!)")))
(setq org-agenda-custom-commands '(("d" "Dashboard" ((agenda "" ((org-deadline-warning-days 7)))
(todo "NEXT" ((org-agenda-overriding-header
"Next Tasks")))
(tags-todo "agenda/ACTIVE"
((org-agenda-overriding-header
"Active Projects")))))
("n" "Next Tasks" ((todo "NEXT" ((org-agenda-overriding-header
"Next Tasks")))))
("i" "Ideas" ((todo "IDEA" ((org-agenda-overriding-header
"Ideas ")))))
("A" "Articles" ((todo "Article" ((org-agenda-overriding-header
"Article")))))
("W" "Work Tasks" tags-todo "+work-email")
("W" "Work Tasks" tags-todo "+work-email")
("I" "ideas" tags-todo "+idea-article")
;; Low-effort next actions
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
((org-agenda-overriding-header "Low Effort Tasks")
(org-agenda-max-todos 20)
(org-agenda-files org-agenda-files)))
("w" "Workflow Status" ((todo "WAIT"
((org-agenda-overriding-header
"Waiting on External")
(org-agenda-files
org-agenda-files)))
(todo "REVIEW"
((org-agenda-overriding-header
"In Review")
(org-agenda-files
org-agenda-files)))
(todo "PLAN"
((org-agenda-overriding-header
"In Planning")
(org-agenda-todo-list-sublevels
nil)
(org-agenda-files
org-agenda-files)))
(todo "BACKLOG"
((org-agenda-overriding-header
"Project Backlog")
(org-agenda-todo-list-sublevels
nil)
(org-agenda-files
org-agenda-files)))
(todo "READY"
((org-agenda-overriding-header
"Ready for Work")
(org-agenda-files
org-agenda-files)))
(todo "ACTIVE"
((org-agenda-overriding-header
"Active Projects")
(org-agenda-files
org-agenda-files)))
(todo "COMPLETED"
((org-agenda-overriding-header
"Completed Projects")
(org-agenda-files
org-agenda-files)))
(todo "CANC"
((org-agenda-overriding-header
"Cancelled Projects")
(org-agenda-files
org-agenda-files)))))))
:general (general-nmap :prefix "SPC a"
:keymap 'org-agenda-mode-map
"a" 'org-agenda))
(use-package org-bullets
:after org
:hook
((org-mode . org-bullets-mode)
)
)
#+end_src
#+RESULTS:
| org-tempo-setup | my/visual-fill | org-bullets-mode | variable-pitch-mode | my/org-mode-setup | #[0 \300\301\302\303\304$\207 [add-hook change-major-mode-hook org-show-all append local] 5] | #[0 \300\301\302\303\304$\207 [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] | org-babel-result-hide-spec | org-babel-hide-all-hashes | #[0 \301\211\207 [imenu-create-index-function org-imenu-get-tree] 2] | (lambda nil (display-line-numbers-mode 0)) |
#+begin_src emacs-lisp
(defun my/visual-fill ()
(setq visual-fill-column-width 140
visual-fill-column-center-text t)
(visual-fill-column-mode 1))
(use-package visual-fill-column
:defer t
:hook (org-mode . my/visual-fill))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
(require 'org-tempo)
(add-to-list 'org-structure-template-alist '("sh" . "src sh"))
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
(add-to-list 'org-structure-template-alist '("sc" . "src scheme"))
(add-to-list 'org-structure-template-alist '("ts" . "src typescript"))
(add-to-list 'org-structure-template-alist '("py" . "src python"))
(add-to-list 'org-structure-template-alist '("yaml" . "src yaml"))
(add-to-list 'org-structure-template-alist '("json" . "src json"))
#+end_src
#+RESULTS:
: ((json . src json) (yaml . src yaml) (py . src python) (ts . src typescript) (sc . src scheme) (el . src emacs-lisp) (sh . src sh) (a . export ascii) (c . center) (C . comment) (e . example) (E . export) (h . export html) (l . export latex) (q . quote) (s . src) (v . verse))
** Org roam
#+begin_src emacs-lisp
(use-package org-roam-server)
(use-package org-roam
:ensure t
:hook
(after-init . org-roam-mode)
:general (general-nmap
:prefix "SPC r"
;; Org-roam keymap
"d" '(org-roam-dailies-find-today :which-key "roam today")
"t a" '(org-roam-tag-add :which-key "roam add tag")
"t d" '(org-roam-tag-delete :which-key "roam delete tag")
"a a" '(org-roam-alias-add :which-key "roam add alias")
"f f" '(org-roam-find-file :which-key "roam findgfile ")
"g" '(org-roam-graph-show :which-key "roam graph ")
"b b" '(org-roam-buffer-toggle-display :which-key "roam buffer toggle ")
"b s" '(org-roam-buffer-activate :which-key "roam buffer show ")
"b h" '(org-roam-buffer-deactivate :which-key "roam buffer hide ")
"s" '(org-roam-server-mode :which-key "roam server "))
:custom
(org-roam-directory "~/Brain")
:config
(setq
org-roam-server-host "127.0.0.1"
org-roam-server-port 5034
org-roam-server-authenticate nil
org-roam-server-export-inline-images t
org-roam-server-serve-files nil
org-roam-server-served-file-extensions '("pdf" "mp4" "ogv")
org-roam-server-network-poll t
org-roam-server-network-arrows nil
org-roam-server-network-label-truncate t
org-roam-server-network-label-truncate-length 60
org-roam-server-network-label-wrap-length 20)
(require 'org-roam-protocol)
(org-roam-server-mode t)
(server-start t)
)
(require 'org-roam-protocol)
#+end_src
#+RESULTS:
: org-roam-protocol