i luv my puter <3

Sources Used

https://sirbubbls.github.io/blogging/

https://github.com/doomemacs/doomemacs/

Compiling Emacs from Source

Install dependencies

doas apt-get install software-properties-common
doas add-apt-repository ppa:ubuntu-toolchain-r/ppa
doas apt install gcc-10 g++-10 libgccjit0 libgccjit-10-dev libjansson4 libjansson-dev

Downloading & Installing Vanilla Emacs

git clone git://git.sv.gnu.org/emacs.git gccemacs
export CC=/usr/bin/gcc-10 CXX=/usr/bin/gcc-10
./autogen.sh
./configure --with-cairo --with-modules --without-compress-install --with-x-toolkit=no --with-gnutls=ifavailable --without-gconf --without-xwidgets --without-toolkit-scroll-bars --without-xaw3d --without-gsettings --with-mailutils --with-native-compilation --with-json --with-harfbuzz --with-jpeg --with-png --with-rsvg --with-tiff --with-wide-int --with-xft --with-xml2 --with-xpm CFLAGS="-O3 -mtune=native -march=native -fomit-frame-pointer" prefix=/usr/local
make -j2
doas make install

Getting Started with DOOM Emacs

Downloading & Installing the DOOM framework

git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs
~/.config/emacs/bin/doom install

Editing DOOM Configuration Files

Add the following lines to your config.el file:

I’ll only be customizing my fonts for the time being.

;; Fonts config. I prefer 0xProtoNerdFontMono.
(setq doom-font (font-spec :family "0xProtoNerdFontMono" :size 14))
(setq doom-unicode-font (font-spec :family "0xProtoNerdFontMono" :size 14))
;; For context, which-key is the helper minibuffer that appears when you begin to type a keybind
(setq which-key-use-C-h-commands 't)
;; "SPC k" kills the buffer and the window
(map! :leader "k" #'kill-buffer-and-window)
;; "SPC l" opens the calendar
(map! :leader "l" #'calendar)
;; "SPC b U" updates ibuffer
(map! :leader "b U" #'ibuffer-update)
;; "SPC y n" plays next song
(map! :leader "y n" #'emms-next)
; "SPC y e" plays previous song
(map! :leader "y e" #'emms-previous)
;; "SPC y t" pauses / unpauses the song
(map! :leader "y t" #'emms-pause)
;; "SPC y T"  stops playback
(map! :leader "y T" #'emms-stop)
;; "SPC y -" lowers the volume
(map! :leader "y -" #'emms-volume-lower)
;; "SPC y =" raises the volume
(map! :leader "y =" #'emms-volume-raise)
;; "SPC y p" plays all music in a directory
(map! :leader "y p" #'emms-play-directory)
;; "SPC y s" shuffles the playlist
(map! :leader "y s" #'emms-shuffle)
(emms-all) ;; This func starts emms
(setq emms-player-list '(emms-player-mpv) ;; Sets the player to mpv
      emms-info-functions '(emms-info-native) ;; Sets the song metadata reader
      emms-source-file-default-directory "/home/millie/music/")
;; Sets org header heights
(custom-set-faces
 '(org-level-1 ((t (:inherit outline-1 :height 1.1)))))
;; Sets up org-bullets
(add-hook 'org-mode-hook 'org-indent-mode)
(use-package org-bullets)
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))
;; NOTE: checkout the editorconfig module for ease of use indentation
;; Shows my line numbers in relative mode
(setq display-line-numbers-type 'relative)

Add the following lines to your custom.el file:

(custom-set-variables
 '(org-directory "$HOME/notes/org")
 '(org-agenda-files (list org-directory)))
(put 'emms-browser-delete-files 'disabled nil)

Working with LaTeX

You might want to export your org documents to a PDF. LaTeX has got you covered!

Installing LaTeX

First let’s begin by installing LaTeX.

⚠ Note that these commands must be executed as root

The most minimal install of LaTex I would recommend would be built using the texlive-latex-recommended package:

apt install texlive-latex-recommended

However, compiling LaTeX PDFs via emacs (at least on DOOM) will require a more extensive list of LaTeX packages.

For this we will need to install lots more packages. Enter the following command:

apt install texlive-latex-extra