feat(emacs): Org + LaTeX

This commit is contained in:
Madeleine Sydney
2025-02-21 21:14:41 -07:00
4 changed files with 30 additions and 3 deletions

View File

@@ -185,6 +185,10 @@ Used as a server admin account with little configuration.
*** TODO [#A] [[id:6141dc5c-2232-4bc0-9464-410c21135c86][Strategies]] *** TODO [#A] [[id:6141dc5c-2232-4bc0-9464-410c21135c86][Strategies]]
*** TODO Integrate Eshell with Evil registers
I'm imagining ~cat some-file > /dev/reg/+~
*** TODO When visiting a package, set read-only mode by default *** TODO When visiting a package, set read-only mode by default
*** TODO Evil ~:rxs~ command *** TODO Evil ~:rxs~ command
@@ -697,5 +701,5 @@ The beloved Faye's Wishsys is an incredibly impressive 3-kloc NixOS config with
- [[https://github.com/Fuco1/smartparens][Smartparens]] - [[https://github.com/Fuco1/smartparens][Smartparens]]
# Local Variables: # Local Variables:
# jinx-local-words: "Wishsys" # jinx-local-words: "Eshell Wishsys"
# End: # End:

View File

@@ -3,10 +3,22 @@
let mutableSymlink = config.lib.file.mkOutOfStoreSymlink; let mutableSymlink = config.lib.file.mkOutOfStoreSymlink;
in lib.mkMerge [ in lib.mkMerge [
{ {
# Link private SSH keys to ~/.ssh/id_ed25519 (where SSH will automatically
# find them) and ~/private-keys (where humans will find them). Remember
# that private keys must always be linked with mutable symlinks as to not
# copy them into the world-readable Nix store!!
home.file.".ssh/id_ed25519".source = home.file.".ssh/id_ed25519".source =
mutableSymlink "/persist/private-keys/ssh/crumb-at-nixos-testbed"; mutableSymlink "/persist/private-keys/ssh/crumb-at-nixos-testbed";
home.file."private-keys/ssh/crumb-at-nixos-testbed".source =
mutableSymlink "/persist/private-keys/ssh/crumb-at-nixos-testbed";
# Similarly, public keys are linked where SSH will find them as well as a
# human-friendly ~/public-keys.
home.file.".ssh/id_ed25519.pub".source = home.file.".ssh/id_ed25519.pub".source =
../../public-keys/ssh/crumb-at-nixos-testbed.pub; ../../public-keys/ssh/crumb-at-nixos-testbed.pub;
home.file."public-keys/ssh/crumb-at-nixos-testbed".source =
../../public-keys/ssh/crumb-at-nixos-testbed.pub;
} }
{ {

View File

@@ -63,6 +63,7 @@ let
--prefix PATH : "${pkgs.git}/bin" \ --prefix PATH : "${pkgs.git}/bin" \
--prefix PATH : "${my-aspell}/bin" \ --prefix PATH : "${my-aspell}/bin" \
--prefix PATH : "${pkgs.direnv}/bin" \ --prefix PATH : "${pkgs.direnv}/bin" \
--prefix PATH : "${pkgs.texliveFull}/bin" \
--set ASPELL_CONF "dict-dir ${my-aspell}/lib/aspell" --set ASPELL_CONF "dict-dir ${my-aspell}/lib/aspell"
done done
''; '';

View File

@@ -179,7 +179,8 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html."
"I" #'org-id-get-create "I" #'org-id-get-create
"k" #'org-babel-remove-result "k" #'org-babel-remove-result
"l" `("Links" . ,syd-org-mode-links-map) "l" `("Links" . ,syd-org-mode-links-map)
"t" #'org-todo) "t" #'org-todo
"L" #'org-latex-preview)
(general-define-key (general-define-key
:keymaps 'org-agenda-mode-map :keymaps 'org-agenda-mode-map
:states '(normal visual motion emacs insert) :states '(normal visual motion emacs insert)
@@ -209,6 +210,10 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html."
("^\\*Org-Babel") ("^\\*Org-Babel")
("^\\*Capture\\*$\\|CAPTURE-.*$" :size 0.42 :quit nil :select t :autosave ignore)))) ("^\\*Capture\\*$\\|CAPTURE-.*$" :size 0.42 :quit nil :select t :autosave ignore))))
(defun syd-org-init-appearance-h ()
;; Larger LaTeX previews.
(plist-put org-format-latex-options :scale 1.4))
(use-package org (use-package org
:defer-incrementally :defer-incrementally
calendar find-func format-spec org-macs org-compat org-faces org-entities calendar find-func format-spec org-macs org-compat org-faces org-entities
@@ -237,6 +242,7 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html."
(0.5 . org-upcoming-deadline) (0.5 . org-upcoming-deadline)
(0.0 . org-upcoming-distant-deadline))) (0.0 . org-upcoming-distant-deadline)))
(org-agenda-window-setup 'current-window) (org-agenda-window-setup 'current-window)
(org-refile-use-outline-path t)
(org-agenda-skip-unavailable-files t) (org-agenda-skip-unavailable-files t)
;; Shift the agenda to show the previous 3 days and the next 7 days ;; Shift the agenda to show the previous 3 days and the next 7 days
;; for better context on your week. The past is less important than ;; for better context on your week. The past is less important than
@@ -305,7 +311,8 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html."
;; ol-eww ;; ol-eww
)) ))
(add-hook 'org-load-hook (add-hook 'org-load-hook
#'syd-org-init-popup-rules-h) #'syd-org-init-popup-rules-h
#'syd-org-init-appearance-h)
:config :config
(require 'syd-prose) (require 'syd-prose)
(syd-add-hook 'org-mode-hook (syd-add-hook 'org-mode-hook
@@ -413,5 +420,8 @@ In case of failure, fail gracefully."
`(org-superstar-header-bullet ((t (:font ,syd-alt-fixed-pitch-font)))) `(org-superstar-header-bullet ((t (:font ,syd-alt-fixed-pitch-font))))
`(org-superstar-item ((t (:font ,syd-alt-fixed-pitch-font)))))) `(org-superstar-item ((t (:font ,syd-alt-fixed-pitch-font))))))
(use-package org-fragtog
:hook (org-mode . org-fragtog-mode))
(provide 'syd-org) (provide 'syd-org)
;;; syd-org.el ends here ;;; syd-org.el ends here