Omg haskell is so fidgety on Emacs. Or maybe doom is badly configured?
Anyway, using dante I can setup a comfy way to edit stuff in org mode
and directly in an hs file.
Instead of having a really distributed and sparse code structure over
the /home/user directory, I've put all code in the code directory.
The directory structure is now like this.
~/Programming -> ~/Code/Learning
~/Projects -> ~/Code/Projects;
~/Projects/Templates -> ~/Code/Templates;
Similar to my previous refactoring, I am just repositioning some
documentation around the code blocks to be at the start rather than the
end. This is for the literate system particularly
I've setup sddm to not load in bootup, because usually if I've restarted
my system then getting onto a terminal will allow me to quickly debug
without loading and bootstrapping and entire GUI. I don't restart my PC
often, so if I do it's likely cos I'm debugging some OS level bug.
Furthermore, accessing the terminal directly will give me a bit more
control over whether to load a GUI or not. And it's just faster.
Instead of using "use-package!" which will handle loading stuff,
flyspell is already in the hook for org mode. Therefore, inherently,
org-mode and flyspell will be loaded automatically in tandem. So I just
made a map! call that will run after flyspell and org have been loaded,
then just set-up the key binds itself.
Ivy-posframe now only applies to a set of functions through the
ivy-display-functions-alist. Some functions just aren't meant to be
posframed and are incredibly slow when using posframes, so I don't put
those in the list. Those functions in the list are functions that have a
negligible change in performance while providing a much better
experience via posframe.
org-directory and org-agenda-files are annoying to setup and are vital
to using emacs for me. I don't load org-mode files necessarily before
using these variables. Thus, set them outside of the (after! org) call,
then do the mapping inside (after! org) because this is a very important system.
LSP config that triggers lsp-ui-doc-mode when lsp is loaded. Also sets
lsp-ui-doc-position to top because it's really annoying to see it pop up
on cursor.
Keymap needs to be split because oh god trying to edit it as one huge
block was a bad idea. Instead split it into module components and write
there. Easier to navigate, edit and consider than one massive block.
No need to send my shit elsewhere, I'll handle timing myself if
necessary. I really don't use this service anymore, and honestly it's
more of a hassle than needed.
+childframe for ivy as it is useful, can configure it to go anywhere
-lsp for haskell because it doesn't work
+pomodoro for the pomodoro technique
+rust with lsp because I want to start learning rust
gentemplate from sh but in Emacs!
Uses magit-clone to get the repositories, and can actually detect if
you're offline just to use a different version that copies it locally
from your machine.
I've finally moved on with doom to SPC s instead of SPC /. SPC s is
faster than /. Most of the functions are on their excluding searching
via etags, so I just need that.