117 lines
3.2 KiB
EmacsLisp
117 lines
3.2 KiB
EmacsLisp
|
|
;;
|
|
;; Theme and appearance settings
|
|
;;
|
|
|
|
;; modus themes toggle
|
|
(defcustom thwap-ui-themes nil
|
|
"Choose the themes to install."
|
|
:type '(set (const :tag "Modus themes" modusthemes)
|
|
(const :tag "Doom themes" doomthemes)
|
|
(const :tag "Sublime themes" sublimethemes)
|
|
(const :tag "Kaolin themes" kaolinthemes)
|
|
(const :tag "Alect themes" alectthemes)
|
|
(const :tag "Wombat themes" wombat))
|
|
:group 'thwap-config)
|
|
|
|
;; theme to load
|
|
(defcustom thwap-ui-theme nil
|
|
"Name of the theme to load."
|
|
:type 'string
|
|
:group 'thwap-config)
|
|
|
|
;; all-the-icons toggle
|
|
(defcustom thwap-ui-icons nil
|
|
"Choose the icon sets to install."
|
|
:type '(choice (const :tag "None" nil)
|
|
(const :tag "All-the-icons" alltheicons)
|
|
(const :tag "Nerd-icons" nerdicons))
|
|
:group 'thwap-config)
|
|
|
|
|
|
; theme bits
|
|
|
|
(when (memq 'modusthemes thwap-ui-themes)
|
|
(straight-use-package 'modus-themes)
|
|
(require 'modus-themes)
|
|
(message "Modus themes loaded."))
|
|
|
|
(when (memq 'doomthemes thwap-ui-themes)
|
|
(straight-use-package 'doom-themes)
|
|
(require 'doom-themes)
|
|
(message "Doom themes loaded."))
|
|
|
|
(when (memq 'sublimethemes thwap-ui-themes)
|
|
(straight-use-package 'sublime-themes)
|
|
(require 'sublime-themes)
|
|
(message "Sublime themes loaded."))
|
|
|
|
(when (memq 'kaolinthemes thwap-ui-themes)
|
|
(straight-use-package 'kaolin-themes)
|
|
(require 'kaolin-themes)
|
|
(message "Kaolin themes loaded."))
|
|
|
|
(when (memq 'alectthemes thwap-ui-themes)
|
|
(straight-use-package 'alect-themes)
|
|
(require 'alect-themes)
|
|
(message "Alect themes loaded."))
|
|
|
|
(when (memq 'wombat thwap-ui-themes)
|
|
'(thwap-ui-theme 'wombat)
|
|
(message "Wombat themes loaded."))
|
|
|
|
;; load the theme specified in the config if it is set
|
|
;; if things look wonky, you probably either need to install the
|
|
;; theme or you need to check your spelling.
|
|
(if thwap-ui-theme
|
|
(load-theme thwap-ui-theme :no-confirm)
|
|
(message "Theme loaded: %s" thwap-ui-theme))
|
|
|
|
;; icon bits
|
|
|
|
(when (and (eq 'alltheicons thwap-ui-icons) (not (eq 'nerdicons thwap-ui-icons)))
|
|
(use-package all-the-icons
|
|
:ensure t
|
|
:straight t
|
|
:hook (dired-mode . all-the-icons-dired-mode))
|
|
(use-package all-the-icons-completion
|
|
:ensure t
|
|
:straight t
|
|
:defer
|
|
:init
|
|
(all-the-icons-completion-mode 1))
|
|
(message "All-the-icons loaded."))
|
|
|
|
(when (and (eq 'nerdicons thwap-ui-icons) (not (eq 'alltheicons thwap-ui-icons)))
|
|
(use-package nerd-icons
|
|
:straight (nerd-icons
|
|
:type git
|
|
:host github
|
|
:repo "rainstormstudio/nerd-icons.el"
|
|
:files (:defaults "data"))
|
|
:custom
|
|
;; The Nerd Font you want to use in GUI
|
|
;; "Symbols Nerd Font Mono" is the default and is recommended
|
|
;; but you can use any other Nerd Font if you want
|
|
(nerd-icons-font-family "Symbols Nerd Font Mono")
|
|
)
|
|
(message "Nerd-icons loaded."))
|
|
|
|
(when (and (eq 'nerdicons thwap-ui-icons) (eq 'alltheicons thwap-ui-icons))
|
|
(message "Both all-the-icons and nerd-icons are enabled. Disabling nerd-icons.")
|
|
(use-package all-the-icons-dired
|
|
:ensure t
|
|
:straight t
|
|
:hook (dired-mode . all-the-icons-dired-mode))
|
|
(use-package all-the-icons-completion
|
|
:ensure t
|
|
:straight t
|
|
:defer
|
|
:init
|
|
(all-the-icons-completion-mode 1))
|
|
(message "All-the-icons loaded."))
|
|
|
|
|
|
(message "T.H.W.A.P. Interface settings loaded.")
|
|
(provide 'thwap-interface)
|