parent
19ccbd7e90
commit
03d48de760
3 changed files with 215 additions and 25 deletions
|
@ -104,6 +104,22 @@ Should make startup faster, taken from doom-emacs
|
||||||
(require 'use-package)
|
(require 'use-package)
|
||||||
(setq use-package-always-ensure t)
|
(setq use-package-always-ensure t)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
* Straight.el setup
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(message "setting up straight.el")
|
||||||
|
(defvar bootstrap-version)
|
||||||
|
(let ((bootstrap-file
|
||||||
|
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||||
|
(bootstrap-version 6))
|
||||||
|
(unless (file-exists-p bootstrap-file)
|
||||||
|
(with-current-buffer
|
||||||
|
(url-retrieve-synchronously
|
||||||
|
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||||
|
'silent 'inhibit-cookies)
|
||||||
|
(goto-char (point-max))
|
||||||
|
(eval-print-last-sexp)))
|
||||||
|
(load bootstrap-file nil 'nomessage))
|
||||||
|
#+end_src
|
||||||
* SPEED SPEED SPEED SPEED
|
* SPEED SPEED SPEED SPEED
|
||||||
** Avoid Garbage Collection at startup
|
** Avoid Garbage Collection at startup
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -275,17 +291,24 @@ Should make startup faster, taken from doom-emacs
|
||||||
#+end_src
|
#+end_src
|
||||||
** Command Log Mode
|
** Command Log Mode
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package command-log-mode)
|
(use-package command-log-mode
|
||||||
|
:straight t
|
||||||
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
** Command Autocompletion Packages
|
** Command Autocompletion Packages
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; better search
|
;; better search
|
||||||
(use-package swiper)
|
(use-package swiper
|
||||||
|
;;:straight t
|
||||||
|
)
|
||||||
;; better commands
|
;; better commands
|
||||||
(use-package counsel)
|
(use-package counsel
|
||||||
|
:straight t
|
||||||
|
)
|
||||||
;; autocompletion on commands (?)
|
;; autocompletion on commands (?)
|
||||||
(use-package ivy
|
(use-package ivy
|
||||||
:diminish
|
:diminish
|
||||||
|
:straight t
|
||||||
:bind (("C-s" . swiper)
|
:bind (("C-s" . swiper)
|
||||||
:map ivy-minibuffer-map
|
:map ivy-minibuffer-map
|
||||||
("TAB" . ivy-alt-done)
|
("TAB" . ivy-alt-done)
|
||||||
|
@ -304,11 +327,13 @@ Should make startup faster, taken from doom-emacs
|
||||||
(ivy-mode 1))
|
(ivy-mode 1))
|
||||||
;; better ivy autocompletion
|
;; better ivy autocompletion
|
||||||
(use-package ivy-rich
|
(use-package ivy-rich
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(ivy-rich-mode 1))
|
(ivy-rich-mode 1))
|
||||||
|
|
||||||
;; ivy in the middle
|
;; ivy in the middle
|
||||||
(use-package ivy-posframe
|
(use-package ivy-posframe
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center)))
|
(setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center)))
|
||||||
:config
|
:config
|
||||||
|
@ -316,6 +341,7 @@ Should make startup faster, taken from doom-emacs
|
||||||
|
|
||||||
;; counsel M+X
|
;; counsel M+X
|
||||||
(use-package counsel
|
(use-package counsel
|
||||||
|
:straight t
|
||||||
:bind (("M-x" . counsel-M-x)
|
:bind (("M-x" . counsel-M-x)
|
||||||
("C-x b" . counsel-ibuffer)
|
("C-x b" . counsel-ibuffer)
|
||||||
("C-x C-f" . counsel-find-file)
|
("C-x C-f" . counsel-find-file)
|
||||||
|
@ -344,6 +370,7 @@ Should make startup faster, taken from doom-emacs
|
||||||
;; (doom-themes-visual-bell-config))
|
;; (doom-themes-visual-bell-config))
|
||||||
|
|
||||||
(use-package timu-macos-theme
|
(use-package timu-macos-theme
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(load-theme 'timu-macos t))
|
(load-theme 'timu-macos t))
|
||||||
|
|
||||||
|
@ -355,6 +382,7 @@ Should make startup faster, taken from doom-emacs
|
||||||
** Nerd-Fonts (All of the Icons doesnt work for me)
|
** Nerd-Fonts (All of the Icons doesnt work for me)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package nerd-icons
|
(use-package nerd-icons
|
||||||
|
:straight t
|
||||||
:custom
|
:custom
|
||||||
;; "Symbols Nerd Font Mono" is the default and is recommended
|
;; "Symbols Nerd Font Mono" is the default and is recommended
|
||||||
;; but you can use any other Nerd Font if you want
|
;; but you can use any other Nerd Font if you want
|
||||||
|
@ -364,11 +392,13 @@ Should make startup faster, taken from doom-emacs
|
||||||
** Rainbow Delimiters
|
** Rainbow Delimiters
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package rainbow-delimiters
|
(use-package rainbow-delimiters
|
||||||
|
:straight t
|
||||||
:hook (prog-mode . rainbow-delimiters-mode))
|
:hook (prog-mode . rainbow-delimiters-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Keybinding autocompletion
|
** Keybinding autocompletion
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package which-key
|
(use-package which-key
|
||||||
|
:straight t
|
||||||
:init (which-key-mode)
|
:init (which-key-mode)
|
||||||
:diminish which-key-mode
|
:diminish which-key-mode
|
||||||
:config
|
:config
|
||||||
|
@ -385,6 +415,7 @@ Should make startup faster, taken from doom-emacs
|
||||||
** Hide Modeline
|
** Hide Modeline
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package hide-mode-line
|
(use-package hide-mode-line
|
||||||
|
:straight t
|
||||||
:hook (((treemacs-mode
|
:hook (((treemacs-mode
|
||||||
eshell-mode shell-mode
|
eshell-mode shell-mode
|
||||||
term-mode vterm-mode
|
term-mode vterm-mode
|
||||||
|
@ -397,12 +428,14 @@ Should make startup faster, taken from doom-emacs
|
||||||
** Minor mode menu for modline
|
** Minor mode menu for modline
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package minions
|
(use-package minions
|
||||||
|
:straight t
|
||||||
:hook (doom-modeline-mode . minions-mode))
|
:hook (doom-modeline-mode . minions-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Better help menu
|
** Better help menu
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package helpful
|
(use-package helpful
|
||||||
:ensure t
|
:ensure t
|
||||||
|
:straight t
|
||||||
:custom
|
:custom
|
||||||
(counsel-describe-function-function #'helpful-callable)
|
(counsel-describe-function-function #'helpful-callable)
|
||||||
(counsel-describe-variable-function #'helpful-variable)
|
(counsel-describe-variable-function #'helpful-variable)
|
||||||
|
@ -415,12 +448,14 @@ Should make startup faster, taken from doom-emacs
|
||||||
** Modern selection behavior
|
** Modern selection behavior
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package delsel
|
(use-package delsel
|
||||||
|
:straight t
|
||||||
:ensure nil
|
:ensure nil
|
||||||
:config (delete-selection-mode +1))
|
:config (delete-selection-mode +1))
|
||||||
#+end_src
|
#+end_src
|
||||||
** General Leader Key
|
** General Leader Key
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package general
|
(use-package general
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(general-create-definer sakomacs/leader-keys
|
(general-create-definer sakomacs/leader-keys
|
||||||
:keymaps `(normal insert visual emacs)
|
:keymaps `(normal insert visual emacs)
|
||||||
|
@ -478,6 +513,7 @@ Should make startup faster, taken from doom-emacs
|
||||||
** Dashboard
|
** Dashboard
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package dashboard
|
(use-package dashboard
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(setq dashboard-display-icons-p t) ;; display icons on both GUI and terminal
|
(setq dashboard-display-icons-p t) ;; display icons on both GUI and terminal
|
||||||
(setq dashboard-icon-type 'nerd-icons) ;; use `nerd-icons' package
|
(setq dashboard-icon-type 'nerd-icons) ;; use `nerd-icons' package
|
||||||
|
@ -511,6 +547,7 @@ Should make startup faster, taken from doom-emacs
|
||||||
** Evil Mode (vim)
|
** Evil Mode (vim)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package evil
|
(use-package evil
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(setq evil-want-integration t)
|
(setq evil-want-integration t)
|
||||||
(setq evil-want-keybinding nil)
|
(setq evil-want-keybinding nil)
|
||||||
|
@ -532,19 +569,23 @@ Should make startup faster, taken from doom-emacs
|
||||||
|
|
||||||
;; extra things for Evil
|
;; extra things for Evil
|
||||||
(use-package evil-collection
|
(use-package evil-collection
|
||||||
|
:straight t
|
||||||
:after evil
|
:after evil
|
||||||
:config
|
:config
|
||||||
(evil-collection-init))
|
(evil-collection-init))
|
||||||
|
|
||||||
;; commenting
|
;; commenting
|
||||||
(use-package evil-commentary
|
(use-package evil-commentary
|
||||||
|
:straight t
|
||||||
:after evil
|
:after evil
|
||||||
:diminish
|
:diminish
|
||||||
:config (evil-commentary-mode +1))
|
:config (evil-commentary-mode +1))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Hydra for scaling text
|
** Hydra for scaling text
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package hydra)
|
(use-package hydra
|
||||||
|
:straight t
|
||||||
|
)
|
||||||
(defhydra hydra-text-scale (:timeout 4)
|
(defhydra hydra-text-scale (:timeout 4)
|
||||||
"scale text"
|
"scale text"
|
||||||
("j" text-scale-increase "in")
|
("j" text-scale-increase "in")
|
||||||
|
@ -557,6 +598,7 @@ Should make startup faster, taken from doom-emacs
|
||||||
** Helpful for projects
|
** Helpful for projects
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package projectile
|
(use-package projectile
|
||||||
|
:straight t
|
||||||
:diminish projectile-mode
|
:diminish projectile-mode
|
||||||
:demand
|
:demand
|
||||||
:config (projectile-mode)
|
:config (projectile-mode)
|
||||||
|
@ -569,11 +611,13 @@ Should make startup faster, taken from doom-emacs
|
||||||
(setq projectile-switch-project-action #'projectile-dired))
|
(setq projectile-switch-project-action #'projectile-dired))
|
||||||
|
|
||||||
(use-package counsel-projectile
|
(use-package counsel-projectile
|
||||||
|
:straight t
|
||||||
:config (counsel-projectile-mode))
|
:config (counsel-projectile-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Org-Mode
|
** Org-Mode
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package org
|
(use-package org
|
||||||
|
:straight t
|
||||||
:hook (org-mode . org-indent-mode)
|
:hook (org-mode . org-indent-mode)
|
||||||
:config
|
:config
|
||||||
(setq org-ellipsis " ↓")
|
(setq org-ellipsis " ↓")
|
||||||
|
@ -705,11 +749,13 @@ Should make startup faster, taken from doom-emacs
|
||||||
*** Olivetti
|
*** Olivetti
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package olivetti
|
(use-package olivetti
|
||||||
|
:straight t
|
||||||
:hook (org-mode . (lambda () (interactive) (olivetti-mode) (olivetti-set-width 100))))
|
:hook (org-mode . (lambda () (interactive) (olivetti-mode) (olivetti-set-width 100))))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Org-Roam
|
** Org-Roam
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package org-roam
|
(use-package org-roam
|
||||||
|
:straight t
|
||||||
:ensure t
|
:ensure t
|
||||||
:custom
|
:custom
|
||||||
(org-roam-directory "~/org/notes")
|
(org-roam-directory "~/org/notes")
|
||||||
|
@ -724,6 +770,7 @@ Should make startup faster, taken from doom-emacs
|
||||||
(use-package treemacs
|
(use-package treemacs
|
||||||
:ensure t
|
:ensure t
|
||||||
:defer t
|
:defer t
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(with-eval-after-load 'winum
|
(with-eval-after-load 'winum
|
||||||
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
||||||
|
@ -813,17 +860,21 @@ Should make startup faster, taken from doom-emacs
|
||||||
|
|
||||||
(use-package treemacs-evil
|
(use-package treemacs-evil
|
||||||
:after (treemacs evil)
|
:after (treemacs evil)
|
||||||
|
:straight t
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package treemacs-projectile
|
(use-package treemacs-projectile
|
||||||
:after (treemacs projectile)
|
:after (treemacs projectile)
|
||||||
|
:straight t
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package treemacs-magit
|
(use-package treemacs-magit
|
||||||
:after (treemacs magit)
|
:after (treemacs magit)
|
||||||
|
:straight t
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package treemacs-nerd-icons
|
(use-package treemacs-nerd-icons
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(treemacs-load-theme "nerd-icons"))
|
(treemacs-load-theme "nerd-icons"))
|
||||||
|
|
||||||
|
@ -832,10 +883,12 @@ Should make startup faster, taken from doom-emacs
|
||||||
*** Magit (git in emacs)
|
*** Magit (git in emacs)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package magit
|
(use-package magit
|
||||||
|
:straight t
|
||||||
:custom
|
:custom
|
||||||
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)
|
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)
|
||||||
)
|
)
|
||||||
(use-package magit-todos
|
(use-package magit-todos
|
||||||
|
:straight t
|
||||||
:after magit
|
:after magit
|
||||||
:config (magit-todos-mode 1))
|
:config (magit-todos-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
@ -843,6 +896,7 @@ Should make startup faster, taken from doom-emacs
|
||||||
make sure to setup authinfo
|
make sure to setup authinfo
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package forge
|
(use-package forge
|
||||||
|
:straight t
|
||||||
:after magit)
|
:after magit)
|
||||||
(setq auth-sources '("~/.authinfo"))
|
(setq auth-sources '("~/.authinfo"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
@ -850,6 +904,7 @@ make sure to setup authinfo
|
||||||
*** Direnv
|
*** Direnv
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package direnv
|
(use-package direnv
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(direnv-mode))
|
(direnv-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
@ -861,6 +916,7 @@ make sure to setup authinfo
|
||||||
(lsp-headerline-breadcrumb-mode))
|
(lsp-headerline-breadcrumb-mode))
|
||||||
|
|
||||||
(use-package lsp-mode
|
(use-package lsp-mode
|
||||||
|
:straight t
|
||||||
:commands (lsp lsp-deferred)
|
:commands (lsp lsp-deferred)
|
||||||
:hook (lsp-mode . sakomacs/lsp-mode-setup)
|
:hook (lsp-mode . sakomacs/lsp-mode-setup)
|
||||||
:init
|
:init
|
||||||
|
@ -873,22 +929,27 @@ make sure to setup authinfo
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package lsp-ui
|
(use-package lsp-ui
|
||||||
:hook (lsp-mode . lsp-ui-mode)
|
:hook (lsp-mode . lsp-ui-mode)
|
||||||
|
:straight t
|
||||||
:custom
|
:custom
|
||||||
(lsp-ui-doc-position 'bottom))
|
(lsp-ui-doc-position 'bottom))
|
||||||
#+end_src
|
#+end_src
|
||||||
**** Treemacs Lsp
|
**** Treemacs Lsp
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package lsp-treemacs
|
(use-package lsp-treemacs
|
||||||
|
:straight t
|
||||||
:after lsp)
|
:after lsp)
|
||||||
#+end_src
|
#+end_src
|
||||||
**** lsp-ivy
|
**** lsp-ivy
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package lsp-ivy)
|
(use-package lsp-ivy
|
||||||
|
:straight t
|
||||||
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
**** Languages
|
**** Languages
|
||||||
***** HTML/CSS
|
***** HTML/CSS
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package web-mode
|
(use-package web-mode
|
||||||
|
:straight t
|
||||||
:hook (web-mode . lsp)
|
:hook (web-mode . lsp)
|
||||||
:mode ("\\.html\\'"
|
:mode ("\\.html\\'"
|
||||||
"\\.css\\'"))
|
"\\.css\\'"))
|
||||||
|
@ -896,6 +957,7 @@ make sure to setup authinfo
|
||||||
***** Javascript
|
***** Javascript
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package js2-mode
|
(use-package js2-mode
|
||||||
|
:straight t
|
||||||
:mode ("\\.js\\'"
|
:mode ("\\.js\\'"
|
||||||
"\\.jsx\\'")
|
"\\.jsx\\'")
|
||||||
:hook (js2-mode . lsp)
|
:hook (js2-mode . lsp)
|
||||||
|
@ -908,6 +970,7 @@ make sure to setup authinfo
|
||||||
***** Typescript
|
***** Typescript
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package typescript-mode
|
(use-package typescript-mode
|
||||||
|
:straight t
|
||||||
:mode ("\\.ts\\'"
|
:mode ("\\.ts\\'"
|
||||||
"\\.tsx\\'")
|
"\\.tsx\\'")
|
||||||
:hook (typescript-mode . lsp))
|
:hook (typescript-mode . lsp))
|
||||||
|
@ -943,22 +1006,26 @@ make sure to setup authinfo
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package cmake-mode
|
(use-package cmake-mode
|
||||||
:mode "CMakeLists.txt"
|
:mode "CMakeLists.txt"
|
||||||
|
:straight t
|
||||||
:hook (cmake-mode . lsp))
|
:hook (cmake-mode . lsp))
|
||||||
#+end_src
|
#+end_src
|
||||||
***** Lua
|
***** Lua
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package lua-mode
|
(use-package lua-mode
|
||||||
:mode "\\.lua\\'"
|
:mode "\\.lua\\'"
|
||||||
|
:straight t
|
||||||
:hook (lua-mode . lsp))
|
:hook (lua-mode . lsp))
|
||||||
#+end_src
|
#+end_src
|
||||||
***** Python
|
***** Python
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package python-mode
|
(use-package python-mode
|
||||||
:mode "\\.py\\'"
|
:mode "\\.py\\'"
|
||||||
|
:straight t
|
||||||
:hook (python-mode . lsp))
|
:hook (python-mode . lsp))
|
||||||
|
|
||||||
(use-package elpy
|
(use-package elpy
|
||||||
:after python-mode
|
:after python-mode
|
||||||
|
:straight t
|
||||||
|
|
||||||
:custom
|
:custom
|
||||||
(elpy-rpc-python-command "python3")
|
(elpy-rpc-python-command "python3")
|
||||||
|
@ -968,6 +1035,7 @@ make sure to setup authinfo
|
||||||
|
|
||||||
(use-package lsp-pyright
|
(use-package lsp-pyright
|
||||||
:ensure t
|
:ensure t
|
||||||
|
:straight t
|
||||||
:hook (python-mode . (lambda ()
|
:hook (python-mode . (lambda ()
|
||||||
(require 'lsp-pyright)
|
(require 'lsp-pyright)
|
||||||
(lsp)))) ; or lsp-deferred
|
(lsp)))) ; or lsp-deferred
|
||||||
|
@ -976,17 +1044,20 @@ make sure to setup authinfo
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package haskell-mode
|
(use-package haskell-mode
|
||||||
:mode "\\.hs\\'"
|
:mode "\\.hs\\'"
|
||||||
|
:straight t
|
||||||
:hook (python-mode . lsp))
|
:hook (python-mode . lsp))
|
||||||
#+end_src
|
#+end_src
|
||||||
***** Yaml editing
|
***** Yaml editing
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package yaml-mode
|
(use-package yaml-mode
|
||||||
|
:straight t
|
||||||
:mode ("\\.yaml\\'"
|
:mode ("\\.yaml\\'"
|
||||||
"\\.yml\\'"))
|
"\\.yml\\'"))
|
||||||
#+end_src
|
#+end_src
|
||||||
***** Nix
|
***** Nix
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package nix-mode
|
(use-package nix-mode
|
||||||
|
:straight t
|
||||||
:hook ((nix-mode . lsp)
|
:hook ((nix-mode . lsp)
|
||||||
(nix-mode . format-all-mode)
|
(nix-mode . format-all-mode)
|
||||||
(nix-mode . (lambda () (setq-local format-all-formatters '(("Nix" alejandra))))))
|
(nix-mode . (lambda () (setq-local format-all-formatters '(("Nix" alejandra))))))
|
||||||
|
@ -995,24 +1066,29 @@ make sure to setup authinfo
|
||||||
***** Dart
|
***** Dart
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package dart-mode
|
(use-package dart-mode
|
||||||
|
:straight t
|
||||||
:hook (dart-mode . lsp)
|
:hook (dart-mode . lsp)
|
||||||
:mode "\\.dart\\'" )
|
:mode "\\.dart\\'" )
|
||||||
#+end_src
|
#+end_src
|
||||||
***** Markdown
|
***** Markdown
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package markdown-mode
|
(use-package markdown-mode
|
||||||
|
:straight t
|
||||||
:hook (markdown-mode . visual-line-mode))
|
:hook (markdown-mode . visual-line-mode))
|
||||||
|
|
||||||
(use-package markdown-preview-mode)
|
(use-package markdown-preview-mode
|
||||||
|
:straight t)
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Commenter
|
*** Commenter
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package evil-nerd-commenter
|
(use-package evil-nerd-commenter
|
||||||
|
:straight t
|
||||||
:bind ("M-/" . evilnc-comment-or-uncomment-lines))
|
:bind ("M-/" . evilnc-comment-or-uncomment-lines))
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Company Mode (Better Autocompletion)
|
*** Company Mode (Better Autocompletion)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package company
|
(use-package company
|
||||||
|
:straight t
|
||||||
:after lsp-mode
|
:after lsp-mode
|
||||||
:hook (lsp-mode . company-mode)
|
:hook (lsp-mode . company-mode)
|
||||||
:bind (:map company-active-map
|
:bind (:map company-active-map
|
||||||
|
@ -1026,15 +1102,18 @@ make sure to setup authinfo
|
||||||
(company-tooltip-align-annotations t))
|
(company-tooltip-align-annotations t))
|
||||||
|
|
||||||
(use-package company-box
|
(use-package company-box
|
||||||
|
:straight t
|
||||||
:hook (company-mode . company-box-mode))
|
:hook (company-mode . company-box-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Syntax Checking (Flycheck)
|
*** Syntax Checking (Flycheck)
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package flycheck :config (global-flycheck-mode +1))
|
(use-package flycheck :straight t :config (global-flycheck-mode +1))
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Formatting
|
*** Formatting
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package format-all)
|
(use-package format-all
|
||||||
|
:straight t
|
||||||
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Better Compile Messages
|
*** Better Compile Messages
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -1047,12 +1126,15 @@ make sure to setup authinfo
|
||||||
*** Snippets
|
*** Snippets
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package yasnippet
|
(use-package yasnippet
|
||||||
|
:straight t
|
||||||
:diminish yas-minor-mode
|
:diminish yas-minor-mode
|
||||||
:hook (after-init . yas-global-mode))
|
:hook (after-init . yas-global-mode))
|
||||||
|
|
||||||
(use-package yasnippet-snippets)
|
(use-package yasnippet-snippets
|
||||||
|
:straight t)
|
||||||
|
|
||||||
(use-package yasnippet-capf
|
(use-package yasnippet-capf
|
||||||
|
:straight t
|
||||||
:init (add-to-list 'completion-at-point-functions #'yasnippet-capf))
|
:init (add-to-list 'completion-at-point-functions #'yasnippet-capf))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Dired (quick file management in emacs)
|
** Dired (quick file management in emacs)
|
||||||
|
@ -1156,6 +1238,7 @@ Dired is a built-in file manager for Emacs that does some pretty amazing things!
|
||||||
** RSS Reader
|
** RSS Reader
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package elfeed
|
(use-package elfeed
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(setq elfeed-use-curl t)
|
(setq elfeed-use-curl t)
|
||||||
(setq browse-url-browser-function 'eww-browse-url)
|
(setq browse-url-browser-function 'eww-browse-url)
|
||||||
|
@ -1163,6 +1246,7 @@ Dired is a built-in file manager for Emacs that does some pretty amazing things!
|
||||||
)
|
)
|
||||||
|
|
||||||
(use-package elfeed-protocol
|
(use-package elfeed-protocol
|
||||||
|
:straight t
|
||||||
:after elfeed
|
:after elfeed
|
||||||
:config
|
:config
|
||||||
(elfeed-set-timeout 36000)
|
(elfeed-set-timeout 36000)
|
||||||
|
@ -1203,6 +1287,7 @@ only god knows why im doing this
|
||||||
Emacs can be everything? Why not turn it into a pdf reader
|
Emacs can be everything? Why not turn it into a pdf reader
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package pdf-tools
|
(use-package pdf-tools
|
||||||
|
:straight t
|
||||||
:mode ("\\.pdf\\'" . pdf-view-mode)
|
:mode ("\\.pdf\\'" . pdf-view-mode)
|
||||||
:config
|
:config
|
||||||
(setq-default pdf-view-display-size 'fit-page)
|
(setq-default pdf-view-display-size 'fit-page)
|
||||||
|
@ -1212,11 +1297,13 @@ Emacs can be everything? Why not turn it into a pdf reader
|
||||||
** Matrix Client
|
** Matrix Client
|
||||||
okay this one is a bit more understandable
|
okay this one is a bit more understandable
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package ement)
|
(use-package ement
|
||||||
|
:straight t)
|
||||||
#+end_src
|
#+end_src
|
||||||
** Discord RPC
|
** Discord RPC
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package elcord)
|
(use-package elcord
|
||||||
|
:straight t)
|
||||||
#+end_src>
|
#+end_src>
|
||||||
** Email
|
** Email
|
||||||
This has to be one of the hardest things to configure on windows
|
This has to be one of the hardest things to configure on windows
|
||||||
|
@ -1230,7 +1317,8 @@ I should just switch to Linux at this point :(
|
||||||
;; )
|
;; )
|
||||||
|
|
||||||
;; we need this regardless of platform
|
;; we need this regardless of platform
|
||||||
(use-package smtpmail)
|
(use-package smtpmail
|
||||||
|
:straight t)
|
||||||
#+end_src
|
#+end_src
|
||||||
* Org Mode Configuration Setup
|
* Org Mode Configuration Setup
|
||||||
** Babel Languages
|
** Babel Languages
|
||||||
|
@ -1275,6 +1363,7 @@ god dammit why are they making my shells in emacs lisp
|
||||||
(use-package eshell-git-prompt)
|
(use-package eshell-git-prompt)
|
||||||
|
|
||||||
(use-package eshell
|
(use-package eshell
|
||||||
|
:straight t
|
||||||
:hook (eshell-first-time-mode . sakomacs/configure-eshell)
|
:hook (eshell-first-time-mode . sakomacs/configure-eshell)
|
||||||
:config
|
:config
|
||||||
|
|
||||||
|
@ -1287,6 +1376,7 @@ god dammit why are they making my shells in emacs lisp
|
||||||
** VTerm
|
** VTerm
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package vterm
|
(use-package vterm
|
||||||
|
:straight t
|
||||||
:commands vterm
|
:commands vterm
|
||||||
:config
|
:config
|
||||||
(setq vterm-max-scrollback 10000))
|
(setq vterm-max-scrollback 10000))
|
||||||
|
|
|
@ -79,6 +79,20 @@ kept-old-versions 5)
|
||||||
(require 'use-package)
|
(require 'use-package)
|
||||||
(setq use-package-always-ensure t)
|
(setq use-package-always-ensure t)
|
||||||
|
|
||||||
|
(message "setting up straight.el")
|
||||||
|
(defvar bootstrap-version)
|
||||||
|
(let ((bootstrap-file
|
||||||
|
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||||
|
(bootstrap-version 6))
|
||||||
|
(unless (file-exists-p bootstrap-file)
|
||||||
|
(with-current-buffer
|
||||||
|
(url-retrieve-synchronously
|
||||||
|
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||||
|
'silent 'inhibit-cookies)
|
||||||
|
(goto-char (point-max))
|
||||||
|
(eval-print-last-sexp)))
|
||||||
|
(load bootstrap-file nil 'nomessage))
|
||||||
|
|
||||||
(use-package gcmh
|
(use-package gcmh
|
||||||
:init
|
:init
|
||||||
(setq gcmh-idle-delay 5)
|
(setq gcmh-idle-delay 5)
|
||||||
|
@ -227,15 +241,22 @@ kept-old-versions 5)
|
||||||
|
|
||||||
(message "setting up packages")
|
(message "setting up packages")
|
||||||
|
|
||||||
(use-package command-log-mode)
|
(use-package command-log-mode
|
||||||
|
;;:straight t
|
||||||
|
)
|
||||||
|
|
||||||
;; better search
|
;; better search
|
||||||
(use-package swiper)
|
(use-package swiper
|
||||||
|
;;:straight t
|
||||||
|
)
|
||||||
;; better commands
|
;; better commands
|
||||||
(use-package counsel)
|
(use-package counsel
|
||||||
|
:straight t
|
||||||
|
)
|
||||||
;; autocompletion on commands (?)
|
;; autocompletion on commands (?)
|
||||||
(use-package ivy
|
(use-package ivy
|
||||||
:diminish
|
:diminish
|
||||||
|
:straight t
|
||||||
:bind (("C-s" . swiper)
|
:bind (("C-s" . swiper)
|
||||||
:map ivy-minibuffer-map
|
:map ivy-minibuffer-map
|
||||||
("TAB" . ivy-alt-done)
|
("TAB" . ivy-alt-done)
|
||||||
|
@ -254,11 +275,13 @@ kept-old-versions 5)
|
||||||
(ivy-mode 1))
|
(ivy-mode 1))
|
||||||
;; better ivy autocompletion
|
;; better ivy autocompletion
|
||||||
(use-package ivy-rich
|
(use-package ivy-rich
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(ivy-rich-mode 1))
|
(ivy-rich-mode 1))
|
||||||
|
|
||||||
;; ivy in the middle
|
;; ivy in the middle
|
||||||
(use-package ivy-posframe
|
(use-package ivy-posframe
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center)))
|
(setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center)))
|
||||||
:config
|
:config
|
||||||
|
@ -266,6 +289,7 @@ kept-old-versions 5)
|
||||||
|
|
||||||
;; counsel M+X
|
;; counsel M+X
|
||||||
(use-package counsel
|
(use-package counsel
|
||||||
|
:straight t
|
||||||
:bind (("M-x" . counsel-M-x)
|
:bind (("M-x" . counsel-M-x)
|
||||||
("C-x b" . counsel-ibuffer)
|
("C-x b" . counsel-ibuffer)
|
||||||
("C-x C-f" . counsel-find-file)
|
("C-x C-f" . counsel-find-file)
|
||||||
|
@ -292,12 +316,14 @@ kept-old-versions 5)
|
||||||
;; (doom-themes-visual-bell-config))
|
;; (doom-themes-visual-bell-config))
|
||||||
|
|
||||||
(use-package timu-macos-theme
|
(use-package timu-macos-theme
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(load-theme 'timu-macos t))
|
(load-theme 'timu-macos t))
|
||||||
|
|
||||||
(use-package all-the-icons)
|
(use-package all-the-icons)
|
||||||
|
|
||||||
(use-package nerd-icons
|
(use-package nerd-icons
|
||||||
|
:straight t
|
||||||
:custom
|
:custom
|
||||||
;; "Symbols Nerd Font Mono" is the default and is recommended
|
;; "Symbols Nerd Font Mono" is the default and is recommended
|
||||||
;; but you can use any other Nerd Font if you want
|
;; but you can use any other Nerd Font if you want
|
||||||
|
@ -305,9 +331,11 @@ kept-old-versions 5)
|
||||||
)
|
)
|
||||||
|
|
||||||
(use-package rainbow-delimiters
|
(use-package rainbow-delimiters
|
||||||
|
:straight t
|
||||||
:hook (prog-mode . rainbow-delimiters-mode))
|
:hook (prog-mode . rainbow-delimiters-mode))
|
||||||
|
|
||||||
(use-package which-key
|
(use-package which-key
|
||||||
|
:straight t
|
||||||
:init (which-key-mode)
|
:init (which-key-mode)
|
||||||
:diminish which-key-mode
|
:diminish which-key-mode
|
||||||
:config
|
:config
|
||||||
|
@ -320,6 +348,7 @@ kept-old-versions 5)
|
||||||
;; :custom ((doom-modeline-height 40)))
|
;; :custom ((doom-modeline-height 40)))
|
||||||
|
|
||||||
(use-package hide-mode-line
|
(use-package hide-mode-line
|
||||||
|
:straight t
|
||||||
:hook (((treemacs-mode
|
:hook (((treemacs-mode
|
||||||
eshell-mode shell-mode
|
eshell-mode shell-mode
|
||||||
term-mode vterm-mode
|
term-mode vterm-mode
|
||||||
|
@ -330,10 +359,12 @@ kept-old-versions 5)
|
||||||
(dired-mode . turn-off-hide-mode-line-mode)))
|
(dired-mode . turn-off-hide-mode-line-mode)))
|
||||||
|
|
||||||
(use-package minions
|
(use-package minions
|
||||||
|
:straight t
|
||||||
:hook (doom-modeline-mode . minions-mode))
|
:hook (doom-modeline-mode . minions-mode))
|
||||||
|
|
||||||
(use-package helpful
|
(use-package helpful
|
||||||
:ensure t
|
:ensure t
|
||||||
|
:straight t
|
||||||
:custom
|
:custom
|
||||||
(counsel-describe-function-function #'helpful-callable)
|
(counsel-describe-function-function #'helpful-callable)
|
||||||
(counsel-describe-variable-function #'helpful-variable)
|
(counsel-describe-variable-function #'helpful-variable)
|
||||||
|
@ -344,10 +375,12 @@ kept-old-versions 5)
|
||||||
([remap describe-key] . helpful-key))
|
([remap describe-key] . helpful-key))
|
||||||
|
|
||||||
(use-package delsel
|
(use-package delsel
|
||||||
|
:straight t
|
||||||
:ensure nil
|
:ensure nil
|
||||||
:config (delete-selection-mode +1))
|
:config (delete-selection-mode +1))
|
||||||
|
|
||||||
(use-package general
|
(use-package general
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(general-create-definer sakomacs/leader-keys
|
(general-create-definer sakomacs/leader-keys
|
||||||
:keymaps `(normal insert visual emacs)
|
:keymaps `(normal insert visual emacs)
|
||||||
|
@ -403,6 +436,7 @@ kept-old-versions 5)
|
||||||
"gcp" `(forge-create-pullreq :which-key "pull request")))
|
"gcp" `(forge-create-pullreq :which-key "pull request")))
|
||||||
|
|
||||||
(use-package dashboard
|
(use-package dashboard
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(setq dashboard-display-icons-p t) ;; display icons on both GUI and terminal
|
(setq dashboard-display-icons-p t) ;; display icons on both GUI and terminal
|
||||||
(setq dashboard-icon-type 'nerd-icons) ;; use `nerd-icons' package
|
(setq dashboard-icon-type 'nerd-icons) ;; use `nerd-icons' package
|
||||||
|
@ -434,6 +468,7 @@ kept-old-versions 5)
|
||||||
(dashboard-setup-startup-hook))
|
(dashboard-setup-startup-hook))
|
||||||
|
|
||||||
(use-package evil
|
(use-package evil
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(setq evil-want-integration t)
|
(setq evil-want-integration t)
|
||||||
(setq evil-want-keybinding nil)
|
(setq evil-want-keybinding nil)
|
||||||
|
@ -455,17 +490,21 @@ kept-old-versions 5)
|
||||||
|
|
||||||
;; extra things for Evil
|
;; extra things for Evil
|
||||||
(use-package evil-collection
|
(use-package evil-collection
|
||||||
|
:straight t
|
||||||
:after evil
|
:after evil
|
||||||
:config
|
:config
|
||||||
(evil-collection-init))
|
(evil-collection-init))
|
||||||
|
|
||||||
;; commenting
|
;; commenting
|
||||||
(use-package evil-commentary
|
(use-package evil-commentary
|
||||||
|
:straight t
|
||||||
:after evil
|
:after evil
|
||||||
:diminish
|
:diminish
|
||||||
:config (evil-commentary-mode +1))
|
:config (evil-commentary-mode +1))
|
||||||
|
|
||||||
(use-package hydra)
|
(use-package hydra
|
||||||
|
:straight t
|
||||||
|
)
|
||||||
(defhydra hydra-text-scale (:timeout 4)
|
(defhydra hydra-text-scale (:timeout 4)
|
||||||
"scale text"
|
"scale text"
|
||||||
("j" text-scale-increase "in")
|
("j" text-scale-increase "in")
|
||||||
|
@ -476,6 +515,7 @@ kept-old-versions 5)
|
||||||
"ts" '(hydra-text-scale/body :which-key "scale text"))
|
"ts" '(hydra-text-scale/body :which-key "scale text"))
|
||||||
|
|
||||||
(use-package projectile
|
(use-package projectile
|
||||||
|
:straight t
|
||||||
:diminish projectile-mode
|
:diminish projectile-mode
|
||||||
:demand
|
:demand
|
||||||
:config (projectile-mode)
|
:config (projectile-mode)
|
||||||
|
@ -488,9 +528,11 @@ kept-old-versions 5)
|
||||||
(setq projectile-switch-project-action #'projectile-dired))
|
(setq projectile-switch-project-action #'projectile-dired))
|
||||||
|
|
||||||
(use-package counsel-projectile
|
(use-package counsel-projectile
|
||||||
|
:straight t
|
||||||
:config (counsel-projectile-mode))
|
:config (counsel-projectile-mode))
|
||||||
|
|
||||||
(use-package org
|
(use-package org
|
||||||
|
:straight t
|
||||||
:hook (org-mode . org-indent-mode)
|
:hook (org-mode . org-indent-mode)
|
||||||
:config
|
:config
|
||||||
(setq org-ellipsis " ↓")
|
(setq org-ellipsis " ↓")
|
||||||
|
@ -619,9 +661,11 @@ kept-old-versions 5)
|
||||||
:empty-lines 1))))
|
:empty-lines 1))))
|
||||||
|
|
||||||
(use-package olivetti
|
(use-package olivetti
|
||||||
|
:straight t
|
||||||
:hook (org-mode . (lambda () (interactive) (olivetti-mode) (olivetti-set-width 100))))
|
:hook (org-mode . (lambda () (interactive) (olivetti-mode) (olivetti-set-width 100))))
|
||||||
|
|
||||||
(use-package org-roam
|
(use-package org-roam
|
||||||
|
:straight t
|
||||||
:ensure t
|
:ensure t
|
||||||
:custom
|
:custom
|
||||||
(org-roam-directory "~/org/notes")
|
(org-roam-directory "~/org/notes")
|
||||||
|
@ -634,6 +678,7 @@ kept-old-versions 5)
|
||||||
(use-package treemacs
|
(use-package treemacs
|
||||||
:ensure t
|
:ensure t
|
||||||
:defer t
|
:defer t
|
||||||
|
:straight t
|
||||||
:init
|
:init
|
||||||
(with-eval-after-load 'winum
|
(with-eval-after-load 'winum
|
||||||
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
||||||
|
@ -723,33 +768,41 @@ kept-old-versions 5)
|
||||||
|
|
||||||
(use-package treemacs-evil
|
(use-package treemacs-evil
|
||||||
:after (treemacs evil)
|
:after (treemacs evil)
|
||||||
|
:straight t
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package treemacs-projectile
|
(use-package treemacs-projectile
|
||||||
:after (treemacs projectile)
|
:after (treemacs projectile)
|
||||||
|
:straight t
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package treemacs-magit
|
(use-package treemacs-magit
|
||||||
:after (treemacs magit)
|
:after (treemacs magit)
|
||||||
|
:straight t
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package treemacs-nerd-icons
|
(use-package treemacs-nerd-icons
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(treemacs-load-theme "nerd-icons"))
|
(treemacs-load-theme "nerd-icons"))
|
||||||
|
|
||||||
(use-package magit
|
(use-package magit
|
||||||
|
:straight t
|
||||||
:custom
|
:custom
|
||||||
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)
|
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)
|
||||||
)
|
)
|
||||||
(use-package magit-todos
|
(use-package magit-todos
|
||||||
|
:straight t
|
||||||
:after magit
|
:after magit
|
||||||
:config (magit-todos-mode 1))
|
:config (magit-todos-mode 1))
|
||||||
|
|
||||||
(use-package forge
|
(use-package forge
|
||||||
|
:straight t
|
||||||
:after magit)
|
:after magit)
|
||||||
(setq auth-sources '("~/.authinfo"))
|
(setq auth-sources '("~/.authinfo"))
|
||||||
|
|
||||||
(use-package direnv
|
(use-package direnv
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(direnv-mode))
|
(direnv-mode))
|
||||||
|
|
||||||
|
@ -758,6 +811,7 @@ kept-old-versions 5)
|
||||||
(lsp-headerline-breadcrumb-mode))
|
(lsp-headerline-breadcrumb-mode))
|
||||||
|
|
||||||
(use-package lsp-mode
|
(use-package lsp-mode
|
||||||
|
:straight t
|
||||||
:commands (lsp lsp-deferred)
|
:commands (lsp lsp-deferred)
|
||||||
:hook (lsp-mode . sakomacs/lsp-mode-setup)
|
:hook (lsp-mode . sakomacs/lsp-mode-setup)
|
||||||
:init
|
:init
|
||||||
|
@ -768,20 +822,26 @@ kept-old-versions 5)
|
||||||
|
|
||||||
(use-package lsp-ui
|
(use-package lsp-ui
|
||||||
:hook (lsp-mode . lsp-ui-mode)
|
:hook (lsp-mode . lsp-ui-mode)
|
||||||
|
:straight t
|
||||||
:custom
|
:custom
|
||||||
(lsp-ui-doc-position 'bottom))
|
(lsp-ui-doc-position 'bottom))
|
||||||
|
|
||||||
(use-package lsp-treemacs
|
(use-package lsp-treemacs
|
||||||
|
:straight t
|
||||||
:after lsp)
|
:after lsp)
|
||||||
|
|
||||||
(use-package lsp-ivy)
|
(use-package lsp-ivy
|
||||||
|
:straight t
|
||||||
|
)
|
||||||
|
|
||||||
(use-package web-mode
|
(use-package web-mode
|
||||||
|
:straight t
|
||||||
:hook (web-mode . lsp)
|
:hook (web-mode . lsp)
|
||||||
:mode ("\\.html\\'"
|
:mode ("\\.html\\'"
|
||||||
"\\.css\\'"))
|
"\\.css\\'"))
|
||||||
|
|
||||||
(use-package js2-mode
|
(use-package js2-mode
|
||||||
|
:straight t
|
||||||
:mode ("\\.js\\'"
|
:mode ("\\.js\\'"
|
||||||
"\\.jsx\\'")
|
"\\.jsx\\'")
|
||||||
:hook (js2-mode . lsp)
|
:hook (js2-mode . lsp)
|
||||||
|
@ -792,6 +852,7 @@ kept-old-versions 5)
|
||||||
(setq web-mode-content-types-alist '(("jsx" . "\\.js[x]?\\'"))))
|
(setq web-mode-content-types-alist '(("jsx" . "\\.js[x]?\\'"))))
|
||||||
|
|
||||||
(use-package typescript-mode
|
(use-package typescript-mode
|
||||||
|
:straight t
|
||||||
:mode ("\\.ts\\'"
|
:mode ("\\.ts\\'"
|
||||||
"\\.tsx\\'")
|
"\\.tsx\\'")
|
||||||
:hook (typescript-mode . lsp))
|
:hook (typescript-mode . lsp))
|
||||||
|
@ -820,18 +881,22 @@ kept-old-versions 5)
|
||||||
|
|
||||||
(use-package cmake-mode
|
(use-package cmake-mode
|
||||||
:mode "CMakeLists.txt"
|
:mode "CMakeLists.txt"
|
||||||
|
:straight t
|
||||||
:hook (cmake-mode . lsp))
|
:hook (cmake-mode . lsp))
|
||||||
|
|
||||||
(use-package lua-mode
|
(use-package lua-mode
|
||||||
:mode "\\.lua\\'"
|
:mode "\\.lua\\'"
|
||||||
|
:straight t
|
||||||
:hook (lua-mode . lsp))
|
:hook (lua-mode . lsp))
|
||||||
|
|
||||||
(use-package python-mode
|
(use-package python-mode
|
||||||
:mode "\\.py\\'"
|
:mode "\\.py\\'"
|
||||||
|
:straight t
|
||||||
:hook (python-mode . lsp))
|
:hook (python-mode . lsp))
|
||||||
|
|
||||||
(use-package elpy
|
(use-package elpy
|
||||||
:after python-mode
|
:after python-mode
|
||||||
|
:straight t
|
||||||
|
|
||||||
:custom
|
:custom
|
||||||
(elpy-rpc-python-command "python3")
|
(elpy-rpc-python-command "python3")
|
||||||
|
@ -841,37 +906,46 @@ kept-old-versions 5)
|
||||||
|
|
||||||
(use-package lsp-pyright
|
(use-package lsp-pyright
|
||||||
:ensure t
|
:ensure t
|
||||||
|
:straight t
|
||||||
:hook (python-mode . (lambda ()
|
:hook (python-mode . (lambda ()
|
||||||
(require 'lsp-pyright)
|
(require 'lsp-pyright)
|
||||||
(lsp)))) ; or lsp-deferred
|
(lsp)))) ; or lsp-deferred
|
||||||
|
|
||||||
(use-package haskell-mode
|
(use-package haskell-mode
|
||||||
:mode "\\.hs\\'"
|
:mode "\\.hs\\'"
|
||||||
|
:straight t
|
||||||
:hook (python-mode . lsp))
|
:hook (python-mode . lsp))
|
||||||
|
|
||||||
(use-package yaml-mode
|
(use-package yaml-mode
|
||||||
:mode ("\\.yaml\\'"
|
:straight t
|
||||||
"\\.yml\\'"))
|
:mode ("\\.yaml\\'"
|
||||||
|
"\\.yml\\'"))
|
||||||
|
|
||||||
(use-package nix-mode
|
(use-package nix-mode
|
||||||
|
:straight t
|
||||||
:hook ((nix-mode . lsp)
|
:hook ((nix-mode . lsp)
|
||||||
(nix-mode . format-all-mode)
|
(nix-mode . format-all-mode)
|
||||||
(nix-mode . (lambda () (setq-local format-all-formatters '(("Nix" alejandra))))))
|
(nix-mode . (lambda () (setq-local format-all-formatters '(("Nix" alejandra))))))
|
||||||
:mode "\\.nix\\'")
|
:mode "\\.nix\\'")
|
||||||
|
|
||||||
(use-package dart-mode
|
(use-package dart-mode
|
||||||
|
:straight t
|
||||||
:hook (dart-mode . lsp)
|
:hook (dart-mode . lsp)
|
||||||
:mode "\\.dart\\'" )
|
:mode "\\.dart\\'" )
|
||||||
|
|
||||||
(use-package markdown-mode
|
(use-package markdown-mode
|
||||||
|
:straight t
|
||||||
:hook (markdown-mode . visual-line-mode))
|
:hook (markdown-mode . visual-line-mode))
|
||||||
|
|
||||||
(use-package markdown-preview-mode)
|
(use-package markdown-preview-mode
|
||||||
|
:straight t)
|
||||||
|
|
||||||
(use-package evil-nerd-commenter
|
(use-package evil-nerd-commenter
|
||||||
|
:straight t
|
||||||
:bind ("M-/" . evilnc-comment-or-uncomment-lines))
|
:bind ("M-/" . evilnc-comment-or-uncomment-lines))
|
||||||
|
|
||||||
(use-package company
|
(use-package company
|
||||||
|
:straight t
|
||||||
:after lsp-mode
|
:after lsp-mode
|
||||||
:hook (lsp-mode . company-mode)
|
:hook (lsp-mode . company-mode)
|
||||||
:bind (:map company-active-map
|
:bind (:map company-active-map
|
||||||
|
@ -885,11 +959,14 @@ kept-old-versions 5)
|
||||||
(company-tooltip-align-annotations t))
|
(company-tooltip-align-annotations t))
|
||||||
|
|
||||||
(use-package company-box
|
(use-package company-box
|
||||||
|
:straight t
|
||||||
:hook (company-mode . company-box-mode))
|
:hook (company-mode . company-box-mode))
|
||||||
|
|
||||||
(use-package flycheck :config (global-flycheck-mode +1))
|
(use-package flycheck :straight t :config (global-flycheck-mode +1))
|
||||||
|
|
||||||
(use-package format-all)
|
(use-package format-all
|
||||||
|
:straight t
|
||||||
|
)
|
||||||
|
|
||||||
(use-package fancy-compilation
|
(use-package fancy-compilation
|
||||||
:commands (fancy-compilation-mode))
|
:commands (fancy-compilation-mode))
|
||||||
|
@ -898,12 +975,15 @@ kept-old-versions 5)
|
||||||
(fancy-compilation-mode))
|
(fancy-compilation-mode))
|
||||||
|
|
||||||
(use-package yasnippet
|
(use-package yasnippet
|
||||||
|
:straight t
|
||||||
:diminish yas-minor-mode
|
:diminish yas-minor-mode
|
||||||
:hook (after-init . yas-global-mode))
|
:hook (after-init . yas-global-mode))
|
||||||
|
|
||||||
(use-package yasnippet-snippets)
|
(use-package yasnippet-snippets
|
||||||
|
:straight t)
|
||||||
|
|
||||||
(use-package yasnippet-capf
|
(use-package yasnippet-capf
|
||||||
|
:straight t
|
||||||
:init (add-to-list 'completion-at-point-functions #'yasnippet-capf))
|
:init (add-to-list 'completion-at-point-functions #'yasnippet-capf))
|
||||||
|
|
||||||
(use-package dired
|
(use-package dired
|
||||||
|
@ -943,6 +1023,7 @@ kept-old-versions 5)
|
||||||
`((".*" ,(no-littering-expand-var-file-name "auto-save/") t)))
|
`((".*" ,(no-littering-expand-var-file-name "auto-save/") t)))
|
||||||
|
|
||||||
(use-package elfeed
|
(use-package elfeed
|
||||||
|
:straight t
|
||||||
:config
|
:config
|
||||||
(setq elfeed-use-curl t)
|
(setq elfeed-use-curl t)
|
||||||
(setq browse-url-browser-function 'eww-browse-url)
|
(setq browse-url-browser-function 'eww-browse-url)
|
||||||
|
@ -950,6 +1031,7 @@ kept-old-versions 5)
|
||||||
)
|
)
|
||||||
|
|
||||||
(use-package elfeed-protocol
|
(use-package elfeed-protocol
|
||||||
|
:straight t
|
||||||
:after elfeed
|
:after elfeed
|
||||||
:config
|
:config
|
||||||
(elfeed-set-timeout 36000)
|
(elfeed-set-timeout 36000)
|
||||||
|
@ -983,13 +1065,15 @@ kept-old-versions 5)
|
||||||
(use-package telega)
|
(use-package telega)
|
||||||
|
|
||||||
(use-package pdf-tools
|
(use-package pdf-tools
|
||||||
|
:straight t
|
||||||
:mode ("\\.pdf\\'" . pdf-view-mode)
|
:mode ("\\.pdf\\'" . pdf-view-mode)
|
||||||
:config
|
:config
|
||||||
(setq-default pdf-view-display-size 'fit-page)
|
(setq-default pdf-view-display-size 'fit-page)
|
||||||
:init
|
:init
|
||||||
(pdf-tools-install))
|
(pdf-tools-install))
|
||||||
|
|
||||||
(use-package ement)
|
(use-package ement
|
||||||
|
:straight t)
|
||||||
|
|
||||||
;; global defaults
|
;; global defaults
|
||||||
;; (use-package mu4e
|
;; (use-package mu4e
|
||||||
|
@ -998,7 +1082,8 @@ kept-old-versions 5)
|
||||||
;; )
|
;; )
|
||||||
|
|
||||||
;; we need this regardless of platform
|
;; we need this regardless of platform
|
||||||
(use-package smtpmail)
|
(use-package smtpmail
|
||||||
|
:straight t)
|
||||||
|
|
||||||
(org-babel-do-load-languages
|
(org-babel-do-load-languages
|
||||||
'org-babel-load-languages
|
'org-babel-load-languages
|
||||||
|
@ -1032,6 +1117,7 @@ kept-old-versions 5)
|
||||||
(use-package eshell-git-prompt)
|
(use-package eshell-git-prompt)
|
||||||
|
|
||||||
(use-package eshell
|
(use-package eshell
|
||||||
|
:straight t
|
||||||
:hook (eshell-first-time-mode . sakomacs/configure-eshell)
|
:hook (eshell-first-time-mode . sakomacs/configure-eshell)
|
||||||
:config
|
:config
|
||||||
|
|
||||||
|
@ -1042,6 +1128,7 @@ kept-old-versions 5)
|
||||||
(eshell-git-prompt-use-theme 'powerline))
|
(eshell-git-prompt-use-theme 'powerline))
|
||||||
|
|
||||||
(use-package vterm
|
(use-package vterm
|
||||||
|
:straight t
|
||||||
:commands vterm
|
:commands vterm
|
||||||
:config
|
:config
|
||||||
(setq vterm-max-scrollback 10000))
|
(setq vterm-max-scrollback 10000))
|
||||||
|
|
|
@ -20,7 +20,20 @@ in {
|
||||||
services.emacs = {
|
services.emacs = {
|
||||||
enable = cfg.daemon;
|
enable = cfg.daemon;
|
||||||
install = true;
|
install = true;
|
||||||
|
<<<<<<< HEAD
|
||||||
package = pkgs.emacs29-pgtk;
|
package = pkgs.emacs29-pgtk;
|
||||||
|
=======
|
||||||
|
# package = pkgs.emacs29-pgtk;
|
||||||
|
package = pkgs.emacsWithPackagesFromUsePackage {
|
||||||
|
# org mode files are borked with this right now
|
||||||
|
config = ../../../../config/emacs/init.el;
|
||||||
|
|
||||||
|
defaultInitFile = true;
|
||||||
|
|
||||||
|
package = pkgs.emacs29-pgtk;
|
||||||
|
|
||||||
|
};
|
||||||
|
>>>>>>> parent of 0b03caa (please)
|
||||||
};
|
};
|
||||||
users.users.sako.packages = with pkgs; [
|
users.users.sako.packages = with pkgs; [
|
||||||
# direnv
|
# direnv
|
||||||
|
|
Loading…
Reference in a new issue