The biggest things have been utilities for running shells in Emacs (totally changed my day-to-day programming workflow for the better) and org-mode stuff (notes, slides for presentations, todos/scheduling/etc)
But a lot of other things have been more like small conveniences or one-off improvements—things that would not make sense if they took more than 20 minutes to write, but do make sense in Emacs. A few random examples: some custom ways to enter Unicode characters; a command to insert TODO comments; a different way to manage Emacs windows; a little package for jumping to locations I care about; a way to insert a file path into a buffer; a work-specific tool to go from UUIDs to internal URLs; some random stuff for authoring a book with Pandoc + LaTeX; a command to insert Haskell LANGUAGE pragmas (contributed upsteam!); and a bunch more that I'm forgetting.
As a bonus, writing these meant I didn't have to "learn" them in the sense that I know they exist and, if I gave them a keybinding, I did not have to memorize it.
None of these are a big deal on their own! But having an environment that reduces the friction to make small improvements is. Having a tool that I can orient around the way I want to work is qualitatively different from having a tool that makes me orient around how it works.
It's not even that much customization in some absolute sense; everything fits into a few thousand lines of Elisp spread across a few files in my dotfiles repo[1].
But a lot of other things have been more like small conveniences or one-off improvements—things that would not make sense if they took more than 20 minutes to write, but do make sense in Emacs. A few random examples: some custom ways to enter Unicode characters; a command to insert TODO comments; a different way to manage Emacs windows; a little package for jumping to locations I care about; a way to insert a file path into a buffer; a work-specific tool to go from UUIDs to internal URLs; some random stuff for authoring a book with Pandoc + LaTeX; a command to insert Haskell LANGUAGE pragmas (contributed upsteam!); and a bunch more that I'm forgetting.
As a bonus, writing these meant I didn't have to "learn" them in the sense that I know they exist and, if I gave them a keybinding, I did not have to memorize it.
None of these are a big deal on their own! But having an environment that reduces the friction to make small improvements is. Having a tool that I can orient around the way I want to work is qualitatively different from having a tool that makes me orient around how it works.
It's not even that much customization in some absolute sense; everything fits into a few thousand lines of Elisp spread across a few files in my dotfiles repo[1].
[1]: https://github.com/TikhonJelvis/dotfiles/tree/main/home/emac...