home/natto: random emacs stuff
still as messy as ever Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
idk random variables to match my color theme
|
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 "#073642"
|
c-bg "#073642"
|
||||||
c-fg "#eee8d5"
|
c-fg "#eee8d5"
|
||||||
c-red "#dc322f"
|
c-red "#dc322f"
|
||||||
@@ -41,7 +41,6 @@ idk random variables to match my color theme
|
|||||||
(menu-bar-mode 0)
|
(menu-bar-mode 0)
|
||||||
(fringe-mode 0)
|
(fringe-mode 0)
|
||||||
;; (cua-mode 1)
|
;; (cua-mode 1)
|
||||||
(electric-indent-mode 0)
|
|
||||||
(global-display-line-numbers-mode 1)
|
(global-display-line-numbers-mode 1)
|
||||||
(xterm-mouse-mode 1)
|
(xterm-mouse-mode 1)
|
||||||
#+end_src
|
#+end_src
|
||||||
@@ -91,7 +90,6 @@ idk random variables to match my color theme
|
|||||||
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-solarized-dark t)
|
(load-theme 'doom-solarized-dark t)
|
||||||
(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
|
||||||
@@ -112,16 +110,15 @@ Add selectrum-prescient
|
|||||||
(prescient-persist-mode +1))
|
(prescient-persist-mode +1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
Add orderless for selectrum
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
(use-package orderless
|
(use-package orderless
|
||||||
:after selectrum
|
:after selectrum
|
||||||
:config
|
:config
|
||||||
(setq completion-styles '(orderless basic))
|
(setq completion-styles '(orderless basic))
|
||||||
(savehist-mode)
|
(savehist-mode)
|
||||||
(setq orderless-skip-highlighting (lambda () selectrum-is-active))
|
(setq orderless-skip-highlighting (lambda () selectrum-is-active)
|
||||||
(setq selectrum-highlight-candidates-function #'orderless-highlight-matches))
|
selectrum-highlight-candidates-function #'orderless-highlight-matches))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Evil
|
** Evil
|
||||||
@@ -165,23 +162,16 @@ To undo and redo easily like vi
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Treemacs
|
** Treemacs
|
||||||
*** Dependencies
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package cfrs)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Configure treemacs
|
*** Configure treemacs
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package treemacs
|
(use-package treemacs)
|
||||||
:after cfrs
|
|
||||||
:config
|
|
||||||
(treemacs-filewatch-mode 1)
|
|
||||||
(treemacs-display-current-project-exclusively)
|
|
||||||
(treemacs-git-mode 'simple))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package treemacs-evil)
|
(use-package treemacs-evil)
|
||||||
|
(use-package treemacs-magit)
|
||||||
|
(use-package treemacs-projectile)
|
||||||
|
(use-package treemacs-all-the-icons)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** LSP
|
** LSP
|
||||||
@@ -189,18 +179,11 @@ To undo and redo easily like vi
|
|||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package lsp-mode
|
(use-package lsp-mode
|
||||||
:defer 0
|
:defer 0
|
||||||
:init
|
:commands lsp
|
||||||
(setq )
|
:custom
|
||||||
:config
|
(lsp-rust-analyzer-server-display-inlay-hints t)
|
||||||
(lsp-mode 1))
|
(lsp-rust-analyzer-display-chaining-hints t)
|
||||||
#+end_src
|
(lsp-rust-analyzer-display-closure-return-type-hints t))
|
||||||
|
|
||||||
*** Configure lsp-treemacs
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package lsp-treemacs
|
|
||||||
:defer 0
|
|
||||||
:config
|
|
||||||
(lsp-treemacs-sync-mode 1))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Configure lsp-ui
|
*** Configure lsp-ui
|
||||||
@@ -210,7 +193,7 @@ To undo and redo easily like vi
|
|||||||
:init
|
:init
|
||||||
(setq lsp-ui-doc-show-with-cursor t)
|
(setq lsp-ui-doc-show-with-cursor t)
|
||||||
:config
|
:config
|
||||||
(lsp-ui-peek-enable 1)
|
(lsp-ui-peek-enable 1)
|
||||||
(lsp-ui-doc-enable 1))
|
(lsp-ui-doc-enable 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@@ -275,16 +258,17 @@ For autocomplete
|
|||||||
:major-modes '(nix-mode)
|
:major-modes '(nix-mode)
|
||||||
:server-id 'nix))
|
:server-id 'nix))
|
||||||
|
|
||||||
|
|
||||||
(use-package hcl-mode
|
(use-package hcl-mode
|
||||||
:mode
|
:mode
|
||||||
"\\.hcl\\'"
|
"\\.hcl\\'"
|
||||||
"\\.nomad\\'")
|
"\\.nomad\\'")
|
||||||
|
|
||||||
|
(use-package go-mode)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Magit
|
** Magit
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
; (use-package magit)
|
(use-package magit)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* VTerm
|
* VTerm
|
||||||
@@ -296,12 +280,18 @@ For autocomplete
|
|||||||
(evil-define-key 'insert vterm-mode-map (kbd "C-y") 'vterm-yank)
|
(evil-define-key 'insert vterm-mode-map (kbd "C-y") 'vterm-yank)
|
||||||
(setq vterm-timer-delay 0.005))
|
(setq vterm-timer-delay 0.005))
|
||||||
|
|
||||||
|
|
||||||
(use-package vterm-toggle
|
(use-package vterm-toggle
|
||||||
:config
|
:config
|
||||||
(setq vterm-toggle-fullscreen-p nil)
|
(setq vterm-toggle-fullscreen-p nil)
|
||||||
(add-to-list 'display-buffer-alist
|
(add-to-list 'display-buffer-alist
|
||||||
'((lambda(bufname _) (with-current-buffer bufname (equal major-mode 'vterm-mode)))
|
'((lambda (buffer-or-name _)
|
||||||
(display-buffer-reuse-window display-buffer-at-bottom)
|
(let ((buffer (get-buffer buffer-or-name)))
|
||||||
|
(with-current-buffer buffer
|
||||||
|
(or (equal major-mode 'vterm-mode)
|
||||||
|
(string-prefix-p vterm-buffer-name (buffer-name buffer))))))
|
||||||
|
(display-buffer-reuse-window display-buffer-in-side-window)
|
||||||
|
(side . bottom)
|
||||||
(reusable-frames . visible)
|
(reusable-frames . visible)
|
||||||
(window-height . 0.4))))
|
(window-height . 0.4))))
|
||||||
#+end_src
|
#+end_src
|
||||||
@@ -326,18 +316,15 @@ For autocomplete
|
|||||||
(use-package elcord
|
(use-package elcord
|
||||||
:defer 0)
|
:defer 0)
|
||||||
|
|
||||||
(use-package projectile)
|
(use-package projectile
|
||||||
|
:config
|
||||||
|
(define-key projectile-mode-map (kbd "C-x p") 'projectile-command-map)
|
||||||
|
(projectile-mode +1))
|
||||||
|
|
||||||
(use-package rainbow-delimiters
|
(use-package rainbow-delimiters
|
||||||
:hook (prog-mode . rainbow-delimiters-mode))
|
:hook (prog-mode . rainbow-delimiters-mode))
|
||||||
|
|
||||||
(use-package flex-autopair
|
(use-package flex-autopair)
|
||||||
:config
|
|
||||||
(flex-autopair-mode 0))
|
|
||||||
|
|
||||||
(use-package treemacs-all-the-icons)
|
|
||||||
|
|
||||||
(use-package general)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Org
|
* Org
|
||||||
@@ -375,6 +362,7 @@ For autocomplete
|
|||||||
"pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"))
|
"pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"))
|
||||||
|
|
||||||
(setq org-src-fontify-natively t)
|
(setq org-src-fontify-natively t)
|
||||||
|
(setq org-confirm-babel-evaluate nil)
|
||||||
|
|
||||||
(org-babel-do-load-languages
|
(org-babel-do-load-languages
|
||||||
'org-babel-load-languages
|
'org-babel-load-languages
|
||||||
@@ -501,19 +489,29 @@ This returns the command to run in the terminal
|
|||||||
("rs" (concat "rustc" full " -o " file " && " file " && rm " file)))))
|
("rs" (concat "rustc" full " -o " file " && " file " && rm " file)))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* Custom Functions
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(defun detach-process ()
|
||||||
|
"Run processes but detached from the parent"
|
||||||
|
(interactive)
|
||||||
|
(let ((command (read-string "Enter command:")))
|
||||||
|
(call-process-shell-command (concat command " &") nil 0)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Keybinds
|
* Keybinds
|
||||||
** General
|
** General
|
||||||
*** Colemak translations
|
*** Colemak translations
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq states-with-hjkl-keybindings
|
(use-package general)
|
||||||
'(normal visual motion treemacs))
|
|
||||||
|
|
||||||
(setq evil-states
|
(setq evil-states
|
||||||
'(visual normal))
|
'(visual normal motion))
|
||||||
|
|
||||||
(general-translate-key states-with-hjkl-keybindings 'global
|
(with-eval-after-load 'general
|
||||||
|
(general-translate-key evil-states 'global
|
||||||
"m" "h"
|
"m" "h"
|
||||||
"n" "j"
|
"n" "j"
|
||||||
|
"N" "J"
|
||||||
"e" "k"
|
"e" "k"
|
||||||
"i" "l"
|
"i" "l"
|
||||||
"u" "i"
|
"u" "i"
|
||||||
@@ -522,13 +520,12 @@ This returns the command to run in the terminal
|
|||||||
"f" "e"
|
"f" "e"
|
||||||
"t" "f"
|
"t" "f"
|
||||||
"j" "t"
|
"j" "t"
|
||||||
|
"K" "N"
|
||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Misc binds
|
*** Misc binds
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(with-eval-after-load 'general
|
|
||||||
|
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:states evil-states
|
:states evil-states
|
||||||
"M-c" 'comment-line
|
"M-c" 'comment-line
|
||||||
@@ -536,14 +533,18 @@ This returns the command to run in the terminal
|
|||||||
|
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:states '(normal insert)
|
:states '(normal insert)
|
||||||
|
"M-C-f" 'lsp-format-buffer
|
||||||
"C-S-v" 'yank)
|
"C-S-v" 'yank)
|
||||||
|
|
||||||
|
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:states states-with-hjkl-keybindings
|
:keymaps '(global vterm-mode-map)
|
||||||
"M-o" 'treemacs
|
"M-o" 'treemacs
|
||||||
"M-v" 'split-window-vertically
|
"M-v" 'split-window-vertically
|
||||||
"M-h" 'split-window-horizontally
|
"M-h" 'split-window-horizontally
|
||||||
|
"M-m" 'windmove-left
|
||||||
|
"M-n" 'windmove-down
|
||||||
|
"M-e" 'windmove-up
|
||||||
|
"M-i" 'windmove-right
|
||||||
"M-C-m" 'shrink-window-horizontally
|
"M-C-m" 'shrink-window-horizontally
|
||||||
"M-C-i" 'enlarge-window-horizontally
|
"M-C-i" 'enlarge-window-horizontally
|
||||||
"M-C-e" 'shrink-window
|
"M-C-e" 'shrink-window
|
||||||
@@ -560,7 +561,7 @@ This returns the command to run in the terminal
|
|||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(with-eval-after-load 'vterm-toggle
|
(with-eval-after-load 'vterm-toggle
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:states states-with-hjkl-keybindings
|
:keymaps '(global vterm-mode-map)
|
||||||
"<f4>" (lambda () (interactive) (vterm t))
|
"<f4>" (lambda () (interactive) (vterm t))
|
||||||
"C-<f1>" 'vterm-toggle-cd
|
"C-<f1>" 'vterm-toggle-cd
|
||||||
"<f1>" 'vterm-toggle
|
"<f1>" 'vterm-toggle
|
||||||
@@ -571,7 +572,7 @@ This returns the command to run in the terminal
|
|||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Toggle Appearance
|
*** Toggle Appearance
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(defun toggle-theme-shade ()
|
(defun toggle-theme-shade ()
|
||||||
(if (symbol-value dark-theme)
|
(if (symbol-value dark-theme)
|
||||||
|
Reference in New Issue
Block a user