Compare commits
No commits in common. "no-straight" and "main" have entirely different histories.
no-straigh
...
main
24 changed files with 125 additions and 136 deletions
|
@ -27,6 +27,8 @@ A literate programming file for bootstraping my Emacs Configuration.
|
|||
* Introduction
|
||||
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]].
|
||||
|
||||
* 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:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package cl-lib
|
||||
|
||||
:straight (:type built-in)
|
||||
:init (defun first (elt) (car elt))
|
||||
:commands (first))
|
||||
|
||||
|
|
|
@ -28,11 +28,8 @@ A literate programming file configuring critical applications.
|
|||
Can we call the following /applications/? I guess.
|
||||
* 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.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(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:
|
||||
: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
|
||||
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
|
||||
:custom
|
||||
(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:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package diff-hl
|
||||
:config
|
||||
(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
|
||||
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(repeat-mode)
|
||||
#+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 let’s grab that stuff:
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package compat
|
||||
;; :vc (:url "https://github.com/emacs-straight/compat"))
|
||||
:straight (:host github :repo "emacs-straight/compat"))
|
||||
|
||||
(use-package magit-section
|
||||
: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.
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package gh
|
||||
;; :vc (:url "https://github.com/sigma/gh.el"))
|
||||
:straight (:host github :repo "sigma/gh.el"))
|
||||
#+end_src
|
||||
|
||||
** 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
|
||||
(use-package eww
|
||||
:after major-mode-hydra
|
||||
:init
|
||||
(setq browse-url-browser-function 'eww-browse-url
|
||||
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
|
||||
(use-package shrface
|
||||
;; :vc (:url "https://github.com/chenyanming/shrface")
|
||||
:after major-mode-hydra
|
||||
:straight (:host github :repo "chenyanming/shrface")
|
||||
:config
|
||||
(shrface-basic)
|
||||
;; (shrface-trial)
|
||||
|
@ -646,7 +641,7 @@ Instead I use Emacs' built-in directory lister (which accepts the standard, =dir
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ls-lisp
|
||||
|
||||
:straight (:type built-in)
|
||||
:config
|
||||
(setq ls-lisp-use-insert-directory-program nil
|
||||
dired-listing-switches
|
||||
|
@ -657,7 +652,7 @@ And [[https://www.masteringemacs.org/article/dired-shell-commands-find-xargs-rep
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package dired-x
|
||||
)
|
||||
:straight (:type built-in))
|
||||
#+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 ~&~.
|
||||
|
@ -671,7 +666,7 @@ The [[https://github.com/alexluigit/dirvish][dirvish]] project aims to make a pr
|
|||
I’m 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
|
||||
(use-package dirvish
|
||||
;; :vc (:url "https://github.com/alexluigit/dirvish")
|
||||
:straight (:host github :repo "alexluigit/dirvish")
|
||||
:init (dirvish-override-dired-mode)
|
||||
|
||||
:custom
|
||||
|
@ -877,8 +872,6 @@ The [[Evil Collection][evil-collection]] package adds the following keybindings:
|
|||
I’d 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
|
||||
(use-package org-noter
|
||||
:load-path "/User/howard.abrams/.emacs.d/repos/org-noter"
|
||||
:after major-mode-hydra
|
||||
:config
|
||||
(major-mode-hydra-define org-noter-doc-mode-map nil
|
||||
("Notes"
|
||||
|
|
|
@ -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.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package mastodon
|
||||
;; :vc (:url "https://codeberg.org/martianh/mastodon.el")
|
||||
:straight (:host codeberg :repo "martianh/mastodon.el")
|
||||
:init
|
||||
(setq mastodon-instance-url "https://pdx.social"
|
||||
mastodon-active-user "howard"))
|
||||
|
@ -95,7 +95,7 @@ Let’s 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. We’ll be using Alphapapa’s latest [[https://github.com/alphapapa/ement.el][ement]] project.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ement
|
||||
;; :vc (:url "https://github.com/alphapapa/ement.el")
|
||||
:straight (:host github :repo "alphapapa/ement.el")
|
||||
:config
|
||||
(major-mode-hydra-define ement-room-mode (:quit-key "q")
|
||||
("Send"
|
||||
|
@ -189,7 +189,7 @@ Been working on my [[https://gitlab.com/howardabrams/emacs-rpgdm][RPG DM project
|
|||
#+begin_src emacs-lisp
|
||||
(when (f-directory? "~/src/emacs-rpgdm")
|
||||
(use-package rpgdm
|
||||
:load-path "~/src/emacs-rpgdm"
|
||||
:straight (:local-repo "~/src/emacs-rpgdm")
|
||||
:commands (rpgdm-mode rpgdm-tables-load)
|
||||
:init (setq rpgdm-base (expand-file-name "~/src/emacs-rpgdm"))
|
||||
: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
|
||||
(when (f-directory? "~/src/emacs-rpgtk")
|
||||
(use-package rpgtk
|
||||
:load-path "~/src/emacs-rpgtk"
|
||||
:straight (:local-repo "~/src/emacs-rpgtk")
|
||||
:after hydra
|
||||
;; :commands (rpgtk-mode rpgtk-tables-load rpgtk-dice rpgtk-message)
|
||||
:custom
|
||||
|
@ -217,7 +217,7 @@ And my [[https://gitlab.com/howardabrams/emacs-ironsworn][new Ironsworn project]
|
|||
(when (f-directory? "~/src/emacs-ironsworn")
|
||||
(use-package rpgdm-ironsworn
|
||||
:after rpgdm
|
||||
:load-path "~/src/emacs-ironsworn"
|
||||
:straight (:local-repo "~/src/emacs-ironsworn")
|
||||
:init
|
||||
(setq rpgdm-ironsworn-project (expand-file-name "~/src/emacs-ironsworn")
|
||||
;; Ignore org links that call my RPG functions:
|
||||
|
@ -234,7 +234,7 @@ Why not? Let’s see if the [[https://github.com/isamert/empv.el][empv]] project
|
|||
What else?
|
||||
#+begin_src emacs-lisp
|
||||
(use-package empv
|
||||
;; :vc (:url "https://github.com/isamert/empv.el")
|
||||
:straight (:host github :repo "isamert/empv.el")
|
||||
:general (ha-leader
|
||||
"a p" '(empv-map :wk "play music")))
|
||||
#+end_src
|
||||
|
|
|
@ -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.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package org-mac-link
|
||||
;; :vc (:url "https://gitlab.com/aimebertrand/org-mac-link")
|
||||
:straight (:host gitlab :repo "aimebertrand/org-mac-link")
|
||||
:config
|
||||
(ha-leader "i" '("insert app info" . org-mac-link-get-link)))
|
||||
#+end_src
|
||||
|
|
|
@ -146,8 +146,7 @@ After reading [[https://irreal.org/blog/?p=12139][Jon Sander’s essay]] as well
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package emacs-everywhere
|
||||
;; :vc (:url "https://github.com/tecosaur/emacs-everywhere")
|
||||
)
|
||||
:straight (:host github :repo "tecosaur/emacs-everywhere"))
|
||||
#+end_src
|
||||
|
||||
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 don’t 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.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package recentf
|
||||
:straight (:type built-in)
|
||||
:config
|
||||
(setq recentf-auto-cleanup 'never) ;; disable before we start recentf!
|
||||
(recentf-mode 1))
|
||||
|
@ -336,13 +336,10 @@ The [[https://github.com/minad/vertico][vertico]] package puts the completing re
|
|||
(use-package vertico
|
||||
:config (vertico-mode))
|
||||
#+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:
|
||||
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
#+begin_src emacs-lisp
|
||||
(use-package vertico-directory
|
||||
:load-path "~/.emacs.d/repos/vertigo/extensions"
|
||||
;; :straight (:files ("~/.emacs.d/straight/repos/vertico/extensions/vertico-directory.el"))
|
||||
:straight (el-patch :files ("~/.emacs.d/straight/repos/vertico/extensions/vertico-directory.el"))
|
||||
;; More convenient directory navigation commands
|
||||
:bind (:map vertico-map
|
||||
("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
|
||||
(use-package fussy
|
||||
;; ;; :vc (:url "https://github.com/jojojames/fussy")
|
||||
;; :straight (:host github :repo "jojojames/fussy")
|
||||
:config
|
||||
(push 'fussy completion-styles)
|
||||
(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
|
||||
(use-package cape
|
||||
;; :vc (:url "https://github.com/minad/cape")
|
||||
:straight (:host github :repo "minad/cape")
|
||||
:init
|
||||
(setq completion-at-point-functions (list #'cape-emoji)))
|
||||
#+END_SRC
|
||||
|
@ -595,11 +592,10 @@ After using [[http://company-mode.github.io/][company]] for my completion back-
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package corfu
|
||||
;; :vc (:url "https://github.com/minad/corfu")
|
||||
:custom
|
||||
(corfu-cycle t)
|
||||
(corfu-separator ?\s)
|
||||
:config
|
||||
:init
|
||||
(global-corfu-mode))
|
||||
#+end_src
|
||||
*** Snippets
|
||||
|
@ -677,7 +673,7 @@ As I've mentioned [[http://www.howardism.org/Technical/Emacs/beep-for-emacs.html
|
|||
'libnotify)))
|
||||
|
||||
(use-package beep
|
||||
:load-path "~/src/hamacs/elisp"
|
||||
:straight (:local-repo "~/src/hamacs/elisp")
|
||||
:hook (after-init . ha-random-startup-message)
|
||||
:commands (beep-when-finished beep-when-run-too-long)
|
||||
:config
|
||||
|
@ -1166,6 +1162,7 @@ Also, as [[https://www.bytedude.com/gpg-in-emacs/][bytedude]] mentions, I need t
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package epa-file
|
||||
:straight (:type built-in)
|
||||
:custom
|
||||
(epg-debug t)
|
||||
(auth-source-debug t)
|
||||
|
|
15
ha-demos.org
15
ha-demos.org
|
@ -44,8 +44,8 @@ Once I made demonstrations /within/ Emacs with my [[https://github.com/howardabr
|
|||
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package demo-it
|
||||
:load-path "~/src/demo-it"
|
||||
;; :vc (:url "https://github.com/howardabrams/demo-it")
|
||||
:straight (:local-repo "~/src/demo-it")
|
||||
;; :straight (:host github :repo "howardabrams/demo-it")
|
||||
:commands (demo-it-create demo-it-start demo-it-hide-mode-line
|
||||
demo-it--presentation-display-set)
|
||||
:custom (demo-it--insert-test-speed :faster))
|
||||
|
@ -194,7 +194,7 @@ With some a startup bug that I haven’t been able to resolve, I’m not using i
|
|||
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(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)
|
||||
:custom
|
||||
(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
|
||||
(use-package dslide
|
||||
;; :vc (:url "https://github.com/positron-solutions/dslide")
|
||||
:straight (dslide :host github :repo "positron-solutions/dslide")
|
||||
:commands (dslide-narrow-hook)
|
||||
:hook (dslide-narrow . 'ha-slide-notes-update))
|
||||
#+END_SRC
|
||||
|
@ -256,7 +256,8 @@ The [[https://github.com/positron-solutions/moc][Master of Ceremonies]] package
|
|||
(use-package default-text-scale)
|
||||
|
||||
(use-package moc
|
||||
;; :vc (:url "https://github.com/positron-solutions/moc"))
|
||||
:straight (:type git :host github
|
||||
:repo "positron-solutions/moc"))
|
||||
#+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.
|
||||
|
@ -271,7 +272,7 @@ The [[https://github.com/trevorpogue/topspace][topspace]] project can pad the to
|
|||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package topspace
|
||||
;; :vc (:url "https://github.com/trevorpogue/topspace"))
|
||||
:straight (:type git :host github :repo "trevorpogue/topspace"))
|
||||
#+END_SRC
|
||||
|
||||
*** 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
|
||||
(use-package dslide
|
||||
;; :vc (:url "https://github.com/positron-solutions/dslide")
|
||||
:straight (:host github :repo "positron-solutions/dslide")
|
||||
:config
|
||||
(defclass dslide-action-highlight-paragraphs (dslide-action)
|
||||
((overlays :initform nil))
|
||||
|
|
|
@ -86,7 +86,7 @@ either be "there or not" which resulted large jumps and large distractions.
|
|||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package ultra-scroll
|
||||
;; :vc (:url "https://github.com/jdtsmith/ultra-scroll")
|
||||
:straight (:type git :host github :repo "jdtsmith/ultra-scroll")
|
||||
:config
|
||||
(setq scroll-conservatively 101 ; important!
|
||||
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
|
||||
(use-package pulsar
|
||||
;; :vc (:url "https://github.com/protesilaos/pulsar")
|
||||
:straight (:host github :repo "protesilaos/pulsar")
|
||||
:custom
|
||||
(pulsar-face 'pulsar-generic)
|
||||
(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
|
||||
(use-package mixed-pitch
|
||||
;; ;; :vc (:url "https://github.com/jabranham/mixed-pitch")
|
||||
;; :straight (:host github :repo "jabranham/mixed-pitch")
|
||||
:config
|
||||
(add-to-list 'mixed-pitch-fixed-pitch-faces 'org-property-value)
|
||||
(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
|
||||
(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
|
||||
;; The Nerd Font you want to use in GUI defaults to 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
|
||||
(use-package hl-todo
|
||||
;; :vc (:url "https://github.com/tarsius/hl-todo")
|
||||
:straight (:host github :repo "tarsius/hl-todo")
|
||||
:config
|
||||
(setq hl-todo-keyword-faces
|
||||
`(("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
|
||||
(use-package consult-todo
|
||||
;; :vc (:url "https://github.com/liuyinz/consult-todo")
|
||||
:straight (:host github :repo "liuyinz/consult-todo")
|
||||
:init
|
||||
(defconst consult-todo--narrow
|
||||
'((?t . "TODO")
|
||||
|
|
|
@ -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
|
||||
(use-package ol-notmuch
|
||||
:after org
|
||||
|
||||
:straight (:type built-in)
|
||||
:config (add-to-list 'org-modules 'ol-notmuch))
|
||||
#+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.
|
||||
|
|
|
@ -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=:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package eshell
|
||||
|
||||
:straight (:type built-in)
|
||||
:hook (eshell-mode . ha-eshell-setup))
|
||||
#+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]].
|
||||
#+begin_src emacs-lisp
|
||||
(use-package pcre2el
|
||||
;; :vc (:url "https://github.com/joddie/pcre2el")
|
||||
:straight (:host github :repo "joddie/pcre2el")
|
||||
:config
|
||||
(defmacro prx (&rest expressions)
|
||||
"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
|
||||
(use-package eat
|
||||
: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))
|
||||
#+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=.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package eshell
|
||||
|
||||
:straight (:type built-in)
|
||||
:custom (eshell-banner-message '(ha-eshell-banner))
|
||||
:init
|
||||
(setq eshell-error-if-no-glob t
|
||||
|
|
|
@ -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]]:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package align
|
||||
|
||||
:straight (:type built-in)
|
||||
:config
|
||||
(add-to-list 'align-rules-list
|
||||
`("lisp-assignments"
|
||||
|
@ -489,9 +489,8 @@ Notes:
|
|||
** 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. I’m having a difficult time determining /what jumps/ are remembered.
|
||||
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
#+begin_src emacs-lisp
|
||||
(use-package better-jumper
|
||||
;; :vc (:url "https//github.com/gilbertw1/better-jumper")
|
||||
:config
|
||||
(better-jumper-mode +1)
|
||||
|
||||
|
|
|
@ -880,7 +880,7 @@ Remember these keys in the *Help* buffer:
|
|||
Let's make Info behave a little more VI-like:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package info
|
||||
|
||||
:straight (:type built-in)
|
||||
:general
|
||||
(:states 'normal :keymaps 'Info-mode-map
|
||||
"B" 'Info-bookmark-jump
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#+author: Howard Abrams
|
||||
#+date: 2024-07-07
|
||||
#+filetags: emacs hamacs
|
||||
#+lastmod: [2025-09-09 Tue]
|
||||
#+lastmod: [2025-02-20 Thu]
|
||||
|
||||
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
|
||||
(defun ha-hamacs-edit--file-title (file)
|
||||
"Return a more readable string from FILE."
|
||||
(if file
|
||||
(s-with file
|
||||
(s-match ha-hamacs-edit-file-to-title)
|
||||
(second)
|
||||
(s-replace "-" " ")
|
||||
(s-titleize))
|
||||
file))
|
||||
(s-with file
|
||||
(s-match ha-hamacs-edit-file-to-title)
|
||||
(second)
|
||||
(s-replace "-" " ")
|
||||
(s-titleize)))
|
||||
|
||||
(defvar ha-hamacs-edit-file-to-title
|
||||
(rx (optional (or "README-" "ha-"))
|
||||
|
|
|
@ -31,7 +31,7 @@ The RSS needs UUIDs:
|
|||
|
||||
#+BEGIN_SRC emacs-lisp results silent
|
||||
(use-package uuidgen
|
||||
;; :vc (:url "https://github.com/emacsmirror/uuidgen"))
|
||||
:straight (:host github :repo "emacsmirror/uuidgen"))
|
||||
|
||||
(defun org-icalendar-create-uid (&rest ignored)
|
||||
"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
|
||||
(use-package ox-rss
|
||||
;; :vc (:url "https://github.com/emacsmirror/ox-rss"))
|
||||
:straight (:host github :repo "emacsmirror/ox-rss"))
|
||||
|
||||
(use-package org
|
||||
:config
|
||||
|
@ -64,7 +64,7 @@ Render my code with my font colors:
|
|||
Also, we need Jack, and his HTML prowess:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package jack
|
||||
;; :vc (:url "https://github.com/tonyaldon/jack")
|
||||
:straight (:host github :repo "tonyaldon/jack")
|
||||
:commands (jack-html))
|
||||
#+end_src
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@ The variable, =org-hide-emphasis-markers=, is key to pretending that Emacs can b
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
(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)
|
||||
:hook
|
||||
((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
|
||||
(use-package org-modern
|
||||
;; :vc (:url "https://github.com/minad/org-modern")
|
||||
:straight (:host github :repo "minad/org-modern")
|
||||
:after org
|
||||
:hook ((org-mode . org-modern-mode)
|
||||
(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:
|
||||
#+begin_src emacs-lisp
|
||||
(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)
|
||||
:config
|
||||
(setq org-padding-block-begin-line-padding '(0.5 . 0.3)
|
||||
|
|
25
ha-org.org
25
ha-org.org
|
@ -3,7 +3,7 @@
|
|||
#+date: 2020-09-18
|
||||
#+tags: emacs org
|
||||
#+startup: inlineimages
|
||||
#+lastmod: [2025-09-08 Mon]
|
||||
#+lastmod: [2025-07-01 Tue]
|
||||
|
||||
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
|
||||
(use-package org
|
||||
;; TODO: Using the latest org-mode
|
||||
;;
|
||||
;; :straight (:type built-in)
|
||||
:mode (("\\.org" . org-mode))
|
||||
:init
|
||||
<<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
|
||||
(use-package org-find-file
|
||||
|
||||
:straight nil
|
||||
:config
|
||||
(ha-leader "f o" '("load org" . org-find-file)))
|
||||
#+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:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package deflate
|
||||
:vc (:url "https://github.com/skuro/deflate.git"))
|
||||
|
||||
(use-package plantuml-mode
|
||||
;; :vc (:url "https://github.com/skuro/plantuml-mode")
|
||||
:after deflate
|
||||
:straight (:host github :repo "skuro/plantuml-mode")
|
||||
:init
|
||||
(setq org-plantuml-jar-path (expand-file-name "~/bin/plantuml.jar")))
|
||||
#+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
|
||||
(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
|
||||
(pikchr-executable "~/bin/pikchr"))
|
||||
#+end_src
|
||||
|
@ -735,7 +732,7 @@ I have a special version of tweaked [[file:elisp/ox-confluence.el][Confluence ex
|
|||
#+begin_src emacs-lisp
|
||||
(use-package ox-confluence
|
||||
:after org
|
||||
; Located in my "elisp" directory
|
||||
:straight nil ; Located in my "elisp" directory
|
||||
:config
|
||||
(ha-leader :keymaps 'org-mode-map
|
||||
"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
|
|||
I’m 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
|
||||
(use-package jack
|
||||
;; :vc (:url "https://github.com/tonyaldon/jack")
|
||||
:straight (:host github :repo "tonyaldon/jack")
|
||||
:commands (jack-html))
|
||||
#+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 ha-focus
|
||||
|
||||
:straight (:type built-in)
|
||||
:config
|
||||
(ha-leader
|
||||
"o f" '("begin focus" . ha-focus-begin)
|
||||
|
@ -854,7 +851,7 @@ And the Emacs interface to that:
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
(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)
|
||||
:bind (("C-;" . 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]]:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package logos
|
||||
;; :vc (:url "https://gitlab.com/protesilaos/logos")
|
||||
:straight (:host gitlab :repo "protesilaos/logos")
|
||||
:init
|
||||
(setq logos-outlines-are-pages t
|
||||
logos-outline-regexp-alist
|
||||
|
|
|
@ -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
|
||||
(use-package spatial-navigate
|
||||
;; :vc (:url "https://codeberg.org/ideasman42/emacs-spatial-navigate")
|
||||
:straight (:repo "https://codeberg.org/ideasman42/emacs-spatial-navigate")
|
||||
:config
|
||||
(pretty-hydra-define spatial-navigate (:color amaranth :quit-key "q")
|
||||
("Box"
|
||||
|
@ -62,7 +62,7 @@ The [[https://github.com/antonj/Highlight-Indentation-for-Emacs][Highlight-Inden
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
(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)
|
||||
(python-mode . highlight-indentation-mode)))
|
||||
#+end_src
|
||||
|
@ -119,7 +119,7 @@ Allow this mode in Org blocks:
|
|||
And we hook
|
||||
#+begin_src emacs-lisp
|
||||
(use-package yaml-pro
|
||||
;; :vc (:url "https://github.com/zkry/yaml-pro")
|
||||
:straight (:host github :repo "zkry/yaml-pro")
|
||||
:after yaml-mode
|
||||
:hook ((yaml-mode . yaml-pro-mode)))
|
||||
#+end_src
|
||||
|
@ -224,7 +224,7 @@ Do I consider all YAML files an Ansible file needing [[https://github.com/k1LoW/
|
|||
|
||||
#+begin_src emacs-lisp
|
||||
(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)
|
||||
:config
|
||||
(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
|
||||
(use-package poly-ansible
|
||||
;; :vc (:url "https://github.com/emacsmirror/poly-ansible")
|
||||
:straight (:host github :repo "emacsmirror/poly-ansible")
|
||||
:after ansible)
|
||||
#+END_SRC
|
||||
|
||||
|
|
|
@ -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:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ob-clojure
|
||||
|
||||
:straight (:type built-in)
|
||||
:custom
|
||||
(org-babel-clojure-backend 'cider)
|
||||
:config
|
||||
|
|
|
@ -71,11 +71,7 @@ And we should extend it with the [[https://github.com/xuchunyang/elisp-demos][el
|
|||
Wilfred’s [[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
|
||||
(use-package spinner
|
||||
:vc (:url "https://github.com/Malabarba/spinner.el"))
|
||||
|
||||
(use-package suggest
|
||||
:after spinner)
|
||||
(use-package suggest)
|
||||
#+end_src
|
||||
* Navigation
|
||||
** Goto Definitions
|
||||
|
@ -284,7 +280,7 @@ These are all good, but the primary keys I need to figure out, are the s-express
|
|||
Wilfred’s [[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
|
||||
(use-package emr
|
||||
;; ;; :vc (:url "https://github.com/Wilfred/emacs-refactor")
|
||||
;; :straight (:host github :repo "Wilfred/emacs-refactor")
|
||||
:config
|
||||
(pretty-hydra-define+ lisp-refactor nil
|
||||
("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: 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
|
||||
exit
|
||||
|
|
|
@ -60,7 +60,7 @@ The [[https://github.com/mihaimaruseac/hindent][hindent package]] looks interest
|
|||
* Haskell and Org
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ob-haskell
|
||||
|
||||
:straight (:type built-in)
|
||||
:config
|
||||
(add-to-list 'org-babel-load-languages '(haskell . t)))
|
||||
#+end_src
|
||||
|
|
|
@ -267,7 +267,8 @@ The [[https://elpy.readthedocs.io/en/latest/introduction.html][Elpy Project]] ex
|
|||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package elpy
|
||||
:config
|
||||
:ensure t
|
||||
:init
|
||||
(elpy-enable))
|
||||
#+END_SRC
|
||||
|
||||
|
|
|
@ -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.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ob-scheme
|
||||
|
||||
:straight (:type built-in)
|
||||
:config
|
||||
(add-to-list 'org-babel-load-languages '(scheme . t)))
|
||||
|
||||
|
@ -122,7 +122,7 @@ While Racket, as a Scheme, should work with Geiser (below), let’s also get [[h
|
|||
Can we get Racket working with Org?
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ob-racket
|
||||
;; :vc (:url "https://github.com/DEADB17/ob-racket")
|
||||
:straight (:host github :repo "DEADB17/ob-racket")
|
||||
:after org
|
||||
:config
|
||||
(add-to-list 'org-babel-load-languages '(racket . t)))
|
||||
|
|
|
@ -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]]:
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package hide-show
|
||||
|
||||
:straight (:type built-in)
|
||||
:init
|
||||
(setq hs-hide-comments 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
|
||||
(use-package flycheck
|
||||
;; :vc (:url "https://github.com/flycheck/flycheck")
|
||||
:straight (:host github :repo "flycheck/flycheck")
|
||||
:init
|
||||
(setq next-error-message-highlight t)
|
||||
: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
|
||||
(when (treesit-available-p)
|
||||
(use-package treesit
|
||||
|
||||
:straight (:type built-in)
|
||||
:preface
|
||||
(setq treesit-language-source-alist
|
||||
'((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
|
||||
(when (treesit-available-p)
|
||||
(use-package combobulate
|
||||
;; :vc (:url "https://github.com/mickeynp/combobulate")
|
||||
:straight (:host github :repo "mickeynp/combobulate")
|
||||
:after treesit
|
||||
:hook ((yaml-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
|
||||
(use-package lsp-ui-imenu
|
||||
|
||||
:straight nil
|
||||
:after lsp-ui
|
||||
:config
|
||||
(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:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package sh-mode
|
||||
|
||||
:straight (:type built-in)
|
||||
:mode (rx (or (seq ".sh" eol)
|
||||
"/bin/"))
|
||||
:init
|
||||
|
|
|
@ -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.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package tramp
|
||||
|
||||
:straight (:type built-in)
|
||||
|
||||
:config
|
||||
;; 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:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package tramp
|
||||
|
||||
:straight (:type built-in)
|
||||
:config
|
||||
(push '("docker" . ((tramp-login-program "docker")
|
||||
(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
|
||||
(use-package tramp-sh
|
||||
:after tramp
|
||||
|
||||
:straight (:type built-in)
|
||||
:custom (tramp-use-ssh-controlmaster-options nil))
|
||||
#+end_src
|
||||
* 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
|
||||
(use-package eat
|
||||
;; :straight (:host codeberg :repo "akib/emacs-eat"
|
||||
;; :files ("*.el" ("term" "term/*.el") "*.texi"
|
||||
;; "*.ti" ("terminfo/e" "terminfo/efo/e/*")
|
||||
;; ("terminfo/65" "terminfo/65/*")
|
||||
;; ("integration" "integration/*")
|
||||
;; (:exclude ".dir-locals.el" "*-tests.el")))
|
||||
;; :vc (:url "https://codeberg.org/akib/emacs-eat")
|
||||
:straight (:host codeberg :repo "akib/emacs-eat"
|
||||
:files ("*.el" ("term" "term/*.el") "*.texi"
|
||||
"*.ti" ("terminfo/e" "terminfo/efo/e/*")
|
||||
("terminfo/65" "terminfo/65/*")
|
||||
("integration" "integration/*")
|
||||
(:exclude ".dir-locals.el" "*-tests.el")))
|
||||
:commands (eat eat-make eat-project)
|
||||
:bind (:map eat-semi-char-mode-map
|
||||
("C-c C-t" . ha-eat-narrow-to-shell-prompt-dwim))
|
||||
|
|
41
initialize
41
initialize
|
@ -79,23 +79,8 @@ cat > "$HAMACS_DEST/init.el" <<EOF
|
|||
|
||||
(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):
|
||||
;; (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
|
||||
;; signature if possible:
|
||||
|
@ -113,7 +98,29 @@ cat > "$HAMACS_DEST/init.el" <<EOF
|
|||
(add-to-list 'package-archives
|
||||
'("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
|
||||
;; TODO: Using the latest org-mode
|
||||
|
|
Loading…
Reference in a new issue