diff --git a/emacs/doom/config.el b/emacs/doom/config.el index 7137f65..56e0b80 100644 --- a/emacs/doom/config.el +++ b/emacs/doom/config.el @@ -10,26 +10,18 @@ (setq user-full-name "Julian Mutter" user-mail-address "julian.mutter@comumail.de") -(setq doom-theme 'doom-one +(setq doom-theme 'doom-dracula doom-font (font-spec :family "Source Code Pro" :size 14) doom-variable-pitch-font (font-spec :family "DejaVu Sans" :size 15)) -;; (setq doom-font (font-spec :family "Source Code Pro" :size 14)) -;; (setq doom-theme 'doom-dracula) -;; (setq display-line-numbers-type nil) -(setq display-line-numbers-type 'relative) +(setq display-line-numbers-type 'nil) ;; 'relative + +(setq-default evil-escape-key-sequence "kj") ;; (after! company -;; (setq company-idle-delay nil)) +;; (setq company-idle-delay 0.1)) - -;;; :ui modeline -;; An evil mode indicator is redundant with cursor shape -;; (setq doom-modeline-modal nil) - -;; Open external terminal -(map! :leader :desc "Open external terminal" "o t" (cmd! (call-process-shell-command "alacritty &" nil 0))) -;; Open external file manager +(map! :leader :desc "Open external terminal" "o t" (cmd! (call-process-shell-command "$TERMINAL &" nil 0))) (map! :leader :desc "Open external file explorer" "o e" (cmd! (call-process-shell-command "thunar &" nil 0))) ;; Remap font scaling keybindings to make more sense @@ -42,14 +34,16 @@ (map! :leader "c X" #'flycheck-list-errors) (map! :desc "Save" :g "C-s" #'fd-save-and-escape) -(map! :leader "w 1" #'delete-other-windows) +;; (map! :leader "w 1" #'delete-other-windows) (map! :leader "t p" #'+popup/toggle) +;; Useful for recompiling or running a project (map! :nvi "" #'projectile-repeat-last-command) ;; Do not use autosave when using vim save command (evil-ex-define-cmd "write" #'fd-format-without-autosave) +;; Select other window by number (dotimes (counter 9) (let ((command (format "(map! :leader \"%d\" #'winum-select-window-%d)" (1+ counter) (1+ counter)))) @@ -57,8 +51,6 @@ (map! :leader "r" #'quickrun) -(setq-default evil-escape-key-sequence "kj") - (defun fd-format-without-autosave() (interactive) (let ((current-prefix-arg 4)) ;; pass universal argument @@ -74,9 +66,11 @@ ;; Do not ask before exiting emacs (setq confirm-kill-emacs nil) +;; Open pdf files with external reader (openwith-mode t) (setq openwith-associations '(("\\.pdf\\'" "evince" (file)))) +;; Org settings (setq org-directory "~/Nextcloud/org" org-roam-directory "~/Nextcloud/org/roam") @@ -153,6 +147,7 @@ (call-interactively 'org-latex-preview) )) +;; Custom time format display (setq-default org-display-custom-times t) (setq org-time-stamp-custom-formats '("<%d.%m.%Y %a>" . "<%d.%m.%Y %a %H:%M>")) diff --git a/emacs/doom/init.el b/emacs/doom/init.el index d529119..60d3c02 100644 --- a/emacs/doom/init.el +++ b/emacs/doom/init.el @@ -15,166 +15,167 @@ ;; directory (for easy access to its source code). (doom! :input - ;;bidi ; (tfel ot) thgir etirw uoy gnipleh + ;;bidi ; (tfel ot) thgir etirw uoy gnipleh ;;chinese ;;japanese - ;;layout ; auie,ctsrnm is the superior home row + ;;layout ; auie,ctsrnm is the superior home row :completion - ( company +childframe ) ; the ultimate code completion backend - ;; helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... - ;;ivy ; a search engine for love and life - vertico ; the search engine of the future + (company +childframe) ; the ultimate code completion backend + ;;helm ; the *other* search engine for love and life + ;;ido ; the other *other* search engine... + ;;ivy ; a search engine for love and life + vertico ; the search engine of the future :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 - ;;(emoji +unicode) ; 🙂 - hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW + ;;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 + ;;(emoji +unicode) ; 🙂 + hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra - ;;indent-guides ; highlighted indent columns - ;;ligatures ; ligatures and symbols to make your code pretty again - ;;minimap ; show a map of the code on the side - modeline ; snazzy, Atom-inspired modeline, plus API - ;;nav-flash ; blink cursor line after big motions - ;;neotree ; a project drawer, like NERDTree for vim - ophints ; highlight the region an operation acts on - (popup +defaults) ; tame sudden yet inevitable temporary windows - ;;tabs ; a tab bar for Emacs - ( treemacs +lsp ) ; a project drawer, like neotree but cooler - ;;unicode ; extended unicode support for various languages - vc-gutter ; 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 - ;;zen ; distraction-free coding or writing + ;;indent-guides ; highlighted indent columns + ;;ligatures ; ligatures and symbols to make your code pretty again + ;;minimap ; show a map of the code on the side + modeline ; snazzy, Atom-inspired modeline, plus API + ;;nav-flash ; blink cursor line after big motions + ;;neotree ; a project drawer, like NERDTree for vim + ophints ; highlight the region an operation acts on + (popup +defaults) ; tame sudden yet inevitable temporary windows + ;;tabs ; a tab bar for Emacs + (treemacs +lsp) ; a project drawer, like neotree but cooler + ;;unicode ; extended unicode support for various languages + (vc-gutter +pretty) ; 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 + ;;zen ; distraction-free coding or writing :editor - (evil +everywhere); come to the dark side, we have cookies - file-templates ; auto-snippets for empty files - 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 - ;;objed ; text object editing for the innocent - ;; 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 + (evil +everywhere) ; come to the dark side, we have cookies + file-templates ; auto-snippets for empty files + 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 + ;;objed ; text object editing for the innocent + ;;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 :emacs - dired ; making dired pretty [functional] - electric ; smarter, keyword-based electric-indent - ;;ibuffer ; interactive buffer management - undo ; persistent, smarter undo for your inevitable mistakes - vc ; version-control and Emacs, sitting in a tree + dired ; making dired pretty [functional] + electric ; smarter, keyword-based electric-indent + ;;ibuffer ; interactive buffer management + undo ; persistent, smarter undo for your inevitable mistakes + vc ; version-control and Emacs, sitting in a tree :term - eshell ; the elisp shell that works everywhere - ;;shell ; simple shell REPL for Emacs - ;;term ; basic terminal emulator for Emacs - vterm ; the best terminal emulation in Emacs + ;;eshell ; the elisp shell that works everywhere + ;;shell ; simple shell REPL for Emacs + ;;term ; basic terminal emulator for Emacs + ;;vterm ; the best terminal emulation in Emacs :checkers - (syntax +childframe) ; tasing you for every semicolon you forget - (spell +flyspell +hunspell +everywhere) ; tasing you for misspelling mispelling - ;; grammar ; tasing grammar mistake every you make + (syntax +childframe) ; tasing you for every semicolon you forget + (spell +flyspell +hunspell +everywhere) ; tasing you for misspelling mispelling + ;; grammar ; tasing grammar mistake every you make :tools - ansible - biblio ; Writes a PhD for you (citation needed) - (debugger +lsp) ; FIXME stepping through code, to help you add bugs + ;; ansible + biblio ; Writes a PhD for you (citation needed) + ;;collab ; buffers with friends + ;;debugger ; FIXME stepping through code, to help you add bugs direnv docker - ;;editorconfig ; let someone else argue about tabs vs spaces - ein ; tame Jupyter notebooks with emacs - (eval +overlay) ; run code, run (also, repls) - ;;gist ; interacting with github gists - (lookup +docsets +dictionary) ; navigate your code and its documentation - lsp ; M-x vscode - magit ; a git porcelain for Emacs - make ; run make tasks from Emacs - ;;pass ; password manager for nerds - ;; pdf ; pdf enhancements - ;;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 - ;;upload ; map local to remote projects via ssh/ftp - tree-sitter + ;;editorconfig ; let someone else argue about tabs vs spaces + ;; ein ; tame Jupyter notebooks with emacs + (eval +overlay) ; run code, run (also, repls) + ;;gist ; interacting with github gists + (lookup +docsets +dictionary) ; navigate your code and its documentation + lsp ; M-x vscode + magit ; a git porcelain for Emacs + make ; run make tasks from Emacs + ;;pass ; password manager for nerds + ;;pdf ; pdf enhancements + ;;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 ; syntax and parsing, sitting in a tree... + ;;upload ; map local to remote projects via ssh/ftp :os - (:if IS-MAC macos) ; improve compatibility with macOS - ;;tty ; improve the terminal Emacs experience + (:if IS-MAC macos) ; improve compatibility with macOS + ;;tty ; improve the terminal Emacs experience :lang - ;;agda ; types of types of types of types... - ;;beancount ; mind the GAAP - (cc +lsp) ; C > C++ == 1 - ;;clojure ; java with a lisp - ;;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 +lsp) ; paint ui and not much else + ;;agda ; types of types of types of types... + ;;beancount ; mind the GAAP + (cc +lsp) ; C > C++ == 1 + ;;clojure ; java with a lisp + ;;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 +lsp) ; paint ui and not much else ;;dhall - ;;elixir ; erlang done right - ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses - ;;erlang ; an elegant language for a more civilized age - ess ; emacs speaks statistics + ;;elixir ; erlang done right + ;;elm ; care for a cup of TEA? + emacs-lisp ; drown in parentheses + ;;erlang ; an elegant language for a more civilized age + ess ; emacs speaks statistics ;;factor - ;;faust ; dsp, but you get to keep your soul - ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) - ;;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 - ;;(graphql +lsp) ; Give queries a REST - (haskell +lsp) ; 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 - (java +lsp) ; the poster child for carpal tunnel syndrome - ;;javascript ; all(hope(abandon(ye(who(enter(here)))))) - (julia +lsp +tree-sitter) ; a better, faster MATLAB - ;;kotlin ; a better, slicker Java(Script) - (latex +lsp +latexmk) ; writing papers in Emacs has never been so fun - ;;lean ; for folks with too much to prove - ;;ledger ; be audit you can be - ;;lua ; one-based indices? one-based indices - markdown ; writing docs for people to ignore - ;;nim ; python + lisp at the speed of c - (nix +lsp) ; I hereby declare "nix geht mehr!" - ;;ocaml ; an objective camel - (org +dragndrop +pandoc +pretty +roam2 +pomodoro +noter) ; organize your plain life in plain text - ;;php ; perl's insecure younger brother - ;;plantuml ; diagrams for confusing people more - ;;purescript ; javascript, but functional - (python +lsp +pyright) ; beautiful is better than ugly - ;;qt ; the 'cutest' gui framework ever - ;;racket ; a DSL for DSLs - ;;raku ; the artist formerly known as perl6 - ;;rest ; Emacs as a REST client - ;;rst ; ReST in peace - ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - (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 + ;;faust ; dsp, but you get to keep your soul + ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) + ;;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 + ;;(graphql +lsp) ; Give queries a REST + (haskell +lsp) ; 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 + (java +lsp) ; the poster child for carpal tunnel syndrome + ;;javascript ; all(hope(abandon(ye(who(enter(here)))))) + (julia +lsp +tree-sitter) ; a better, faster MATLAB + ;;kotlin ; a better, slicker Java(Script) + (latex +lsp +latexmk) ; writing papers in Emacs has never been so fun + ;;lean ; for folks with too much to prove + ;;ledger ; be audit you can be + ;;lua ; one-based indices? one-based indices + markdown ; writing docs for people to ignore + ;;nim ; python + lisp at the speed of c + (nix +lsp) ; I hereby declare "nix geht mehr!" + ;;ocaml ; an objective camel + (org +dragndrop +pandoc +pretty +roam2 +pomodoro +noter) ; organize your plain life in plain text + ;;php ; perl's insecure younger brother + ;;plantuml ; diagrams for confusing people more + ;;purescript ; javascript, but functional + (python +lsp +pyright) ; beautiful is better than ugly + ;;qt ; the 'cutest' gui framework ever + ;;racket ; a DSL for DSLs + ;;raku ; the artist formerly known as perl6 + ;;rest ; Emacs as a REST client + ;;rst ; ReST in peace + ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} + (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 ;;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 - ;;zig ; C, but simpler + ;;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 + ;;zig ; C, but simpler :email ;;(mu4e +org +gmail) @@ -184,11 +185,11 @@ :app calendar ;;emms - ;;everywhere ; *leave* Emacs!? You must be joking - ;;irc ; how neckbeards socialize - ;; rss ; emacs as an RSS reader - ;;twitter ; twitter client https://twitter.com/vnought + ;;everywhere ; *leave* Emacs!? You must be joking + ;;irc ; how neckbeards socialize + ;;(rss +org) ; emacs as an RSS reader + ;;twitter ; twitter client https://twitter.com/vnought :config - ;; literate + ;;literate (default +bindings +smartparens)) diff --git a/emacs/doom/packages.el b/emacs/doom/packages.el index 06b0be4..3ae1477 100644 --- a/emacs/doom/packages.el +++ b/emacs/doom/packages.el @@ -9,7 +9,7 @@ ;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: ;(package! some-package) -(package! company-quickhelp) +;; (package! company-quickhelp) (package! github-tags) ;; Needed for lsp-ltex auto-install to work (package! lsp-ltex)