now you see'

This commit is contained in:
Sakooooo 2023-12-25 14:40:36 +04:00
parent c819dd6177
commit a3988b6006
Signed by: sako
GPG key ID: FE52FD65B76E4751
3 changed files with 104 additions and 212 deletions

View file

@ -65,8 +65,8 @@ kept-old-versions 5)
(require `package) (require `package)
(setq package-archives `(("mepla" . "https://melpa.org/packages/") (setq package-archives `(("mepla" . "https://melpa.org/packages/")
("org" . "https://orgmode.org/elpa/") ("org" . "https://orgmode.org/elpa/")
("elpa" . "https://elpa.gnu.org/packages/"))) ("elpa" . "https://elpa.gnu.org/packages/")))
(package-initialize) (package-initialize)
(unless package-archive-contents (unless package-archive-contents
@ -79,20 +79,6 @@ 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)
@ -113,8 +99,8 @@ kept-old-versions 5)
(add-hook 'emacs-startup-hook (add-hook 'emacs-startup-hook
(lambda () (lambda ()
;;(setq gc-cons-threshold 16777216 ; 16mb ;;(setq gc-cons-threshold 16777216 ; 16mb
;; this could be really bad idk ;; this could be really bad idk
(setq gc-cons-threshold 100000000 (setq gc-cons-threshold 100000000
gc-cons-percentage 0.1))) gc-cons-percentage 0.1)))
(defun doom-defer-garbage-collection-h () (defun doom-defer-garbage-collection-h ()
@ -143,18 +129,18 @@ kept-old-versions 5)
(force-mode-line-update) (force-mode-line-update)
(setq-default mode-line-format (setq-default mode-line-format
'((:eval (sakoline-render '((:eval (sakoline-render
;; left ;; left
(quote ("%e" (quote ("%e"
sakoline-evil-mode sakoline-evil-mode
" " " "
sakoline-buffer-name sakoline-buffer-name
" " " "
sakoline-buffer-state)) sakoline-buffer-state))
;; right ;; right
(quote (sakoline-major-mode (quote (sakoline-major-mode
) )
))))) )))))
(defun sakoline-render (left right) (defun sakoline-render (left right)
"Return a string of `window-width' length. "Return a string of `window-width' length.
@ -215,7 +201,7 @@ kept-old-versions 5)
((eq evil-state 'insert) (propertize " INSERT " 'face 'sakoline-evil-insert-color )) ((eq evil-state 'insert) (propertize " INSERT " 'face 'sakoline-evil-insert-color ))
((eq evil-state 'emacs) (propertize " EMACS " 'face 'sakoline-evil-emacs-color )) ((eq evil-state 'emacs) (propertize " EMACS " 'face 'sakoline-evil-emacs-color ))
((eq evil-state 'operator) (propertize " OPERATOR " 'face 'sakoline-evil-operator-color)) ((eq evil-state 'operator) (propertize " OPERATOR " 'face 'sakoline-evil-operator-color))
"Get current evil mode state"))) "Get current evil mode state")))
(put 'sakoline-evil-mode 'risky-local-variable t) (put 'sakoline-evil-mode 'risky-local-variable t)
@ -230,33 +216,29 @@ kept-old-versions 5)
'(:eval '(:eval
(cond (cond
(buffer-read-only (buffer-read-only
(propertize ">:(" (propertize ">:("
'face 'sakoline-buffer-state-readonly 'face 'sakoline-buffer-state-readonly
'help-echo "buffer is read only")) 'help-echo "buffer is read only"))
((buffer-modified-p) ((buffer-modified-p)
(propertize "!!!" (propertize "!!!"
'face 'sakoline-buffer-state-modified))))) 'face 'sakoline-buffer-state-modified)))))
(put 'sakoline-buffer-state 'risky-local-variable t) (put 'sakoline-buffer-state 'risky-local-variable t)
(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)
@ -275,13 +257,11 @@ 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
@ -289,7 +269,6 @@ 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)
@ -299,7 +278,6 @@ kept-old-versions 5)
(setq ivy-inital-inputs-alist nil)) (setq ivy-inital-inputs-alist nil))
;; (use-package doom-themes ;; (use-package doom-themes
;; :straight t
;; :ensure t ;; :ensure t
;; :config ;; :config
;; ;; Global settings (defaults) ;; ;; Global settings (defaults)
@ -316,14 +294,12 @@ 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
@ -331,11 +307,9 @@ 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
@ -343,28 +317,23 @@ kept-old-versions 5)
;; (use-package doom-modeline ;; (use-package doom-modeline
;; :ensure t ;; :ensure t
;; :straight t
;; :hook (after-init . doom-modeline-mode) ;; :hook (after-init . doom-modeline-mode)
;; :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
embark-collect-mode embark-collect-mode
lsp-ui-imenu-mode lsp-ui-imenu-mode
pdf-annot-list-mode pdf-annot-list-mode
dashboard-mode) . turn-on-hide-mode-line-mode) dashboard-mode) . turn-on-hide-mode-line-mode)
(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
: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)
@ -375,12 +344,9 @@ kept-old-versions 5)
([remap describe-key] . helpful-key)) ([remap describe-key] . helpful-key))
(use-package delsel (use-package delsel
:straight t
: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)
@ -436,7 +402,6 @@ 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
@ -468,13 +433,11 @@ 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)
(setq evil-want-C-u-scroll t) (setq evil-want-C-u-scroll t)
(setq evil-want-C-i-jump nil) (setq evil-want-C-i-jump nil)
:ensure t
:demand :demand
:config :config
(evil-mode 1) (evil-mode 1)
@ -490,20 +453,17 @@ 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"
@ -515,7 +475,6 @@ 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)
@ -528,11 +487,9 @@ 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 "")
@ -547,7 +504,7 @@ kept-old-versions 5)
;; archive thingy i forgot ;; archive thingy i forgot
(setq org-refile-targets (setq org-refile-targets
'(("archive.org" :maxlevel . 1))) '(("archive.org" :maxlevel . 1)))
;; save org buffer before refile ;; save org buffer before refile
(advice-add 'org-refile :after 'org-save-all-org-buffers) (advice-add 'org-refile :after 'org-save-all-org-buffers)
@ -575,85 +532,85 @@ kept-old-versions 5)
(add-to-list 'org-structure-template-alist '("py" . "src python")) (add-to-list 'org-structure-template-alist '("py" . "src python"))
(setq org-todo-keywords (setq org-todo-keywords
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)") '((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANCELED(k@)"))) (sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANCELED(k@)")))
(setq org-refile-targets (setq org-refile-targets
'(("archive.org" :maxlevel . 1) '(("archive.org" :maxlevel . 1)
("tasks.org" :maxlevel . 1))) ("tasks.org" :maxlevel . 1)))
;; Save Org buffers after refiling! ;; Save Org buffers after refiling!
(advice-add 'org-refile :after 'org-save-all-org-buffers) (advice-add 'org-refile :after 'org-save-all-org-buffers)
(setq org-tag-alist (setq org-tag-alist
'((:startgroup) '((:startgroup)
; Put mutually exclusive tags here ; Put mutually exclusive tags here
(:endgroup) (:endgroup)
("@errand" . ?E) ("@errand" . ?E)
("@home" . ?H) ("@home" . ?H)
("@work" . ?W) ("@work" . ?W)
("agenda" . ?a) ("agenda" . ?a)
("planning" . ?p) ("planning" . ?p)
("publish" . ?P) ("publish" . ?P)
("batch" . ?b) ("batch" . ?b)
("note" . ?n) ("note" . ?n)
("idea" . ?i))) ("idea" . ?i)))
;; Configure custom agenda views ;; Configure custom agenda views
(setq org-agenda-custom-commands (setq org-agenda-custom-commands
'(("d" "Dashboard" '(("d" "Dashboard"
((agenda "" ((org-deadline-warning-days 7))) ((agenda "" ((org-deadline-warning-days 7)))
(todo "NEXT" (todo "NEXT"
((org-agenda-overriding-header "Next Tasks"))) ((org-agenda-overriding-header "Next Tasks")))
(tags-todo "agenda/ACTIVE" ((org-agenda-overriding-header "Active Projects"))))) (tags-todo "agenda/ACTIVE" ((org-agenda-overriding-header "Active Projects")))))
("n" "Next Tasks" ("n" "Next Tasks"
((todo "NEXT" ((todo "NEXT"
((org-agenda-overriding-header "Next Tasks"))))) ((org-agenda-overriding-header "Next Tasks")))))
("W" "Work Tasks" tags-todo "+work-email") ("W" "Work Tasks" tags-todo "+work-email")
;; Low-effort next actions ;; Low-effort next actions
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0" ("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
((org-agenda-overriding-header "Low Effort Tasks") ((org-agenda-overriding-header "Low Effort Tasks")
(org-agenda-max-todos 20) (org-agenda-max-todos 20)
(org-agenda-files org-agenda-files))) (org-agenda-files org-agenda-files)))
("w" "Workflow Status" ("w" "Workflow Status"
((todo "WAIT" ((todo "WAIT"
((org-agenda-overriding-header "Waiting on External") ((org-agenda-overriding-header "Waiting on External")
(org-agenda-files org-agenda-files))) (org-agenda-files org-agenda-files)))
(todo "REVIEW" (todo "REVIEW"
((org-agenda-overriding-header "In Review") ((org-agenda-overriding-header "In Review")
(org-agenda-files org-agenda-files))) (org-agenda-files org-agenda-files)))
(todo "PLAN" (todo "PLAN"
((org-agenda-overriding-header "In Planning") ((org-agenda-overriding-header "In Planning")
(org-agenda-todo-list-sublevels nil) (org-agenda-todo-list-sublevels nil)
(org-agenda-files org-agenda-files))) (org-agenda-files org-agenda-files)))
(todo "BACKLOG" (todo "BACKLOG"
((org-agenda-overriding-header "Project Backlog") ((org-agenda-overriding-header "Project Backlog")
(org-agenda-todo-list-sublevels nil) (org-agenda-todo-list-sublevels nil)
(org-agenda-files org-agenda-files))) (org-agenda-files org-agenda-files)))
(todo "READY" (todo "READY"
((org-agenda-overriding-header "Ready for Work") ((org-agenda-overriding-header "Ready for Work")
(org-agenda-files org-agenda-files))) (org-agenda-files org-agenda-files)))
(todo "ACTIVE" (todo "ACTIVE"
((org-agenda-overriding-header "Active Projects") ((org-agenda-overriding-header "Active Projects")
(org-agenda-files org-agenda-files))) (org-agenda-files org-agenda-files)))
(todo "COMPLETED" (todo "COMPLETED"
((org-agenda-overriding-header "Completed Projects") ((org-agenda-overriding-header "Completed Projects")
(org-agenda-files org-agenda-files))) (org-agenda-files org-agenda-files)))
(todo "CANC" (todo "CANC"
((org-agenda-overriding-header "Cancelled Projects") ((org-agenda-overriding-header "Cancelled Projects")
(org-agenda-files org-agenda-files))))))) (org-agenda-files org-agenda-files)))))))
(setq org-capture-templates (setq org-capture-templates
`(("t" "Tasks / Projects") `(("t" "Tasks / Projects")
("tt" "Task" entry (file+olp "~/Projects/Code/emacs-from-scratch/OrgFiles/Tasks.org" "Inbox") ("tt" "Task" entry (file+olp "~/Projects/Code/emacs-from-scratch/OrgFiles/Tasks.org" "Inbox")
"* TODO %?\n %U\n %a\n %i" :empty-lines 1) "* TODO %?\n %U\n %a\n %i" :empty-lines 1)
("j" "Journal Entries") ("j" "Journal Entries")
("jj" "Journal" entry ("jj" "Journal" entry
(file+olp+datetree "~/Projects/Code/emacs-from-scratch/OrgFiles/Journal.org") (file+olp+datetree "~/Projects/Code/emacs-from-scratch/OrgFiles/Journal.org")
"\n* %<%I:%M %p> - Journal :journal:\n\n%?\n\n" "\n* %<%I:%M %p> - Journal :journal:\n\n%?\n\n"
;; ,(dw/read-file-as-string "~/Notes/Templates/Daily.org") ;; ,(dw/read-file-as-string "~/Notes/Templates/Daily.org")
@ -661,12 +618,9 @@ 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
:custom :custom
(org-roam-directory "~/org/notes") (org-roam-directory "~/org/notes")
:bind (("C-c n l" . org-roam-buffer-toggle) :bind (("C-c n l" . org-roam-buffer-toggle)
@ -676,9 +630,7 @@ kept-old-versions 5)
(org-roam-setup)) (org-roam-setup))
(use-package treemacs (use-package treemacs
: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))
@ -767,42 +719,31 @@ kept-old-versions 5)
("C-x t M-t" . treemacs-find-tag))) ("C-x t M-t" . treemacs-find-tag)))
(use-package treemacs-evil (use-package treemacs-evil
:after (treemacs evil) :after (treemacs evil))
:straight t
:ensure t)
(use-package treemacs-projectile (use-package treemacs-projectile
:after (treemacs projectile) :after (treemacs projectile))
:straight t
:ensure t)
(use-package treemacs-magit (use-package treemacs-magit
:after (treemacs magit) :after (treemacs magit))
:straight 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))
@ -811,7 +752,6 @@ 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
@ -822,28 +762,23 @@ 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)
:config :config
(setq web-mode-markup-indent-offset 2) ; HTML (setq web-mode-markup-indent-offset 2) ; HTML
@ -852,9 +787,8 @@ 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))
(define-derived-mode astro-mode web-mode "astro") (define-derived-mode astro-mode web-mode "astro")
@ -881,22 +815,18 @@ 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")
@ -905,51 +835,41 @@ kept-old-versions 5)
(elpy-enable)) (elpy-enable))
(use-package lsp-pyright (use-package lsp-pyright
: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
("<tab>" . company-complete-selection)) ("<tab>" . company-complete-selection))
(:map lsp-mode-map (:map lsp-mode-map
("<tab>" . company-indent-or-complete-common)) ("<tab>" . company-indent-or-complete-common))
:custom :custom
@ -959,13 +879,11 @@ 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 :straight t :config (global-flycheck-mode +1)) (use-package flycheck :config (global-flycheck-mode +1))
(use-package format-all (use-package format-all
:straight t
) )
(use-package fancy-compilation (use-package fancy-compilation
@ -975,19 +893,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
:ensure nil
:commands (dired dired-jump) :commands (dired dired-jump)
:bind (("C-x C-j" . dired-jump)) :bind (("C-x C-j" . dired-jump))
:custom ((dired-listing-switches "-agho --group-directories-first")) :custom ((dired-listing-switches "-agho --group-directories-first"))
@ -1014,7 +928,6 @@ kept-old-versions 5)
;(setq user-emacs-directory "~/.cache/emacs") ;(setq user-emacs-directory "~/.cache/emacs")
(use-package no-littering (use-package no-littering
:straight t
) )
;; no-littering doesn't set this by default so we must place ;; no-littering doesn't set this by default so we must place
@ -1023,7 +936,6 @@ 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)
@ -1031,7 +943,6 @@ 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)
@ -1065,7 +976,6 @@ 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)
@ -1073,7 +983,6 @@ kept-old-versions 5)
(pdf-tools-install)) (pdf-tools-install))
(use-package ement (use-package ement
:straight t)
;; global defaults ;; global defaults
;; (use-package mu4e ;; (use-package mu4e
@ -1082,8 +991,7 @@ 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
@ -1117,7 +1025,6 @@ 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
@ -1128,7 +1035,6 @@ 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

@ -25,7 +25,9 @@
"emacs-overlay": { "emacs-overlay": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs", "nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
@ -117,16 +119,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1703255338, "lastModified": 1703068421,
"narHash": "sha256-Z6wfYJQKmDN9xciTwU3cOiOk+NElxdZwy/FiHctCzjU=", "narHash": "sha256-WSw5Faqlw75McIflnl5v7qVD/B3S2sLh+968bpOGrWA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6df37dc6a77654682fe9f071c62b4242b5342e04", "rev": "d65bceaee0fb1e64363f7871bc43dc1c6ecad99f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-23.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -179,28 +181,12 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1703068421,
"narHash": "sha256-WSw5Faqlw75McIflnl5v7qVD/B3S2sLh+968bpOGrWA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d65bceaee0fb1e64363f7871bc43dc1c6ecad99f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"NixOS-WSL": "NixOS-WSL", "NixOS-WSL": "NixOS-WSL",
"emacs-overlay": "emacs-overlay", "emacs-overlay": "emacs-overlay",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"sops-nix": "sops-nix" "sops-nix": "sops-nix"
} }

View file

@ -25,7 +25,7 @@ in {
install = true; install = true;
#package = pkgs.emacs29-pgtk; #package = pkgs.emacs29-pgtk;
package = (pkgs.emacsWithPackagesFromUsePackage { package = (pkgs.emacsWithPackagesFromUsePackage {
config = ../../../../config/emacs/emacs.org; config = ../../../../config/emacs/init.el;
defaultInitFile = true; defaultInitFile = true;
package = pkgs.emacs-pgtk; package = pkgs.emacs-pgtk;
alwaysEnsure = true; alwaysEnsure = true;