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