diff --git a/home/alex/programs/emacs/doom/config.el b/home/alex/programs/emacs/doom/config.el index 356afe6..6ea570c 100644 --- a/home/alex/programs/emacs/doom/config.el +++ b/home/alex/programs/emacs/doom/config.el @@ -56,12 +56,20 @@ (org-id-update-id-locations (list (buffer-file-name (current-buffer))))) (setq undo-limit 80000000 ; Raise undo-limit to 80Mb - evil-want-fine-undo t ; By default while in insert all changes are one big blob. Be more granular auto-save-default t ; Nobody likes to loose work, I certainly don't - evil-escape-key-sequence "qq" ; define an escape sequence - evil-escape-delay 0.175 ) +;; tweak some VI defaults +(after! evil + (setq evil-ex-substitute-global t ; I like my s/../.. to be global by default + evil-move-cursor-back nil ; Don't move the block cursor when toggling insert mode + evil-want-fine-undo t ; By default while in insert all changes are one big blob. Be more granular + evil-escape-key-sequence "qq" ; define an escape sequence + evil-escape-delay 0.175 + evil-move-beyond-eol t ; let the cursor move beyond eol just as in regular emacs + evil-kill-on-visual-paste nil)) ; Don't put overwritten text in the kill ring + + ;; This determines the style of line numbers in effect. If set to `nil', line ;; numbers are disabled. For relative line numbers, set this to `relative'. (setq display-line-numbers-type 'relative) @@ -84,7 +92,7 @@ (setq doom-localleader-key ",") (setq doom-localleader-alt-key "M-,") -(use-package! org +(after! org :config (setq org-log-into-drawer t org-todo-keywords '( (sequence "NEXT(n)" "TODO(t)" "WAIT(w@/!)" "|" "DONE(d!)" "CNCL(k@)") @@ -121,13 +129,11 @@ (use-package! elfeed-web) (when ak/at-work? - (use-package! forge - :config + (after! forge (add-to-list 'forge-alist '("gitlab.atlas.de" "gitlab.atlas.de/api/v4" "gitlab.atlas.de" forge-gitlab-repository)) ) - (use-package! code-review - :config + (after! code-review (setq code-review-auth-login-marker 'forge) ;; (setq code-review-gitlab-host "gitlab.atlas.de/api") ;; (setq code-review-gitlab-graphql-host "gitlab.atlas.de/api") @@ -141,8 +147,7 @@ (setq! bibtex-completion-bibliography ak/bibliography) (setq! citar-bibliography ak/bibliography) -(use-package! ledger-mode - :config +(after! ledger-mode (setq ;; Use an ISO date format for ledger entries ledger-default-date-format "%Y-%m-%d" @@ -180,12 +185,6 @@ ;; (define-key haskell-mode-map (kbd "C-c a") #'lsp-wingman-split-func-args) ) -;; tweak some VI defaults -(after! evil - (setq evil-ex-substitute-global t ; I like my s/../.. to be global by default - evil-move-cursor-back nil ; Don't move the block cursor when toggling insert mode - evil-kill-on-visual-paste nil)) ; Don't put overwritten text in the kill ring - (setq org-gtd-update-ack "3.0.0") ;; Org GTD support @@ -312,14 +311,12 @@ (setq org-fc-source-path (concat straight-base-dir "repos/org-fc")) ) -(use-package! vterm - :config +(after! vterm (setq vterm-min-window-width 50) ) (map! :desc "Move workspace to the left" :leader :n "TAB <" #'+workspace/swap-left) (map! :desc "Move workspace to the left" :leader :n "TAB >" #'+workspace/swap-right) -(map! :desc "Denote" :leader :n "n d" #'denote) ;; Here are some additional functions/macros that could help you configure Doom: ;; diff --git a/home/alex/programs/emacs/doom/init.el b/home/alex/programs/emacs/doom/init.el index 71b9a25..7e79c76 100644 --- a/home/alex/programs/emacs/doom/init.el +++ b/home/alex/programs/emacs/doom/init.el @@ -24,13 +24,14 @@ ;;helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... ;;ivy ; a search engine for love and life - (vertico +icons) ; the search engine of the future + (vertico +orderless +icons) ; the search engine of the future + (corfu +orderless +icons +dabbrev) :ui ;;deft ; notational velocity for Emacs doom ; what makes DOOM look the way it does doom-dashboard ; a nifty splash screen for Emacs - ;;doom-quit ; DOOM quit-message prompts when you quit Emacs + doom-quit ; DOOM quit-message prompts when you quit Emacs (emoji +unicode +github +ascii) ; 🙂 hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra @@ -45,7 +46,7 @@ ;;tabs ; a tab bar for Emacs ;;treemacs ; a project drawer, like neotree but cooler unicode ; extended unicode support for various languages - vc-gutter ; vcs diff in the fringe + (vc-gutter +diff-hl) ; vcs diff in the fringe vi-tilde-fringe ; fringe tildes to mark beyond EOB (window-select +numbers) ; visually switch windows workspaces ; tab emulation, persistence & separate workspaces @@ -57,10 +58,11 @@ fold ; (nigh) universal code folding (format +onsave) ; automated prettiness ;;god ; run Emacs commands without modifier keys - ;;lispy ; vim for lisp, for people who don't like vim - multiple-cursors ; editing in many places at once + ;; lispy ; vim for lisp, for people who don't like vim + multiple-cursors + ; editing in many places at once ;;objed ; text object editing for the innocent - ;;parinfer ; turn lisp into python, sort of + ;; parinfer ; turn lisp into python, sort of rotate-text ; cycle region at point between text candidates snippets ; my elves. They type so I don't have to word-wrap ; soft wrapping with language-aware indent @@ -88,7 +90,7 @@ biblio ; Writes a PhD for you (citation needed) (debugger +lsp) ; FIXME stepping through code, to help you add bugs direnv - ;;docker + docker editorconfig ; let someone else argue about tabs vs spaces ;;ein ; tame Jupyter notebooks with emacs (eval +overlay) ; run code, run (also, repls) @@ -102,9 +104,9 @@ ;;prodigy ; FIXME managing external services & code builders ;;rgb ; creating color strings ;;taskrunner ; taskrunner for all your projects - ;;terraform ; infrastructure as code tmux ; an API for interacting with tmux tree-sitter + (terraform +lsp) ; infrastructure as code ;;upload ; map local to remote projects via ssh/ftp :os @@ -114,31 +116,31 @@ :lang ;;agda ; types of types of types of types... ;;beancount ; mind the GAAP - (cc +lsp) ; C > C++ == 1 + (cc +lsp +tree-sitter) ; C > C++ == 1 ;;clojure ; java with a lisp - ;;common-lisp ; if you've seen one lisp, you've seen them all + common-lisp ; if you've seen one lisp, you've seen them all ;;coq ; proofs-as-programs ;;crystal ; ruby at the speed of c ;;csharp ; unity, .NET, and mono shenanigans data ; config/data formats ;;(dart +flutter) ; paint ui and not much else ;;dhall - ;;elixir ; erlang done right - (elm +lsp) ; care for a cup of TEA? + (elixir +lsp +tree-sitter) ; erlang done right + (elm +lsp +tree-sitter) ; care for a cup of TEA? emacs-lisp ; drown in parentheses - ;;erlang ; an elegant language for a more civilized age + (erlang +lsp +tree-sitter) ; an elegant language for a more civilized age ;;ess ; emacs speaks statistics ;;factor ;;faust ; dsp, but you get to keep your soul ;;fsharp ; ML stands for Microsoft's Language ;;fstar ; (dependent) types and (monadic) effects and Z3 ;;gdscript ; the language you waited for - (go +lsp) ; the hipster dialect + (go +lsp +tree-sitter) ; the hipster dialect (graphql +lsp) ; Give queries a REST - (haskell +lsp) ; a language that's lazier than I am + (haskell +lsp +tree-sitter) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; a language you can depend on - json ; At least it ain't XML + (json +lsp +tree-sitter) ; At least it ain't XML (java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome javascript ; all(hope(abandon(ye(who(enter(here)))))) ;;julia ; a better, faster MATLAB @@ -149,7 +151,7 @@ lua ; one-based indices? one-based indices markdown ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c - nix ; I hereby declare "nix geht mehr!" + (nix +lsp +tree-sitter) ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel (org +pandoc +present +gnuplot +noter) ; organize your plain life in plain text ;;php ; perl's insecure younger brother @@ -162,16 +164,16 @@ rest ; Emacs as a REST client ;;rst ; ReST in peace ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + (rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good ;;(scheme +guile) ; a fully conniving family of lisps - sh ; she sells {ba,z,fi}sh shells on the C xor + (sh +lsp +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor ;;sml ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? ;;terra ; Earth and Moon in alignment for performance. - ;;web ; the tubes - yaml ; JSON, but readable + (web +lsp +tree-sitter) ; the tubes + (yaml +lsp +tree-sitter) ; JSON, but readable ;;zig ; C, but simpler :email