Compare commits

...

3 Commits

9 changed files with 170 additions and 14 deletions

View File

@ -14,6 +14,11 @@
(setq kmn/is-termux
(string-suffix-p "Android" (string-trim (shell-command-to-string "uname -a"))))
;; day job env?
(setq kmn/is-dayjob
(string= "PCE" (getenv "USERDOMAIN"))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; os specific config
(when (eq system-type 'windows-nt)
@ -25,6 +30,10 @@
(add-to-list 'exec-path "C:/Users/mcros/OneDrive/Programs/PortableApps/sqlite3")
(add-to-list 'exec-path "C:/Users/mcros/OneDrive/Programs/PortableApps/MultiMarkdown-Windows-6.6.0/bin")
)
(when kmn/is-dayjob
(setenv "HOME" "I:/")
(setq default-directory "I:/")
)
(when kmn/is-termux
; setup storage locations -- cheat so mobile/desktop look alike for file urls
;(setq user-init-file "/data/data/com.termux/files/home/storage/shared/.emacs")
@ -66,7 +75,12 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; additional packages
(add-to-list 'package-selected-packages
'(centaur-tabs auctex-latexmk auctex json-mode python-mode powershell rust-mode origami go-mode yaml-mode dockerfile-mode lua-mode)
'(centaur-tabs json-mode python-mode powershell rust-mode origami go-mode yaml-mode lua-mode)
)
(when (not kmn/is-dayjob)
(add-to-list 'package-selected-packages
'(auctex-latexmk auctex dockerfile-mode)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -112,8 +126,10 @@
(setq lua-indent-level 4)
; dockerfile
(when (not kmn/is-dayjob)
(autoload 'dockerfile-mode "dockerfile-mode" "Dockerfile editing mode." t)
(add-to-list 'auto-mode-alist '("Dockerfile\\'" . dockerfile-mode))
)
; yaml
(autoload 'yaml-mode "yaml-mode" "YAML editing mode." t)
@ -146,10 +162,12 @@
(add-to-list 'auto-mode-alist '("\\.ps1\\'" . powershell))
; [la]tex
(when (not kmn/is-dayjob)
(use-package tex
:ensure auctex)
(setq TeX-parse-self t)
(setq-default TeX-master nil)
)
; python
(autoload 'python-mode "python-mode" "python editing mode" t)

View File

@ -2,20 +2,31 @@
; start emacs server (daemon) via real client so org-mode and other 'workspaces' can be setup as faux daemonized emacs
; (server-start)
;; critical built in for tuning startup
(setq kmn/is-dayjob
(string= "PCE" (getenv "USERDOMAIN"))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Packages related
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) ; this goes in chemacs2 init -- DO NOT UNCOMMENT
(package-initialize) ; this goes in chemacs2 init -- DO NOT UNCOMMENT
(add-to-list 'package-selected-packages
'(scratch persistent-scratch persp-mode rainbow-mode rainbow-delimiters markdown-mode devdocs devdocs-browser focus zoom popwin dired-single diredfl xclip doominhibitinhibit-modeline magit helpful helm helm-org helm-ls-git dired-rainbow dired-rainbow-listing dired-single dash s origami modus-themes use-package)
'(scratch persistent-scratch persp-mode rainbow-mode rainbow-delimiters markdown-mode focus zoom popwin dired-single diredfl xclip doominhibitinhibit-modeline helpful helm helm-org dired-rainbow dired-rainbow-listing dired-single dash s origami modus-themes use-package)
)
(when (not kmn/is-dayjob)
(add-to-list 'package-selected-packages
'(devdocs devdocs-browser magit helm-ls-git)
)
)
(require 'use-package)
; helper functions
(require 'subr-x)
(setq kmn/is-termux
(string-suffix-p "Android" (string-trim (shell-command-to-string "uname -a"))))
(string-suffix-p "Android" (string-trim (shell-command-to-string "uname -a"))))
; ensure elisp plugins are compiled
(require 'dash)
@ -132,6 +143,7 @@
("\\.markdown\\'" . markdown-mode))
:init (setq markdown-command "multimarkdown"))
(when (not kmn/is-dayjob)
(use-package markdown-preview-mode
:ensure t
:if (boundp 'mdcommand)
@ -143,7 +155,7 @@
(markdown-preview-host "127.0.0.1")
(markdown-preview-http-host "127.0.0.1"))
(setq markdown-preview-stylesheets (list "https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/3.0.1/github-markdown.min.css"))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; origami config
@ -391,6 +403,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; flyspell
(when (not kmn/is-dayjob)
(require 'flyspell)
(setenv "LANG" "en_US")
(setq ispell-program-name "hunspell")
@ -436,6 +449,7 @@
; flyspell keyboard shortcuts
(global-set-key (kbd "C-x y") 'flyspell-toggle)
(global-set-key (kbd "C-x w") 'flyspell-correct-wrapper)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; zoom (replaces golden-ratio)
@ -462,6 +476,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; devdocs
(when (not kmn/is-dayjob)
(require 'devdocs)
(require 'devdocs-browser)
; devdocs
@ -470,6 +485,7 @@
; devdocs-browser
(setq devdocs-browser-cache-directory "~/devdocs-browser")
(global-set-key (kbd "C-x n") 'devdocs-browser-open)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; tabs-bar

View File

@ -28,6 +28,7 @@
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; org-mode workspace
(when (not kmn/is-dayjob)
(defun kmn/workspace-org ()
(interactive)
; start with fresh frame
@ -49,9 +50,36 @@
(next-multiframe-window)
(goto-char 0)
)
)
(when kmn/is-dayjob
(defun kmn/workspace-org ()
(interactive)
; start with fresh frame
(delete-other-windows)
(kmn/kill-other-buffers)
(ignore-errors (kill-buffer "*scratch*"))
; front load org-agenda so it doesnt reshuffle the frame layout on us
(org-agenda nil "r")
(split-window-below)
(next-multiframe-window)
; show slipbox
(find-file "~/org/orgzly/_slipbox.org")
; split window for additional file to show
(split-window-below)
(next-multiframe-window)
(find-file "~/org/_habits.org")
(find-file "~/org/_todo.org")
(find-file "~/org/_index.org")
; switch to top of agenda window so most useful window is focused
(next-multiframe-window)
(goto-char 0)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; org-mode workspace for termux devices (mobile / android)
(when (not kmn/is-dayjob)
(defun kmn/workspace-org-single-window ()
(interactive)
; start with fresh frame
@ -70,6 +98,7 @@
; start at the top of the agenda
(goto-char 0)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; empty code workspace

View File

@ -80,6 +80,7 @@
)
(setq org-agenda-file-regexp "\\`[^.].*\\.org\\'")
(when (not kmn/is-dayjob)
(setq org-agenda-files (list
"~/org/health/_health.org"
"~/org/health/health_houdini.org"
@ -88,10 +89,19 @@
"~/org/orgzly/_todo.org"
"~/org/orgzly/_slipbox.org"
))
)
(when kmn/is-dayjob
(setq org-agenda-files (list
"~/org/_index.org"
"~/org/_slipbox.org"
"~/org/_todo.org"
))
)
(require 'org-super-agenda)
(org-super-agenda-mode)
(when (not kmn/is-dayjob)
(setq org-super-agenda-groups
'(
(:name "Health"
@ -182,3 +192,44 @@
("o" . "Photography")
)
)
)
(when kmn/is-dayjob
(setq org-super-agenda-groups
'(
(:name "Habits" :habit t)
(:name "Active"
:todo ("WIP" "READY"))
(:name "Slip Box" :tag "slipbox")
(:name "To Do" :priority>= "C")
(:name "Low Priority" :priority< "C")))
(setq org-agenda-custom-commands
'(
("r" "PCE"
(
(agenda "" (
(org-agenda-overriding-header "Scheduled")
(org-agenda-remove-tags t)
))
(agenda "" (
(org-agenda-overriding-header "Habits")
(org-agenda-files (list "~/org/_habits.org"))
(org-agenda-remove-tags t)
))
(todo "WIP" (
(org-agenda-overriding-header "WIP")
(org-agenda-remove-tags t)
))
(todo "READY" (
(org-agenda-overriding-header "Ready")
(org-agenda-remove-tags t)
))
(tags-todo "-TODO=\"WIP\"-TODO=\"READY\"" (
(org-agenda-overriding-header "")
(org-agenda-remove-tags t)
))
)
)
)
)
)

View File

@ -18,6 +18,7 @@
(concat prefix (org-time-stamp nil))))
; orgmode capture templates
(when (not kmn/is-dayjob)
(setq org-capture-templates '(
("d" "TODO (Main)" entry
(file "~/org/orgzly/_todo.org")
@ -166,3 +167,22 @@
:empty-lines-before 1
)
))
)
(when (not kmn/is-dayjob)
(setq org-capture-templates '(
("d" "TODO (Main)" entry
(file "~/org/_todo.org")
(file "~/org/template_todo.org")
:prepend t
:immediate-finish "f"
:jump-to-captured "t"
)
("s" "TODO (Slipbox)" entry
(file "~/org/_slipbox.org")
(file "~/org/template_slipbox.org")
:prepend t
:immediate-finish "f"
:jump-to-captured "t"
)
))
)

View File

@ -6,6 +6,8 @@
(setq org-habit-graph-column 75)
; set ui to standard org-workspace at launch
(when (not kmn/is-dayjob)
(add-hook 'after-init-hook (lambda ()
(kmn/workspace-org)
))
)

View File

@ -5,15 +5,19 @@
(global-set-key (kbd "C-c s") 'org-schedule)
(global-set-key (kbd "C-c c") 'org-capture)
(global-set-key (kbd "C-c z") 'org-attach)
(global-set-key (kbd "C-c d v")
(lambda () (interactive) (dired "~/org/Document_Archive"))
)
(global-set-key (kbd "C-c d n")
(lambda () (interactive) (find-file "~/org/_index.org"))
)
(when (not kmn/is-dayjob)
(global-set-key (kbd "C-c d t")
(lambda () (interactive) (find-file "~/org/orgzly/_todo.org"))
)
(global-set-key (kbd "C-c d s")
(lambda () (interactive) (find-file "~/org/orgzly/_slipbox.org"))
)
(global-set-key (kbd "C-c d n")
(lambda () (interactive) (find-file "~/org/_index.org"))
)
(global-set-key (kbd "C-c d h")
(lambda () (interactive) (find-file "~/org/health/_health.org"))
)
@ -23,6 +27,12 @@
(global-set-key (kbd "C-c d r")
(lambda () (interactive) (find-file "~/org/culinary/_culinary.org"))
)
(global-set-key (kbd "C-c d v")
(lambda () (interactive) (dired "~/org/Document_Archive"))
)
(when kmn/is-dayjob
(global-set-key (kbd "C-c t")
(lambda () (interactive) (find-file "~/org/_todo.org"))
)
(global-set-key (kbd "C-c s")
(lambda () (interactive) (find-file "~/org/_slipbox.org"))
)
)

View File

@ -1,3 +1,10 @@
(setq org-todo-keywords
'((sequence "TODO(t)" "READY(r)" "WIP(w)" "|" "SKIPPED(k)" "COMPLETE(c)" "CANCELED(x)"))
)
(setq org-todo-keyword-faces
'(("TODO" . "turquoise") ("READY" . "yellow") ("WIP" . "magenta") ("COMPLETE" . "green") ("CANCELED" . "orange"))
)
(when (not kmn/is-dayjob)
(setq org-tags-exclude-from-inheritance (quote ("@recipe" "@budgetbytes"
"@vegan" "@vegetarian"
"@instapot" "@slowcooker" "@onepot" "@oven" "@baked" "@baking" "@dehydrator" "@ricecooker"
@ -14,9 +21,4 @@
"@coconutmilk" "@oatmilk" "@coconutwater"
"@kemonine" "@waltdk"
)))
(setq org-todo-keywords
'((sequence "TODO(t)" "READY(r)" "WIP(w)" "|" "SKIPPED(k)" "COMPLETE(c)" "CANCELED(x)"))
)
(setq org-todo-keyword-faces
'(("TODO" . "turquoise") ("READY" . "yellow") ("WIP" . "magenta") ("COMPLETE" . "green") ("CANCELED" . "orange"))
)

View File

@ -13,6 +13,10 @@
(require 'subr-x)
(setq kmn/is-termux
(string-suffix-p "Android" (string-trim (shell-command-to-string "uname -a"))))
;; day job env?
(setq kmn/is-dayjob
(string= "PCE" (getenv "USERDOMAIN"))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; os specific config
@ -26,6 +30,10 @@
(add-to-list 'exec-path "C:/msys64/usr/bin/unzip.exe")
(setenv "PATH" (concat "C:\\msys64\\mingw64\\bin;" (getenv "PATH")))
)
(when kmn/is-dayjob
(setenv "HOME" "I:/")
(setq default-directory "I:/")
)
(when kmn/is-termux
; setup storage locations -- cheat so mobile/desktop look alike for file urls
;(setq user-init-file "/data/data/com.termux/files/home/storage/shared/.emacs")