summaryrefslogtreecommitdiff
path: root/elchemy-user.el
blob: 41f23767873b9333d8481860638e23a7ec1df967 (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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
;; User information
(setq user-full-name "Sergey Bilovytskyy"
      user-mail-address "sergey@sbrl.xyz")

;; Dashboard
(setq elchemy/dashboard/header-text "Dashboard"
      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/dark-theme nil
      elchemy/user/light-theme nil
      elchemy/user/transparency 100
      elchemy/user/font-height 160
      elchemy/user/font-name "azuki_font"
      elchemy/user/alt-font-name "Source Code Pro"
      elchemy/user/use-meow nil
      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")))
					#("CYCL" 0 4 (fontify t face (:foreground "gray50"))))
      elchemy/schedule-lookahead 7)

;; Modeline
(setq-default mode-line-format `((:propertize " ♥ " face (:family ,elchemy/user/alt-font-name))
				 (:propertize "PlayTime" face (:weight bold))
				 (:propertize " ♦ " face (:family ,elchemy/user/alt-font-name))
				 (:propertize "%b" face (:slant italic))
				 (:propertize " ♣ " face (:family ,elchemy/user/alt-font-name))
				 (:propertize (:eval mode-name) face (:foreground "red"))
				 (:propertize " ♠ " face (:family ,elchemy/user/alt-font-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)))

(setq treesit-language-source-alist
      '((bash "https://github.com/tree-sitter/tree-sitter-bash")
	(cmake "https://github.com/uyha/tree-sitter-cmake")
	(css "https://github.com/tree-sitter/tree-sitter-css")
	(elisp "https://github.com/Wilfred/tree-sitter-elisp")
	(go "https://github.com/tree-sitter/tree-sitter-go")
	(html "https://github.com/tree-sitter/tree-sitter-html")
	(javascript "https://github.com/tree-sitter/tree-sitter-javascript" "master" "src")
	(json "https://github.com/tree-sitter/tree-sitter-json")
	(make "https://github.com/alemuller/tree-sitter-make")
	(markdown "https://github.com/ikatyang/tree-sitter-markdown")
	(python "https://github.com/tree-sitter/tree-sitter-python")
	(rust "https://github.com/tree-sitter/tree-sitter-rust")
	(toml "https://github.com/tree-sitter/tree-sitter-toml")
	(tsx "https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")
	(typescript "https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src")
	(yaml "https://github.com/ikatyang/tree-sitter-yaml")))

(provide 'elchemy-user)