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

View File

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