How are you setting your theme? Anything in the *Messages*
buffer? Emacs has this feature where it will warn you that themes run arbitray lisp, and you need to interactively confirm that you’re ok with that. When using the daemon you might trigger that without being able to confirm it, which is usually how I lose my theme.
For what it’s worth, my config works with this: https://github.com/TLATER/dotfiles/blob/f47850e93ef32a29401d4f1cec5ba1c9dec3fe2d/dotfiles/emacs.d/init.el#L136
Edit: Whoops, sorry. Was wondering what those links were after commenting. I’m very smart.
You disable theme loading when not in a graphical env:
(when (boundp 'enable-color-theme)
(if (display-graphic-p)
;; load solarized color theme
(use-package solarized-theme
:ensure t
:config
(setq solarized-use-variable-pitch nil)
(setq solarized-scale-org-headlines nil)
(setq solarized-high-contrast-mode-line t)
(set-face-inverse-video 'region nil)
(load-theme 'solarized-light t))))
When the daemon starts, it’s not in a graphical env, so it doesn’t load the theme.