#+TITLE:Doomed Chicken * Preface This is another attempt at making a decent Emacs configuration for the chicken I am. Having multiple files with a poor consistence or a directed goal always bit me in the back relatively quickly. So this time, I'll try to write something documenting my process to warn my future me about my current configuration mishaps. * The first steps in the look&feel ** The colors Lately, I have been partial towards Gruvbox, for multiple reasons, the first being that I was tired of all those blue themes. It's a warm colorscheme, it has a good contrast in most of the situations and I built my whole's old laptop UI based on Gruvbox. Good thing Doom Emacs has a preset for this specific colorscheme. #+begin_src emacs-lisp (setq doom-theme 'doom-gruvbox) #+end_src ** The fonts The other basic configuration I usually do first too is setting a font. PragmataPro has been my newest typographic friend as it's /really/ good for what it's made for: displaying text in a flexible yet consistent way. I really like the small touches like the ligatures #+begin_src emacs-lisp (let ((base-size 12)) (setq doom-font (font-spec :family "PragmataPro Mono Liga" :size base-size) doom-variable-pitch-font (font-spec :family "PragmataPro Liga" :size base-size) doom-unicode-font (font-spec :family "PragmataPro Liga" :size base-size) doom-big-font (font-spec :family "PragmataPro Liga" :size (* base-size 2)))) #+end_src PragmataPro's ligatures have been toggled within ~init.el~ though the ~pretty-code~ layer and it's optional specialization for this font. No more setting is to be done for this font. ** Tweaks *** Gruvbox and Solaire-mode #+begin_quote \[T]/ #+end_quote This is an attempt at hacking ~+doom-solaire-themes~ to add Gruvbox as a working theme as the original theme has multiple background options. Sadly, I can't make it work yet on Windows for some reason, solaire doesn't just do its background swap when swapping buffers. So it'll be commented out until I see if it somehow works. #+begin_src emacs-lisp ;; (setq +doom-solaire-themes (append +doom-solaire-themes ;; '((doom-gruvbox . t)))) #+end_src * Functions ** Blog helpers *** TODO Draft list Org mode is awesome, that's a fact. I tried to look into making org my blog framework/builder but I couldn't. I switched to Hugo and reconverted my blog files into Markdown. Hugo has a few utilities, notably listing draft posts. I wrote a while ago a function to list drafts and feed them to helm. Doom Emacs seems to use ivy as file browser, so I have to adapt it to feed Ivy. #+begin_src emacs-lisp ;; (defun chicken/list-hugo-drafts() ;; (interactive) ;; (let* ((default-directory (projectile-project-root)) ;; (selected-file (helm ;; :sources ;; (helm-build-async-source ;; "Draft blog posts" ;; :candidates-process (lambda () ;; (start-process ;; "hugo" ;; nil ;; "hugo" ;; "list" ;; "drafts"))) ;; :buffer ;; "*helm hugo drafts*"))) ;; (when selected-file ;; (find-file (concat default-directory selected-file))))) #+end_src