home/natto/services/emacs: change theme

This commit is contained in:
2022-03-18 23:52:24 +05:30
parent a2dfe8bea3
commit d65b3d0db2
2 changed files with 124 additions and 97 deletions

View File

@@ -7,32 +7,32 @@ idk random variables to match my color theme
#+begin_src emacs-lisp #+begin_src emacs-lisp
; -*- lexical-binding: t; -*- ; -*- lexical-binding: t; -*-
(setq (setq
c-bg "#1d1f21" c-bg "#073642"
c-fg "#c5c8c6" c-fg "#eee8d5"
c-red "#912226" c-red "#dc322f"
c-green "#778900" c-green "#859900"
c-yellow "#ae7b00" c-yellow "#b58900"
c-blue "#1d2594" c-blue "#268bd2"
c-magenta "#682a9b" c-magenta "#d33682"
c-cyan "#2b6651" c-cyan "#2aa198"
c-white "#929593" c-white "#eee8d5"
c-black "#969896" c-black "#002b36"
c-red-2 "#cc6666" c-red-2 "#cb4b16"
c-green-2 "#b5bd68" c-green-2 "#586e75"
c-yellow-2 "#f0c674" c-yellow-2 "#657b83"
c-blue-2 "#81a2be" c-blue-2 "#839496"
c-magenta-2 "#b294bb" c-magenta-2 "#6c71c4"
c-cyan-2 "#8abeb7" c-cyan-2 "#93a1a1"
c-white-2 "#ecebec") c-white-2 "#fdf6e3")
#+end_src #+end_src
* Settings * Settings
** Setting the default face ** Setting the default face
#+begin_src emacs-lisp #+begin_src emacs-lisp
(set-face-attribute 'default nil :font "Monoid" :height 120) (setq default-frame-alist '((font . "Monoid-12")))
#+end_src
#+end_src
** Some mode settings based on personal preferences ** Some mode settings based on personal preferences
#+begin_src emacs-lisp #+begin_src emacs-lisp
@@ -41,11 +41,10 @@ c-white-2 "#ecebec")
(tool-bar-mode 0) (tool-bar-mode 0)
(menu-bar-mode 0) (menu-bar-mode 0)
(fringe-mode 0) (fringe-mode 0)
(cua-mode 1) ;(cua-mode 1)
(global-display-line-numbers-mode 1) (global-display-line-numbers-mode 1)
#+end_src #+end_src
** Setting some variables ** Setting some variables
#+begin_src emacs-lisp #+begin_src emacs-lisp
(setq initial-major-mode 'emacs-lisp-mode (setq initial-major-mode 'emacs-lisp-mode
@@ -55,9 +54,9 @@ c-white-2 "#ecebec")
display-line-numbers-type 'relative display-line-numbers-type 'relative
confirm-kill-processes nil confirm-kill-processes nil
inhibit-startup-screen t) inhibit-startup-screen t)
(setq dark-theme t)
#+end_src #+end_src
** Emacs startup hook ** Emacs startup hook
#+begin_src emacs-lisp #+begin_src emacs-lisp
(add-hook 'emacs-startup-hook (add-hook 'emacs-startup-hook
@@ -66,7 +65,6 @@ c-white-2 "#ecebec")
* Packages * Packages
** Add Melpa to package archives ** Add Melpa to package archives
#+begin_src emacs-lisp #+begin_src emacs-lisp
(require 'package) (require 'package)
@@ -75,7 +73,6 @@ c-white-2 "#ecebec")
(require 'use-package) (require 'use-package)
#+end_src #+end_src
** Visual packages ** Visual packages
*** Add solaire mode *** Add solaire mode
#+begin_src emacs-lisp #+begin_src emacs-lisp
@@ -91,24 +88,42 @@ c-white-2 "#ecebec")
(setq doom-themes-enable-bold t (setq doom-themes-enable-bold t
doom-themes-enable-italic t doom-themes-enable-italic t
doom-themes-treemacs-theme "doom-colors") doom-themes-treemacs-theme "doom-colors")
(load-theme 'doom-tomorrow-night t) (load-theme 'doom-solarized-dark t)
(doom-themes-visual-bell-config) (doom-themes-visual-bell-config)
(doom-themes-treemacs-config) (doom-themes-treemacs-config)
(doom-themes-org-config)) (doom-themes-org-config))
#+end_src #+end_src
** Configure Selectrum
** Configure ivy Enable selectrum and remap keys to Colemak-DH
Remap ivy keys to Colemak-DH
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package ivy (use-package selectrum
:config :config
(define-key ivy-minibuffer-map (kbd "C-n") 'ivy-next-line) (define-key selectrum-minibuffer-map (kbd "C-n") #'selectrum-next-candidate)
(define-key ivy-minibuffer-map (kbd "C-e") 'ivy-previous-line) (define-key selectrum-minibuffer-map (kbd "C-e") #'selectrum-previous-candidate)
(define-key ivy-minibuffer-map (kbd "C-i") 'ivy-done) (define-key selectrum-minibuffer-map (kbd "C-i") #'selectrum-select-current-candidate)
(ivy-mode 1)) (selectrum-mode +1))
#+end_src #+end_src
Add selectrum-prescient
#+begin_src emacs-lisp
(use-package selectrum-prescient
:config
(selectrum-prescient-mode +1)
(prescient-persist-mode +1))
#+end_src
Add orderless for selectrum
#+begin_src emacs-lisp
(use-package orderless
:after selectrum
:config
(setq completion-styles '(orderless))
(savehist-mode)
(setq orderless-skip-highlighting (lambda () selectrum-is-active))
(setq selectrum-highlight-candidates-function #'orderless-highlight-matches))
#+end_src
** Evil ** Evil
*** Configure evil mode *** Configure evil mode
@@ -117,8 +132,8 @@ Remap ivy keys to Colemak-DH
:config :config
(evil-set-initial-state 'vterm-mode 'insert) (evil-set-initial-state 'vterm-mode 'insert)
(evil-set-undo-system 'undo-tree) (evil-set-undo-system 'undo-tree)
(setq evil-shift-width 2) (evil-mode 1)
(evil-mode 1)) (setq-default evil-shift-width 2))
#+end_src #+end_src
*** Configure undo tree *** Configure undo tree
@@ -139,7 +154,6 @@ To get colemak-dh bindings in evil mode
(global-evil-colemak-basics-mode 1)) (global-evil-colemak-basics-mode 1))
#+end_src #+end_src
** Treemacs ** Treemacs
*** Configure treemacs *** Configure treemacs
#+begin_src emacs-lisp #+begin_src emacs-lisp
@@ -150,7 +164,6 @@ To get colemak-dh bindings in evil mode
(treemacs-git-mode 'deferred)) (treemacs-git-mode 'deferred))
#+end_src #+end_src
** Configure treemacs-evil ** Configure treemacs-evil
Configure treemacs-evil to get colemak-dh bindings Configure treemacs-evil to get colemak-dh bindings
#+begin_src emacs-lisp #+begin_src emacs-lisp
@@ -164,10 +177,10 @@ Configure treemacs-evil to get colemak-dh bindings
; (define-key evil-treemacs-state-map (kbd "M") #'treemacs-collapse-parent-node) ; (define-key evil-treemacs-state-map (kbd "M") #'treemacs-collapse-parent-node)
(evil-define-key 'treemacs treemacs-mode-map (kbd "m") #'treemacs-COLLAPSE-action) (evil-define-key 'treemacs treemacs-mode-map (kbd "m") #'treemacs-COLLAPSE-action)
(evil-define-key 'treemacs treemacs-mode-map (kbd "i") #'treemacs-RET-action) (evil-define-key 'treemacs treemacs-mode-map (kbd "i") #'treemacs-RET-action)
(evil-define-key 'normal org-mode-map (kbd "<tab>") #'org-cycle)
) )
#+end_src #+end_src
** LSP ** LSP
*** Configure lsp-mode *** Configure lsp-mode
#+begin_src emacs-lisp #+begin_src emacs-lisp
@@ -198,7 +211,6 @@ Configure treemacs-evil to get colemak-dh bindings
(lsp-ui-doc-enable 1)) (lsp-ui-doc-enable 1))
#+end_src #+end_src
** Company ** Company
*** Configure company *** Configure company
For autocomplete For autocomplete
@@ -219,7 +231,6 @@ For autocomplete
:hook (company-mode . company-quickhelp-mode)) :hook (company-mode . company-quickhelp-mode))
#+end_src #+end_src
** Treesitter ** Treesitter
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package tree-sitter-langs) (use-package tree-sitter-langs)
@@ -232,7 +243,6 @@ For autocomplete
(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode)) (add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))
#+end_src #+end_src
** Lang support ** Lang support
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package rustic) (use-package rustic)
@@ -246,7 +256,6 @@ For autocomplete
"\\.nomad\\'") "\\.nomad\\'")
#+end_src #+end_src
** Magit ** Magit
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package magit) (use-package magit)
@@ -254,7 +263,7 @@ For autocomplete
* VTerm * VTerm
*** Configure vterm ** Configure vterm
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package vterm (use-package vterm
:config :config
@@ -267,12 +276,9 @@ For autocomplete
'((lambda(bufname _) (with-current-buffer bufname (equal major-mode 'vterm-mode))) '((lambda(bufname _) (with-current-buffer bufname (equal major-mode 'vterm-mode)))
(display-buffer-reuse-window display-buffer-at-bottom) (display-buffer-reuse-window display-buffer-at-bottom)
(reusable-frames . visible) (reusable-frames . visible)
(window-height . 0.4))) (window-height . 0.4))))
(define-key vterm-mode-map (kbd "<f2>") 'vterm-toggle-forward)
(define-key vterm-mode-map (kbd "<f3>") 'vterm-toggle-backward))
#+end_src #+end_src
** Centaur Tabs ** Centaur Tabs
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package centaur-tabs (use-package centaur-tabs
@@ -283,13 +289,11 @@ For autocomplete
centaur-tabs-set-modified-marker t centaur-tabs-set-modified-marker t
centaur-tabs-set-icons t) centaur-tabs-set-icons t)
(centaur-tabs-group-buffer-groups) (centaur-tabs-group-buffer-groups)
(centaur-tabs-mode 1) (add-hook 'server-after-make-frame-hook 'centaur-tabs-mode)
(centaur-tabs-headline-match) (centaur-tabs-headline-match)
(set-face-attribute 'tab-line nil :inherit 'centaur-tabs-unselected)) (set-face-attribute 'tab-line nil :inherit 'centaur-tabs-unselected))
#+end_src #+end_src
** Org ** Org
*** Add org-mode *** Add org-mode
#+begin_src emacs-lisp #+begin_src emacs-lisp
@@ -333,31 +337,33 @@ For autocomplete
(add-hook 'c++-mode-hook 'lsp) (add-hook 'c++-mode-hook 'lsp)
#+end_src #+end_src
#+begin_comment
(defface bufname * Custom mode line
#+begin_src emacs-lisp
(defface mode-line-buf-name
`((t :foreground ,c-fg `((t :foreground ,c-fg
:background ,c-bg :background ,c-bg
:weight bold :weight bold
)) ))
"Custom face for buffer name" "Custom face for buffer name"
:group 'mode-line-faces ) :group 'mode-line-faces )
(defface majmode (defface mode-line-maj-mode
`((t :foreground ,c-fg `((t :foreground ,c-fg
:background ,c-bg :background ,c-bg
)) ))
"Custom face for major mode" "Custom face for major mode"
:group 'mode-line-faces ) :group 'mode-line-faces )
(defface gitmode (defface mode-line-vc
`((t :foreground ,c-fg `((t :foreground ,c-fg
:background ,c-red-2 :background ,c-red-2
:weight bold :weight bold
)) ))
"Custom face for VC" "Custom face for VC"
:group 'mode-line-faces ) :group 'mode-line-faces )
(defface infomode (defface mode-line-info
`((t :foreground ,c-bg `((t :foreground ,c-bg
:background ,c-green :background ,c-cyan
:weight bold :weight bold
)) ))
"For showing line and column number" "For showing line and column number"
@@ -365,10 +371,10 @@ For autocomplete
(setq-default mode-line-format (setq-default mode-line-format
'((:propertize " %b " face bufname) '((:propertize " %b " face mode-line-buf-name)
(vc-mode (:propertize (" " vc-mode " " ) face gitmode)) (vc-mode (:propertize ("" vc-mode " " ) face mode-line-vc))
(:propertize (" " mode-name " ") face majmode) (:propertize (" " mode-name " ") face mode-line-maj-mode)
(:propertize ("[[ %l | %c || %p . %+%@ ]]") face infomode) (:propertize ("[[ %l | %c || %p . %+%@ ]]") face mode-line-info)
("%-"))) ("%-")))
(setq exclude-ln '(term-mode-hook eshell-mode-hook shell-mode-hook)) (setq exclude-ln '(term-mode-hook eshell-mode-hook shell-mode-hook))
@@ -388,7 +394,7 @@ For autocomplete
(set-face-background 'bufname (car color)) (set-face-background 'bufname (car color))
(set-face-foreground 'bufname (cdr color)) (set-face-foreground 'bufname (cdr color))
)))) ))))
#+end_comment #+end_src
* Pop-up terminal * Pop-up terminal
@@ -456,15 +462,16 @@ This returns the command to run in the terminal
"C-e" 'windmove-up "C-e" 'windmove-up
"M-," 'previous-buffer "M-," 'previous-buffer
"M-." 'next-buffer "M-." 'next-buffer
"C-q" 'delete-window
"M-C-S-q" 'kill-buffer-and-window "M-C-S-q" 'kill-buffer-and-window
"M-w" 'centaur-tabs--kill-this-buffer-dont-ask "M-w" 'centaur-tabs--kill-this-buffer-dont-ask
"M-S-w" 'kill-window "M-S-w" 'kill-window)
"M-S-," 'centaur-tabs-backward
"M-S-." 'centaur-tabs-forward)
#+end_src #+end_src
Pop-up terminal specific keybinds Pop-up terminal specific keybinds
#+begin_src emacs-lisp #+begin_src emacs-lisp
(with-eval-after-load 'vterm-toggle
(general-define-key (general-define-key
:states '(override insert normal visual treemacs motion) :states '(override insert normal visual treemacs motion)
"M-f" 'lsp-format-buffer "M-f" 'lsp-format-buffer
@@ -473,9 +480,29 @@ Pop-up terminal specific keybinds
"<f1>" 'vterm-toggle "<f1>" 'vterm-toggle
"<f5>" (lambda () (interactive) (run-in-vterm (candrun)))) "<f5>" (lambda () (interactive) (run-in-vterm (candrun))))
(define-key vterm-mode-map (kbd "<f2>") 'vterm-toggle-forward)
(define-key vterm-mode-map (kbd "<f3>") 'vterm-toggle-backward)
(general-define-key (general-define-key
:states '(normal insert) :states '(normal insert)
:keymaps 'VTerm :keymaps 'VTerm
"C-S-v" 'vterm-yank "C-S-v" 'vterm-yank
)) )
)
#+end_src
Toggle Appearance
#+begin_src emacs-lisp
(defun toggle-theme-shade ()
(if (symbol-value dark-theme)
(progn (disable-theme 'doom-solarized-dark)
(load-theme 'doom-solarized-light t))
(progn (disable-theme 'doom-solarized-light)
(load-theme 'doom-solarized-dark t)))
(setq-local dark-theme (not dark-theme)))
(general-define-key
:states '(normal insert emacs)
"<f7>" (lambda () (interactive) (toggle-theme-shade)))
)
#+end_src #+end_src

View File

@@ -7,7 +7,7 @@
# package = pkgs.neovim-nightly.overrideAttrs (_:{ # package = pkgs.neovim-nightly.overrideAttrs (_:{
# nativeBuildInputs = with pkgs; [ unzip cmake pkgconfig gettext tree-sitter ]; # nativeBuildInputs = with pkgs; [ unzip cmake pkgconfig gettext tree-sitter ];
# }); # });
defaultEditor = true; defaultEditor = false;
configure = { configure = {
customRC = '' customRC = ''
lua << EOF lua << EOF