3

I'm trying to move from el-get to use-package. I am having trouble with smart-mode-line-powerline-theme. Emacs complains at startup time with

(error "Unable to find theme file for ‘smart-mode-line-powerline’")

Here is a minimialized version of a startup file that tries to get the relevant bits to work:

(require 'package)
(setq package-enable-at-startup nil)
(add-to-list 'package-archives '("melpa"     . "http://melpa.org/packages/"))
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
(add-to-list 'package-archives '("gnu"       . "http://elpa.gnu.org/packages/"))
(package-initialize)

(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package))

(eval-when-compile
  (require 'use-package))
(require 'diminish)
(require 'bind-key)

(setq use-package-always-ensure t)
(put 'use-package 'lisp-indent-function 1)

(use-package powerline) ; seems to be required for smart-mode-line powerline theme

(use-package smart-mode-line
  :config (progn
            (require 'smart-mode-line)
            (setq sml/theme 'respectful)
            (sml/setup)
            (sml/apply-theme 'powerline)))

el-get creates a directory emacs.d/el-get/smart-mode-line containing a git clone of the smart-mode-line repository, including a themes directory which contains smart-mode-line-powerline-theme.el (and a light variant).

use-package creates a directory emacs.d/elpa/smart-mode-line-20170708.1317 which contains the standard sml themes, but without the themes subdirectory in which the powerline themes live.

How can I get around this glitch?

jacg
  • 335
  • 2
  • 12

1 Answers1

7

have you tried that for example:

(use-package smart-mode-line-powerline-theme
   :ensure t
   :after powerline
   :after smart-mode-line
   :config
    (sml/setup)
    (sml/apply-theme 'powerline)
)
slemaguer
  • 359
  • 1
  • 2