Revert "please"

This reverts commit 0b03caa7d3.
This commit is contained in:
Sakooooo 2023-12-25 14:20:28 +04:00
parent 19ccbd7e90
commit 03d48de760
Signed by: sako
GPG key ID: FE52FD65B76E4751
3 changed files with 215 additions and 25 deletions

View file

@ -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))

View file

@ -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
:straight t
:mode ("\\.yaml\\'" :mode ("\\.yaml\\'"
"\\.yml\\'")) "\\.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))

View file

@ -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