Completely rewrite emacs config with straight and eglot
This commit is contained in:
parent
feb0a180da
commit
d53903ccae
168
.emacs.d/init.el
168
.emacs.d/init.el
|
@ -1,141 +1,71 @@
|
||||||
;; Mostly following along with System Crafter's videos.
|
(setq inhibit-startup-message t)
|
||||||
;; So this will look pretty familiar.
|
;; neccesary non-package related config
|
||||||
(setq inhibit-startup-message t)
|
|
||||||
|
|
||||||
(scroll-bar-mode -1)
|
|
||||||
(tool-bar-mode -1)
|
|
||||||
(tooltip-mode -1)
|
|
||||||
(set-fringe-mode 10)
|
|
||||||
|
|
||||||
(menu-bar-mode -1)
|
|
||||||
|
|
||||||
;; disable auto-save and auto-backup
|
|
||||||
(setq auto-save-default nil)
|
(setq auto-save-default nil)
|
||||||
(setq make-backup-files nil)
|
(setq make-backup-files nil)
|
||||||
|
|
||||||
(set-face-attribute 'default nil :font "IBM Plex Mono" :height 120)
|
|
||||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||||
|
(set-face-attribute 'default nil :font "IBM Plex Mono" :height 120)
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
(set-fringe-mode 10)
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
|
||||||
(setq org-edit-src-content-indentation 0
|
(setq org-edit-src-content-indentation 0
|
||||||
org-src-tab-acts-natively t
|
org-src-tab-acts-natively t
|
||||||
org-src-preserve-indentation t)
|
org-src-preserve-indentation t)
|
||||||
|
|
||||||
;; Packages stuff.
|
;; stupid hacks
|
||||||
(require 'package)
|
(setenv "PATH"
|
||||||
|
(concat "/usr/local/bin/go" "/home/gsimmer/projects/go/bin" (getenv "PATH")))
|
||||||
|
|
||||||
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
|
;; straight.el bootstrapping
|
||||||
("org" . "https://orgmode.org/elpa/")
|
(defvar bootstrap-version)
|
||||||
("elpa" . "https://elpa.gnu.org/packages/")))
|
(let ((bootstrap-file
|
||||||
|
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||||
(package-initialize)
|
(bootstrap-version 5))
|
||||||
(unless package-archive-contents
|
(unless (file-exists-p bootstrap-file)
|
||||||
(package-refresh-contents))
|
(with-current-buffer
|
||||||
|
(url-retrieve-synchronously
|
||||||
(unless (package-installed-p 'use-package)
|
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
|
||||||
(package-install 'use-package))
|
'silent 'inhibit-cookies)
|
||||||
|
(goto-char (point-max))
|
||||||
(require 'use-package)
|
(eval-print-last-sexp)))
|
||||||
(setq use-package-always-ensure t)
|
(load bootstrap-file nil 'nomessage))
|
||||||
|
|
||||||
(use-package nano-theme
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(load-theme 'nano-dark t))
|
|
||||||
|
|
||||||
|
;; package list we want installed
|
||||||
|
;; first grab use-package :3
|
||||||
|
(straight-use-package 'use-package)
|
||||||
|
(use-package el-patch :straight t)
|
||||||
|
(use-package monokai-pro-theme
|
||||||
|
:straight t
|
||||||
|
:config (load-theme 'monokai-pro-spectrum t))
|
||||||
(use-package doom-modeline
|
(use-package doom-modeline
|
||||||
:ensure t
|
:straight t
|
||||||
:init (doom-modeline-mode 1)
|
:init (doom-modeline-mode 1)
|
||||||
:custom
|
:custom (doom-mode-line-height 14))
|
||||||
(doom-mode-line-height 15))
|
(use-package all-the-icons :straight t)
|
||||||
(use-package all-the-icons :ensure t)
|
|
||||||
|
|
||||||
(use-package treemacs
|
|
||||||
:ensure t
|
|
||||||
:defer t
|
|
||||||
:init
|
|
||||||
:bind (:map global-map
|
|
||||||
("M-0" . treemacs-select-window)
|
|
||||||
("C-x t t" . treemacs)))
|
|
||||||
(use-package treemacs-projectile
|
|
||||||
:ensure t)
|
|
||||||
;; LSP config.
|
|
||||||
(use-package spinner :ensure t)
|
|
||||||
(use-package lsp-mode
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
(setq lsp-keymap-prefix "C-c l")
|
|
||||||
:hook ((rust-mode . lsp)
|
|
||||||
(go-mode . lsip)
|
|
||||||
(lsp-mode . lsp-enable-which-key-integration))
|
|
||||||
:commands lsp)
|
|
||||||
|
|
||||||
(use-package lsp-ui :commands lsp-ui-mode)
|
|
||||||
(use-package lsp-ivy :commands lsp-ivy-workspace-symbol)
|
|
||||||
(use-package lsp-treemacs :commands lsp-treemacs-errors-list)
|
|
||||||
|
|
||||||
(use-package rust-mode)
|
|
||||||
(use-package go-mode)
|
|
||||||
(add-hook 'go-mode-hook #'lsp-deferred)
|
|
||||||
|
|
||||||
;; Set up before-save hooks to format buffer and add/delete imports.
|
|
||||||
;; Make sure you don't have other gofmt/goimports hooks enabled.
|
|
||||||
(defun lsp-go-install-save-hooks ()
|
|
||||||
(add-hook 'before-save-hook #'lsp-format-buffer t t)
|
|
||||||
(add-hook 'before-save-hook #'lsp-organize-imports t t))
|
|
||||||
(add-hook 'go-mode-hook #'lsp-go-install-save-hooks)
|
|
||||||
|
|
||||||
(use-package json-mode)
|
|
||||||
|
|
||||||
;; Can't have lisps without paredit!
|
|
||||||
(use-package paredit
|
(use-package paredit
|
||||||
:ensure t
|
:straight t
|
||||||
:config
|
:config
|
||||||
(add-hook 'emacs-lisp-mode-hook #'paredit-mode)
|
(add-hook 'emacs-lisp-mode-hook #'paredit-mode)
|
||||||
;; enable in the *scratch* buffer
|
|
||||||
(add-hook 'lisp-interaction-mode-hook #'paredit-mode)
|
(add-hook 'lisp-interaction-mode-hook #'paredit-mode)
|
||||||
(add-hook 'ielm-mode-hook #'paredit-mode)
|
(add-hook 'ielm-mode-hook #'paredit-mode)
|
||||||
(add-hook 'lisp-mode-hook #'paredit-mode)
|
(add-hook 'lisp-mode-hook #'paredit-mode)
|
||||||
(add-hook 'eval-expression-minibuffer-setup-hook #'paredit-mode))
|
(add-hook 'eval-expression-minibuffer-setup-hook #'paredit-mode))
|
||||||
|
(use-package which-key
|
||||||
|
:straight t
|
||||||
|
:config (which-key-mode))
|
||||||
(use-package projectile
|
(use-package projectile
|
||||||
:ensure t
|
:straight t
|
||||||
:init
|
:init (projectile-mode +1)
|
||||||
(projectile-mode +1)
|
:config (setq projectile-project-search-path '("~/projects"))
|
||||||
:bind (:map projectile-mode-map
|
:bind (:map projectile-mode-map
|
||||||
("s-p" . projectile-command-map)
|
("s-p" . projectile-command-map)
|
||||||
("C-c p" . projectile-command-map))
|
("C-c p" . projectile-command-map)))
|
||||||
:config
|
(use-package dired-sidebar :straight t :commands (dired-sidebar-toggle-sidebar))
|
||||||
(setq projectile-project-search-path '("~/Projects")))
|
|
||||||
|
|
||||||
;; Ivy/Swiper/Counsel config.
|
;; lsp-mode stuff
|
||||||
(use-package swiper)
|
(use-package eglot :straight t
|
||||||
(use-package counsel)
|
:config (add-hook 'go-mode-hook 'eglot-ensure))
|
||||||
(use-package ivy
|
(use-package company :straight t
|
||||||
:diminish
|
:config (add-hook 'after-init-hook 'global-company-mode) (setq company-idle-delay 0) (setq company-minimum-prefix-length 1))
|
||||||
:bind (("C-s" . swiper)
|
(use-package go-mode :straight t)
|
||||||
:map ivy-minibuffer-map
|
|
||||||
("TAB" . ivy-alt-done)
|
|
||||||
("C-l" . ivy-alt-done)
|
|
||||||
("C-j" . ivy-next-line)
|
|
||||||
("C-k" . ivy-previous-line)
|
|
||||||
:map ivy-switch-buffer-map
|
|
||||||
("C-k" . ivy-previous-line)
|
|
||||||
("C-l" . ivy-done)
|
|
||||||
("C-d" . ivy-switch-buffer-kill)
|
|
||||||
:map ivy-reverse-i-search-map
|
|
||||||
("C-k" . ivy-previous-line)
|
|
||||||
("C-d" . ivy-reverse-i-search-kill))
|
|
||||||
:config
|
|
||||||
(ivy-mode 1))
|
|
||||||
(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
|
|
||||||
'(treemacs-projectile projectile paredit all-the-fonts doom-modeline rust-mode swipe spinner lsp-treemacs lsp-ivy lsp-ui lsp-mode counsel swiper ivy treemacs use-package monokai-pro-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.
|
|
||||||
)
|
|
||||||
|
|
11
.zshrc
11
.zshrc
|
@ -6,9 +6,9 @@ plugins=(git fzf zsh-autosuggestions)
|
||||||
|
|
||||||
source $ZSH/oh-my-zsh.sh
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
export GOPATH="/home/gsimmer/Projects/go"
|
export GOPATH="/home/gsimmer/projects/go"
|
||||||
export CARGOPATH="/home/gsimmer/.cargo/bin"
|
export CARGOPATH="/home/gsimmer/.cargo/bin"
|
||||||
export PATH="/home/gsimmer/.local/bin:$GOPATH/bin:$CARGOPATH:$PATH"
|
export PATH="/usr/local/go/bin:/home/gsimmer/.local/bin:$GOPATH/bin:$CARGOPATH:$PATH"
|
||||||
|
|
||||||
# Starship init.
|
# Starship init.
|
||||||
#eval "$(starship init zsh)"
|
#eval "$(starship init zsh)"
|
||||||
|
@ -23,3 +23,10 @@ fi
|
||||||
if [ $(which rg) != 'rg not found' ]; then
|
if [ $(which rg) != 'rg not found' ]; then
|
||||||
alias grep=rg
|
alias grep=rg
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
|
export FLYCTL_INSTALL="/home/gsimmer/.fly"
|
||||||
|
export PATH="$FLYCTL_INSTALL/bin:$PATH"
|
||||||
|
|
168
Dots.org
168
Dots.org
|
@ -188,147 +188,77 @@ WantedBy=timers.target
|
||||||
=..emacs.d/init.el=
|
=..emacs.d/init.el=
|
||||||
|
|
||||||
#+begin_src elisp :tangle .emacs.d/init.el
|
#+begin_src elisp :tangle .emacs.d/init.el
|
||||||
;; Mostly following along with System Crafter's videos.
|
(setq inhibit-startup-message t)
|
||||||
;; So this will look pretty familiar.
|
;; neccesary non-package related config
|
||||||
(setq inhibit-startup-message t)
|
|
||||||
|
|
||||||
(scroll-bar-mode -1)
|
|
||||||
(tool-bar-mode -1)
|
|
||||||
(tooltip-mode -1)
|
|
||||||
(set-fringe-mode 10)
|
|
||||||
|
|
||||||
(menu-bar-mode -1)
|
|
||||||
|
|
||||||
;; disable auto-save and auto-backup
|
|
||||||
(setq auto-save-default nil)
|
(setq auto-save-default nil)
|
||||||
(setq make-backup-files nil)
|
(setq make-backup-files nil)
|
||||||
|
|
||||||
(set-face-attribute 'default nil :font "IBM Plex Mono" :height 120)
|
|
||||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||||
|
(set-face-attribute 'default nil :font "IBM Plex Mono" :height 120)
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
(set-fringe-mode 10)
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
|
||||||
(setq org-edit-src-content-indentation 0
|
(setq org-edit-src-content-indentation 0
|
||||||
org-src-tab-acts-natively t
|
org-src-tab-acts-natively t
|
||||||
org-src-preserve-indentation t)
|
org-src-preserve-indentation t)
|
||||||
|
|
||||||
;; Packages stuff.
|
;; stupid hacks
|
||||||
(require 'package)
|
(setenv "PATH"
|
||||||
|
(concat "/usr/local/bin/go" "/home/gsimmer/projects/go/bin" (getenv "PATH")))
|
||||||
|
|
||||||
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
|
;; straight.el bootstrapping
|
||||||
("org" . "https://orgmode.org/elpa/")
|
(defvar bootstrap-version)
|
||||||
("elpa" . "https://elpa.gnu.org/packages/")))
|
(let ((bootstrap-file
|
||||||
|
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||||
(package-initialize)
|
(bootstrap-version 5))
|
||||||
(unless package-archive-contents
|
(unless (file-exists-p bootstrap-file)
|
||||||
(package-refresh-contents))
|
(with-current-buffer
|
||||||
|
(url-retrieve-synchronously
|
||||||
(unless (package-installed-p 'use-package)
|
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
|
||||||
(package-install 'use-package))
|
'silent 'inhibit-cookies)
|
||||||
|
(goto-char (point-max))
|
||||||
(require 'use-package)
|
(eval-print-last-sexp)))
|
||||||
(setq use-package-always-ensure t)
|
(load bootstrap-file nil 'nomessage))
|
||||||
|
|
||||||
(use-package nano-theme
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(load-theme 'nano-dark t))
|
|
||||||
|
|
||||||
|
;; package list we want installed
|
||||||
|
;; first grab use-package :3
|
||||||
|
(straight-use-package 'use-package)
|
||||||
|
(use-package el-patch :straight t)
|
||||||
|
(use-package monokai-pro-theme
|
||||||
|
:straight t
|
||||||
|
:config (load-theme 'monokai-pro-spectrum t))
|
||||||
(use-package doom-modeline
|
(use-package doom-modeline
|
||||||
:ensure t
|
:straight t
|
||||||
:init (doom-modeline-mode 1)
|
:init (doom-modeline-mode 1)
|
||||||
:custom
|
:custom (doom-mode-line-height 14))
|
||||||
(doom-mode-line-height 15))
|
(use-package all-the-icons :straight t)
|
||||||
(use-package all-the-icons :ensure t)
|
|
||||||
|
|
||||||
(use-package treemacs
|
|
||||||
:ensure t
|
|
||||||
:defer t
|
|
||||||
:init
|
|
||||||
:bind (:map global-map
|
|
||||||
("M-0" . treemacs-select-window)
|
|
||||||
("C-x t t" . treemacs)))
|
|
||||||
(use-package treemacs-projectile
|
|
||||||
:ensure t)
|
|
||||||
;; LSP config.
|
|
||||||
(use-package spinner :ensure t)
|
|
||||||
(use-package lsp-mode
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
(setq lsp-keymap-prefix "C-c l")
|
|
||||||
:hook ((rust-mode . lsp)
|
|
||||||
(go-mode . lsip)
|
|
||||||
(lsp-mode . lsp-enable-which-key-integration))
|
|
||||||
:commands lsp)
|
|
||||||
|
|
||||||
(use-package lsp-ui :commands lsp-ui-mode)
|
|
||||||
(use-package lsp-ivy :commands lsp-ivy-workspace-symbol)
|
|
||||||
(use-package lsp-treemacs :commands lsp-treemacs-errors-list)
|
|
||||||
|
|
||||||
(use-package rust-mode)
|
|
||||||
(use-package go-mode)
|
|
||||||
(add-hook 'go-mode-hook #'lsp-deferred)
|
|
||||||
|
|
||||||
;; Set up before-save hooks to format buffer and add/delete imports.
|
|
||||||
;; Make sure you don't have other gofmt/goimports hooks enabled.
|
|
||||||
(defun lsp-go-install-save-hooks ()
|
|
||||||
(add-hook 'before-save-hook #'lsp-format-buffer t t)
|
|
||||||
(add-hook 'before-save-hook #'lsp-organize-imports t t))
|
|
||||||
(add-hook 'go-mode-hook #'lsp-go-install-save-hooks)
|
|
||||||
|
|
||||||
(use-package json-mode)
|
|
||||||
|
|
||||||
;; Can't have lisps without paredit!
|
|
||||||
(use-package paredit
|
(use-package paredit
|
||||||
:ensure t
|
:straight t
|
||||||
:config
|
:config
|
||||||
(add-hook 'emacs-lisp-mode-hook #'paredit-mode)
|
(add-hook 'emacs-lisp-mode-hook #'paredit-mode)
|
||||||
;; enable in the *scratch* buffer
|
|
||||||
(add-hook 'lisp-interaction-mode-hook #'paredit-mode)
|
(add-hook 'lisp-interaction-mode-hook #'paredit-mode)
|
||||||
(add-hook 'ielm-mode-hook #'paredit-mode)
|
(add-hook 'ielm-mode-hook #'paredit-mode)
|
||||||
(add-hook 'lisp-mode-hook #'paredit-mode)
|
(add-hook 'lisp-mode-hook #'paredit-mode)
|
||||||
(add-hook 'eval-expression-minibuffer-setup-hook #'paredit-mode))
|
(add-hook 'eval-expression-minibuffer-setup-hook #'paredit-mode))
|
||||||
|
(use-package which-key
|
||||||
|
:straight t
|
||||||
|
:config (which-key-mode))
|
||||||
(use-package projectile
|
(use-package projectile
|
||||||
:ensure t
|
:straight t
|
||||||
:init
|
:init (projectile-mode +1)
|
||||||
(projectile-mode +1)
|
:config (setq projectile-project-search-path '("~/projects"))
|
||||||
:bind (:map projectile-mode-map
|
:bind (:map projectile-mode-map
|
||||||
("s-p" . projectile-command-map)
|
("s-p" . projectile-command-map)
|
||||||
("C-c p" . projectile-command-map))
|
("C-c p" . projectile-command-map)))
|
||||||
:config
|
(use-package dired-sidebar :straight t :commands (dired-sidebar-toggle-sidebar))
|
||||||
(setq projectile-project-search-path '("~/Projects")))
|
|
||||||
|
|
||||||
;; Ivy/Swiper/Counsel config.
|
;; lsp-mode stuff
|
||||||
(use-package swiper)
|
(use-package eglot :straight t
|
||||||
(use-package counsel)
|
:config (add-hook 'go-mode-hook 'eglot-ensure))
|
||||||
(use-package ivy
|
(use-package company :straight t
|
||||||
:diminish
|
:config (add-hook 'after-init-hook 'global-company-mode) (setq company-idle-delay 0) (setq company-minimum-prefix-length 1))
|
||||||
:bind (("C-s" . swiper)
|
(use-package go-mode :straight t)
|
||||||
:map ivy-minibuffer-map
|
|
||||||
("TAB" . ivy-alt-done)
|
|
||||||
("C-l" . ivy-alt-done)
|
|
||||||
("C-j" . ivy-next-line)
|
|
||||||
("C-k" . ivy-previous-line)
|
|
||||||
:map ivy-switch-buffer-map
|
|
||||||
("C-k" . ivy-previous-line)
|
|
||||||
("C-l" . ivy-done)
|
|
||||||
("C-d" . ivy-switch-buffer-kill)
|
|
||||||
:map ivy-reverse-i-search-map
|
|
||||||
("C-k" . ivy-previous-line)
|
|
||||||
("C-d" . ivy-reverse-i-search-kill))
|
|
||||||
:config
|
|
||||||
(ivy-mode 1))
|
|
||||||
(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
|
|
||||||
'(treemacs-projectile projectile paredit all-the-fonts doom-modeline rust-mode swipe spinner lsp-treemacs lsp-ivy lsp-ui lsp-mode counsel swiper ivy treemacs use-package monokai-pro-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.
|
|
||||||
)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** sublime text
|
*** sublime text
|
||||||
|
|
Loading…
Reference in a new issue