srcery-colors/srcery-emacs

The dark color scheme for Emacs/Spacemacs. GUI and terminal support

143

stars

353

commits

Emacs Lisp

primary language

Sep 1, 2025

updated

srcery.sh
color-scheme
colorscheme
dark-syntax-theme
emacs
hacktoberfest
spacemacs
srcery
theme
Browse cluster: Terminal color schemes and themes

README

[[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/title.png]]
[[https://melpa.org/#/srcery-theme][file:https://melpa.org/packages/srcery-theme-badge.svg]]
[[https://stable.melpa.org/#/srcery-theme][file:https://stable.melpa.org/packages/srcery-theme-badge.svg]]

Colorscheme with clearly defined contrasting colors and a slightly earthy tone.

** Requirements
   Emacs 24 or above
*** GUI
   Should work out of the box.
*** Terminal

    To use Srcery in the terminal you need to change your terminal emulator’s
    so-called “ASCII” colors to the ones in the table below.

    | TERMCOL        | NR | HEX     | RGB           |
    |----------------+----+---------+---------------|
    | black          |  0 | #1C1B19 | 28,  27,  25  |
    | red            |  1 | #EF2F27 | 239, 47, 39   |
    | green          |  2 | #519F50 | 81,  159, 80  |
    | yellow         |  3 | #FBB829 | 251, 184, 41  |
    | blue           |  4 | #2C78BF | 44, 120, 191  |
    | magenta        |  5 | #E02C6D | 224, 44,  109 |
    | cyan           |  6 | #0AAEB3 | 10, 174, 179  |
    | white          |  7 | #BAA67F | 186, 166, 127 |
    |----------------+----+---------+---------------|
    | bright-black   |  8 | #918175 | 145, 129, 117 |
    | brright-red    |  9 | #F75341 | 247, 83, 65   |
    | bright-green   | 10 | #98BC37 | 152, 188, 55  |
    | bright-yellow  | 11 | #FED06E | 254, 208, 110 |
    | bright-blue    | 12 | #68A8E4 | 104, 168, 228 |
    | bright-magenta | 13 | #FF5C8F | 255, 92, 143  |
    | bright-cyan    | 14 | #2BE4D0 | 43, 228, 208  |
    | bright-White   | 15 | #FCE8C3 | 252, 232, 195 |

    See [[https://github.com/srcery-colors/srcery-terminal][srcery-terminal repository]] for a list of terminal configs.

    In addition to the table above Srcery uses a few unmodified xterm colors.
    Since most terminals have these defined it pads out the color selection
    nicely without over complicating things.

    Make sure your ~$TERM~ supports 256 colors.
** Installation
*** Package.el
    Srcery is available from [[https://melpa.org/][MELPA]]
    #+BEGIN_SRC elisp
    M-x package-install RET srcery-theme
    #+END_SRC
    Then load it with
    #+BEGIN_SRC elisp
    M-x load-theme srcery
    #+END_SRC
    Or add this to your init file:
    #+BEGIN_SRC elisp
    (load-theme 'srcery t)
    #+END_SRC
*** Spacemacs
    Either install using ~package-install~ or add ~srcery-theme~ to
    ~dotspacemacs-additional-packages~, then add ~srcery~ to ~dotspacemacs-themes~
    #+BEGIN_SRC elisp
      (setq-default
       dotspacemacs-additional-packages
       '(srcery-theme)
       dotspacemacs-themes
       '(srcery))
    #+END_SRC
*** Doom Emacs
    Include package in ~doom/packages.el~
    #+BEGIN_SRC elisp
      (package! srcery-theme)
    #+END_SRC
    Set theme in ~doom/config.el~
    #+BEGIN_SRC elisp
      (setq doom-theme 'srcery)
    #+END_SRC
    Run ~doom sync~ to install the package
** Screenshots
*** Lisp
    [[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/emacs/lisp.png]]
    [[https://github.com/tarsius/paren-face][paren-face]] is used to color
    parenthesis.
*** Python / JavaScript
    [[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/emacs/py-js.png]]
*** Rust / Magit
    [[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/emacs/rs-magit.png]]
*** Org / C
    [[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/emacs/org-c.png]]
** Customization
   Srcery has a couple of options that can be tweaked via ~M-x customize~:
*** srcery-org-height
    ~boolean~, default: ~t~

    This toggles the use of varying org headings heights.
*** srcery-invert-matches
    ~boolean~, default: ~nil~

    Toggles whether to inverse-video search matches.

    Make sure your cursor is inverted if this is enabled as otherwise it will
    make the cursor difficult to spot.
*** srcery-invert-region
    ~boolean~, default: ~t~

    Toggle inverse video for region
*** srcery-transparent-background
    ~boolean~, default ~nil~

    Sets the base background color to nil, and relies on underlying terminal
    background color. This only works in the terminal, and the idea behind it is
    that you can use for example ~tmux~ to control the background color.

*** Custom colors
    Its possible to override the base srcery colors.

    Possible colors are:
    srcery-black, srcery-red, srcery-green, srcery-yellow, srcery-blue, srcery-magenta, srcery-cyan, srcery-white
    srcery-bright-black, srcery-bright-red, srcery-bright-green, srcery-bright-yellow, srcery-bright-blue, srcery-bright-magenta, srcery-bright-cyan, srcery-bright-white
    srcery-orange, srcery-bright-orange, srcery-hard-black, srcery-gray-1, srcery-gray-2, srcery-gray-3, srcery-gray-4, srcery-gray-5.

    Bear in mind that changing these will not work in termninal. Set your term colors to whatever you wish to override.

** Supported modes
   - company
   - ein
   - erc
   - gnus
   - helm
   - ido
   - info
   - magit
   - mu4e
   - neotree
   - org
   - evil-snipe
   - paren-face
   - cider
   - dired
   - diredfl
   - flycheck
   - ivy
   - latex
   - powerline
   - spaceline
   - and others, more coming

** Troubleshooting
*** Work in progress
    This theme is a work in progress, if you see something that is off or
    doesn't work please open an [[https://github.com/srcery-colors/srcery-emacs/issues/new][issue]] so it can be fixed.
*** org-bullets and transparent background
    When setting the variable ~srcery-transparent-background~ and you are using
    [[https://github.com/sabof/org-bullets][org-bullets]] the leading asterisks are colored white, which does nothing to
    hide them. The problem is that org-bullets sets the ~:forground~ color to the
    default background color, but when this is ~nil~ this issue arise. I've made a
    [[https://github.com/roosta/org-bullets][fork]] that uses the ~org-hide~ face, fixing this issue. There is also an open
    [[https://github.com/sabof/org-bullets/pull/19][pull request]] that addresses this.

** Attribution
   I'm new to elisp, so I used the [[https://github.com/nashamri/spacemacs-theme][spacemacs-theme]] as a base for emacs-srcery.
   Huge thanks to everyone involved with that theme, and [[https://github.com/syl20bnr/spacemacs][Spacemacs]] itself. I
   also used [[monokai-emacs][Monokai Emacs]] as a blueprint for handling 256 colors properly. Big
   thanks to maintainers of that theme.

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

roosta

341 commits

jasbrg

1 commits

kondanta

1 commits

srcery-colors/srcery-emacs

The dark color scheme for Emacs/Spacemacs. GUI and terminal support

143

stars

353

commits

Emacs Lisp

primary language

Sep 1, 2025

updated

srcery.sh
color-scheme
colorscheme
dark-syntax-theme
emacs
hacktoberfest
spacemacs
srcery
theme
Browse cluster: Terminal color schemes and themes

README

[[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/title.png]]
[[https://melpa.org/#/srcery-theme][file:https://melpa.org/packages/srcery-theme-badge.svg]]
[[https://stable.melpa.org/#/srcery-theme][file:https://stable.melpa.org/packages/srcery-theme-badge.svg]]

Colorscheme with clearly defined contrasting colors and a slightly earthy tone.

** Requirements
   Emacs 24 or above
*** GUI
   Should work out of the box.
*** Terminal

    To use Srcery in the terminal you need to change your terminal emulator’s
    so-called “ASCII” colors to the ones in the table below.

    | TERMCOL        | NR | HEX     | RGB           |
    |----------------+----+---------+---------------|
    | black          |  0 | #1C1B19 | 28,  27,  25  |
    | red            |  1 | #EF2F27 | 239, 47, 39   |
    | green          |  2 | #519F50 | 81,  159, 80  |
    | yellow         |  3 | #FBB829 | 251, 184, 41  |
    | blue           |  4 | #2C78BF | 44, 120, 191  |
    | magenta        |  5 | #E02C6D | 224, 44,  109 |
    | cyan           |  6 | #0AAEB3 | 10, 174, 179  |
    | white          |  7 | #BAA67F | 186, 166, 127 |
    |----------------+----+---------+---------------|
    | bright-black   |  8 | #918175 | 145, 129, 117 |
    | brright-red    |  9 | #F75341 | 247, 83, 65   |
    | bright-green   | 10 | #98BC37 | 152, 188, 55  |
    | bright-yellow  | 11 | #FED06E | 254, 208, 110 |
    | bright-blue    | 12 | #68A8E4 | 104, 168, 228 |
    | bright-magenta | 13 | #FF5C8F | 255, 92, 143  |
    | bright-cyan    | 14 | #2BE4D0 | 43, 228, 208  |
    | bright-White   | 15 | #FCE8C3 | 252, 232, 195 |

    See [[https://github.com/srcery-colors/srcery-terminal][srcery-terminal repository]] for a list of terminal configs.

    In addition to the table above Srcery uses a few unmodified xterm colors.
    Since most terminals have these defined it pads out the color selection
    nicely without over complicating things.

    Make sure your ~$TERM~ supports 256 colors.
** Installation
*** Package.el
    Srcery is available from [[https://melpa.org/][MELPA]]
    #+BEGIN_SRC elisp
    M-x package-install RET srcery-theme
    #+END_SRC
    Then load it with
    #+BEGIN_SRC elisp
    M-x load-theme srcery
    #+END_SRC
    Or add this to your init file:
    #+BEGIN_SRC elisp
    (load-theme 'srcery t)
    #+END_SRC
*** Spacemacs
    Either install using ~package-install~ or add ~srcery-theme~ to
    ~dotspacemacs-additional-packages~, then add ~srcery~ to ~dotspacemacs-themes~
    #+BEGIN_SRC elisp
      (setq-default
       dotspacemacs-additional-packages
       '(srcery-theme)
       dotspacemacs-themes
       '(srcery))
    #+END_SRC
*** Doom Emacs
    Include package in ~doom/packages.el~
    #+BEGIN_SRC elisp
      (package! srcery-theme)
    #+END_SRC
    Set theme in ~doom/config.el~
    #+BEGIN_SRC elisp
      (setq doom-theme 'srcery)
    #+END_SRC
    Run ~doom sync~ to install the package
** Screenshots
*** Lisp
    [[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/emacs/lisp.png]]
    [[https://github.com/tarsius/paren-face][paren-face]] is used to color
    parenthesis.
*** Python / JavaScript
    [[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/emacs/py-js.png]]
*** Rust / Magit
    [[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/emacs/rs-magit.png]]
*** Org / C
    [[file:https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/emacs/org-c.png]]
** Customization
   Srcery has a couple of options that can be tweaked via ~M-x customize~:
*** srcery-org-height
    ~boolean~, default: ~t~

    This toggles the use of varying org headings heights.
*** srcery-invert-matches
    ~boolean~, default: ~nil~

    Toggles whether to inverse-video search matches.

    Make sure your cursor is inverted if this is enabled as otherwise it will
    make the cursor difficult to spot.
*** srcery-invert-region
    ~boolean~, default: ~t~

    Toggle inverse video for region
*** srcery-transparent-background
    ~boolean~, default ~nil~

    Sets the base background color to nil, and relies on underlying terminal
    background color. This only works in the terminal, and the idea behind it is
    that you can use for example ~tmux~ to control the background color.

*** Custom colors
    Its possible to override the base srcery colors.

    Possible colors are:
    srcery-black, srcery-red, srcery-green, srcery-yellow, srcery-blue, srcery-magenta, srcery-cyan, srcery-white
    srcery-bright-black, srcery-bright-red, srcery-bright-green, srcery-bright-yellow, srcery-bright-blue, srcery-bright-magenta, srcery-bright-cyan, srcery-bright-white
    srcery-orange, srcery-bright-orange, srcery-hard-black, srcery-gray-1, srcery-gray-2, srcery-gray-3, srcery-gray-4, srcery-gray-5.

    Bear in mind that changing these will not work in termninal. Set your term colors to whatever you wish to override.

** Supported modes
   - company
   - ein
   - erc
   - gnus
   - helm
   - ido
   - info
   - magit
   - mu4e
   - neotree
   - org
   - evil-snipe
   - paren-face
   - cider
   - dired
   - diredfl
   - flycheck
   - ivy
   - latex
   - powerline
   - spaceline
   - and others, more coming

** Troubleshooting
*** Work in progress
    This theme is a work in progress, if you see something that is off or
    doesn't work please open an [[https://github.com/srcery-colors/srcery-emacs/issues/new][issue]] so it can be fixed.
*** org-bullets and transparent background
    When setting the variable ~srcery-transparent-background~ and you are using
    [[https://github.com/sabof/org-bullets][org-bullets]] the leading asterisks are colored white, which does nothing to
    hide them. The problem is that org-bullets sets the ~:forground~ color to the
    default background color, but when this is ~nil~ this issue arise. I've made a
    [[https://github.com/roosta/org-bullets][fork]] that uses the ~org-hide~ face, fixing this issue. There is also an open
    [[https://github.com/sabof/org-bullets/pull/19][pull request]] that addresses this.

** Attribution
   I'm new to elisp, so I used the [[https://github.com/nashamri/spacemacs-theme][spacemacs-theme]] as a base for emacs-srcery.
   Huge thanks to everyone involved with that theme, and [[https://github.com/syl20bnr/spacemacs][Spacemacs]] itself. I
   also used [[monokai-emacs][Monokai Emacs]] as a blueprint for handling 256 colors properly. Big
   thanks to maintainers of that theme.

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

roosta

341 commits

jasbrg

1 commits

kondanta

1 commits

Languages

Emacs Lisp

100.0%