diff --git a/README.org b/README.org index 32f7c92d..5f446d20 100644 --- a/README.org +++ b/README.org @@ -265,12 +265,14 @@ Probably the prettiest and best modeline I've found. :ensure t :init (doom-modeline-mode 1) - (setq doom-modeline-height 35 + (setq doom-modeline-height 45 doom-modeline-bar-width 3 all-the-icons-scale-factor 0.9 doom-modeline-hud nil doom-modeline-buffer-file-name-style 'file-name - doom-modeline-buffer-encoding nil) + doom-modeline-buffer-encoding nil + doom-modeline-mu4e t + doom-modeline-enable-word-count t) (if (daemonp) (add-hook 'after-make-frame-functions (lambda (frame) @@ -360,6 +362,7 @@ I am currently using NixOS. In order for emacs to have access to certain program ;; Please note the list `("-d" "en_US")` contains ACTUAL parameters passed to hunspell ;; You could use `("-d" "en_US,en_US-med")` to check with multiple dictionaries '(("en_US" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-d" "en_US") nil utf-8))) + (add-hook 'org-mode-hook 'chris/org-mode-setup) #+end_src ** Keep Folders Clean @@ -472,6 +475,7 @@ This evil-collection package includes a lot of other evil based things. "bi" '(ibuffer :which-key "ibuffer") "tt" '(consult-theme :which-key "choose theme") "tl" '(toggle-truncate-lines :which-key "truncate lines") + "ts" '(ispell :which-key "spell check") "ff" '(find-file :which-key "find file") "fb" '(chris/open-bible :which-key "find bible book") "fr" '(consult-recent-file :which-key "recent file") @@ -514,10 +518,19 @@ This evil-collection package includes a lot of other evil based things. "RET" 'Info-follow-nearest-node "p" 'Info-prev "n" 'Info-next) - (general-def 'normal c++-mode-map + (general-def 'normal prog-mode-map :states 'normal :keymaps 'override - "go" 'ff-find-other-file)) + "go" 'ff-find-other-file + "TAB" 'indent-according-to-mode) + (general-def 'visual prog-mode-map + :states 'visual + :keymaps 'override + "TAB" 'indent-region) + (general-def 'insert prog-mode-map + :states 'insert + :keymaps 'override + "TAB" 'indent-according-to-mode)) #+end_src #+begin_src emacs-lisp @@ -611,7 +624,8 @@ Part of this config includes some special capture templates for my work as a you org-src-window-setup 'other-window org-export-with-broken-links t org-agenda-current-time-string "⭠ now ────────────────" - org-log-into-drawer t) + org-log-into-drawer t + org-latex-active-timestamp-format "\\textit{%s}") (add-hook 'org-mode-hook 'chris/org-mode-setup) @@ -745,6 +759,10 @@ Part of this config includes some special capture templates for my work as a you "gt" 'org-babel-tangle "il" 'org-insert-link "it" 'org-insert-todo-subheading) + (chris/leader-keys + :states 'normal + :keymaps 'org-mode-map + "is" 'org-time-stamp) (chris/leader-keys :states 'visual :keymaps 'override @@ -1782,8 +1800,7 @@ Tempel is another templating system. Also perhaps even more powerful with it's e (use-package tempel :bind (("M-+" . tempel-complete) ;; Alternative tempel-expand ("M-'" . tempel-insert) - ("C-M-" . tempel-done) - ("TAB" . tempel-next)) + ("C-M-" . tempel-done)) :init @@ -2826,6 +2843,12 @@ Let's add our own eshell prompt. and set the password cache to a significantly h (general-def '(normal insert) eshell-mode-map "C-d" 'kill-buffer-and-window)) #+end_src +*** Esh-autosuggest +#+begin_src emacs-lisp +(use-package esh-autosuggest + :hook (eshell-mode . esh-autosuggest-mode) + :ensure t) +#+end_src ** Vterm #+begin_src emacs-lisp @@ -3260,13 +3283,15 @@ I'd like to access the mastodon world through emacs too. :general (chris/leader-keys "oF" 'mastodon) - (general-def mastodon-mode-map + (general-def 'normal mastodon-mode-map + :states 'normal "q" 'bury-buffer "p" 'mastodon-toot "r" 'mastodon-tl--update "b" 'mastodon-toot--toggle-boost "H" 'mastodon-tl--get-home-timeline "F" 'mastodon-tl--get-federated-timeline + "v" 'chris/elfeed-bongo-insert-item "N" 'mastodon-notifications--timeline)) #+end_src diff --git a/init.el b/init.el index 4894a6cc..5b349cff 100644 --- a/init.el +++ b/init.el @@ -108,12 +108,14 @@ :ensure t :init (doom-modeline-mode 1) - (setq doom-modeline-height 35 + (setq doom-modeline-height 45 doom-modeline-bar-width 3 all-the-icons-scale-factor 0.9 doom-modeline-hud nil doom-modeline-buffer-file-name-style 'file-name - doom-modeline-buffer-encoding nil) + doom-modeline-buffer-encoding nil + doom-modeline-mu4e t + doom-modeline-enable-word-count t) (if (daemonp) (add-hook 'after-make-frame-functions (lambda (frame) @@ -153,6 +155,7 @@ ;; Please note the list `("-d" "en_US")` contains ACTUAL parameters passed to hunspell ;; You could use `("-d" "en_US,en_US-med")` to check with multiple dictionaries '(("en_US" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil ("-d" "en_US") nil utf-8))) + (add-hook 'org-mode-hook 'chris/org-mode-setup) (use-package no-littering) @@ -220,6 +223,7 @@ "bi" '(ibuffer :which-key "ibuffer") "tt" '(consult-theme :which-key "choose theme") "tl" '(toggle-truncate-lines :which-key "truncate lines") + "ts" '(ispell :which-key "spell check") "ff" '(find-file :which-key "find file") "fb" '(chris/open-bible :which-key "find bible book") "fr" '(consult-recent-file :which-key "recent file") @@ -262,10 +266,19 @@ "RET" 'Info-follow-nearest-node "p" 'Info-prev "n" 'Info-next) - (general-def 'normal c++-mode-map + (general-def 'normal prog-mode-map :states 'normal :keymaps 'override - "go" 'ff-find-other-file)) + "go" 'ff-find-other-file + "TAB" 'indent-according-to-mode) + (general-def 'visual prog-mode-map + :states 'visual + :keymaps 'override + "TAB" 'indent-region) + (general-def 'insert prog-mode-map + :states 'insert + :keymaps 'override + "TAB" 'indent-according-to-mode)) (use-package evil-escape :after evil @@ -344,7 +357,8 @@ org-src-window-setup 'other-window org-export-with-broken-links t org-agenda-current-time-string "⭠ now ────────────────" - org-log-into-drawer t) + org-log-into-drawer t + org-latex-active-timestamp-format "\\textit{%s}") (add-hook 'org-mode-hook 'chris/org-mode-setup) @@ -478,6 +492,10 @@ "gt" 'org-babel-tangle "il" 'org-insert-link "it" 'org-insert-todo-subheading) + (chris/leader-keys + :states 'normal + :keymaps 'org-mode-map + "is" 'org-time-stamp) (chris/leader-keys :states 'visual :keymaps 'override @@ -1205,8 +1223,7 @@ targets." (use-package tempel :bind (("M-+" . tempel-complete) ;; Alternative tempel-expand ("M-'" . tempel-insert) - ("C-M-" . tempel-done) - ("TAB" . tempel-next)) + ("C-M-" . tempel-done)) :init @@ -1958,6 +1975,10 @@ targets." (general-def '(normal insert) eshell-mode-map "C-d" 'kill-buffer-and-window)) +(use-package esh-autosuggest + :hook (eshell-mode . esh-autosuggest-mode) + :ensure t) + (setq vterm-buffer-name-string "vterm %s") (use-package sly @@ -2327,13 +2348,15 @@ interfere with the default `bongo-playlist-buffer'." :general (chris/leader-keys "oF" 'mastodon) - (general-def mastodon-mode-map + (general-def 'normal mastodon-mode-map + :states 'normal "q" 'bury-buffer "p" 'mastodon-toot "r" 'mastodon-tl--update "b" 'mastodon-toot--toggle-boost "H" 'mastodon-tl--get-home-timeline "F" 'mastodon-tl--get-federated-timeline + "v" 'chris/elfeed-bongo-insert-item "N" 'mastodon-notifications--timeline)) (use-package langtool) @@ -2380,19 +2403,3 @@ interfere with the default `bongo-playlist-buffer'." gcmh-verbose nil)) (setq warning-suppress-types '((comp))) -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(pdf-misc-print-program "/usr/bin/lpr") - '(pdf-misc-print-program-args '("-o media=Letter" "-o fitplot")) - '(safe-local-variable-values - '((projectile-project-run-cmd . "./build/bin/presenter") - (projectile-project-compilation-cmd . "cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -B build/ . && make -j8 --dir build/ && rm -rf ~/.cache/librepresenter/LibrePresenter/qmlcache/")))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(org-modern-tag ((t :background "#9aedfe" :foreground "#282a36"))))