There are plenty of existing resources online about what Emacs is and how great it is for anything from programming to managing your emails so I will skip all that and show you how I set up my Emacs for development on Void Linux.
Doom Emacs is a distribution of Emacs targeted at Vim users. I use Doom Emacs over Vim or other text editors for 3 main reasons:
- GUI: Doom Emacs has both a terminal mode and a GUI mode, this means that the mouse can be used to select text, navigate the file tree, change tabs and more.
- Versatility: Emacs is the most versatile text editor I’ve ever used. It can be configured to be a fully-featured IDE, a note taking app with org mode, an email client or anything else you want it to be.
- Org Mode: Org mode is great for many things like taking notes in class, writing a novel or keeping a to do list. Using Pandoc org files can be converted into other formats such as PDF, DOCX or HTML.
First of all, the dependencies for Doom Emacs and Emacs itself must be installed.
xbps-install git emacs ripgrep fd
Then we can clone and install Doom Emacs with the following commands.
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d
Once complete, Doom Emacs is installed and can be used however will only work in the terminal and will lack a GUI. to change this the emacs-gtk2 package must be installed.
Whilst Doom Emacs is now fully installed and usable, you may want to do some customization like changing the theme or enabling support for your favorite programming language. To do so we need to edit the init.el and config.el files found in the ~/.doom.d/ directory.
Start by opening the init.el file in vim, nano or any other text editor and read lines 1–16 before proceeding.
Once read, take a look at all the plugins in the (doom! ) brackets and remove the ;; before any plugins you want to use. Personally, I will enable the tabs, treemacs, minimap, vterm, multiple-cursors and tty plugins. under the :lang section, remove the ;; before any languages you use.
Once you’ve selected all the plugins and languages you want to use, open the config.el file found in the same directory as init.el.
on Line 9 & 10, enter your full name and email address within the speech marks.
On line 28 you can select your theme. To find a theme you like, you can visit this Github repository with all the doom-themes. Once you have decided on one, visit this Github repository and find the name of it and replace
(setq doom-theme ‘doom-solarized-dark)
(setq doom-theme ‘<YOUR-THEME-NAME>)
If you plan on using org mode, make a directory where you will keep the files and point (setq org-directory) on line 32 to it. For example:
(setq org-directory “~/org/”)
By this point you will have a fully functional IDE within Doom Emacs, if this post has helped you out, please consider helping me out via my buymeacoffee account.