Update dracula-theme

This commit is contained in:
Andrea Ciceri 2023-09-22 18:57:14 +02:00
parent 2f02170401
commit eb79e3ab91
No known key found for this signature in database
3 changed files with 29 additions and 18 deletions

14
flake.lock generated
View file

@ -55,16 +55,16 @@
"extra-package-dracula-theme": { "extra-package-dracula-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1695368802, "lastModified": 1695902551,
"narHash": "sha256-i/xIb8jYONVNxADFcU5HVKhejkL+Ou6NlF92QTMFyiY=", "narHash": "sha256-uP3icMS0MP4j1Y7ivpMQZv0jLRh7CaRpG8NCn3vLnbE=",
"owner": "dracula", "owner": "aciceri",
"repo": "emacs", "repo": "dracula-emacs",
"rev": "dabe74904036717b06546c382df6e77a28921cff", "rev": "25c2623e65817b5902b7ef74d1e8bafafa9d5a48",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "dracula", "owner": "aciceri",
"repo": "emacs", "repo": "dracula-emacs",
"type": "github" "type": "github"
} }
}, },

View file

@ -23,7 +23,7 @@
flake = false; flake = false;
}; };
extra-package-dracula-theme = { extra-package-dracula-theme = {
url = "github:dracula/emacs"; url = "github:aciceri/dracula-emacs";
flake = false; flake = false;
}; };
}; };

31
init.el
View file

@ -69,33 +69,35 @@
(use-package dracula-theme (use-package dracula-theme
:init :init
;; TODO find better colors (bright white and bright black should be different!) ;; TODO find better colors (bright white and bright black should be different!)
;; this is used by auto suggestions while typing in eat
(set-face-attribute 'ansi-color-bright-white nil :foreground "grey" :background "grey") (set-face-attribute 'ansi-color-bright-white nil :foreground "grey" :background "grey")
(set-face-attribute 'ansi-color-bright-black nil :foreground "grey" :background "grey") (set-face-attribute 'ansi-color-bright-black nil :foreground "grey" :background "grey")
(set-face-attribute 'ansi-color-bright-magenta nil :foreground "magenta" :background "magenta") ;; (set-face-attribute 'ansi-color-bright-magenta nil :foreground "magenta" :background "magenta")
(set-face-background 'match (color-lighten-name (face-background 'menu) 30))
:config :config
; TODO abstract the following paradigm in a new use-package keyword :after-frame-one-time ;; TODO abstract the following paradigm in a new use-package keyword :after-frame-one-time
(defvar ccr/theme-loaded nil "Indicate if the theme has already been loaded") (defvar ccr/theme-loaded nil "Indicate if the theme has already been loaded")
;; load the theme only when a frame is created for the first time (not every time) ;; load the theme only when a frame is created for the first time (not every time)
:hook (server-after-make-frame . (lambda () :hook (server-after-make-frame . (lambda ()
(when (not ccr/theme-loaded) (when (not ccr/theme-loaded)
(setq ccr/theme-loaded 't) (setq ccr/theme-loaded 't)
(load-theme 'dracula t) (load-theme 'dracula t)
(custom-theme-set-faces 'dracula '(default ((t (:background "black")))))
(load-theme 'dracula t)
;; HACK Since dracula doesn't directly expose colors as faces we load ;; HACK Since dracula doesn't directly expose colors as faces we load
;; term in order to load them as term faces (which instead it provides) ;; term in order to load them as term faces (which instead itq provides)
;; Then we assign these faces to eat faces ;; Then we assign these faces to eat faces
;; TODO shouldn't this be moved to eat's use-package section? ;; TODO shouldn't this be moved to eat's use-package section?
(require 'term) ;; (require 'term)
(let ((colors '("black" "red" "green" "yellow" "blue" "magenta" "cyan" "white"))) ;; (let ((colors '("black" "red" "green" "yellow" "blue" "magenta" "cyan" "white")))
(dolist (color colors) ;; (dolist (color colors)
(set-face-attribute (intern (format "eat-term-color-%s" color)) nil :inherit (intern (format "term-color-%s" color))))) ;; (set-face-attribute (intern (format "eat-term-color-%s" color)) nil :inherit (intern (format "term-color-%s" color)))))
)))) ))))
(use-package solaire-mode (use-package solaire-mode
:init :init
(solaire-global-mode +1) (solaire-global-mode +1)
:config :custom ((solaire-mode-themes-to-face-swap '(dracula))))
(set-face-background 'solaire-default-face "#1c1d26"))
(use-package ligature (use-package ligature
:config :config
@ -433,6 +435,7 @@
) )
(use-package nix-ts-mode (use-package nix-ts-mode
:custom ((nix-ts-mode--embed-bash nil))
:hook ( :hook (
(nix-ts-mode . (lambda () (nix-ts-mode . (lambda ()
(require 'eglot) (require 'eglot)
@ -445,6 +448,14 @@
:mode "\\.nix\\'" :mode "\\.nix\\'"
) )
(use-package python-ts-mode
:hook ((python-ts-mode . (lambda ()
(require 'eglot)
(add-to-list 'eglot-server-programs
'(python-ts-mode . ("jedi-language-server")))
(eglot-ensure))))
:mode "\\.py\\'")
(use-package haskell-mode (use-package haskell-mode
:hook ((haskell-mode . eglot-ensure) :hook ((haskell-mode . eglot-ensure)
(haskell-mode . tree-sitter-hl-mode))) (haskell-mode . tree-sitter-hl-mode)))