From b0c87544fe0c8b103354904370445757e05b9bab Mon Sep 17 00:00:00 2001 From: Christian Cunningham Date: Wed, 12 Jun 2024 23:17:41 -0700 Subject: Restructuring - Break functions out to their own files - Move user settings to its own file - Move dashboard to its own file - Remove old splash - Don't hardcode executables --- elchemy-user.el | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 95 insertions(+), 3 deletions(-) (limited to 'elchemy-user.el') diff --git a/elchemy-user.el b/elchemy-user.el index a29a85c..6fca1a1 100644 --- a/elchemy-user.el +++ b/elchemy-user.el @@ -1,16 +1,108 @@ +;; User information (setq user-full-name "Sergey Bilovytskyy" user-mail-address "sergey@sbrl.xyz") +;; Dashboard +(setq elchemy/dashboard/heading-columns 3 + elchemy/dashboard/heading-buttons '(("Open Local TODO" . (lambda (x) (elchemy/find-file "~/org/todo.org"))) + ("Open Remote TODO" . (lambda (x) (elchemy/find-file "/ssh:onid:todo.org"))) + ("Open Local Notes" . (lambda (x) (elchemy/find-file "~/org/notes.org"))) + ("Open Remote Notes" . (lambda (x) (elchemy/find-file "/ssh:onid:knowledge.org"))) + ("Open Terminal" . (lambda (x) (elchemy/term "/bin/zsh"))) + ("Open Scratch" . (lambda (x) + (when (one-window-p) + (split-window-right)) + (other-window 1) + (scratch-buffer))) + ("User Conf" . (lambda (x) (elchemy/find-file (concat elchemy/elchemy-root "elchemy-user.el")))) + ("Personal Conf" . (lambda (x) (elchemy/find-file (concat elchemy/elchemy-root "elchemy-personal.el")))) + ("Testing" . (lambda (x) (elchemy/find-file "/ssh:onid:test.el"))) + ) + elchemy/dashboard/heading-max-length (apply #'max (mapcar #'(lambda (x) (length (car x))) elchemy/dashboard/heading-buttons)) + elchemy/dashboard/heading-padding 4) + +;; General Settings (setq default-directory "~/" default-input-method "ukrainian-computer" - disable-lockfiles nil) + disable-lockfiles nil + sentence-end-double-space nil + inhibit-startup-screen 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/user/org-hideaway t + elchemy/elchemy-projects-file "projects" + elchemy/dashboard-splash "assets/splash.png") + +;; 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") -(setq-default mode-line-format nil) +;; 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)" + "|" + "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) + ("HOLD" . +org-todo-onhold) + ("PROJ" . +org-todo-project) + ("NO" . +org-todo-cancel) + ("KILL" . +org-todo-cancel))) (provide 'elchemy-user) -- cgit v1.2.1