It is common for Emacs users to rely on use-package
for declaring
package configurations in their setup. We use this as an example:
;;; For the built-in themes which cannot use `require': (use-package emacs :init ;; Add all your customizations prior to loading the themes (setq modus-themes-italic-constructs t modus-themes-bold-constructs nil modus-themes-region '(bg-only no-extend)) :config ;; Load the theme of your choice: (load-theme 'modus-operandi) ;; OR (load-theme 'modus-vivendi) :bind ("<f5>" . modus-themes-toggle)) ;;; For packaged versions which must use `require': (use-package modus-themes :ensure :init ;; Add all your customizations prior to loading the themes (setq modus-themes-italic-constructs t modus-themes-bold-constructs nil modus-themes-region '(bg-only no-extend)) ;; Load the theme files before enabling a theme (modus-themes-load-themes) :config ;; Load the theme of your choice: (modus-themes-load-operandi) ;; OR (modus-themes-load-vivendi) :bind ("<f5>" . modus-themes-toggle))
The same without use-package
:
;;; For the built-in themes which cannot use `require': ;; Add all your customizations prior to loading the themes (setq modus-themes-italic-constructs t modus-themes-bold-constructs nil modus-themes-region '(bg-only no-extend)) ;; Load the theme of your choice: (load-theme 'modus-operandi) ;; OR (load-theme 'modus-vivendi) (define-key global-map (kbd "<f5>") #'modus-themes-toggle) ;;; For packaged versions which must use `require': (require 'modus-themes) ;; Add all your customizations prior to loading the themes (setq modus-themes-italic-constructs t modus-themes-bold-constructs nil modus-themes-region '(bg-only no-extend)) ;; Load the theme files before enabling a theme (modus-themes-load-themes) ;; Load the theme of your choice: (modus-themes-load-operandi) ;; OR (modus-themes-load-vivendi) (define-key global-map (kbd "<f5>") #'modus-themes-toggle)
Differences between loading and enabling.
Note: make sure not to customize the variable custom-theme-load-path
or custom-theme-directory
after the themes’ package declaration. That
will lead to failures in loading the files. If either or both of those
variables need to be changed, their values should be defined before the
package declaration of the themes.