Emacs configuration
Go to file
2024-01-16 20:37:53 -09:00
eshell Eshell: add personal scripts to path 2023-04-07 14:24:19 -08:00
lisp do a bunch of stuff idk 2024-01-16 20:37:53 -09:00
.gitignore initial commit 2022-06-19 14:13:36 -08:00
early-init.el Handle tramp by pretending it doesn't exist 2022-08-24 19:11:42 -08:00
init.el Switch elpaca-bootstrap-file to a bootstrap script 2023-12-13 19:18:44 -09:00
LICENSE add license 2022-08-28 14:31:25 -08:00
README.org readme: re-indent 2023-03-11 16:24:11 -09:00

Personal working Emacs configuration

Any introduction would be insufficient.

A "literate" configuration would break many things.

Thus I will write of random things included here in no particular order, as my file organization suggests.


TODO Integrations

Completion

Corfu

clean up orderless
integrate with yasnippets

eshell/emacs DWIM

CONTROL FLOW

  1. Check arguments

    1. No args: run new Emacs instance, separate frame, windowed
    2. existing file names: open each in new buffer (`find-file`?) ?(and window)?

      1. non-existent file names

        1. if name of library, edit that library

          1. otherwise edit new file of that name in default-directory
    3. dash options

      1. =-nw=: open in same window
      2. --client=: use =emacsclient instead of emacs
      3. Pass rest of options to exe

/usr/bin/emacs or emacsclient fallback for options

DONE find-library etc

eshell/dat

fix naming and loading

"bcat"

org

denote?

Consult-denote

Fix indentation, appear, variable-pitch

LAG so much lag how to get rid of lag…

mitch/org-dwim-char

work smarter on heading lines and between words
If at beginning and this-command-key is =*=, just type it once

Face for headlines and nested bullet lists

Man

defvaralias error

highlighting? Surely it's possible

if not just render with bat or html

Documentation

datcat

mitch-theme

dconf-mode

Linum-relative

Archive fork

write article about why even

propose update to nlinum-relative to remove linum dependency

ani-el

Fix it not working

Re-write onto comint?

inject redefined functions into copy of script?

find-file

Follow symlinks without asking, maybe print message

Hyperbole

dragging

window operations

org-vw links (?) like vimwiki


Packages

Everything is in the file =lisp/mitch-packages.el=. There are things in other files but they mostly never change - see the commit history.

TRAMP

Generally, tramp is mostly fine. But if there are problematic configurations, it will be very slow and time out and it will hang Emacs. I've had terrible luck with it until just today (at the time of writing) and I'm legitimately shocked it isn't terrible. Hooray! but also come on.

Evil

vim keys are indispensable to me. Legit I cannot live without them very well. Most all of my evil configuration is very boilerplate, but I'd like to think that's fine.

VIPER is also a thing built into Emacs. It's probably not that bad, but the defaults are very unintuitive compared to evil-collection.

EShell

I like eshell - it reminds me of the configuration I liked about zsh, and the composability I love about powershell.

The EAT terminal is also just amazing.

NLinum-relative

is a thing. It requires nlinum which requires linum which is deprecated. This is all for a single face declaration which is VERY UNNECESSARY. Just define it the same and force theme authors to add a declaration. or /inherit from the built-in display-line-numbers face/.

mitch-theme

In a separate repo there is a theme I made. It's not a good theme and I'm insane. But I can't stand normal themes. By all accounts there is something wrong with my eyes. Shut up.

YAscroll

"yet another scroll" yet there is no other scrollbar. If anyone knows of one, tell me.

I re-define a display function in my config because I'm using background transparency and otherwise it looks all chunky with the face declaration.

Org

A good idea and usable, but I currently disable most fancy things because it gets very slow otherwise. I've ran profilers and debuggers and the problem is related to redisplay.

org-tempo

I want to get rid of this and just use yasnippets, but oh well.

ox-hugo

I have a function that automatically re-generates all the hugos.