| 
						 
							
							
							
						 
					 | 
				
			
			 | 
			 | 
			
				@@ -1,34 +1,11 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+TITLE: My Emacs Configuration
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+AUTHOR: Amneesh Singh
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# #+TITLE: My Emacs Configuration
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# #+AUTHOR: Amneesh Singh
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+PROPERTY: header-args:emacs-lisp :tangle yes
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				* Color Variables
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				idk random variables to match my color theme
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+begin_src emacs-lisp
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  ; -*- lexical-binding: t; -*-
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				( setq
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				 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
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				 ; -*- lexical-binding: t; -*-
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(set-frame-font "Fira Code 13" nil t)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(add-to-list 'default-frame-alist '(font . "Fira Code-13"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+end_src
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -43,6 +20,7 @@ idk random variables to match my color theme
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				;; (cua-mode 1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(global-display-line-numbers-mode 1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(xterm-mouse-mode 1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(setq ring-bell-function 'ignore)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+end_src
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				** Setting some variables
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -53,7 +31,6 @@ idk random variables to match my color theme
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      scroll-step 1
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      display-line-numbers-type 'relative
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      confirm-kill-processes nil
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      dark-theme t
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      inhibit-startup-screen t)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(setq-default tab-width 2
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              indent-tabs-mode nil)
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -84,14 +61,10 @@ idk random variables to match my color theme
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				*** Set theme
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+begin_src emacs-lisp
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(use-package doom-themes
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(use-package catppuccin-theme
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  :config
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (setq doom-themes-enable-bold t   
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        doom-themes-enable-italic t
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        doom-themes-treemacs-theme "doom-colors")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (load-theme 'doom-solarized-dark t)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (doom-themes-treemacs-config)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (doom-themes-org-config))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (load-theme 'catppuccin t)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (setq dark-theme t))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+end_src
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				** Configure Selectrum
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -267,11 +240,6 @@ For autocomplete
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(use-package nix-mode
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  :mode "\\.nix\\'")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(add-to-list 'lsp-language-id-configuration '(nix-mode . "nix"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(lsp-register-client
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				 (make-lsp-client :new-connection (lsp-stdio-connection '("rnix-lsp"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                  :major-modes '(nix-mode)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                  :server-id 'nix))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(use-package hcl-mode
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  :mode
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -418,29 +386,29 @@ For autocomplete
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				* Custom mode line
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+begin_src emacs-lisp
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(defface mode-line-buf-name
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  `((t :foreground ,c-fg
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :background ,c-bg
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  `((t :foreground ,(catppuccin-get-color 'text)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :background ,(catppuccin-get-color 'base)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :weight bold
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     ))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  "Custom face for buffer name"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  :group 'mode-line-faces )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(defface mode-line-maj-mode
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  `((t :foreground ,c-fg
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :background ,c-bg
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  `((t :foreground ,(catppuccin-get-color 'text)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :background ,(catppuccin-get-color 'base)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     ))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  "Custom face for major mode"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  :group 'mode-line-faces )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(defface mode-line-vc
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  `((t :foreground ,c-fg
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :background ,c-red-2
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  `((t :foreground ,(catppuccin-get-color 'base)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :background ,(catppuccin-get-color 'sky)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :weight bold
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     ))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  "Custom face for VC"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  :group 'mode-line-faces )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(defface mode-line-info
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  `((t :foreground ,c-bg
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :background ,c-cyan
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  `((t :foreground ,(catppuccin-get-color 'base)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :background ,(catppuccin-get-color 'green)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       :weight bold
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     ))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  "For showing line and column number"
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -459,17 +427,16 @@ For autocomplete
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       (setq exclude-ln (cdr exclude-ln)))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(let ((default-color (cons (face-background 'mode-line)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                           (face-foreground 'mode-line))))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (add-hook 'post-command-hook
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				       (lambda ()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         (let ((color (cond ((minibufferp) default-color)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            ((evil-insert-state-p) (cons c-magenta c-fg))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            ((evil-visual-state-p) (cons c-cyan    c-fg))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            ((evil-normal-state-p) (cons c-fg      c-bg))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            ((buffer-modified-p)   (cons c-blue    c-fg))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            (t default-color))))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					   (set-face-background 'mode-line-buf-name (car color))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					   (set-face-foreground 'mode-line-buf-name (cdr color))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					   ))))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      (add-hook 'post-command-hook
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            (lambda ()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              (let ((color (cond ((minibufferp) default-color)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                ((evil-insert-state-p) (cons (catppuccin-get-color 'mauve) (catppuccin-get-color 'base)))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                ((evil-normal-state-p) (cons (catppuccin-get-color 'yellow) (catppuccin-get-color 'base)))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                ((evil-visual-state-p) (cons (catppuccin-get-color 'teal) (catppuccin-get-color 'base)))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                ((buffer-modified-p) (cons (catppuccin-get-color 'red) (catppuccin-get-color 'text)))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                                (t default-color))))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          (set-face-background 'mode-line-buf-name (car color))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          (set-face-foreground 'mode-line-buf-name (cdr color))))))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+end_src
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				* Pop-up terminal
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -595,14 +562,13 @@ This returns the command to run in the terminal
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#+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)))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    (progn (setq catppuccin-flavor 'latte)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				             (catppuccin-reload))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					    (progn (setq catppuccin-flavor 'mocha)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				             (catppuccin-reload)))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (setq-local dark-theme (not dark-theme))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (centaur-tabs-display-update)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (centaur-tabs-headline-match)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  (centaur-tabs-headline-match))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				(general-define-key
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				 :states '(normal)
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				 
 |