feat[all] Added and removed many things

I changed the theme to doom-homage.
I removed funny stuff to slim down a bit.
I changed the org-capture keybinds and added a category for school.
I added org-super-agenda and corrected agenda keybinds.
I added lilypond editing.
I removed calfw calendar view.
I removed extraneous weblorg settings.
I removed org-roam-ui settings that were unecessary.
I added vterm and multipe-cursors.
This commit is contained in:
Judah Sotomayor 2024-04-08 12:01:27 -04:00
parent d28cd4d88e
commit 591c565087
Signed by: judahsotomayor
SSH Key Fingerprint: SHA256:9Dq4ppxhfAjbX+7HLXEt+ROMiIojI6kqQgUyFUJb9lI

View File

@ -38,7 +38,7 @@ Set the theme.
+I also prefer relative line numbers because of *evil* mode+
Relative line numbers don't seem to work, because of folding in Org-mode.
#+begin_src emacs-lisp
(setq doom-theme 'doom-homage-black)
(setq doom-theme 'doom-oksolar-dark)
(condition-case nil
(setq doom-font (font-spec :family "Hack Nerd Font Mono" :size 16 :weight 'medium))
(error (set-face-attribute 'default nil :height 130)))
@ -46,6 +46,8 @@ Relative line numbers don't seem to work, because of folding in Org-mode.
(setq auto-save-default nil) ;I don't like autosaving. Let me do it myself.
#+end_src
#+RESULTS:
** Doom splash screen
I really don't like the widgets, and I think it takes longer to load so I get rid of them
#+begin_src emacs-lisp
@ -265,17 +267,18 @@ And then we want to call this before building the agenda:
(add-hook 'org-agenda-mode-hook 'set-org-agenda-files-ripgrep)
#+end_src
*** Filtering the agenda
I don't want the agenda to show more than one day be default.
I don't want scheduled items to duplicate if the deadline is up.
#+begin_src emacs-lisp
(after! org
(setq org-agenda-start-day "-8d")
(setq org-agenda-span 9))
(setq org-agenda-skip-scheduled-if-deadline-is-shown t))
;(setq org-agenda-start-day "-8d")
;(setq org-agenda-span 9)
;(setq org-agenda-todo-ignore-deadlines 'far)
;(setq org-agenda-tags-todo-honor-ignore-options t))
#+end_src
#+RESULTS:
: 9
: t
** Basic settings
#+begin_src emacs-lisp
(setq org-log-done 'time)
@ -286,6 +289,19 @@ I don't want the agenda to show more than one day be default.
(setq org-directory "~/org/")
(setq org-roam-directory org-directory)
#+end_src
*** Keymap
#+begin_src emacs-lisp
(map!
:map org-agenda-keymap
"j" #'evil-next-line
"k" #'evil-previous-line)
(map!
:map org-super-agenda-header-map
"j" #'evil-next-line
"k" #'evil-previous-line)
#+end_src
#+RESULTS:
** Appearances
*** Images Preferences
@ -296,26 +312,75 @@ We want to show images when loading a file, and also after evaluating code block
;; Show images after evaluating code blocks.
(add-hook 'org-babel-after-execute-hook 'org-display-inline-images)
#+end_src
*** Org-agenda deadlines
I don't like agenda nagging me about upcoming events.
It causes a lot of duplication!
#+begin_comment
#+begin_src emacs-lisp
(setq org-deadline-warning-days 0)
#+end_src
#+end_comment
Turn it off with this snippet.
** ob-lilypond
*** package
*** Org-super-agenda
Super-agenda allows many nice configurations to the agenda buffer.
#+begin_src emacs-lisp :tangle "packages.el"
(package! ob-lilypond
:recipe (:host github :type git :repo "mjago/ob-lilypond"))
(package! org-super-agenda)
#+end_src
*** config
Configure the Super Agenda to neatly organize everything.
#+begin_src emacs-lisp
(use-package! ob-lilypond)
(setq ly-arrange-mode t)
(setq org-super-agenda-groups
'(;; Each group has an implicit boolean OR operator between its selectors.
(:name "Calendar"
:and (:todo nil :not (:scheduled (before "2024-03-17")) :not (:deadline (before "2024-03-17")))
:order 10)
(:name "Today" ; Optionally specify section name
:time-grid t ; Items that appear on the time grid
:todo "TODAY") ; Items that have this TODO keyword
(:name "Important"
;; Single arguments given alone
:tag "bills"
:priority<= "A")
(:name "Active Projects"
:and (:todo "PROJ"
:not (:scheduled (after "2024-03-17"))
:deadline (after "2024-03-17")))
(:name "School"
:tag "school" )
;; Set order of multiple groups at once
(:order-multi (2 (:name "Shopping in town"
;; Boolean AND group matches items that match all subgroups
:and (:tag "shopping" :tag "@town"))
(:name "Food-related"
;; Multiple args given in list with implicit OR
:tag ("food" "dinner"))
(:name "Habits"
:habit t
:tag "personal")
(:name "Space-related (non-moon-or-planet-related)"
;; Regexps match case-insensitively on the entire entry
:and (:regexp ("space" "NASA")
;; Boolean NOT also has implicit OR between selectors
:not (:regexp "moon" :tag "planet")))))
;; Groups supply their own section names when none are given
(:todo "WAITING" :order 8) ; Set order of this section
(:todo ("SOMEDAY" "TO-READ" "CHECK" "TO-WATCH" "WATCHING")
;; Show this group at the end of the agenda (since it has the
;; highest number). If you specified this group last, items
;; with these todo keywords that e.g. have priority A would be
;; displayed in that group instead, because items are grouped
;; out in the order the groups are listed.
:order 9)
(:priority<= "B"
;; Show this section after "Today" and "Important", because
;; their order is unspecified, defaulting to 0. Sections
;; are displayed lowest-number-first.
:order 1)
;; After the last group, the agenda will display items that didn't
;; match any of these groups, with the default order position of 99
))
#+end_src
** org-edna
#+begin_src emacs-lisp :tangle "packages.el"
(package! org-edna)
@ -370,11 +435,12 @@ This is okay, but I'd rather find something that isn't already used.
#+RESULTS:
: _
** calfw Calendar View
** calfw Calendar View :ARCHIVE:
#+begin_src emacs-lisp :tangle "packages.el"
(package! calfw
:recipe (:host github :type git :repo "haji-ali/emacs-calfw"))
#+end_src
* Programming Items
** Editorconfig
I need to make sure some different files work with
@ -404,15 +470,6 @@ In order for editorconfig to do its thing, indentation by the lsp must be disabl
(setq org-hugo-base-dir (concat org-directory (file-name-as-directory "website")))
(setq org-hugo-default-section-directory "posts")
#+end_src
** Weblorg Alternative
#+begin_src emacs-lisp :tangle "packages.el"
(package! weblorg)
#+end_src
#+begin_src emacs-lisp
(use-package! weblorg)
#+end_src
* Crafting a Writing Environment
For writing I like to automate as much as possible.
This means creating an environment that does citations and such /for/ me.
@ -541,7 +598,7 @@ $x + 1 = 3$
#+RESULTS:
| mcdowellcv | \documentclass[]{mcdowellcv} |
*** Fixing dvipng image handling
*** COMMENT Fixing dvipng image handling
#+begin_src emacs-lisp
(defun +org-refresh-latex-images-previews-h ()
@ -765,13 +822,17 @@ I also have a capture template form my [[Website]]
:target (file+head "%<%Y%m%d-%H%M%S>.org"
"#+TITLE: ${title}\n")
:unnarrowed t)
("s" "school" plain "%?"
:target (file+head "liberty/${title}.org"
"#+TITLE: ${title}\n")
:unnarrowed t)
("c" "encrypted" plain "%?"
("e" "encrypted" plain "%?"
:target (file+head "%<%Y%m%d-%H%M%S>.sec.org.age"
"#+TITLE: ${title}\n#+FILETAGS: :secure:noexport:\n\n* No Export Below This Line")
:unnarrowed t)
("m" "Markdown" plain ""
("c" "CCDC Wiki" plain ""
:target
(file+head "training-resources/content/${title}.md"
"---\ntitle: ${title}\nid: %<%Y-%m-%dT%H%M%S>\ncategory: \n---\n")
@ -857,25 +918,10 @@ I use =r= for this purpose. It is close and goes well with *roam*.
))))
#+END_SRC
**** COMMENT Function to pull up org-roam ui
#+begin_src emacs-lisp
(defun open-org-roam-ui ()
(interactive)
(org-roam-ui-mode)
(async-shell-command "surf http://localhost:35901/"))
#+end_src
*** Default Browser for Export
#+begin_src emacs-lisp
(setq browse-url-browser-function 'browse-url-generic
browse-url-generic-program "surf")
'(org-file-apps
(quote
((auto-mode . emacs)
("\\.mm\\'" . default)
("\\.x?html?\\'" . "surf %s")
("\\.pdf\\'" . default))))
#+end_src
** Journal Environment with org-roam
@ -1038,37 +1084,11 @@ We need to bring in the correct SSH agent values, so that Emacs is aware of wher
(setq md-roam-use-org-extract-ref nil)
(org-roam-db-autosync-mode 1))
#+end_src
* Funny Stuff
** Spray
#+begin_src emacs-lisp
(use-package! spray
:commands spray-mode)
#+end_src
** Snow
#+begin_src emacs-lisp :tangle "packages.el"
(package! snow)
(package! fireplace)
#+end_src
#+begin_src emacs-lisp
(use-package! snow)
(use-package! fireplace)
#+end_src
* Misc.
#+begin_src emacs-lisp
(add-to-list 'org-tags-exclude-from-inheritance "hastodos")
(add-to-list 'org-tags-exclude-from-inheritance "ignore")
#+end_src
** Cookies
#+begin_src emacs-lisp
(setq fortune-file "/home/user/.config/doom/cookies.txt")
(setq cookie-file "/home/user/.config/doom/cookies.txt")
#+end_src
#+RESULTS:
: /home/user/.config/doom/cookies.txt
* Graphics in org-mode
** Org Plot[fn:1]
Org-plot can be enabled by a flag in the init file.
@ -1153,9 +1173,9 @@ set palette defined ( 0 '%s',\
(doom-color 'bg) (car +org-plot-term-size) (cdr +org-plot-term-size)))
(setq org-plot/gnuplot-script-preamble #'+org-plot-generate-theme)
(setq org-plot/gnuplot-term-extra #'+org-plot-gnuplot-term-properties))
#+end_src
** Mermaid.js
Mermaid.js requires the mmcli executable from npm.
Mermaid is a tool that allows you to graph many kinds of entities:
@ -1261,7 +1281,7 @@ I like to have all my config in one place.
(format ) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
;;multiple-cursors ; editing in many places at once
multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
@ -1279,7 +1299,7 @@ I like to have all my config in one place.
;;eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
term ; basic terminal emulator for Emacs
;;vterm ; the best terminal emulation in Emacs
vterm ; the best terminal emulation in Emacs
:checkers
(syntax +flymake ) ; tasing you for every semicolon you forget
@ -1384,7 +1404,7 @@ I like to have all my config in one place.
;;(wanderlust +gmail)
:app
calendar
;;calendar
;;emmgs
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
@ -1400,3 +1420,17 @@ I like to have all my config in one place.
* Footnotes
[fn:1] Stolen from Tecosaur's [[https://git.tecosaur.net/tec/emacs-config][config]]
* Other Editing
** Lillypond
*** ob-lilypond
**** package
#+begin_src emacs-lisp :tangle "packages.el"
(package! ob-lilypond
:recipe (:host github :type git :repo "mjago/ob-lilypond"))
#+end_src
**** config
#+begin_src emacs-lisp
(use-package! ob-lilypond)
(setq ly-arrange-mode t)
#+end_src