DarkPlum is a dark purple theme, originally based on the Rebecca theme.
- Tweaked some colors to provide more consistency and better contrast
- Added support for lsp-mode colors
- Added support for line number colors
- Improved general support for colors like
warningorsuccess - Rainbow delimiters now have more colors
If you manage your emacs configuration through home manager then you can enable darkplum with an overlay. For example if you are using home-manager:
{pkgs, ...}:
{
programs.emacs = {
enable = true;
overrides = self: super: rec {
darkplum-theme = self.melpaBuild rec {
name = "darkplum-theme";
pname = "darkplum-theme";
version = "0.0.2";
src = pkgs.fetchFromGitHub {
owner = "rebeccaskinner";
repo = "darkplum-theme";
rev = "7a93038ede49c1c30e540d510d54ef83e00c2bce";
sha256 = "0rsfvx8nsq9sbkdzs4mjqfwsqdwg5zz9y4wyqq05pamdhchmy2al";
};
recipe = pkgs.writeText "recipe" ''
(darkplum-theme
:repo "rebeccaskinner/darkplum-theme"
:fetcher github)
'';
installPhase = ''
runHook preInstall
archive="$NIX_BUILD_TOP/source/$ename.el"
if [ ! -f "$archive" ]; then
echo "archive not found ($archive)"
archive="$NIX_BUILD_TOP/packages/$ename-$version.tar"
fi
emacs --batch -Q \
-l "$elpa2nix" \
-f elpa2nix-install-package \
"$archive" "$out/share/emacs/site-lisp/elpa"
runHook postInstall
'';
meta = {
description = "A dark purple theme for emacs";
longDescription = "A dark purple theme for emacs";
};
license = pkgs.lib.licenses.gpl3Plus.spdxId;
};
};
extraPackages = epkgs: with epkgs; [
darkplum-theme
# other packages go here
];
};
home.file.".emacs.d" = {
source = ./emacs.d;
recursive = true;
};
}If you wish to update darkplum to the latest version, you can get the most
recent commit from github or from the repo by running git log. Update the rev
field of the overlay to the commit you wish to use. You can calculate the
sha256 field using nix-prefetch-url, for example:
nix-prefetch-url --unpack "https://github.com/rebeccaskinner/darkplum-theme/archive/<rev>.tar.gz"
If you aren't using nix, you can install the theme manually. Clone this repo and
copy darkplum-theme.el to your emacs configuration directory (generally
${HOME}/.emacs.d/).
If you are not using the emacs deamon you can enable the theme by adding the
line below to your configuration file (${HOME}/.emacs.d/init.el):
(load-theme 'darkplum t)
Restart emacs and the theme should be loaded.
If you are using emacs clients with a single emacs deamon service, you might find that the theme does not load correctly when loaded the simple way. You can work around this by adding a frame hook to load the theme after creating a new frame attached to the deamon. Add the following to your emacs configuration file:
(defun configure-look-and-feel ()
"Run some stuff after init, like setting a theme and disabling scrollbars."
;; Setup theme
(load-theme 'darkplum t)
)
(defun deamon-look-and-feel (frame)
"Wrapper to run look-and-feel per FRAME with emacsclient."
(select-frame frame)
(configure-look-and-feel)
)
(if (daemonp)
(add-hook 'after-make-frame-functions #'deamon-look-and-feel)
(configure-look-and-feel)
)This theme is still unfinished, and has does not yet support many editing modes. It has also not been well tested in non-graphical environments.





