Updated config and gitignore
This commit is contained in:
parent
3a4bad98f4
commit
2b5cba96ec
4
.gitignore
vendored
4
.gitignore
vendored
@ -3,3 +3,7 @@ elpa/
|
||||
eln-cache/
|
||||
# emacs temp files
|
||||
**.**~
|
||||
projects
|
||||
recentf
|
||||
tramp
|
||||
transient/**
|
||||
|
324
init.el
324
init.el
@ -1,118 +1,228 @@
|
||||
;; Custom
|
||||
;; Add MELPA package repo
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||
(package-initialize)
|
||||
|
||||
;; Install use-package if not already installed
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-refresh-contents)
|
||||
(package-install 'use-package))
|
||||
|
||||
(require 'use-package)
|
||||
(setq use-package-always-ensure t) ;; Auto-install packages
|
||||
|
||||
;; Bell Settings
|
||||
(setq ring-bell-function 'ignore)
|
||||
(setq visible-bell t)
|
||||
|
||||
;; Set Font
|
||||
(set-face-attribute 'default nil
|
||||
:family "Hurmit Nerd Font Mono"
|
||||
:foundry "PfEd"
|
||||
:height 120
|
||||
:background "#000000"
|
||||
:foreground "#ffffff")
|
||||
|
||||
;; Disable splash screen (typo fixed)
|
||||
(setq inhibit-startup-message t)
|
||||
|
||||
;; UI elements - these are fast, keep them early
|
||||
(menu-bar-mode 1)
|
||||
(tool-bar-mode -1)
|
||||
(scroll-bar-mode -1)
|
||||
(global-display-line-numbers-mode 1)
|
||||
|
||||
(use-package super-save
|
||||
:ensure t
|
||||
:config
|
||||
(super-save-mode +1))
|
||||
|
||||
;; magit
|
||||
(use-package magit
|
||||
:ensure t)
|
||||
|
||||
;; Packages with deferred loading
|
||||
(use-package helm
|
||||
:defer 1
|
||||
:bind (("M-x" . helm-M-x)
|
||||
("C-c h" . helm-command-prefix))
|
||||
:config
|
||||
(global-unset-key (kbd "C-x c"))
|
||||
(define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action)
|
||||
(define-key helm-map (kbd "C-i") 'helm-execute-persistent-action)
|
||||
(define-key helm-map (kbd "C-z") 'helm-select-action)
|
||||
(when (executable-find "curl")
|
||||
(setq helm-google-suggest-use-curl-p t))
|
||||
(setq helm-split-window-in-side-p t
|
||||
helm-move-to-line-cycle-in-source t
|
||||
helm-ff-search-library-in-sexp t
|
||||
helm-scroll-amount 8
|
||||
helm-ff-file-name-history-use-recentf t
|
||||
helm-echo-input-in-header-line t
|
||||
helm-autoresize-max-height 0
|
||||
helm-autoresize-min-height 20)
|
||||
(helm-autoresize-mode 1)
|
||||
(helm-mode 1))
|
||||
|
||||
(use-package catppuccin-theme
|
||||
:config
|
||||
(setq catppuccin-flavor 'macchiato)
|
||||
(load-theme 'catppuccin t)
|
||||
(add-hook 'after-init-hook (lambda () (run-with-timer 0.5 nil #'catppuccin-reload))))
|
||||
|
||||
(use-package which-key
|
||||
:defer 1
|
||||
:config
|
||||
(setq which-key-idle-delay 0.01
|
||||
which-key-idle-secondary-delay 0.01)
|
||||
(which-key-setup-side-window-right-bottom)
|
||||
(which-key-mode))
|
||||
|
||||
(use-package git-gutter
|
||||
:defer 2
|
||||
:config
|
||||
(global-git-gutter-mode +1))
|
||||
|
||||
(use-package meow
|
||||
:config
|
||||
(defvar meow-lsp-keymap
|
||||
(let ((keymap (make-sparse-keymap)))
|
||||
(define-key keymap (kbd "d") #'xref-find-definitions)
|
||||
(define-key keymap (kbd "D") #'eglot-find-implementation)
|
||||
(define-key keymap (kbd "r") #'xref-find-references)
|
||||
(define-key keymap (kbd "t") #'eglot-find-typeDefinition)
|
||||
(define-key keymap (kbd "h") #'eglot-help-at-point)
|
||||
(define-key keymap (kbd "a") #'eglot-code-actions)
|
||||
(define-key keymap (kbd "R") #'eglot-rename)
|
||||
(define-key keymap (kbd "f") #'eglot-format)
|
||||
(define-key keymap (kbd "o") #'eglot-code-action-organize-imports)
|
||||
keymap)
|
||||
"Keymap for LSP navigation commands in Meow normal mode.")
|
||||
|
||||
(defun meow-lsp-keymap-fn ()
|
||||
"Access the LSP keymap."
|
||||
(interactive)
|
||||
(set-transient-map meow-lsp-keymap))
|
||||
|
||||
(defun meow-setup ()
|
||||
(setq meow-cheatsheet-layout meow-cheatsheet-layout-colemak-dh)
|
||||
(meow-leader-define-key
|
||||
'("?" . helm-apropos)
|
||||
'("B" . meow-cheatsheet)
|
||||
'("1" . meow-digit-argument)
|
||||
'("2" . meow-digit-argument)
|
||||
'("3" . meow-digit-argument)
|
||||
'("4" . meow-digit-argument)
|
||||
'("5" . meow-digit-argument)
|
||||
'("6" . meow-digit-argument)
|
||||
'("7" . meow-digit-argument)
|
||||
'("8" . meow-digit-argument)
|
||||
'("9" . meow-digit-argument)
|
||||
'("0" . meow-digit-argument)
|
||||
'("/" . helm-do-grep-ag)
|
||||
'("a" . eglot-code-actions)
|
||||
'("b" . helm-mini)
|
||||
'("f" . helm-find-files))
|
||||
(meow-normal-define-key
|
||||
'("0" . meow-expand-0)
|
||||
'("1" . meow-expand-1)
|
||||
'("2" . meow-expand-2)
|
||||
'("3" . meow-expand-3)
|
||||
'("4" . meow-expand-4)
|
||||
'("5" . meow-expand-5)
|
||||
'("6" . meow-expand-6)
|
||||
'("7" . meow-expand-7)
|
||||
'("8" . meow-expand-8)
|
||||
'("9" . meow-expand-9)
|
||||
'("-" . negative-argument)
|
||||
'(":" . helm-M-x)
|
||||
'(";" . meow-reverse)
|
||||
'("'" . meow-inner-of-thing)
|
||||
'("," . meow-bounds-of-thing)
|
||||
'("[" . meow-beginning-of-thing)
|
||||
'("]" . meow-end-of-thing)
|
||||
'("/" . meow-visit)
|
||||
'("a" . meow-append)
|
||||
'("A" . meow-open-below)
|
||||
'("b" . meow-back-word)
|
||||
'("B" . meow-back-symbol)
|
||||
'("c" . meow-change)
|
||||
'("C" . meow-grab)
|
||||
'("d" . meow-delete)
|
||||
'("D" . meow-backward-delete)
|
||||
'("e" . meow-prev)
|
||||
'("E" . meow-prev-expand)
|
||||
'("f" . meow-find)
|
||||
'("g" . meow-lsp-keymap-fn)
|
||||
'("G" . meow-goto-line)
|
||||
'("h" . meow-insert)
|
||||
'("H" . meow-open-above)
|
||||
'("i" . meow-next)
|
||||
'("I" . meow-next-expand)
|
||||
'("j" . meow-join)
|
||||
'("K" . meow-kill)
|
||||
'("k" . meow-clipboard-kill)
|
||||
'("l" . meow-line)
|
||||
'("m" . meow-mark-word)
|
||||
'("M" . meow-mark-symbol)
|
||||
'("n" . meow-left)
|
||||
'("N" . meow-left-expand)
|
||||
'("o" . meow-right)
|
||||
'("O" . meow-right-expand)
|
||||
'("p" . meow-yank)
|
||||
'("P" . meow-clipboard-yank)
|
||||
'("q" . meow-quit)
|
||||
'("r" . meow-replace)
|
||||
'("t" . meow-till)
|
||||
'("u" . meow-undo)
|
||||
'("U" . undo-redo)
|
||||
'("v" . meow-search)
|
||||
'("w" . meow-next-word)
|
||||
'("W" . meow-next-symbol)
|
||||
'("y" . meow-save)
|
||||
'("Y" . meow-clipboard-save)
|
||||
'("z" . meow-pop-selection)
|
||||
'("." . repeat)
|
||||
'("~" . upcase-region)
|
||||
'("`" . downcase-region)
|
||||
'("<escape>" . ignore)))
|
||||
|
||||
(meow-setup)
|
||||
(meow-global-mode 1))
|
||||
|
||||
;; Lazy load other packages that are only needed for specific file types
|
||||
(use-package markdown-mode :defer t)
|
||||
(use-package go-mode :defer t)
|
||||
;; (use-package cider :defer t)
|
||||
(use-package eglot :defer t)
|
||||
(add-hook 'go-mode-hook 'eglot-ensure)
|
||||
|
||||
;; If using Company (recommended)
|
||||
(use-package company
|
||||
:ensure t
|
||||
:hook (eglot-managed-mode . company-mode)
|
||||
:config
|
||||
(setq company-idle-delay 0.1
|
||||
company-minimum-prefix-length 1))
|
||||
|
||||
|
||||
|
||||
;; Optionally, measure startup time
|
||||
(add-hook 'emacs-startup-hook
|
||||
(lambda ()
|
||||
(message "Emacs loaded in %s seconds"
|
||||
(float-time (time-subtract after-init-time before-init-time)))))
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(package-selected-packages '(meow)))
|
||||
'(package-selected-packages
|
||||
'(magit super-save company which-key use-package-hydra meow markdown-mode helm go-mode git-gutter eglot-inactive-regions cider catppuccin-theme)))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
||||
|
||||
;; Disable splash screen
|
||||
(setq inihibit-startup-message t)
|
||||
|
||||
;; UI elements
|
||||
(menu-bar-mode 1)
|
||||
(tool-bar-mode -1)
|
||||
(scroll-bar-mode -1)
|
||||
(global-display-line-numbers-mode 1)
|
||||
|
||||
;; Theme
|
||||
(load-theme 'modus-vivendi t)
|
||||
|
||||
|
||||
;;;;
|
||||
;; meow-mode
|
||||
;;;;
|
||||
(require 'meow)
|
||||
|
||||
(defun meow-setup ()
|
||||
(setq meow-cheatsheet-layout meow-cheatsheet-layout-colemak-dh)
|
||||
;; (meow-motion-define-key
|
||||
;; Use e to move up, n to move down.
|
||||
;; Since special modes usually use n to move down, we only overwrite e here.
|
||||
;; '("<escape>" . ignore))
|
||||
(meow-leader-define-key
|
||||
'("?" . meow-cheatsheet)
|
||||
'("1" . meow-digit-argument)
|
||||
'("2" . meow-digit-argument)
|
||||
'("3" . meow-digit-argument)
|
||||
'("4" . meow-digit-argument)
|
||||
'("5" . meow-digit-argument)
|
||||
'("6" . meow-digit-argument)
|
||||
'("7" . meow-digit-argument)
|
||||
'("8" . meow-digit-argument)
|
||||
'("9" . meow-digit-argument)
|
||||
'("0" . meow-digit-argument))
|
||||
(meow-normal-define-key
|
||||
'("0" . meow-expand-0)
|
||||
'("1" . meow-expand-1)
|
||||
'("2" . meow-expand-2)
|
||||
'("3" . meow-expand-3)
|
||||
'("4" . meow-expand-4)
|
||||
'("5" . meow-expand-5)
|
||||
'("6" . meow-expand-6)
|
||||
'("7" . meow-expand-7)
|
||||
'("8" . meow-expand-8)
|
||||
'("9" . meow-expand-9)
|
||||
'("-" . negative-argument)
|
||||
'(";" . meow-reverse)
|
||||
'("," . meow-inner-of-thing)
|
||||
'("." . meow-bounds-of-thing)
|
||||
'("[" . meow-beginning-of-thing)
|
||||
'("]" . meow-end-of-thing)
|
||||
'("/" . meow-visit)
|
||||
'("a" . meow-append)
|
||||
'("A" . meow-open-below)
|
||||
'("b" . meow-back-word)
|
||||
'("B" . meow-back-symbol)
|
||||
'("c" . meow-change)
|
||||
'("d" . meow-delete)
|
||||
'("D" . meow-backward-delete)
|
||||
'("e" . meow-prev)
|
||||
'("E" . meow-prev-expand)
|
||||
'("f" . meow-find)
|
||||
'("g" . meow-cancel-selection)
|
||||
'("G" . meow-grab)
|
||||
'("n" . meow-left)
|
||||
'("N" . meow-left-expand)
|
||||
'("o" . meow-right)
|
||||
'("O" . meow-right-expand)
|
||||
'("i" . meow-next)
|
||||
'("I" . meow-next-expand)
|
||||
'("j" . meow-join)
|
||||
'("k" . meow-kill)
|
||||
'("g" . meow-line)
|
||||
'("G" . meow-goto-line)
|
||||
'("m" . meow-mark-word)
|
||||
'("M" . meow-mark-symbol)
|
||||
'("n" . meow-left)
|
||||
'("N" . meow-left-expand)
|
||||
'("o" . meow-right)
|
||||
'("O" . meow-right-expand)
|
||||
'("p" . meow-yank)
|
||||
'("q" . meow-quit)
|
||||
'("r" . meow-replace)
|
||||
'("h" . meow-insert)
|
||||
'("H" . meow-open-above)
|
||||
'("t" . meow-till)
|
||||
'("u" . meow-undo)
|
||||
'("U" . meow-redo)
|
||||
'("v" . meow-search)
|
||||
'("w" . meow-next-word)
|
||||
'("W" . meow-next-symbol)
|
||||
'("x" . meow-line)
|
||||
'("y" . meow-save)
|
||||
'("z" . meow-pop-selection)
|
||||
'("'" . repeat)
|
||||
'("<escape>" . ignore)))
|
||||
|
||||
(meow-setup)
|
||||
(meow-global-mode 1)
|
||||
|
||||
;; Helm
|
||||
(require 'helm)
|
||||
(put 'downcase-region 'disabled nil)
|
||||
|
Loading…
Reference in New Issue
Block a user