Compare commits

..

No commits in common. "no-straight" and "main" have entirely different histories.

24 changed files with 125 additions and 136 deletions

View file

@ -27,6 +27,8 @@ A literate programming file for bootstraping my Emacs Configuration.
* Introduction * Introduction
This file contains all the variable definitions and library loading for the other files in my project. This file contains all the variable definitions and library loading for the other files in my project.
I'm installing everything using the [[https://github.com/raxod502/straight.el#getting-started][straight.el]] for package installation and management. This is initialization code configured in [[file:initialize][initialize]], and calls to =use-package= now accepts a =:straight= parameter that allows me to retrieve special versions of some packages.
See the details in [[https://dev.to/jkreeftmeijer/emacs-package-management-with-straight-el-and-use-package-3oc8][this essay]]. See the details in [[https://dev.to/jkreeftmeijer/emacs-package-management-with-straight-el-and-use-package-3oc8][this essay]].
* Initial Settings * Initial Settings
@ -96,7 +98,7 @@ Getting tired off all the packages that I load spewing a bunch of warnings that
The following packages come with Emacs, but seems like they still need loading: The following packages come with Emacs, but seems like they still need loading:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package cl-lib (use-package cl-lib
:straight (:type built-in)
:init (defun first (elt) (car elt)) :init (defun first (elt) (car elt))
:commands (first)) :commands (first))

View file

@ -28,11 +28,8 @@ A literate programming file configuring critical applications.
Can we call the following /applications/? I guess. Can we call the following /applications/? I guess.
* Git and Magit * Git and Magit
Can not live without [[https://magit.vc/][Magit]], a Git porcelain for Emacs. I stole the bulk of this work from Doom Emacs. Can not live without [[https://magit.vc/][Magit]], a Git porcelain for Emacs. I stole the bulk of this work from Doom Emacs.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package magit)
(use-package magit (use-package magit
:load-path "~/.emacs.d/repos/magit"
;; See https://github.com/magit/magit/wiki/Emacsclient for why we need to set: ;; See https://github.com/magit/magit/wiki/Emacsclient for why we need to set:
:custom (with-editor-emacsclient-executable "emacsclient") :custom (with-editor-emacsclient-executable "emacsclient")
@ -90,7 +87,7 @@ Can not live without [[https://magit.vc/][Magit]], a Git porcelain for Emacs. I
** VC Diff Highlight ** VC Diff Highlight
The [[https://github.com/dgutov/diff-hl][diff-hl project]], while more active, has more features than the [[https://github.com/syohex/emacs-git-gutter-fringe][git-gutter-fringe]] project. The [[https://github.com/dgutov/diff-hl][diff-hl project]], while more active, has more features than the [[https://github.com/syohex/emacs-git-gutter-fringe][git-gutter-fringe]] project.
#+BEGIN_SRC emacs-lisp :tangle no #+BEGIN_SRC emacs-lisp
(use-package diff-hl (use-package diff-hl
:custom :custom
(diff-hl-side 'right) (diff-hl-side 'right)
@ -103,7 +100,7 @@ The [[https://github.com/dgutov/diff-hl][diff-hl project]], while more active, h
Turning on the mode, as well as binding some new /leader/ keys: Turning on the mode, as well as binding some new /leader/ keys:
#+BEGIN_SRC emacs-lisp :tangle no #+BEGIN_SRC emacs-lisp
(use-package diff-hl (use-package diff-hl
:config :config
(global-diff-hl-mode) (global-diff-hl-mode)
@ -124,7 +121,7 @@ Turning on the mode, as well as binding some new /leader/ keys:
This project (and others) can use repeat mode, but This project (and others) can use repeat mode, but
#+BEGIN_SRC emacs-lisp :tangle no #+BEGIN_SRC emacs-lisp
(repeat-mode) (repeat-mode)
#+END_SRC #+END_SRC
@ -217,7 +214,7 @@ The crucial parts of this helper function are that we "wash" the result using =a
The functions below depend on [[help:magit-thing-at-point][magit-thing-at-point]], and this depends on the [[https://sr.ht/~pkal/compat/][compat]] library, so lets grab that stuff: The functions below depend on [[help:magit-thing-at-point][magit-thing-at-point]], and this depends on the [[https://sr.ht/~pkal/compat/][compat]] library, so lets grab that stuff:
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package compat (use-package compat
;; :vc (:url "https://github.com/emacs-straight/compat")) :straight (:host github :repo "emacs-straight/compat"))
(use-package magit-section (use-package magit-section
:commands magit-thing-at-point) :commands magit-thing-at-point)
@ -313,7 +310,7 @@ Using the [[https://github.com/emacsmirror/gist][gist package]] to write code sn
The gist project depends on the [[https://github.com/sigma/gh.el][gh library]]. There seems to be a problem with it. The gist project depends on the [[https://github.com/sigma/gh.el][gh library]]. There seems to be a problem with it.
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package gh (use-package gh
;; :vc (:url "https://github.com/sigma/gh.el")) :straight (:host github :repo "sigma/gh.el"))
#+end_src #+end_src
** Forge ** Forge
@ -411,7 +408,6 @@ Web pages look pretty good with EWW, but I'm having difficulty getting it to ren
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package eww (use-package eww
:after major-mode-hydra
:init :init
(setq browse-url-browser-function 'eww-browse-url (setq browse-url-browser-function 'eww-browse-url
browse-url-secondary-browser-function 'browse-url-default-browser browse-url-secondary-browser-function 'browse-url-default-browser
@ -510,8 +506,7 @@ Make my EWW browsers /look/ like an Org file with the [[https://github.com/cheny
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package shrface (use-package shrface
;; :vc (:url "https://github.com/chenyanming/shrface") :straight (:host github :repo "chenyanming/shrface")
:after major-mode-hydra
:config :config
(shrface-basic) (shrface-basic)
;; (shrface-trial) ;; (shrface-trial)
@ -646,7 +641,7 @@ Instead I use Emacs' built-in directory lister (which accepts the standard, =dir
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ls-lisp (use-package ls-lisp
:straight (:type built-in)
:config :config
(setq ls-lisp-use-insert-directory-program nil (setq ls-lisp-use-insert-directory-program nil
dired-listing-switches dired-listing-switches
@ -657,7 +652,7 @@ And [[https://www.masteringemacs.org/article/dired-shell-commands-find-xargs-rep
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package dired-x (use-package dired-x
) :straight (:type built-in))
#+end_src #+end_src
The advantage of =dired-x= is the ability to have [[https://www.emacswiki.org/emacs/DiredExtra#Dired_X][shell command guessing]] when selecting one or more files, and running a shell command on them with ~!~ or ~&~. The advantage of =dired-x= is the ability to have [[https://www.emacswiki.org/emacs/DiredExtra#Dired_X][shell command guessing]] when selecting one or more files, and running a shell command on them with ~!~ or ~&~.
@ -671,7 +666,7 @@ The [[https://github.com/alexluigit/dirvish][dirvish]] project aims to make a pr
Im beginning with dirvish to use the [[https://github.com/alexluigit/dirvish/blob/main/docs/CUSTOMIZING.org][sample configuration]] and change it: Im beginning with dirvish to use the [[https://github.com/alexluigit/dirvish/blob/main/docs/CUSTOMIZING.org][sample configuration]] and change it:
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package dirvish (use-package dirvish
;; :vc (:url "https://github.com/alexluigit/dirvish") :straight (:host github :repo "alexluigit/dirvish")
:init (dirvish-override-dired-mode) :init (dirvish-override-dired-mode)
:custom :custom
@ -877,8 +872,6 @@ The [[Evil Collection][evil-collection]] package adds the following keybindings:
Id like write notes in org files that link to the PDFs (and maybe visa versa), using the [[https://github.com/weirdNox/org-noter][org-noter]] package: Id like write notes in org files that link to the PDFs (and maybe visa versa), using the [[https://github.com/weirdNox/org-noter][org-noter]] package:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package org-noter (use-package org-noter
:load-path "/User/howard.abrams/.emacs.d/repos/org-noter"
:after major-mode-hydra
:config :config
(major-mode-hydra-define org-noter-doc-mode-map nil (major-mode-hydra-define org-noter-doc-mode-map nil
("Notes" ("Notes"

View file

@ -31,7 +31,7 @@ The following applications are not needed. I alternate between trying to /stay i
Glad to see the 2FA feature is working on the [[https://codeberg.org/martianh/mastodon.el][mastodon.el]] project, and even more glad to see the great birdland diaspora arrive in the land of the toots. Glad to see the 2FA feature is working on the [[https://codeberg.org/martianh/mastodon.el][mastodon.el]] project, and even more glad to see the great birdland diaspora arrive in the land of the toots.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package mastodon (use-package mastodon
;; :vc (:url "https://codeberg.org/martianh/mastodon.el") :straight (:host codeberg :repo "martianh/mastodon.el")
:init :init
(setq mastodon-instance-url "https://pdx.social" (setq mastodon-instance-url "https://pdx.social"
mastodon-active-user "howard")) mastodon-active-user "howard"))
@ -95,7 +95,7 @@ Lets turn on non-fixed-width fonts to make everything easier to read:
Yet another encrypted chat/VoIP client-server, but unlike Signal and Telegram, [[matrix.org][Matrix]] is act ually open source. In other words, a project for nerds. Well be using Alphapapas latest [[https://github.com/alphapapa/ement.el][ement]] project. Yet another encrypted chat/VoIP client-server, but unlike Signal and Telegram, [[matrix.org][Matrix]] is act ually open source. In other words, a project for nerds. Well be using Alphapapas latest [[https://github.com/alphapapa/ement.el][ement]] project.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ement (use-package ement
;; :vc (:url "https://github.com/alphapapa/ement.el") :straight (:host github :repo "alphapapa/ement.el")
:config :config
(major-mode-hydra-define ement-room-mode (:quit-key "q") (major-mode-hydra-define ement-room-mode (:quit-key "q")
("Send" ("Send"
@ -189,7 +189,7 @@ Been working on my [[https://gitlab.com/howardabrams/emacs-rpgdm][RPG DM project
#+begin_src emacs-lisp #+begin_src emacs-lisp
(when (f-directory? "~/src/emacs-rpgdm") (when (f-directory? "~/src/emacs-rpgdm")
(use-package rpgdm (use-package rpgdm
:load-path "~/src/emacs-rpgdm" :straight (:local-repo "~/src/emacs-rpgdm")
:commands (rpgdm-mode rpgdm-tables-load) :commands (rpgdm-mode rpgdm-tables-load)
:init (setq rpgdm-base (expand-file-name "~/src/emacs-rpgdm")) :init (setq rpgdm-base (expand-file-name "~/src/emacs-rpgdm"))
:config (ha-leader "t D" '("rpg dm" . rpgdm-mode)))) :config (ha-leader "t D" '("rpg dm" . rpgdm-mode))))
@ -199,7 +199,7 @@ Working on my new replacement of my DM code:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(when (f-directory? "~/src/emacs-rpgtk") (when (f-directory? "~/src/emacs-rpgtk")
(use-package rpgtk (use-package rpgtk
:load-path "~/src/emacs-rpgtk" :straight (:local-repo "~/src/emacs-rpgtk")
:after hydra :after hydra
;; :commands (rpgtk-mode rpgtk-tables-load rpgtk-dice rpgtk-message) ;; :commands (rpgtk-mode rpgtk-tables-load rpgtk-dice rpgtk-message)
:custom :custom
@ -217,7 +217,7 @@ And my [[https://gitlab.com/howardabrams/emacs-ironsworn][new Ironsworn project]
(when (f-directory? "~/src/emacs-ironsworn") (when (f-directory? "~/src/emacs-ironsworn")
(use-package rpgdm-ironsworn (use-package rpgdm-ironsworn
:after rpgdm :after rpgdm
:load-path "~/src/emacs-ironsworn" :straight (:local-repo "~/src/emacs-ironsworn")
:init :init
(setq rpgdm-ironsworn-project (expand-file-name "~/src/emacs-ironsworn") (setq rpgdm-ironsworn-project (expand-file-name "~/src/emacs-ironsworn")
;; Ignore org links that call my RPG functions: ;; Ignore org links that call my RPG functions:
@ -234,7 +234,7 @@ Why not? Lets see if the [[https://github.com/isamert/empv.el][empv]] project
What else? What else?
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package empv (use-package empv
;; :vc (:url "https://github.com/isamert/empv.el") :straight (:host github :repo "isamert/empv.el")
:general (ha-leader :general (ha-leader
"a p" '(empv-map :wk "play music"))) "a p" '(empv-map :wk "play music")))
#+end_src #+end_src

View file

@ -233,7 +233,7 @@ And for even quicker work, we can have special scripts tied to special keybindin
The [[https://gitlab.com/aimebertrand/org-mac-link][org-mac-link]] project makes it easy to tell Emacs to retrieve information from other apps, e.g. the URL of the opened tab in Firefox. The [[https://gitlab.com/aimebertrand/org-mac-link][org-mac-link]] project makes it easy to tell Emacs to retrieve information from other apps, e.g. the URL of the opened tab in Firefox.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package org-mac-link (use-package org-mac-link
;; :vc (:url "https://gitlab.com/aimebertrand/org-mac-link") :straight (:host gitlab :repo "aimebertrand/org-mac-link")
:config :config
(ha-leader "i" '("insert app info" . org-mac-link-get-link))) (ha-leader "i" '("insert app info" . org-mac-link-get-link)))
#+end_src #+end_src

View file

@ -146,8 +146,7 @@ After reading [[https://irreal.org/blog/?p=12139][Jon Sanders essay]] as well
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package emacs-everywhere (use-package emacs-everywhere
;; :vc (:url "https://github.com/tecosaur/emacs-everywhere") :straight (:host github :repo "tecosaur/emacs-everywhere"))
)
#+end_src #+end_src
This package /called outside of Emacs/, so I bound a keybinding to iCanHazShortcut: This package /called outside of Emacs/, so I bound a keybinding to iCanHazShortcut:
@ -226,6 +225,7 @@ When I push changes to my files to Gerrit and other code review, I dont want
The [[https://www.emacswiki.org/emacs/RecentFiles][recentf]] feature has been in Emacs for a long time, but it has a problem with Tramp, as we need to turn off the cleanup feature that attempts to =stat= all the files and remove them from the =recent= accessed list if they are readable. The requires recentf to open up a remote files which blocks Emacs at the most inopportune times… like when trying to reboot the machine. The [[https://www.emacswiki.org/emacs/RecentFiles][recentf]] feature has been in Emacs for a long time, but it has a problem with Tramp, as we need to turn off the cleanup feature that attempts to =stat= all the files and remove them from the =recent= accessed list if they are readable. The requires recentf to open up a remote files which blocks Emacs at the most inopportune times… like when trying to reboot the machine.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package recentf (use-package recentf
:straight (:type built-in)
:config :config
(setq recentf-auto-cleanup 'never) ;; disable before we start recentf! (setq recentf-auto-cleanup 'never) ;; disable before we start recentf!
(recentf-mode 1)) (recentf-mode 1))
@ -336,13 +336,10 @@ The [[https://github.com/minad/vertico][vertico]] package puts the completing re
(use-package vertico (use-package vertico
:config (vertico-mode)) :config (vertico-mode))
#+end_src #+end_src
My issue with Vertico is when calling =find-file=, the Return key opens =dired=, instead of inserting the directory at point. This package addresses this: My issue with Vertico is when calling =find-file=, the Return key opens =dired=, instead of inserting the directory at point. This package addresses this:
#+begin_src emacs-lisp
#+begin_src emacs-lisp :tangle no
(use-package vertico-directory (use-package vertico-directory
:load-path "~/.emacs.d/repos/vertigo/extensions" :straight (el-patch :files ("~/.emacs.d/straight/repos/vertico/extensions/vertico-directory.el"))
;; :straight (:files ("~/.emacs.d/straight/repos/vertico/extensions/vertico-directory.el"))
;; More convenient directory navigation commands ;; More convenient directory navigation commands
:bind (:map vertico-map :bind (:map vertico-map
("RET" . vertico-directory-enter) ("RET" . vertico-directory-enter)
@ -383,7 +380,7 @@ How does it compare? Once upon a time, I enjoyed typing ~plp~ for =package-list-
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package fussy (use-package fussy
;; ;; :vc (:url "https://github.com/jojojames/fussy") ;; :straight (:host github :repo "jojojames/fussy")
:config :config
(push 'fussy completion-styles) (push 'fussy completion-styles)
(setq completion-category-defaults nil (setq completion-category-defaults nil
@ -574,7 +571,7 @@ The [[https://github.com/minad/cape][Cape project]] deliver particular [[help:co
#+BEGIN_SRC emacs-lisp :tangle no #+BEGIN_SRC emacs-lisp :tangle no
(use-package cape (use-package cape
;; :vc (:url "https://github.com/minad/cape") :straight (:host github :repo "minad/cape")
:init :init
(setq completion-at-point-functions (list #'cape-emoji))) (setq completion-at-point-functions (list #'cape-emoji)))
#+END_SRC #+END_SRC
@ -595,11 +592,10 @@ After using [[http://company-mode.github.io/][company]] for my completion back-
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package corfu (use-package corfu
;; :vc (:url "https://github.com/minad/corfu")
:custom :custom
(corfu-cycle t) (corfu-cycle t)
(corfu-separator ?\s) (corfu-separator ?\s)
:config :init
(global-corfu-mode)) (global-corfu-mode))
#+end_src #+end_src
*** Snippets *** Snippets
@ -677,7 +673,7 @@ As I've mentioned [[http://www.howardism.org/Technical/Emacs/beep-for-emacs.html
'libnotify))) 'libnotify)))
(use-package beep (use-package beep
:load-path "~/src/hamacs/elisp" :straight (:local-repo "~/src/hamacs/elisp")
:hook (after-init . ha-random-startup-message) :hook (after-init . ha-random-startup-message)
:commands (beep-when-finished beep-when-run-too-long) :commands (beep-when-finished beep-when-run-too-long)
:config :config
@ -1166,6 +1162,7 @@ Also, as [[https://www.bytedude.com/gpg-in-emacs/][bytedude]] mentions, I need t
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package epa-file (use-package epa-file
:straight (:type built-in)
:custom :custom
(epg-debug t) (epg-debug t)
(auth-source-debug t) (auth-source-debug t)

View file

@ -44,8 +44,8 @@ Once I made demonstrations /within/ Emacs with my [[https://github.com/howardabr
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package demo-it (use-package demo-it
:load-path "~/src/demo-it" :straight (:local-repo "~/src/demo-it")
;; :vc (:url "https://github.com/howardabrams/demo-it") ;; :straight (:host github :repo "howardabrams/demo-it")
:commands (demo-it-create demo-it-start demo-it-hide-mode-line :commands (demo-it-create demo-it-start demo-it-hide-mode-line
demo-it--presentation-display-set) demo-it--presentation-display-set)
:custom (demo-it--insert-test-speed :faster)) :custom (demo-it--insert-test-speed :faster))
@ -194,7 +194,7 @@ With some a startup bug that I havent been able to resolve, Im not using i
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package dslide (use-package dslide
;; :vc (:url "https://github.com/positron-solutions/dslide") :straight (dslide :host github :repo "positron-solutions/dslide")
:commands (dslide-deck-start dslide-deck-stop) :commands (dslide-deck-start dslide-deck-stop)
:custom :custom
(dslide-start-from 'point) (dslide-start-from 'point)
@ -244,7 +244,7 @@ Call the =ha-slide-notes-update= function automatically after updating a slide.
#+BEGIN_SRC emacs-lisp :tangle no #+BEGIN_SRC emacs-lisp :tangle no
(use-package dslide (use-package dslide
;; :vc (:url "https://github.com/positron-solutions/dslide") :straight (dslide :host github :repo "positron-solutions/dslide")
:commands (dslide-narrow-hook) :commands (dslide-narrow-hook)
:hook (dslide-narrow . 'ha-slide-notes-update)) :hook (dslide-narrow . 'ha-slide-notes-update))
#+END_SRC #+END_SRC
@ -256,7 +256,8 @@ The [[https://github.com/positron-solutions/moc][Master of Ceremonies]] package
(use-package default-text-scale) (use-package default-text-scale)
(use-package moc (use-package moc
;; :vc (:url "https://github.com/positron-solutions/moc")) :straight (:type git :host github
:repo "positron-solutions/moc"))
#+END_SRC #+END_SRC
Select text, and call =moc-focus= (call =moc-focus-quit= to stop). Highlight more text, and call =moc-focus-highlight= to brighten it, or =moc-focus-obscure= to hide it. Select text, and call =moc-focus= (call =moc-focus-quit= to stop). Highlight more text, and call =moc-focus-highlight= to brighten it, or =moc-focus-obscure= to hide it.
@ -271,7 +272,7 @@ The [[https://github.com/trevorpogue/topspace][topspace]] project can pad the to
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package topspace (use-package topspace
;; :vc (:url "https://github.com/trevorpogue/topspace")) :straight (:type git :host github :repo "trevorpogue/topspace"))
#+END_SRC #+END_SRC
*** Showing Something associated with a Headline *** Showing Something associated with a Headline
@ -306,7 +307,7 @@ To do this, add =:DSLIDE_ACTIONS: dslide-action-highlight-paragraphs= to the pro
#+begin_src elisp emacs-lisp :tangle no #+begin_src elisp emacs-lisp :tangle no
(use-package dslide (use-package dslide
;; :vc (:url "https://github.com/positron-solutions/dslide") :straight (:host github :repo "positron-solutions/dslide")
:config :config
(defclass dslide-action-highlight-paragraphs (dslide-action) (defclass dslide-action-highlight-paragraphs (dslide-action)
((overlays :initform nil)) ((overlays :initform nil))

View file

@ -86,7 +86,7 @@ either be "there or not" which resulted large jumps and large distractions.
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package ultra-scroll (use-package ultra-scroll
;; :vc (:url "https://github.com/jdtsmith/ultra-scroll") :straight (:type git :host github :repo "jdtsmith/ultra-scroll")
:config :config
(setq scroll-conservatively 101 ; important! (setq scroll-conservatively 101 ; important!
scroll-margin 0) scroll-margin 0)
@ -97,7 +97,7 @@ Large screen, lots of windows, so where is the cursor? While I used to use =hl-l
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package pulsar (use-package pulsar
;; :vc (:url "https://github.com/protesilaos/pulsar") :straight (:host github :repo "protesilaos/pulsar")
:custom :custom
(pulsar-face 'pulsar-generic) (pulsar-face 'pulsar-generic)
(pulsar-delay 0.15) (pulsar-delay 0.15)
@ -159,7 +159,7 @@ Am I ever really ever satisfied with any font? I regularly change my font based
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package mixed-pitch (use-package mixed-pitch
;; ;; :vc (:url "https://github.com/jabranham/mixed-pitch") ;; :straight (:host github :repo "jabranham/mixed-pitch")
:config :config
(add-to-list 'mixed-pitch-fixed-pitch-faces 'org-property-value) (add-to-list 'mixed-pitch-fixed-pitch-faces 'org-property-value)
(add-to-list 'mixed-pitch-fixed-pitch-faces 'org-special-keyword) (add-to-list 'mixed-pitch-fixed-pitch-faces 'org-special-keyword)
@ -389,7 +389,7 @@ This project replaces [[https://github.com/domtronn/all-the-icons.el][all-the-ic
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package nerd-icons (use-package nerd-icons
;; :vc (:url "https://github.com/rainstormstudio/nerd-icons.el") :straight (nerd-icons :type git :host github :repo "rainstormstudio/nerd-icons.el")
:custom :custom
;; The Nerd Font you want to use in GUI defaults to fixed-font: ;; The Nerd Font you want to use in GUI defaults to fixed-font:
(nerd-icons-font-family ha-fixed-font)) (nerd-icons-font-family ha-fixed-font))
@ -638,7 +638,7 @@ In code, if you drop a specific /text/ labels, we can highlight them with [[http
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package hl-todo (use-package hl-todo
;; :vc (:url "https://github.com/tarsius/hl-todo") :straight (:host github :repo "tarsius/hl-todo")
:config :config
(setq hl-todo-keyword-faces (setq hl-todo-keyword-faces
`(("TODO" . ,(face-foreground 'warning)) `(("TODO" . ,(face-foreground 'warning))
@ -654,7 +654,7 @@ Suggests to bind some keys to =hl-todo-next= in order to jump from tag to tag, b
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package consult-todo (use-package consult-todo
;; :vc (:url "https://github.com/liuyinz/consult-todo") :straight (:host github :repo "liuyinz/consult-todo")
:init :init
(defconst consult-todo--narrow (defconst consult-todo--narrow
'((?t . "TODO") '((?t . "TODO")

View file

@ -737,7 +737,7 @@ The idea of linking org documents to email could be nice, however, the =ol-notmu
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package ol-notmuch (use-package ol-notmuch
:after org :after org
:straight (:type built-in)
:config (add-to-list 'org-modules 'ol-notmuch)) :config (add-to-list 'org-modules 'ol-notmuch))
#+end_src #+end_src
To use, read a message and save a link to it with ~SPC o l~. Next, in an org document, create a link with ~, l~. Now, you can return to the message from that document with ~, o~. Regardless, I may need to store a local copy when I upgrade Org. To use, read a message and save a link to it with ~SPC o l~. Next, in an org document, create a link with ~, l~. Now, you can return to the message from that document with ~, o~. Regardless, I may need to store a local copy when I upgrade Org.

View file

@ -30,7 +30,7 @@ If you find the documentation lacking, I [[http://www.howardism.org/Technical/Em
Tell straight to use the built-in =eshell=: Tell straight to use the built-in =eshell=:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package eshell (use-package eshell
:straight (:type built-in)
:hook (eshell-mode . ha-eshell-setup)) :hook (eshell-mode . ha-eshell-setup))
#+end_src #+end_src
@ -976,7 +976,7 @@ The problem with this trick is that =rx= outputs an Emacs-compatible regular exp
The [[https://github.com/joddie/pcre2el][pcre2el]] project can convert from a Lisp regular expression to a [[http://www.pcre.org/][PCRE]] (Perl Compatible Regular Expression), acceptable by [[https://github.com/BurntSushi/ripgrep][ripgrep]]. The [[https://github.com/joddie/pcre2el][pcre2el]] project can convert from a Lisp regular expression to a [[http://www.pcre.org/][PCRE]] (Perl Compatible Regular Expression), acceptable by [[https://github.com/BurntSushi/ripgrep][ripgrep]].
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package pcre2el (use-package pcre2el
;; :vc (:url "https://github.com/joddie/pcre2el") :straight (:host github :repo "joddie/pcre2el")
:config :config
(defmacro prx (&rest expressions) (defmacro prx (&rest expressions)
"Convert the rx-compatible regular EXPRESSIONS to PCRE. "Convert the rx-compatible regular EXPRESSIONS to PCRE.
@ -1378,7 +1378,7 @@ The [[https://codeberg.org/akib/emacs-eat][Emulate a Terminal]] project provides
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package eat (use-package eat
:after eshell :after eshell
;; :vc (:url "https://codeberg.org/akib/emacs-eat") :straight (:repo "https://codeberg.org/akib/emacs-eat")
:hook (eshell-load . eat-eshell-visual-command-mode)) :hook (eshell-load . eat-eshell-visual-command-mode))
#+end_src #+end_src
@ -1787,7 +1787,7 @@ Sometimes you need to change something about the current file you are editing...
Here is where we associate all the functions and their hooks with =eshell=, through the magic of =use-package=. Here is where we associate all the functions and their hooks with =eshell=, through the magic of =use-package=.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package eshell (use-package eshell
:straight (:type built-in)
:custom (eshell-banner-message '(ha-eshell-banner)) :custom (eshell-banner-message '(ha-eshell-banner))
:init :init
(setq eshell-error-if-no-glob t (setq eshell-error-if-no-glob t

View file

@ -402,7 +402,7 @@ Where I like to align, is on variable assignments, e.g.
If you press ~RETURN~ for the /character/ to align, =evil-lion= package simply calls the built-in [[help:align][align]] function. This function chooses a regular expression based on a list of /rules/, and aligning Lisp variables requires a complicated regular expression. Extend [[elisp:(describe-variable 'align-rules-list)][align-rules-list]]: If you press ~RETURN~ for the /character/ to align, =evil-lion= package simply calls the built-in [[help:align][align]] function. This function chooses a regular expression based on a list of /rules/, and aligning Lisp variables requires a complicated regular expression. Extend [[elisp:(describe-variable 'align-rules-list)][align-rules-list]]:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package align (use-package align
:straight (:type built-in)
:config :config
(add-to-list 'align-rules-list (add-to-list 'align-rules-list
`("lisp-assignments" `("lisp-assignments"
@ -489,9 +489,8 @@ Notes:
** Evil Jump, er Better Jump ** Evil Jump, er Better Jump
The [[https//github.com/gilbertw1/better-jumper][better-jumper project]] replaces the [[https://github.com/bling/evil-jumper][evil-jumper project]], essentially allowing you jump back to various movements. While I already use ~g ;~ to jump to the last change, this jumps /to the jumps/ … kinda. Im having a difficult time determining /what jumps/ are remembered. The [[https//github.com/gilbertw1/better-jumper][better-jumper project]] replaces the [[https://github.com/bling/evil-jumper][evil-jumper project]], essentially allowing you jump back to various movements. While I already use ~g ;~ to jump to the last change, this jumps /to the jumps/ … kinda. Im having a difficult time determining /what jumps/ are remembered.
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp
(use-package better-jumper (use-package better-jumper
;; :vc (:url "https//github.com/gilbertw1/better-jumper")
:config :config
(better-jumper-mode +1) (better-jumper-mode +1)

View file

@ -880,7 +880,7 @@ Remember these keys in the *Help* buffer:
Let's make Info behave a little more VI-like: Let's make Info behave a little more VI-like:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package info (use-package info
:straight (:type built-in)
:general :general
(:states 'normal :keymaps 'Info-mode-map (:states 'normal :keymaps 'Info-mode-map
"B" 'Info-bookmark-jump "B" 'Info-bookmark-jump

View file

@ -2,7 +2,7 @@
#+author: Howard Abrams #+author: Howard Abrams
#+date: 2024-07-07 #+date: 2024-07-07
#+filetags: emacs hamacs #+filetags: emacs hamacs
#+lastmod: [2025-09-09 Tue] #+lastmod: [2025-02-20 Thu]
A literate programming file for literate programming in Emacs Org Files. A literate programming file for literate programming in Emacs Org Files.
@ -862,13 +862,11 @@ I would like to make the /filename/ more readable, I use the =s-match= again, to
#+begin_src emacs-lisp #+begin_src emacs-lisp
(defun ha-hamacs-edit--file-title (file) (defun ha-hamacs-edit--file-title (file)
"Return a more readable string from FILE." "Return a more readable string from FILE."
(if file
(s-with file (s-with file
(s-match ha-hamacs-edit-file-to-title) (s-match ha-hamacs-edit-file-to-title)
(second) (second)
(s-replace "-" " ") (s-replace "-" " ")
(s-titleize)) (s-titleize)))
file))
(defvar ha-hamacs-edit-file-to-title (defvar ha-hamacs-edit-file-to-title
(rx (optional (or "README-" "ha-")) (rx (optional (or "README-" "ha-"))

View file

@ -31,7 +31,7 @@ The RSS needs UUIDs:
#+BEGIN_SRC emacs-lisp results silent #+BEGIN_SRC emacs-lisp results silent
(use-package uuidgen (use-package uuidgen
;; :vc (:url "https://github.com/emacsmirror/uuidgen")) :straight (:host github :repo "emacsmirror/uuidgen"))
(defun org-icalendar-create-uid (&rest ignored) (defun org-icalendar-create-uid (&rest ignored)
"Returns a UUID." "Returns a UUID."
@ -42,7 +42,7 @@ While the following packages come with Emacs, they aren't necessarily loaded:
#+begin_src emacs-lisp :results silent #+begin_src emacs-lisp :results silent
(use-package ox-rss (use-package ox-rss
;; :vc (:url "https://github.com/emacsmirror/ox-rss")) :straight (:host github :repo "emacsmirror/ox-rss"))
(use-package org (use-package org
:config :config
@ -64,7 +64,7 @@ Render my code with my font colors:
Also, we need Jack, and his HTML prowess: Also, we need Jack, and his HTML prowess:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package jack (use-package jack
;; :vc (:url "https://github.com/tonyaldon/jack") :straight (:host github :repo "tonyaldon/jack")
:commands (jack-html)) :commands (jack-html))
#+end_src #+end_src

View file

@ -110,7 +110,7 @@ The variable, =org-hide-emphasis-markers=, is key to pretending that Emacs can b
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package org-appear (use-package org-appear
;; :vc (:url "https://github.com/awth13/org-appear") :straight (:type git :host github :repo "awth13/org-appear")
:init (setq org-appear-trigger 'manual) :init (setq org-appear-trigger 'manual)
:hook :hook
((org-mode . (lambda () ((org-mode . (lambda ()
@ -331,7 +331,7 @@ The [[https://github.com/minad/org-modern][org-modern]] project attempts to do a
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package org-modern (use-package org-modern
;; :vc (:url "https://github.com/minad/org-modern") :straight (:host github :repo "minad/org-modern")
:after org :after org
:hook ((org-mode . org-modern-mode) :hook ((org-mode . org-modern-mode)
(org-agenda-finalize . org-modern-agenda)) (org-agenda-finalize . org-modern-agenda))
@ -367,7 +367,7 @@ According to an idea by [[https://jft.home.blog/2019/07/17/use-unicode-symbol-to
The [[https://github.com/TonCherAmi/org-padding][org-padding]] project looks places extra space before and after headers and blocks (essentially leading), to create a more word-processor-y experience. Great idea, however, I have spent a lot of extra time entering blank lines before and after my headers and blocks: The [[https://github.com/TonCherAmi/org-padding][org-padding]] project looks places extra space before and after headers and blocks (essentially leading), to create a more word-processor-y experience. Great idea, however, I have spent a lot of extra time entering blank lines before and after my headers and blocks:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package org-padding (use-package org-padding
;; :vc (:url "https://github.com/TonCherAmi/org-padding") :straight (:host github :repo "TonCherAmi/org-padding")
:hook (org-mode . org-padding-mode) :hook (org-mode . org-padding-mode)
:config :config
(setq org-padding-block-begin-line-padding '(0.5 . 0.3) (setq org-padding-block-begin-line-padding '(0.5 . 0.3)

View file

@ -3,7 +3,7 @@
#+date: 2020-09-18 #+date: 2020-09-18
#+tags: emacs org #+tags: emacs org
#+startup: inlineimages #+startup: inlineimages
#+lastmod: [2025-09-08 Mon] #+lastmod: [2025-07-01 Tue]
A literate programming file for configuring org-mode and those files. A literate programming file for configuring org-mode and those files.
@ -32,7 +32,7 @@ Org is a /large/ complex beast with a gazillion settings, so I discuss these lat
#+begin_src emacs-lisp :noweb yes #+begin_src emacs-lisp :noweb yes
(use-package org (use-package org
;; TODO: Using the latest org-mode ;; TODO: Using the latest org-mode
;; ;; :straight (:type built-in)
:mode (("\\.org" . org-mode)) :mode (("\\.org" . org-mode))
:init :init
<<variables>> <<variables>>
@ -278,7 +278,7 @@ Came up with a great way to search a project for Org-specific files, and wrote [
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package org-find-file (use-package org-find-file
:straight nil
:config :config
(ha-leader "f o" '("load org" . org-find-file))) (ha-leader "f o" '("load org" . org-find-file)))
#+end_src #+end_src
@ -489,12 +489,8 @@ Need to install and configure Emacs to work with [[https://plantuml.com/][PlantU
After installing the [[https://github.com/skuro/plantuml-mode][plantuml-mode]], we need to reference the location: After installing the [[https://github.com/skuro/plantuml-mode][plantuml-mode]], we need to reference the location:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package deflate
:vc (:url "https://github.com/skuro/deflate.git"))
(use-package plantuml-mode (use-package plantuml-mode
;; :vc (:url "https://github.com/skuro/plantuml-mode") :straight (:host github :repo "skuro/plantuml-mode")
:after deflate
:init :init
(setq org-plantuml-jar-path (expand-file-name "~/bin/plantuml.jar"))) (setq org-plantuml-jar-path (expand-file-name "~/bin/plantuml.jar")))
#+end_src #+end_src
@ -547,7 +543,8 @@ Of course, since we are dealing with Emacs, where we assimilate any good idea. J
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package pikchr-mode (use-package pikchr-mode
;; :vc (:url "https://github.com/kljohann/pikchr-mode") :straight (:local-repo "~/src/pikchr-mode")
;; :straight (:host github :repo "kljohann/pikchr-mode")
:custom :custom
(pikchr-executable "~/bin/pikchr")) (pikchr-executable "~/bin/pikchr"))
#+end_src #+end_src
@ -735,7 +732,7 @@ I have a special version of tweaked [[file:elisp/ox-confluence.el][Confluence ex
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ox-confluence (use-package ox-confluence
:after org :after org
; Located in my "elisp" directory :straight nil ; Located in my "elisp" directory
:config :config
(ha-leader :keymaps 'org-mode-map (ha-leader :keymaps 'org-mode-map
"o E" '("to confluence" . ox-export-to-confluence))) "o E" '("to confluence" . ox-export-to-confluence)))
@ -746,7 +743,7 @@ I have a special version of tweaked [[file:elisp/ox-confluence.el][Confluence ex
Im not afraid of HTML, but I like the idea of doing my HTML work in a Lisp-like way using the [[https://github.com/tonyaldon/jack][jack-html project]]: Im not afraid of HTML, but I like the idea of doing my HTML work in a Lisp-like way using the [[https://github.com/tonyaldon/jack][jack-html project]]:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package jack (use-package jack
;; :vc (:url "https://github.com/tonyaldon/jack") :straight (:host github :repo "tonyaldon/jack")
:commands (jack-html)) :commands (jack-html))
#+end_src #+end_src
@ -803,7 +800,7 @@ I've been working on my own [[http://www.howardism.org/Technical/Emacs/focused-w
(use-package async) (use-package async)
(use-package ha-focus (use-package ha-focus
:straight (:type built-in)
:config :config
(ha-leader (ha-leader
"o f" '("begin focus" . ha-focus-begin) "o f" '("begin focus" . ha-focus-begin)
@ -854,7 +851,7 @@ And the Emacs interface to that:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package jinx (use-package jinx
;; :vc (:url "https://github.com/minad/jinx" :files (:defaults "jinx-mod.c" "emacs-module.h")) :straight (:host github :repo "minad/jinx" :files (:defaults "jinx-mod.c" "emacs-module.h"))
:hook (emacs-startup . global-jinx-mode) :hook (emacs-startup . global-jinx-mode)
:bind (("C-;" . jinx-correct-nearest) :bind (("C-;" . jinx-correct-nearest)
("s-;" . jinx-correct-nearest) ("s-;" . jinx-correct-nearest)
@ -1253,7 +1250,7 @@ The [[https://github.com/rnkn/olivetti][olivetti project]] sets wide margins and
Trying out [[https://protesilaos.com/][Protesilaos Stavrou]]s [[https://protesilaos.com/emacs/logos][logos project]] as a replacement for [[https://github.com/joostkremers/writeroom-mode][Writeroom-mode]]: Trying out [[https://protesilaos.com/][Protesilaos Stavrou]]s [[https://protesilaos.com/emacs/logos][logos project]] as a replacement for [[https://github.com/joostkremers/writeroom-mode][Writeroom-mode]]:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package logos (use-package logos
;; :vc (:url "https://gitlab.com/protesilaos/logos") :straight (:host gitlab :repo "protesilaos/logos")
:init :init
(setq logos-outlines-are-pages t (setq logos-outlines-are-pages t
logos-outline-regexp-alist logos-outline-regexp-alist

View file

@ -35,7 +35,7 @@ The obvious keybindings are ~M-h/j/k/l~ … but that is used … well, somewhat.
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package spatial-navigate (use-package spatial-navigate
;; :vc (:url "https://codeberg.org/ideasman42/emacs-spatial-navigate") :straight (:repo "https://codeberg.org/ideasman42/emacs-spatial-navigate")
:config :config
(pretty-hydra-define spatial-navigate (:color amaranth :quit-key "q") (pretty-hydra-define spatial-navigate (:color amaranth :quit-key "q")
("Box" ("Box"
@ -62,7 +62,7 @@ The [[https://github.com/antonj/Highlight-Indentation-for-Emacs][Highlight-Inden
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package highlight-indentation (use-package highlight-indentation
;; :vc (:url "https://github.com/antonj/Highlight-Indentation-for-Emacs") :straight (:host github :repo "antonj/Highlight-Indentation-for-Emacs")
:hook ((yaml-mode . highlight-indentation-mode) :hook ((yaml-mode . highlight-indentation-mode)
(python-mode . highlight-indentation-mode))) (python-mode . highlight-indentation-mode)))
#+end_src #+end_src
@ -119,7 +119,7 @@ Allow this mode in Org blocks:
And we hook And we hook
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package yaml-pro (use-package yaml-pro
;; :vc (:url "https://github.com/zkry/yaml-pro") :straight (:host github :repo "zkry/yaml-pro")
:after yaml-mode :after yaml-mode
:hook ((yaml-mode . yaml-pro-mode))) :hook ((yaml-mode . yaml-pro-mode)))
#+end_src #+end_src
@ -224,7 +224,7 @@ Do I consider all YAML files an Ansible file needing [[https://github.com/k1LoW/
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ansible (use-package ansible
;; :vc (:url "https://gitlab.com/emacs-ansible/emacs-ansible") :straight (:host gitlab :repo "emacs-ansible/emacs-ansible")
;; :mode ((rx (or "playbooks" "roles") (one-or-more any) ".y" (optional "a") "ml") . ansible-mode) ;; :mode ((rx (or "playbooks" "roles") (one-or-more any) ".y" (optional "a") "ml") . ansible-mode)
:config :config
(setq ansible-vault-password-file "~/.ansible-vault-passfile") (setq ansible-vault-password-file "~/.ansible-vault-passfile")
@ -242,7 +242,7 @@ Since most Ansible files are a combination of YAML and Jinja, the [[https://gith
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package poly-ansible (use-package poly-ansible
;; :vc (:url "https://github.com/emacsmirror/poly-ansible") :straight (:host github :repo "emacsmirror/poly-ansible")
:after ansible) :after ansible)
#+END_SRC #+END_SRC

View file

@ -247,7 +247,7 @@ The /real problem/ is trying to remember all the [[https://github.com/clojure-em
And of course, we want to put this with org blocks: And of course, we want to put this with org blocks:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ob-clojure (use-package ob-clojure
:straight (:type built-in)
:custom :custom
(org-babel-clojure-backend 'cider) (org-babel-clojure-backend 'cider)
:config :config

View file

@ -71,11 +71,7 @@ And we should extend it with the [[https://github.com/xuchunyang/elisp-demos][el
Wilfreds [[https://github.com/Wilfred/suggest.el][suggest]] function helps you find the right function. Basically, you type in the parameters of a function, and then the desired output, and it will write the function call. Wilfreds [[https://github.com/Wilfred/suggest.el][suggest]] function helps you find the right function. Basically, you type in the parameters of a function, and then the desired output, and it will write the function call.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package spinner (use-package suggest)
:vc (:url "https://github.com/Malabarba/spinner.el"))
(use-package suggest
:after spinner)
#+end_src #+end_src
* Navigation * Navigation
** Goto Definitions ** Goto Definitions
@ -284,7 +280,7 @@ These are all good, but the primary keys I need to figure out, are the s-express
Wilfreds [[https://github.com/Wilfred/emacs-refactor/tree/master#elisp][emacs-refactor]] package can be helpful if you turn on =context-menu-mode= and … Wilfreds [[https://github.com/Wilfred/emacs-refactor/tree/master#elisp][emacs-refactor]] package can be helpful if you turn on =context-menu-mode= and …
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package emr (use-package emr
;; ;; :vc (:url "https://github.com/Wilfred/emacs-refactor") ;; :straight (:host github :repo "Wilfred/emacs-refactor")
:config :config
(pretty-hydra-define+ lisp-refactor nil (pretty-hydra-define+ lisp-refactor nil
("To 𝛌" ("To 𝛌"
@ -370,4 +366,3 @@ Let's =provide= a name so we can =require= this file:
#+options: num:nil toc:t todo:nil tasks:nil tags:nil date:nil #+options: num:nil toc:t todo:nil tasks:nil tags:nil date:nil
#+options: skip:nil author:nil email:nil creator:nil timestamp:nil #+options: skip:nil author:nil email:nil creator:nil timestamp:nil
#+infojs_opt: view:nil toc:t ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js #+infojs_opt: view:nil toc:t ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js
exit

View file

@ -60,7 +60,7 @@ The [[https://github.com/mihaimaruseac/hindent][hindent package]] looks interest
* Haskell and Org * Haskell and Org
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ob-haskell (use-package ob-haskell
:straight (:type built-in)
:config :config
(add-to-list 'org-babel-load-languages '(haskell . t))) (add-to-list 'org-babel-load-languages '(haskell . t)))
#+end_src #+end_src

View file

@ -267,7 +267,8 @@ The [[https://elpy.readthedocs.io/en/latest/introduction.html][Elpy Project]] ex
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package elpy (use-package elpy
:config :ensure t
:init
(elpy-enable)) (elpy-enable))
#+END_SRC #+END_SRC

View file

@ -57,7 +57,7 @@ The [[https://www.nongnu.org/geiser/][geiser project]] attempts to be the interf
Do we need a Scheme work for Org Babel? According to [[https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-scheme.html][this document]], we just need to make sure we add the =:session= variable to start the REPL. Do we need a Scheme work for Org Babel? According to [[https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-scheme.html][this document]], we just need to make sure we add the =:session= variable to start the REPL.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ob-scheme (use-package ob-scheme
:straight (:type built-in)
:config :config
(add-to-list 'org-babel-load-languages '(scheme . t))) (add-to-list 'org-babel-load-languages '(scheme . t)))
@ -122,7 +122,7 @@ While Racket, as a Scheme, should work with Geiser (below), lets also get [[h
Can we get Racket working with Org? Can we get Racket working with Org?
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ob-racket (use-package ob-racket
;; :vc (:url "https://github.com/DEADB17/ob-racket") :straight (:host github :repo "DEADB17/ob-racket")
:after org :after org
:config :config
(add-to-list 'org-babel-load-languages '(racket . t))) (add-to-list 'org-babel-load-languages '(racket . t)))

View file

@ -58,7 +58,7 @@ For all programming languages, I would like to now default to absolute line numb
While Emacs has options for viewing and moving around code, sometimes, we could /collapse/ all functions, and then start to expand them one at a time. For this, we could enable the built-in [[https://www.emacswiki.org/emacs/HideShow][hide-show feature]]: While Emacs has options for viewing and moving around code, sometimes, we could /collapse/ all functions, and then start to expand them one at a time. For this, we could enable the built-in [[https://www.emacswiki.org/emacs/HideShow][hide-show feature]]:
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package hide-show (use-package hide-show
:straight (:type built-in)
:init :init
(setq hs-hide-comments t (setq hs-hide-comments t
hs-hide-initial-comment-block t hs-hide-initial-comment-block t
@ -212,7 +212,7 @@ Why use [[https://www.flycheck.org/][flycheck]] over the built-in =flymake=? Spe
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package flycheck (use-package flycheck
;; :vc (:url "https://github.com/flycheck/flycheck") :straight (:host github :repo "flycheck/flycheck")
:init :init
(setq next-error-message-highlight t) (setq next-error-message-highlight t)
:bind (:map flycheck-error-list-mode-map :bind (:map flycheck-error-list-mode-map
@ -400,7 +400,7 @@ However, Emacs already has the ability to download and install grammars, so foll
#+begin_src emacs-lisp #+begin_src emacs-lisp
(when (treesit-available-p) (when (treesit-available-p)
(use-package treesit (use-package treesit
:straight (:type built-in)
:preface :preface
(setq treesit-language-source-alist (setq treesit-language-source-alist
'((bash "https://github.com/tree-sitter/tree-sitter-bash") '((bash "https://github.com/tree-sitter/tree-sitter-bash")
@ -480,7 +480,7 @@ I like [[file:ha-programming-elisp.org::*Clever Parenthesis][Clever Parenthesis]
#+begin_src emacs-lisp #+begin_src emacs-lisp
(when (treesit-available-p) (when (treesit-available-p)
(use-package combobulate (use-package combobulate
;; :vc (:url "https://github.com/mickeynp/combobulate") :straight (:host github :repo "mickeynp/combobulate")
:after treesit :after treesit
:hook ((yaml-ts-mode . combobulate-mode) :hook ((yaml-ts-mode . combobulate-mode)
;; (css-ts-mode . combobulate-mode) ;; (css-ts-mode . combobulate-mode)
@ -730,7 +730,7 @@ The [[https://github.com/emacs-lsp/lsp-ui/blob/master/lsp-ui-imenu.el][lsp-imenu
#+begin_src emacs-lisp :tangle no #+begin_src emacs-lisp :tangle no
(use-package lsp-ui-imenu (use-package lsp-ui-imenu
:straight nil
:after lsp-ui :after lsp-ui
:config :config
(ha-local-leader :keymaps 'prog-mode-map (ha-local-leader :keymaps 'prog-mode-map
@ -1296,7 +1296,7 @@ While I don't like writing them, I can't get away from them. Check out the goodi
While filename extensions work fine most of the time, I don't like to pre-pend =.sh= to the shell scripts I write, and instead, would like to associate =shell-mode= with all files in a =bin= directory: While filename extensions work fine most of the time, I don't like to pre-pend =.sh= to the shell scripts I write, and instead, would like to associate =shell-mode= with all files in a =bin= directory:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package sh-mode (use-package sh-mode
:straight (:type built-in)
:mode (rx (or (seq ".sh" eol) :mode (rx (or (seq ".sh" eol)
"/bin/")) "/bin/"))
:init :init

View file

@ -28,7 +28,7 @@ A literate configuration for accessing remote systems.
[[https://www.emacswiki.org/emacs/TrampMode][Tramp]] allows almost all Emacs features to execute on a remote system. [[https://www.emacswiki.org/emacs/TrampMode][Tramp]] allows almost all Emacs features to execute on a remote system.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package tramp (use-package tramp
:straight (:type built-in)
:config :config
;; Use remote PATH on tramp (handy for eshell). ;; Use remote PATH on tramp (handy for eshell).
@ -42,7 +42,7 @@ A literate configuration for accessing remote systems.
Will Schenk has [[https://willschenk.com/articles/2020/tramp_tricks/][a simple extension]] to allow editing of files /inside/ a Docker container: Will Schenk has [[https://willschenk.com/articles/2020/tramp_tricks/][a simple extension]] to allow editing of files /inside/ a Docker container:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package tramp (use-package tramp
:straight (:type built-in)
:config :config
(push '("docker" . ((tramp-login-program "docker") (push '("docker" . ((tramp-login-program "docker")
(tramp-login-args (("exec" "-it") ("%h") ("/bin/sh"))) (tramp-login-args (("exec" "-it") ("%h") ("/bin/sh")))
@ -72,7 +72,7 @@ Which means, I need to put it as a link in an org file.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package tramp-sh (use-package tramp-sh
:after tramp :after tramp
:straight (:type built-in)
:custom (tramp-use-ssh-controlmaster-options nil)) :custom (tramp-use-ssh-controlmaster-options nil))
#+end_src #+end_src
* Remote Terminals * Remote Terminals
@ -159,13 +159,12 @@ While not as fast as [[https://github.com/akermu/emacs-libvterm][vterm]], the [[
#+BEGIN_SRC emacs-lisp :tangle no #+BEGIN_SRC emacs-lisp :tangle no
(use-package eat (use-package eat
;; :straight (:host codeberg :repo "akib/emacs-eat" :straight (:host codeberg :repo "akib/emacs-eat"
;; :files ("*.el" ("term" "term/*.el") "*.texi" :files ("*.el" ("term" "term/*.el") "*.texi"
;; "*.ti" ("terminfo/e" "terminfo/efo/e/*") "*.ti" ("terminfo/e" "terminfo/efo/e/*")
;; ("terminfo/65" "terminfo/65/*") ("terminfo/65" "terminfo/65/*")
;; ("integration" "integration/*") ("integration" "integration/*")
;; (:exclude ".dir-locals.el" "*-tests.el"))) (:exclude ".dir-locals.el" "*-tests.el")))
;; :vc (:url "https://codeberg.org/akib/emacs-eat")
:commands (eat eat-make eat-project) :commands (eat eat-make eat-project)
:bind (:map eat-semi-char-mode-map :bind (:map eat-semi-char-mode-map
("C-c C-t" . ha-eat-narrow-to-shell-prompt-dwim)) ("C-c C-t" . ha-eat-narrow-to-shell-prompt-dwim))

View file

@ -79,23 +79,8 @@ cat > "$HAMACS_DEST/init.el" <<EOF
(defvar hamacs-source-dir "$HAMACS_DIR" "Where we be.") (defvar hamacs-source-dir "$HAMACS_DIR" "Where we be.")
(defvar hamacs-package-repos
(file-name-concat user-emacs-directory "repos")
"Repository location for all packages.")
(defun load-path-repo (repo)
(expand-file-name repo hamacs-package-repos))
(defun hamacs-package-repos-update-load-path ()
"Update the \`load-path' with clone repositories."
(interactive)
(dolist (repo (directory-files hamacs-package-repos 'full "[A-z].*"))
(add-to-list 'load-path repo nil 'string-equal)))
(hamacs-package-repos-update-load-path)
;; Bug fixes for ORG (there always seems to be something): ;; Bug fixes for ORG (there always seems to be something):
;; (defvar native-comp-deferred-compilation-deny-list nil) (defvar native-comp-deferred-compilation-deny-list nil)
;; Allow the installation of unsigned packages, but verify the ;; Allow the installation of unsigned packages, but verify the
;; signature if possible: ;; signature if possible:
@ -113,7 +98,29 @@ cat > "$HAMACS_DEST/init.el" <<EOF
(add-to-list 'package-archives (add-to-list 'package-archives
'("elpa-dev" . "https://elpa.gnu.org/devel/")) '("elpa-dev" . "https://elpa.gnu.org/devel/"))
(setq use-package-always-ensure nil) ;; Configure straight https://github.com/raxod502/straight.el#getting-started
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
(bootstrap-version 6))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(straight-use-package 'use-package)
;; While that enables the :straight t extension to use-package, let's just have that be the default:
(use-package straight
:custom (straight-use-package-by-default t
straight-default-vc 'git))
;; See the details in https://dev.to/jkreeftmeijer/emacs-package-management-with-straight-el-and-use-package-3oc8
(use-package org (use-package org
;; TODO: Using the latest org-mode ;; TODO: Using the latest org-mode