2024-01-14
First of all, this post is directly inspired by Álvaro's work. I love his stuff and he has been a great inspiration for me. I suggest everyone to check out his stuff.
 
    In this post I am planning to walk you through my visual Emacs setup, I will use the Doom Framework. I am planning on making a detail blog post about Emacs, org-mode and how I use them, because of this I will not go into explanation of what Emacs is. There are great sources about Emacs and org-mode on youtube. Until I make that post, you can explore the Emacs world freely.
Edit: I have made that post. Why Use Emacs?
Let's Start
I will be using brew to install Emacs and it's dependencies.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"I am choosing the default cask for Emacs. I tried several different forks of Emacs for MacOS but all of them gave me poor performance on my m2 MacBook Air.
brew install --cask emacsAfter installing, do not start Emacs. Starting Emacs will create a profile, which will conflict with your doom profile.
Doom is a stable framework for Emacs. You can considered like a base config file. It really makes Emacs easy to use out-of-box.
git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs
~/.config/emacs/bin/doom installAnd now we are ready to hack our Emacs.
I used to use the doom-dracula theme. But nowadays my favorite is the kanagawa theme.
;; add this to ~/.config/doom/package.el
(package! kanagawa-theme)Then set your theme to kanagawa.
;; ~/.config/doom/config.el
(setq doom-theme 'kanagawa)I like using the JetBrains Mono.
;; ~/.config/doom/config.el
(setq doom-font (font-spec :family "JetBrains Mono" :size 22))This puts a word count in the modeline.
;; ~/.config/doom/config.el
(setq doom-modeline-enable-word-count t)'hl-line' makes the current line a different color. I don't like it.
;; ~/.config/doom/config.el
(remove-hook 'doom-first-buffer-hook #'global-hl-line-mode)I like the look of an empty unified title-bar, so this removes the text. Only works for MacOS.
;; ~/.config/doom/config.el
(setq ns-use-proxy-icon nil)
(setq frame-title-format nil)There is an ugly tilde sign on empty lines by default. I really don't like it. You can remove it by commenting out the 'vi-tilde-fringe' line in ~/.config/doom/init.el
There is a melpa package called olivetti. This package provides a good look for writing/reading by decreasing the width of the buffer.
;; ~/.config/doom/package.el
(package! olivetti)You can adjust the width with the below line
;; ~/.config/doom/config.el
(setq olivetti-body-width 94)I also start Olivetti Mode automatically on Text Mode buffers
;; ~/.config/doom/config.el
(add-hook 'text-mode-hook 'olivetti-mode)Lastly, I like to use this logo. It is quite old but it suits my style.