ouroboros-emacs-themes/README.org

2.4 KiB

Ouroboros Themes

Ouroboros is a collection of four emacs themes inspired by the alchemical process: melanosis, leucosis, xanthosis, and iosis.

These four stages correspond to four colours which are the focal point of each theme.

They also correspond to four stages of the day, with future intent being to transition between themes depending on the current time - a dynamic theme. This is currently limited by me not knowing a good way to interpolate theme colors in emacs.

Theme Primary Time of Day Inspiration
Melanosis Black Midnight Night Sky
Xanthosis Yellow Dawn Yellowing ABS
Leucosis White Mid-day Opal
Iosis Red/Purple Dusk Sunset

Installation

The four theme files in this repository can be copied to your emacs user directory, where emacs will recognise them on startup.

Alternatively, the following snippet can be used to install the themes via Straight.

  ;; Load package through straight
  (straight-use-package
   '(ouroboros-emacs-themes :type git
  			  :host nil
  			  :repo "https://git.cyan.sh/BirDt/ouroboros-emacs-themes.git"
  			  :files ("*.el")))

  ;; Add build dir to custom theme load path
  (add-to-list 'custom-theme-load-path
  	     (expand-file-name (concat "straight/" straight-build-dir "/ouroboros-emacs-themes/") user-emacs-directory))

  ;; Load melanosis
  (load-theme 'melanosis t)

Supported Packages

Ouroboros aims to support the following additional Emacs packages natively with every theme:

  • Treemacs
  • Beacon
  • Magit
  • Telephone Line
  • Org Modern (and Org Mode), including variable-pitch-mode
  • Company
  • Rainbow Delimiters
  • HL-todo mode

Screenshots

/BirDt/ouroboros-emacs-themes/media/branch/master/preview.gif

Future

Future plans listed here:

  • Automatic, time based transitioning between themes, with cross-fading. See preview gif for prototype example (but not that contrast between background and foreground will be better in the actual implementation).

Dependencies

Fonts

  • Monaspace Fonts for fixed width fonts and nerd fonts (frozen fonts in particular are currently a requirement)
  • Crimson Pro for variable width serif fonts
  • Ysabeau for variable width sans serif fonts