My Emacs Eye Candy

İsmail Efe Top

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.

Image of my Emacs window

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

Installing Brew

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)"

Installing Emacs

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 emacs

After installing, do not start Emacs. Starting Emacs will create a profile, which will conflict with your doom profile.

Installing Doom

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 install

And now we are ready to hack our Emacs.

Changing the theme

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)

Changing the font

I like using the JetBrains Mono.

;; ~/.config/doom/config.el
(setq doom-font (font-spec :family "JetBrains Mono" :size 22))

Enabling Word Count

This puts a word count in the modeline.

;; ~/.config/doom/config.el
(setq doom-modeline-enable-word-count t)

Disabling hl-line-mode

'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)

The title bar

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)

Removing the tilde signs

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

Olivetti mode

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)

Changing the Icon

Lastly, I like to use this logo. It is quite old but it suits my style.

Home Mail Me RSS Source
🔥⁠🐓