diff options
| -rw-r--r-- | doom/.config/doom/config.el | 16 | ||||
| -rw-r--r-- | doom/.config/doom/config.org | 117 | ||||
| -rw-r--r-- | doom/.config/doom/packages.el | 41 | ||||
| -rw-r--r-- | git/.gitconfig | 4 |
4 files changed, 123 insertions, 55 deletions
diff --git a/doom/.config/doom/config.el b/doom/.config/doom/config.el index d8a7bad..02f9c9f 100644 --- a/doom/.config/doom/config.el +++ b/doom/.config/doom/config.el @@ -180,6 +180,11 @@ (add-to-list 'mm-discouraged-alternatives "text/html") (add-to-list 'mm-discouraged-alternatives "text/richtext")) +(map! + :leader + :prefix "o" + :desc "Mail" "m" #'gnus) + (use-package! jabber :config @@ -375,6 +380,7 @@ emms-cache-file (concat doom-cache-dir "emms-cache")) (apply fn args)))) (setq org-directory "~/org/") +(setq org-agenda-files "~/org/todo.org") (after! org (setq @@ -579,16 +585,6 @@ org-html-postamble nil)) :desc "Elpher" "e" #'elpher :desc "Browse Elpher" "b" #'elpher-browse-url-elpher) -(use-package! mosey - :commands (mosey-forward mosey-backward - mosey-forward-bounce mosey-backward-bounce - mosey-forward-cycle mosey-backward-cycle)) - -(map! :leader - (:prefix ("k" . "mosey") - :desc "Mosey backward" "a" #'mosey-backward-bounce - :desc "Mosey forward" "e" #'mosey-forward-bounce)) - (map! :leader :prefix "o" diff --git a/doom/.config/doom/config.org b/doom/.config/doom/config.org index 1216415..deb8454 100644 --- a/doom/.config/doom/config.org +++ b/doom/.config/doom/config.org @@ -34,7 +34,13 @@ Load the directory with additional, local themes This currently mostly loads the emacs port of the Evergarden theme (made by me!) at [[https://codeberg.org/roughlynamed/emacs-evergarden][roughlynamed/emacs-evergarden]], also the fortune-gold theme. The reason i use modus-vivendi instead of my evergarden port is because i dont like evergarden (dont tell the devs though!), seeing it not have an emacs port just made me sad. -I also use tango from time-to-time, thats the comment. + +For this to work, we need modus & ef themes installed. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! modus-themes) + (package! ef-themes) +#+end_src + #+begin_src emacs-lisp (add-to-list 'custom-theme-load-path "~/.config/doom/extra-themes/") @@ -61,6 +67,10 @@ I dont like rln, i just dont ** Modeline mood-line is a nice & simple modeline for emacs! +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + ;; (package! mood-line) +#+end_src + #+begin_src emacs-lisp ;; (use-package! mood-line ;; :config @@ -70,9 +80,12 @@ mood-line is a nice & simple modeline for emacs! #+end_src The above is commented if the below is in action. I might try out the default Emacs modeline for a bit sometime, or maybe spacemacs' ~spaceline~ - +** Minions The default Emacs modeline, by default, spills out EVERY minor & major mode into the modeline. That's kind of yucky, so the ~minions~ package fixes it by hiding most of them & having a menu for which to show. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! minions) +#+end_src Now, let's configure it! #+begin_src emacs-lisp @@ -109,6 +122,11 @@ Scroll margin - when the cursor reaches 3 lines above/below the window bottom/to Breadcrumb is a package that shows you where you are in a file at the very top of the window. Editing this section of this file, the breadcrumb shows: ~stow/d/.config/doom/config.org : UI~, this is because we are in the UI section of the file. + +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! breadcrumb) +#+end_src + #+begin_src emacs-lisp (use-package! breadcrumb :defer t @@ -160,6 +178,10 @@ eglot-ensure makes sure that eglot is enabled and working when opening a prog-mo #+end_src Then we can set up ~eglot-booster~, which adds ~emacs-lsp-booster~ integration into eglot. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! eglot-booster + :recipe (:host github :repo "jdtsmith/eglot-booster")) +#+end_src emacs-lsp-booster, well, boosts lsp (with rust!) #+begin_src emacs-lisp (use-package! eglot-booster @@ -265,7 +287,11 @@ Here we hook the new oxfmt formatter into: ** Auth To send mail, we need to log into everything. Instead of typing out passwords every time, we use the ~~.authinfo.gpg~ file (can also be without the gpg encryption). -First we set up pinentry. +First we install & set up pinentry. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! pinentry) +#+end_src + #+begin_src emacs-lisp (use-package! pinentry :config @@ -373,10 +399,21 @@ I'm not a fan of html in my emails as i find it rendering bad and being hard to (add-to-list 'mm-discouraged-alternatives "text/html") (add-to-list 'mm-discouraged-alternatives "text/richtext")) #+end_src + +While we're at it, let's make opening gnus easier. +#+begin_src emacs-lisp + (map! + :leader + :prefix "o" + :desc "Mail" "m" #'gnus) +#+end_src * Jabber ~Jabber? I hardly know her!~ Excuse the bad pun, jabber.el is a way to use XMPP in Emacs. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! jabber) +#+end_src #+begin_src emacs-lisp (use-package! jabber :config @@ -415,9 +452,10 @@ As to not rely on ~M-x~ commands, define a binding as so #+end_quote EMMS, the Emacs MultiMedia System (but mostly its just used for music). -Now, emms has this issue where mpd and the emms cache fall out of sync. This is a documented issue so lets make them catch up by default. +EMMS has a Doom Emacs module, so it doesnt require a ~(package!)~ line -Let's make a quick helper function. + +Here, a quick function to help with mpd caching on emms (a documented issue) #+begin_src emacs-lisp (defun emms--wait-for-mpd-update (callback) "Poll MPD status until updating_db clears, then call CALLBACK." @@ -450,6 +488,7 @@ And wire it into emms Declare the package block and set up the commands. ~:commands~ in elisp is used to eagerly load functions even when a package is lazy loaded. The following makes the commands ~emms~ and ~emms-browser~ available even before emms itself is loaded. + #+begin_src emacs-lisp (use-package! emms :commands (emms emms-browser emms-player-mpd-update-all emms-cache-set-from-mpd-all) @@ -599,9 +638,8 @@ I tried my best to match these to the default bindings under ~C-x v~ #+end_src ** vc-jj ~vc-jj~ adds jujutsu integration to Emacs's ~vc~! -#+begin_src emacs-lisp :tangle no - ;; required in packages.el - ;; (package! vc-jj) +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! vc-jj) #+END_SRC Then, we actually enable it. @@ -687,6 +725,7 @@ Org is Emacs's version of markdown, and is what this file is written in. Tell org what directory to use #+begin_src emacs-lisp (setq org-directory "~/org/") + (setq org-agenda-files "~/org/todo.org") #+end_src Now it's time to get to the guts; the main org config. But first, some good 'ol self-documenting code: @@ -717,11 +756,15 @@ Every code block defined above and below is made via org-babel and the following (C . t) (lisp . t)))) #+end_src + ** poly-org ~poly-org~ lets you use LSP and autocompletion in org code blocks without pressing ~C-c '~ By default, org lets you 'enter' code blocks with ~C-c '~ and have actual autocompletion/LSP features. -But, typing that every block is annoying (especially with a literate config), that's why ~poly-org~ does the same thing* as ~C-c '~, but it happens when -the cursor hovers over a block. +But, typing that every block is annoying (especially with a literate config), that's why ~poly-org~ does the same thing* as ~C-c '~, but it happens when the cursor hovers over a block. + +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! poly-org) +#+end_src #+begin_src emacs-lisp (use-package! poly-org :hook (org-mode . poly-org-mode)) @@ -749,6 +792,11 @@ When capturing a new org note, all windows are deleted, and the capture window i As much as i'd love to put it under its own higher header, that would be nonsensical. Org roam is org's way of a Zettelkasten style knowledge place. Something like obsidian, logseq or ~zk~. Another plus is everything lives in a ~SQLite~ database. +Here we unpin org-roam from Doom's version, as it is reccomended for custom configs like this. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (unpin! org-roam) +#+end_src + Point org-roam at the org directory (declared seperately). #+begin_src emacs-lisp (after! org-roam @@ -881,8 +929,11 @@ Dont postamble in generated html ** org-roam-ui ~org-roam-ui~ makes a Obsidian-like graph available in the browser. It makes a pretty graph of all your notes and puts it at http://localhost:35901. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! org-roam-ui) +#+end_src -Required websocket +Websocket required #+begin_src emacs-lisp (use-package! websocket :after org-roam) #+end_src @@ -900,6 +951,10 @@ org-roam config ** org-appear Org appear makes it so that inline code blocks (=~~=), words marked verbatim (====) and (hyper)link syntax hide when viewing the file and appear when hovered on for easy editing. for example =[[id:xqyz][emacs]]= will become =emacs= when viewing the file, but turn into the original when the cursor is over the text. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! org-appear) +#+end_src + #+begin_src emacs-lisp (use-package! org-appear :hook (org-mode . org-appear-mode) @@ -911,6 +966,10 @@ for example =[[id:xqyz][emacs]]= will become =emacs= when viewing the file, but #+end_src ** org-modern-indent Because doom's org ~+pretty~ flag turns on org modern, and org-modern is incompatible with ~org-startup-indented~, we use the ~org-indent-modern~ package +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! org-modern-indent + :recipe (:host github :repo "jdtsmith/org-modern-indent")) +#+end_src #+begin_src emacs-lisp (use-package! org-modern-indent :defer t @@ -1024,8 +1083,11 @@ Elpher? I hardly know her! #+end_quote Elpher is a way to use the Gemini and Gopher protocols in Emacs. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! elpher) +#+end_src #+begin_src emacs-lisp -(use-package! elpher) + (use-package! elpher) #+end_src There's not much config needed except 1 (one) binding #+begin_src emacs-lisp @@ -1040,23 +1102,6 @@ There's not much config needed except 1 (one) binding The ones that dont belong #+END_QUOTE These packages are (mostly) defined in ~packages.el~ and configured here. -** TODO mosey -Mosey lets you ~Mosey down~ (get it?) to different points in a code block. -#+begin_src emacs-lisp -(use-package! mosey - :commands (mosey-forward mosey-backward - mosey-forward-bounce mosey-backward-bounce - mosey-forward-cycle mosey-backward-cycle)) -#+end_src -TODO: make this work properly and not just go to the start/end of line -*** Keybinds -Keybinds for mosey, under K because m was taken by localleader bindings -#+begin_src emacs-lisp -(map! :leader - (:prefix ("k" . "mosey") - :desc "Mosey backward" "a" #'mosey-backward-bounce - :desc "Mosey forward" "e" #'mosey-forward-bounce)) -#+end_src ** Woman ~woman~ is a way to view man pages straight in Emacs, without shelling out to the actual ~man~ binary, it stands for ~without man~ @@ -1083,6 +1128,9 @@ These are only bindings as dired is pre-installed on Emacs. ** eat ~eat~ (emulate a terminal) is a terminal emulator, in elisp, for emacs! It is not available as a doom emacs module, so we declare it manually. +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! eat) +#+end_src #+begin_src emacs-lisp (use-package! eat :defer t) @@ -1102,7 +1150,10 @@ This is pushing it. #+end_quote nov.el is a way to read EPUB's in Emacs! because why buy a kindle if you have GNU? -Requires ~(package! nov)~ in packages.el (doom) +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! nov) +#+end_src + #+begin_src emacs-lisp (use-package! nov :mode ("\\.epub\\'" . nov-mode) @@ -1126,6 +1177,12 @@ Requires ~(package! nov)~ in packages.el (doom) :n "t" #'nov-goto-toc)) #+end_src +** try +~try~ is a package that lets you ~try~ out other packages without fully installing them! +#+begin_src emacs-lisp :tangle ~/.config/doom/packages.el + (package! try) +#+end_src +That's about all ~try~ needs. * Tramp Tramp is a way to edit files via SSH and root owned files in Emacs. diff --git a/doom/.config/doom/packages.el b/doom/.config/doom/packages.el index f04f49d..b486f62 100644 --- a/doom/.config/doom/packages.el +++ b/doom/.config/doom/packages.el @@ -1,21 +1,36 @@ -;;; $DOOMDIR/packages.el -*- lexical-binding: t; no-byte-compile: t -*- -(package! jabber) -(package! mood-line) -(package! try) (package! modus-themes) (package! ef-themes) + +;; (package! mood-line) + +(package! minions) + +(package! breadcrumb) + +(package! eglot-booster + :recipe (:host github :repo "jdtsmith/eglot-booster")) + +(package! pinentry) + +(package! jabber) + +(package! vc-jj) + +(package! poly-org) + (unpin! org-roam) + (package! org-roam-ui) -(package! breadcrumb) + (package! org-appear) -(package! elpher) -(package! poly-org) -(package! eat) + (package! org-modern-indent :recipe (:host github :repo "jdtsmith/org-modern-indent")) + +(package! elpher) + +(package! eat) + (package! nov) -(package! pinentry) -(package! eglot-booster - :recipe (:host github :repo "jdtsmith/eglot-booster")) -(package! vc-jj) -(package! minions) + +(package! try) diff --git a/git/.gitconfig b/git/.gitconfig index 4a21c7c..207c5fd 100644 --- a/git/.gitconfig +++ b/git/.gitconfig @@ -5,8 +5,8 @@ [tag] gpgSign = true [user] - name = Zofia Szweda - email = sophies@disroot.org + name = Magdalena Szweda + email = hi@roughlynamed.net signingkey = B9CF59FE57835F89ECB33FD417CA809770F85511 [includeIf "gitdir:~/stow/"] |
