Crafting a Minimal Writing Environment with Emacs

News

Let’s build an Emacs for writing!

The Final Configuration

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)

(setq custom-file (locate-user-emacs-file "custom.el"))
(load custom-file)

;; Get rid of some visual noise
(tool-bar-mode 0)

;; Set up a nice color theme
(use-package ef-themes
  :ensure t
  :config
  (load-theme 'ef-duo-dark t))

(use-package spacious-padding
  :ensure t
  :custom
  (spacious-padding-subtle-mode-line t)
  (spacious-padding-widths
      '( :internal-border-width 30
         :header-line-width 4
         :mode-line-width 10
         :tab-width 4
         :right-divider-width 30
         :scroll-bar-width 8
         :fringe-width 8))
  :config
  (spacious-padding-mode 1))

(use-package fontaine
  :ensure t
  :custom
  (fontaine-presets
   '((regular
      :default-family "JetBrains Mono"
      :default-weight normal
      :default-height 150
      :fixed-pitch-family "JetBrains Mono"
      :fixed-pitch-weight nil ; falls back to :default-weight
      :fixed-pitch-height 1.0
      :variable-pitch-family "Iosevka Aile"
      :variable-pitch-weight normal
      :variable-pitch-height 1.2
      :line-spacing 1)
     (large
      :inherit regular
      :default-height 175
      :variable-pitch-height 1.3)))
  :config
  (add-hook 'enable-theme-functions #'fontaine-apply-current-preset)
  (fontaine-set-preset 'regular))

(use-package org
  :ensure nil)

(use-package variable-pitch-mode
  :ensure nil
  :hook
  (org-mode . variable-pitch-mode))

(use-package visual-line-mode
  :ensure nil
  :hook
  (org-mode . visual-line-mode))

(use-package visual-fill-column
  :ensure t
  :hook (org-mode . visual-fill-column-mode)
  :custom
  (visual-fill-column-center-text t)
  (visual-fill-column-width 110))

(use-package logos
  :ensure t
  :custom
  (logos-outlines-are-pages t)
  (logos-hide-mode-line t))

(defun my/dired-jump-sidebar ()
  (interactive)
  (display-buffer-in-side-window
   (dired-noselect default-directory)
   '((side . left))))

(use-package wc-mode
  :ensure t)

(use-package tmr
  :ensure t)
Subscribe to the System Crafters Newsletter!
Stay up to date with the latest System Crafters news and updates! Read the Newsletter page for more information.
Name (optional)
Email Address