This commit is contained in:
Jeffrey Serio 2024-03-29 09:58:00 -05:00
parent 697b11dd51
commit 70b0533566
3 changed files with 77 additions and 86 deletions

123
config.el
View File

@ -15,7 +15,7 @@
;; This sets the frame dimensions and position take up the right half
;; of the screen when the host is default.ravenwatch, which has an
;; ultra-wide monitor.
(when (string= (system-name) "default.ravenwatch")
(when (string= (system-name) "ravenwatch")
(setq default-frame-alist
'((height . 55)
(width . 154)
@ -26,7 +26,7 @@
;; This sets the frame to be fullscreen and maximized when the host is
;; default.evergloam, which is my 15-inch screen laptop.
(when (string= (system-name) "default.evergloam")
(when (string= (system-name) "evergloam")
(add-to-list 'default-frame-alist '(fullscreen . maximized)))
;; Set fonts
@ -125,10 +125,10 @@ Version 2015-08-22"
(delete-region (point-min) (point-max)))))
;; open URL in Firefox/LibreWolf
(defun browse-host-web (url &rest ignored)
(defun browse-host-web (url)
"Browse URL with Firefox/LibreWolf"
(interactive "sURL: ")
(shell-command (concat "distrobox-host-exec firefox " url)))
(shell-command (concat "firefox " url)))
(setq browse-url-browser-function 'browse-host-web)
@ -204,6 +204,7 @@ If point was already at that position, move point to beginning of line."
(setq org-support-shift-select t)
;; org-mode tags
;; I hardly use these but whatever
(setq org-tag-alist (quote (("@archiving" .?a)
("@calendar" .?t)
("@config" . ?c)
@ -239,8 +240,9 @@ If point was already at that position, move point to beginning of line."
(setq org-refile-targets
`((("~/sync/org/inbox.org"
"~/sync/org/grocery.org")
. (:maxlevel .5))))
"~/sync/org/computing.org"
"~/sync/org/todos.org")
. (:maxlevel . 5))))
;; org-todo-keywords
(with-eval-after-load 'org
@ -279,65 +281,6 @@ If point was already at that position, move point to beginning of line."
(setq org-roam-directory "~/sync/org-roam")
(org-roam-db-autosync-mode)
;; org-roam-capture-template
(setq org-roam-capture-templates
'(("m" "main" plain
"%?"
:if-new (file+head "main/${slug}.org"
"#+title: ${title}\n")
:immediate-finish t
:unnarrowed t)
("r" "reference" plain
"%?"
:if-new (file+head "reference/${title}.org"
"#+title: ${title}\n")
:immediate-finish t
:unnarrowed t)
("s" "self" plain
"%?"
:if-new (file+head "self/${slug}.org"
"#+title: ${title}\n#+filetags: :self:\n")
:unnarrowed t)
("S" "self-entry" entry
"* %U\n%?"
:target (file "self/${slug}.org")
:empty-lines 1
:unnarrowed t)
("c" "cookbook" plain
"* %^{Recipe title}\n :PROPERTIES:\n :source-url:%?\n :servings:\n :prep-time:\n :cook-time:\n :ready-in:\n :END:\n** Ingredients\n \n** Directions\n\n"
:if-new (file "recipes/${title}.org")
:unnarrowed t)))
;; org-capture-templates
(setq org-capture-templates
'(("p" "Inbox" entry (file+headline "~/sync/org/inbox.org" "Inbox")
"* %^{Title}\nSource: %u, %c\n #+BEGIN_QUOTE\n%i\n#+END_QUOTE\n\n%?"
:empty-lines-before 1
:unnarrowed t
:immediate-finish t)
("L" "Link" entry (file+headline "~/sync/org/inbox.org" "Inbox")
"* %? [[%:link][%:description]] \nCaptured on: %U"
:empty-lines-before 1
:unnarrowed t
:immediate-finish t)
("d" "Calendar" entry (file "~/sync/org/calendar.org")
"* TODO %?"
:empty-lines-before 1
:unnarrowed t)
("j" "Journal" entry (file+olp+datetree "~/sync/org/journal.org")
"* %U\n%?"
:empty-lines-before 1
:unnarrowed t)
("r" "Reading" entry (file "~/sync/org/reading.org")
"* %a\n%U\n%^{PROMPT}"
:empty-lines-before 1
:unnarrowed t
:immediate-finish t)))
(defun hyperreal/org-capture-slipbox ()
(interactive)
(org-capture nil "s"))
;;;; python-mode
@ -436,8 +379,6 @@ If point was already at that position, move point to beginning of line."
(cond
((string-equal "*" (substring (buffer-name) 0 1))
'("Emacs"))
((eq major-mode 'erc-mode)
'("ERC"))
((memq major-mode '(org-mode
org-agenda-clockreport-mode
org-src-mode
@ -507,3 +448,51 @@ and switch to it."
(rename-buffer mvterm-buffer-name)
(message "Created and started: %s" mvterm-buffer-name)
(switch-to-buffer mvterm-buffer-name)))
;;;; org-publish
(require 'ox-gemini)
(setq org-publish-project-alist
'(("techne"
:base-directory "~/sync/sites/techne-org"
:base-extension "org"
:publishing-directory "/sshx:jas@192.168.2.102:/home/jas/public/techne"
:publishing-function org-html-publish-to-html
:headline-levels 3
:section-numbers nil
:with-toc nil
:html-head "<link rel=\"stylesheet\"
href=\"style.css\"
type=\"text/css\"/>"
:html-postamble t
:html-postamble-format (("en"
"<p class=\"author\">Collected with ❤ by %a</p>
<p class=\"date\">Last updated: %T</p>
<p class=\"creator\">%c</p>
<p class=\"validation\">%v</p>")))
("gemini"
:base-directory "~/sync/sites/techne-org"
:base-extension "org"
:publishing-directory "/sshx:jas@192.168.2.102:/home/jas/public/gemini/hyperreal.coffee/techne"
:publishing-function org-gemini-publish-to-gemini)))
(setq org-publish-use-timestamps-flag nil)
;;;; nushell
(add-to-list 'auto-mode-alist '("\\.nu\\'" . nushell-ts-mode))
;;;; tramp-mode
(require 'tramp)
;; change the default remote shell
(setq host-list '("/sshx:jas@192.168.1.12:"
"/sshx:jas@192.168.2.102:"))
(dolist (host host-list) (add-to-list 'tramp-connection-properties
(list (regexp-quote host)
"remote-shell" "/bin/bash")))

33
init.el
View File

@ -34,16 +34,16 @@
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
hydra
;;hydra
;;indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
;;ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
;;nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
tabs ; a tab bar for Emacs
;;tabs ; a tab bar for Emacs
;;treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; vcs diff in the fringe
@ -63,7 +63,7 @@
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
;; snippets ; my elves. They type so I don't have to
snippets ; my elves. They type so I don't have to
;;word-wrap ; soft wrapping with language-aware indent
:emacs
@ -77,11 +77,11 @@
;;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 ; tasing you for every semicolon you forget
;; (spell +flyspell) ; tasing you for misspelling mispelling
;;(spell +flyspell) ; tasing you for misspelling mispelling
;;grammar ; tasing grammar mistake every you make
:tools
@ -90,15 +90,14 @@
;;collab ; buffers with friends
;;debugger ; FIXME stepping through code, to help you add bugs
;;direnv
docker
;;docker
;;editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs
make ; run make tasks from Emacs
pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
@ -110,7 +109,7 @@
;;upload ; map local to remote projects via ssh/ftp
:os
(:if IS-MAC macos) ; improve compatibility with macOS
(:if (featurep :system 'macos) macos) ; improve compatibility with macOS
;;tty ; improve the terminal Emacs experience
:lang
@ -122,7 +121,7 @@
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
data ; config/data formats
;;data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
@ -152,13 +151,13 @@
;;lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
nix ; I hereby declare "nix geht mehr!"
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
org ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
(python +lsp +pyright) ; beautiful is better than ugly
python ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
@ -173,14 +172,14 @@
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
;;web ; the tubes
web ; the tubes
yaml ; JSON, but readable
;;zig ; C, but simpler
:email
;; (mu4e +org +gmail)
;; notmuch
;; (wanderlust)
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:app
;;calendar

View File

@ -10,6 +10,7 @@
(package! apheleia)
(package! autothemer)
(package! catppuccin-theme)
(package! dockerfile-mode)
(package! elfeed)
(package! elfeed-protocol)
(package! elpher)
@ -24,11 +25,13 @@
(package! just-mode)
(package! license-templates)
(package! multi-vterm)
(package! nov)
(package! nushell-ts-mode :recipe
(:host github :repo "herbertjones/nushell-ts-mode"))
(package! org-roam)
(package! org-static-blog)
(package! org-superstar)
(package! ox-gemini)
(package! python-docstring)
(package! shell-pop)
(package! systemd)
(package! tramp)
(package! undo-tree)