summaryrefslogtreecommitdiff
path: root/elchemy-user.el
blob: e3ba380ac86eb7c925b064075c17d7efe616dcb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
;; User information
(setq user-full-name "Sergey Bilovytskyy"
      user-mail-address "sergey@sbrl.xyz")

;; Dashboard
(setq elchemy/dashboard/heading-columns 4
      elchemy/dashboard/heading-padding 2
      elchemy/dashboard/projects-columns 4
      elchemy/dashboard/projects-padding 2
      elchemy/dashboard/agenda-padding 2
      elchemy/dashboard/header-size 4.0
      elchemy/dashboard/subheader-size 2.0)

;; General Settings
(setq default-directory "~/"
      default-input-method "ukrainian-computer"
      disable-lockfiles nil
      sentence-end-double-space nil
      inhibit-startup-screen t)

;; C-M-i Completions
(setq completion-at-point-functions '(elisp-completion-at-point comint-dynamic-complete-filename t))

;; User Options
(setq elchemy/user/latex-compiler "lualatex"
      elchemy/user/org-directory "~/org/"
      elchemy/user/org-todo-file-name "todo.org"
      elchemy/user/org-notes-file-name "notes.org"
      elchemy/user/org-hideaway t
      elchemy/elchemy-headings-file "headings"
      elchemy/elchemy-projects-file "projects"
      elchemy/dashboard-splash "assets/splash.png"
      elchemy/dashboard-agenda-titles '(#("TODO" 0 4 (fontify t face (:foreground "red")))
					#("STRT" 0 4 (fontify t face (:foreground "dark cyan")))
					#("WAIT" 0 4 (fontify t face (:foreground "orange"))))
      elchemy/schedule-lookahead 7)

;; Modeline
(setq-default mode-line-format '((:propertize "♥︎" face (:foreground "red"))
				 " "
				 (:propertize "ELCHEMY" face (:weight bold))
				 " "
				 (:propertize "♦︎" face (:foreground "red"))
				 " "
				 (:propertize "%b" face (:slant italic))
				 " ♣︎ "
				 (:eval mode-name)
				 " ♠︎"))

;; Ignore Bell
(setq ring-bell-function 'ignore)

;; Python
(setq python-shell-interpreter "~/.micromamba/envs/emacs-py/bin/ipython"
      python-shell-interpreter-args "--pylab")

;; Org Mode Options
(org-babel-do-load-languages
 'org-babel-load-languages
 '((python . t)
   (gnuplot . t)
   (R . t)))
(setq org-babel-python-command python-shell-interpreter
      org-babel-R-command (concat (executable-find "R") " --slave --no-save")
      org-babel-gnuplot-command (executable-find "gnuplot")
      org-confirm-babel-evaluate nil)
(setq org-directory elchemy/user/org-directory
      org-agenda-files (list
			(concat elchemy/user/org-directory elchemy/user/org-todo-file-name)
			"/ssh:onid:todo.org")
      org-todo-keywords
      '((sequence "TODO(t)"
		  "STRT(s)"
		  "WAIT(w)"
		  "CYCL(c)"
		  "|"
		  "DONE(d)"
		  "KILL(k)")
	(sequence "[ ](T)"
		  "[-](S)"
		  "[?](W)"
		  "|"
		  "[X](D)")
	(sequence "|"
		  "OKAY(o)"
		  "YES(y)"
		  "NO(n)"))
      org-capture-templates
      `(("n" "Notes" entry (file+olp+datetree ,(concat elchemy/user/org-directory elchemy/user/org-notes-file-name) "Notes")
	 "* %?\nEntered on %U\n  %i\n  %a")
	("t" "Todo" entry (file+headline ,(concat elchemy/user/org-directory elchemy/user/org-todo-file-name) "Tasks")
	 "* TODO %?\n  %i\n  %a")
	("o" "OSU Todo" entry (file+headline "/ssh:onid:todo.org" "Imported")
	 "* TODO %?\n  %i\n  %a\n")
	("k" "Knowledge Entry" entry (file+headline "/ssh:onid:knowledge.org" "Imported")
	 "* %?\n  %i\n  %a\n"))
      org-todo-keyword-faces
      '(("[-]" . +org-todo-active)
	("STRT" . +org-todo-active)
	("[?]" . +org-todo-onhold)
	("WAIT" . +org-todo-onhold)
	("CYCL" . "Blue")
	("NO" . +org-todo-cancel)
	("KILL" . +org-todo-cancel)))

(provide 'elchemy-user)