adding some tweakaroos
This commit is contained in:
parent
95c9621034
commit
567eecf76c
244
README.org
244
README.org
|
@ -13,48 +13,6 @@
|
|||
- [[#keybindings][Keybindings]]
|
||||
- [[#org-mode][Org Mode]]
|
||||
- [[#emoji][Emoji]]
|
||||
- [[#undo-tree][Undo-Tree]]
|
||||
- [[#undo-fu][Undo-Fu]]
|
||||
- [[#better-ui][Better UI]]
|
||||
- [[#eww][EWW]]
|
||||
- [[#completion][Completion]]
|
||||
- [[#yasnippet][YASnippet]]
|
||||
- [[#tempel][Tempel]]
|
||||
- [[#projectile][Projectile]]
|
||||
- [[#httpd][HTTPD]]
|
||||
- [[#navigation][Navigation]]
|
||||
- [[#window-management][Window Management]]
|
||||
- [[#help][Help]]
|
||||
- [[#format][Format]]
|
||||
- [[#languages][Languages]]
|
||||
- [[#direnv][direnv]]
|
||||
- [[#file-management][File Management]]
|
||||
- [[#ledger][Ledger]]
|
||||
- [[#mu4e][MU4E]]
|
||||
- [[#calendar][Calendar]]
|
||||
- [[#org-caldav-sync][Org-Caldav-sync]]
|
||||
- [[#org-notifications][Org Notifications]]
|
||||
- [[#magit][Magit]]
|
||||
- [[#eshell][Eshell]]
|
||||
- [[#vterm][Vterm]]
|
||||
- [[#sly][Sly]]
|
||||
- [[#pdf-tools][PDF-Tools]]
|
||||
- [[#epub][EPUB]]
|
||||
- [[#eaf-emacs-application-framework][EAF (Emacs Application Framework)]]
|
||||
- [[#elfeed][Elfeed]]
|
||||
- [[#bongo][Bongo]]
|
||||
- [[#emms][EMMS]]
|
||||
- [[#transmission][Transmission]]
|
||||
- [[#hass][HASS]]
|
||||
- [[#pass][Pass]]
|
||||
- [[#matrixement][Matrix/Ement]]
|
||||
- [[#mastodon][Mastodon]]
|
||||
- [[#activitywatch][ActivityWatch]]
|
||||
- [[#languagetool][LanguageTool]]
|
||||
- [[#qrencode][qrencode]]
|
||||
- [[#mybible][MyBible]]
|
||||
- [[#performance][Performance]]
|
||||
- [[#logging][Logging]]
|
||||
- [[#early-init][Early Init]]
|
||||
|
||||
* Init
|
||||
|
@ -372,7 +330,7 @@ Also due to using greetd, emacs isn't started with the environment from the syst
|
|||
;; 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)
|
||||
(add-hook 'org-mode-hook 'chris/org-mode-setup)
|
||||
#+end_src
|
||||
|
||||
** Keep Folders Clean
|
||||
|
@ -385,6 +343,14 @@ Let's use =no-littering= in order to stop emacs from filling all our folders wit
|
|||
;; auto save files in the same path as it uses for sessions
|
||||
(setq auto-save-file-name-transforms
|
||||
`((".*" ,(no-littering-expand-var-file-name "auto-save/") t)))
|
||||
|
||||
(setq backup-directory-alist '(("." . "~/.emacs.d/backup"))
|
||||
backup-by-copying t ; Don't delink hardlinks
|
||||
version-control t ; Use version numbers on backups
|
||||
delete-old-versions t ; Automatically delete excess backups
|
||||
kept-new-versions 20 ; how many of the newest versions to keep
|
||||
kept-old-versions 5 ; and how many of the old
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** Ligatures
|
||||
|
@ -580,7 +546,8 @@ Let's start by creating a self contained function of what I'd like started on ev
|
|||
(visual-fill-column-mode +1)
|
||||
(display-line-numbers-mode -1)
|
||||
(variable-pitch-mode +1)
|
||||
(flyspell-mode +1)
|
||||
(languagetool-server-start)
|
||||
(languagetool-server-mode +1)
|
||||
(setq visual-fill-column-width 100
|
||||
visual-fill-column-center-text t)
|
||||
|
||||
|
@ -1672,6 +1639,17 @@ GPTEL is a package that uses chatGPT to get some text generation in org-mode
|
|||
#+begin_ai
|
||||
is emacs the best?
|
||||
#+end_ai
|
||||
*** Jinx
|
||||
Jinx is an enchanted spell checker for emacs. I think I'll just turn it on globally for a while and see how I feel.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package jinx
|
||||
:hook (emacs-startup . global-jinx-mode)
|
||||
:init (flyspell-mode -1)
|
||||
:config (flyspell-mode -1)
|
||||
:bind (("M-c" . jinx-correct)
|
||||
("C-M-$" . Jinx-Languages)))
|
||||
#+end_src
|
||||
|
||||
** Emoji
|
||||
In order to render color emojis I'll use =unicode-fonts=.
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -1695,7 +1673,7 @@ Or maybe I'll use =emojify=.
|
|||
"ie" '(emojify-insert-emoji :which-key "insert emoji")))
|
||||
#+end_src
|
||||
|
||||
** Undo-Tree
|
||||
*** Undo-Tree
|
||||
I no longer use this since I primarily use Emacs 28 across my machines and have used Emacs's built in undo-redo.
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package undo-tree
|
||||
|
@ -1709,7 +1687,7 @@ I no longer use this since I primarily use Emacs 28 across my machines and have
|
|||
"k" 'undo-tree-visualize-undo))
|
||||
#+end_src
|
||||
|
||||
** Undo-Fu
|
||||
*** Undo-Fu
|
||||
The same applies here as did =undo-tree= I no longer use this since I primarily use Emacs 28 across my machines and have used Emacs's built in undo-redo.
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package undo-fu
|
||||
|
@ -1718,8 +1696,8 @@ The same applies here as did =undo-tree= I no longer use this since I primarily
|
|||
(setq evil-undo-system 'undo-fu))
|
||||
#+end_src
|
||||
|
||||
** Better UI
|
||||
*** Olivetti
|
||||
*** Better UI
|
||||
**** Olivetti
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package olivetti
|
||||
:config
|
||||
|
@ -1727,13 +1705,13 @@ The same applies here as did =undo-tree= I no longer use this since I primarily
|
|||
olivetti-minimum-body-width 100))
|
||||
#+end_src
|
||||
|
||||
*** Revert all buffers
|
||||
**** Revert all buffers
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(global-auto-revert-mode 1)
|
||||
(setq global-auto-revert-non-file-buffers t)
|
||||
#+END_SRC
|
||||
|
||||
*** Visual-Fill-Line-Mode
|
||||
**** Visual-Fill-Line-Mode
|
||||
Visual fill column does a lot of the same as olivetti, but works with visual line mode better.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package visual-fill-column
|
||||
|
@ -1742,13 +1720,13 @@ Visual fill column does a lot of the same as olivetti, but works with visual lin
|
|||
(setq visual-fill-column-width 100
|
||||
visual-fill-column-center-text t))
|
||||
#+end_src
|
||||
*** TOC-ORG
|
||||
**** TOC-ORG
|
||||
#+begin_src emacs-lisp
|
||||
(use-package toc-org
|
||||
:after org)
|
||||
#+end_src
|
||||
|
||||
*** Lin and Pulsar
|
||||
**** Lin and Pulsar
|
||||
These two packages created by Prot are interesting to me and may help to make sure I do not loose my place in emacs so much.
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package lin
|
||||
|
@ -1827,7 +1805,7 @@ These two packages created by Prot are interesting to me and may help to make su
|
|||
(add-hook 'imenu-after-jump-hook #'pulsar-reveal-entry))
|
||||
#+end_src
|
||||
|
||||
** EWW
|
||||
*** EWW
|
||||
Builtin webbrowser for emacs. Trying it out as a text only browser for things.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -1879,10 +1857,10 @@ Builtin webbrowser for emacs. Trying it out as a text only browser for things.
|
|||
"gV" 'chris/eww-video-dl)
|
||||
#+end_src
|
||||
|
||||
** Completion
|
||||
*** Completion
|
||||
My completion framework is a combination of packages so that everything remains seperate and lightweight.
|
||||
|
||||
*** SELECTRUM
|
||||
**** SELECTRUM
|
||||
I prefer selectrum over Ivy or Helm for completions. It is using the basic completing read system and therefore it is more inline with basic emacs. Also, let's add prescient to be able to filter selectrum well. We'll add some keybindings too for easier navigation on the home row.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
|
@ -1992,7 +1970,7 @@ This is similar but using mini-frame. Mini-frame works well, but not if using ex
|
|||
(apply f args)))
|
||||
#+END_SRC
|
||||
|
||||
*** VERTICO
|
||||
**** VERTICO
|
||||
Vertico is an alternative to Selectrum. Maybe using it will give me an even better experience over selectrum.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
|
@ -2045,7 +2023,7 @@ Vertico is an alternative to Selectrum. Maybe using it will give me an even bett
|
|||
(setq enable-recursive-minibuffers t))
|
||||
#+END_SRC
|
||||
|
||||
*** CONSULT
|
||||
**** CONSULT
|
||||
Consult has a lot of nice functions like Ivy's Counsel functions (enhanced searching functions), lets set some of them in the keymap so they are easily used.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package consult
|
||||
|
@ -2091,7 +2069,7 @@ Consult has a lot of nice functions like Ivy's Counsel functions (enhanced searc
|
|||
"sb" 'consult-eglot-symbols))
|
||||
#+end_src
|
||||
|
||||
*** MARGINALIA
|
||||
**** MARGINALIA
|
||||
|
||||
Marginalia makes for some great decoration to our minibuffer completion items. Works great with Selectrum which does not have this out of the box.
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -2130,7 +2108,7 @@ Along with Marginalia, let's add in icons.
|
|||
#+end_src
|
||||
|
||||
|
||||
*** Embark
|
||||
**** Embark
|
||||
Embark or do something.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package embark
|
||||
|
@ -2184,12 +2162,12 @@ targets."
|
|||
(use-package embark-consult)
|
||||
#+END_SRC
|
||||
|
||||
*** WGREP
|
||||
**** WGREP
|
||||
#+begin_src emacs-lisp
|
||||
(use-package wgrep)
|
||||
#+end_src
|
||||
|
||||
*** Company
|
||||
**** Company
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package company
|
||||
:config
|
||||
|
@ -2214,7 +2192,7 @@ targets."
|
|||
:after company)
|
||||
#+end_src
|
||||
|
||||
*** Corfu
|
||||
**** Corfu
|
||||
Trying out corfu instead of company
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package corfu
|
||||
|
@ -2325,7 +2303,7 @@ Trying out corfu instead of company
|
|||
(setq cape-dabbrev-min-length 4)
|
||||
)
|
||||
#+END_SRC
|
||||
*** kind-icon
|
||||
**** kind-icon
|
||||
Kind icon adds icons to corfu
|
||||
#+begin_src emacs-lisp
|
||||
(use-package kind-icon
|
||||
|
@ -2337,7 +2315,7 @@ Kind icon adds icons to corfu
|
|||
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter))
|
||||
#+end_src
|
||||
|
||||
*** Devdocs
|
||||
**** Devdocs
|
||||
Devdocs.io is a pretty great place to see documentation on nearly any developer technology. Devdocs.el will bring all that documentation right inside Emacs.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package devdocs
|
||||
|
@ -2348,7 +2326,7 @@ Devdocs.io is a pretty great place to see documentation on nearly any developer
|
|||
"hd" 'devdocs-lookup))
|
||||
#+end_src
|
||||
|
||||
** YASnippet
|
||||
*** YASnippet
|
||||
YASnippet is a templating system. It's powerful.
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package yasnippet
|
||||
|
@ -2357,7 +2335,7 @@ YASnippet is a templating system. It's powerful.
|
|||
(yas-global-mode 1))
|
||||
#+end_src
|
||||
|
||||
** Tempel
|
||||
*** Tempel
|
||||
Tempel is another templating system. Also perhaps even more powerful with it's elisp way of creating snippets, but elisp is tougher to work around. But, I'll give it a try.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package tempel
|
||||
|
@ -2392,7 +2370,7 @@ Tempel is another templating system. Also perhaps even more powerful with it's e
|
|||
)
|
||||
#+END_SRC
|
||||
|
||||
** Projectile
|
||||
*** Projectile
|
||||
I'm going to use projectile to keep my projects inline.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package projectile
|
||||
|
@ -2409,15 +2387,15 @@ I'm going to use projectile to keep my projects inline.
|
|||
"fP" 'project-switch-project))
|
||||
#+end_src
|
||||
|
||||
** HTTPD
|
||||
*** HTTPD
|
||||
In order to view created websites, I'll use =simple-httpd= to get a web server running in emacs for preview.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package simple-httpd
|
||||
:ensure t)
|
||||
#+END_SRC
|
||||
|
||||
** Navigation
|
||||
*** Avy
|
||||
*** Navigation
|
||||
**** Avy
|
||||
Avy provides a lot of functions to search through the current buffer. Most of the time I use evil or consult functions to find what I'm looking for, but avy provides a lot of small movements that are more useful for visible movements.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package avy
|
||||
|
@ -2437,7 +2415,7 @@ These are some evil bindings to avy.
|
|||
"gl" 'avy-goto-line))
|
||||
#+end_src
|
||||
|
||||
*** Ace-Link
|
||||
**** Ace-Link
|
||||
Ace link provides an avy like search for links. Upon using the keybindings presented it opens the url.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ace-link
|
||||
|
@ -2447,7 +2425,7 @@ Ace link provides an avy like search for links. Upon using the keybindings prese
|
|||
"gL" 'ace-link))
|
||||
#+end_src
|
||||
|
||||
** Window Management
|
||||
*** Window Management
|
||||
#+begin_src emacs-lisp
|
||||
(setq display-buffer-alist
|
||||
(if (string= system-name "syl")
|
||||
|
@ -2550,7 +2528,7 @@ Since I like to make my window manager handle a lot of the window management, I
|
|||
(delete-frame))
|
||||
#+end_src
|
||||
|
||||
*** Ace Window
|
||||
**** Ace Window
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ace-window
|
||||
:config (ace-window-display-mode)
|
||||
|
@ -2561,7 +2539,7 @@ Since I like to make my window manager handle a lot of the window management, I
|
|||
"ww" '(ace-window :which-key "select window")))
|
||||
#+end_src
|
||||
|
||||
** Help
|
||||
*** Help
|
||||
#+begin_src emacs-lisp
|
||||
(use-package helpful
|
||||
:ensure nil
|
||||
|
@ -2591,7 +2569,7 @@ Since I like to make my window manager handle a lot of the window management, I
|
|||
(s-trim (s-join "\n" relevant-lines)))))
|
||||
#+end_src
|
||||
|
||||
** Format
|
||||
*** Format
|
||||
#+begin_src emacs-lisp
|
||||
(use-package format-all
|
||||
:config
|
||||
|
@ -2600,7 +2578,7 @@ Since I like to make my window manager handle a lot of the window management, I
|
|||
:defer 1)
|
||||
#+end_src
|
||||
|
||||
** Languages
|
||||
*** Languages
|
||||
Before getting into languages, often times compilation of things use ansi-colors, so in order to make sure those characters get rendered properly, here we make sure that those colors work ok.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
|
@ -2622,7 +2600,7 @@ Finally, here are some auto modes I'd like to setup
|
|||
(add-to-list 'auto-mode-alist '("\\.yuck?\\'" . lisp-data-mode))
|
||||
#+end_src
|
||||
|
||||
*** Tree Sitter
|
||||
**** Tree Sitter
|
||||
I'm gonna try this to speed up emacs and make it nicer
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package tree-sitter
|
||||
|
@ -2635,7 +2613,7 @@ I'm gonna try this to speed up emacs and make it nicer
|
|||
#+begin_src emacs-lisp
|
||||
|
||||
#+end_src
|
||||
*** C++
|
||||
**** C++
|
||||
In c++ I just want to make sure lsp is called when enter c++-mode
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun astyle-this-buffer ()
|
||||
|
@ -2670,7 +2648,7 @@ In c++ I just want to make sure lsp is called when enter c++-mode
|
|||
(add-hook 'c-mode-common-hook (lambda () (add-hook 'before-save-hook 'astyle-before-save)))
|
||||
#+END_SRC
|
||||
|
||||
*** Rust
|
||||
**** Rust
|
||||
I'd like to start learning and using rust if I can.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package rustic
|
||||
|
@ -2689,7 +2667,7 @@ I'd like to start learning and using rust if I can.
|
|||
"gc" 'rustic-compile))
|
||||
#+end_src
|
||||
|
||||
*** Web
|
||||
**** Web
|
||||
For developing websites, I like to use web-mode
|
||||
#+begin_src emacs-lisp
|
||||
(use-package web-mode
|
||||
|
@ -2717,21 +2695,21 @@ For developing websites, I like to use web-mode
|
|||
)
|
||||
#+end_src
|
||||
|
||||
*** Lua
|
||||
**** Lua
|
||||
Since I use the Awesome WM I thought it'd be good to have lua around. It's also in a lot of things.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lua-mode
|
||||
:mode ("\\.lua\\'" . lua-mode))
|
||||
#+end_src
|
||||
|
||||
*** Nix
|
||||
**** Nix
|
||||
I've been transitioning more of my OS to NixOS. Let's get =nix-mode= working.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package nix-mode
|
||||
:mode "\\.nix\\'")
|
||||
#+end_src
|
||||
|
||||
*** LSP
|
||||
**** LSP
|
||||
LSP is useful...
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package lsp-mode
|
||||
|
@ -2775,7 +2753,7 @@ LSP is useful...
|
|||
:after lsp)
|
||||
#+end_src
|
||||
|
||||
*** Eglot
|
||||
**** Eglot
|
||||
Let's give eglot a try.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package eglot
|
||||
|
@ -2798,20 +2776,20 @@ Let's give eglot a try.
|
|||
"gs" 'consult-eglot-symbols))
|
||||
#+end_src
|
||||
|
||||
*** CMAKE
|
||||
**** CMAKE
|
||||
#+begin_src emacs-lisp
|
||||
(use-package cmake-mode
|
||||
:mode ("\\CMakeLists.txt\\'" . cmake-mode))
|
||||
#+end_src
|
||||
|
||||
*** Fennel
|
||||
**** Fennel
|
||||
I use fennel to build my awesomewm config. So, we'll need that downloaded.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package fennel-mode
|
||||
:mode ("\\.fnl\\'" . fennel-mode))
|
||||
#+end_src
|
||||
|
||||
*** Friar
|
||||
**** Friar
|
||||
Friar is a fennel repl in the awesome repl. It allows you to interact with AwesomeWM from inside emacs.
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package friar
|
||||
|
@ -2820,7 +2798,7 @@ Friar is a fennel repl in the awesome repl. It allows you to interact with Aweso
|
|||
:after fennel-mode)
|
||||
#+end_src
|
||||
|
||||
*** Yaml
|
||||
**** Yaml
|
||||
|
||||
I do a lot of docker management so having yaml is necessary
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -2844,14 +2822,14 @@ Let's make sure docker is capable of using tramp.
|
|||
|
||||
Still need dockerfile-mode in order to be able to edit dockerfiles.
|
||||
|
||||
*** Fish
|
||||
**** Fish
|
||||
Fish is my preferred shell and made some scripts in it so I keep this to be able to edit those scripts.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package fish-mode
|
||||
:mode ("\\.fish\\'" . fish-mode))
|
||||
#+end_src
|
||||
|
||||
*** Markdown
|
||||
**** Markdown
|
||||
It's probably smart to have markdown.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package markdown-mode
|
||||
|
@ -2868,7 +2846,7 @@ It's probably smart to have markdown.
|
|||
"M-k" 'markdown-move-up))
|
||||
#+end_src
|
||||
|
||||
*** QML
|
||||
**** QML
|
||||
I make some apps in Qt 5 so QML is a needed language although the support in Emacs is lacking.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package qml-mode
|
||||
|
@ -2889,14 +2867,14 @@ I make some apps in Qt 5 so QML is a needed language although the support in Ema
|
|||
;; :after qml-mode)
|
||||
#+end_src
|
||||
|
||||
*** CSV
|
||||
**** CSV
|
||||
Sometimes I need to edit CSV files quickly
|
||||
#+begin_src emacs-lisp
|
||||
(use-package csv-mode
|
||||
:mode ("\\.csv\\'" . csv-mode))
|
||||
#+end_src
|
||||
|
||||
*** Restclient
|
||||
**** Restclient
|
||||
Sometimes dealing with REST APIs it's easiest to do this incrementally with restclient.el
|
||||
#+begin_src emacs-lisp
|
||||
(use-package restclient
|
||||
|
@ -2909,7 +2887,7 @@ Let's also add org-babel support for this to create documentation easier.
|
|||
:after org)
|
||||
#+end_src
|
||||
|
||||
*** Dart/Flutter
|
||||
**** Dart/Flutter
|
||||
I may get into flutter development over using felgo..... but i'm not happy about it....
|
||||
#+begin_src emacs-lisp
|
||||
(use-package dart-mode
|
||||
|
@ -2933,16 +2911,22 @@ Let's also add the android-sdk tools to emacs' path.
|
|||
#+begin_src emacs-lisp
|
||||
(add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin")
|
||||
#+end_src
|
||||
**** php-mode
|
||||
Sometimes I have to deal with cruddy php-mode
|
||||
#+begin_src emacs-lisp
|
||||
(use-package php-mode
|
||||
:mode ("\\.php\\'" . php-mode))
|
||||
#+end_src
|
||||
|
||||
** direnv
|
||||
*** direnv
|
||||
#+begin_src emacs-lisp
|
||||
(use-package direnv
|
||||
:config
|
||||
(direnv-mode))
|
||||
#+end_src
|
||||
|
||||
** File Management
|
||||
*** Dired
|
||||
*** File Management
|
||||
**** Dired
|
||||
I'm making a small function in here to open files in the appropriate program using XDG defaults. This is like opening odt files in Libreoffice or mp4 files in MPV.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package dired
|
||||
|
@ -3071,7 +3055,7 @@ We need a function to copy the full filename to kill-ring
|
|||
"C" 'dired-rsync))
|
||||
#+end_src
|
||||
|
||||
**** Dirvish
|
||||
***** Dirvish
|
||||
Let's try using dirvish as a kind of ranger
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package dirvish
|
||||
|
@ -3121,7 +3105,7 @@ Let's try using dirvish as a kind of ranger
|
|||
"q" 'chris/dirvish-quit))
|
||||
#+end_src
|
||||
|
||||
*** Tramp
|
||||
**** Tramp
|
||||
#+begin_src emacs-lisp
|
||||
(require 'tramp)
|
||||
(add-to-list 'tramp-default-proxies-alist
|
||||
|
@ -3130,13 +3114,13 @@ Let's try using dirvish as a kind of ranger
|
|||
'((regexp-quote (system-name)) nil nil))
|
||||
#+end_src
|
||||
|
||||
** Ledger
|
||||
*** Ledger
|
||||
Ledger mode
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ledger-mode)
|
||||
#+end_src
|
||||
|
||||
** MU4E
|
||||
*** MU4E
|
||||
#+begin_src emacs-lisp
|
||||
(use-package mu4e
|
||||
:load-path "/usr/share/emacs/site-lisp/mu4e/"
|
||||
|
@ -3337,7 +3321,7 @@ Let's add org-msg to write emails in org-mode
|
|||
/Praising God in all things!/
|
||||
#+end_signature"))
|
||||
#+end_src
|
||||
** Calendar
|
||||
*** Calendar
|
||||
#+begin_src emacs-lisp
|
||||
(use-package calfw
|
||||
:commands chris/calfw-calendar-open
|
||||
|
@ -3393,21 +3377,21 @@ Let's add org-msg to write emails in org-mode
|
|||
"q" 'cfw:details-kill-buffer-command))
|
||||
#+end_src
|
||||
|
||||
*** Calfw-Org
|
||||
**** Calfw-Org
|
||||
Here we can use org as a way to create calfw sources in the calendar view.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package calfw-org
|
||||
:after calfw)
|
||||
#+end_src
|
||||
|
||||
*** Calfw-ical
|
||||
**** Calfw-ical
|
||||
Here we setup an easy way to use ical as a source for calendar views.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package calfw-ical
|
||||
:after calfw)
|
||||
#+end_src
|
||||
|
||||
** Org-Caldav-sync
|
||||
*** Org-Caldav-sync
|
||||
I'd like to sync my org-files to caldav and hopefully use more native android apps to manage tasks and reminders.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package org-caldav
|
||||
|
@ -3423,7 +3407,7 @@ I'd like to sync my org-files to caldav and hopefully use more native android ap
|
|||
org-icalendar-use-scheduled '(todo-start event-if-todo)))
|
||||
#+END_SRC
|
||||
|
||||
** Org Notifications
|
||||
*** Org Notifications
|
||||
I'd really like to have notifications for when things are scheduled so that I get my butt to working.
|
||||
#+BEGIN_SRC emacs-lisp :tangle no
|
||||
(use-package org-notifications
|
||||
|
@ -3440,7 +3424,7 @@ I'd really like to have notifications for when things are scheduled so that I ge
|
|||
(setq alert-default-style 'libnotify)
|
||||
(org-wild-notifier-mode +1))
|
||||
#+END_SRC
|
||||
** Magit
|
||||
*** Magit
|
||||
Use magit, because why wouldn't you? duh!
|
||||
#+begin_src emacs-lisp
|
||||
(use-package magit
|
||||
|
@ -3455,7 +3439,7 @@ Use magit, because why wouldn't you? duh!
|
|||
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
|
||||
#+end_src
|
||||
|
||||
** Eshell
|
||||
*** Eshell
|
||||
Let's add our own eshell prompt. and set the password cache to a significantly higher time in order to not need to constantly reuse my password.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package eshell
|
||||
|
@ -3607,20 +3591,20 @@ Let's add our own eshell prompt. and set the password cache to a significantly h
|
|||
"C-d" 'kill-buffer-and-window))
|
||||
#+end_src
|
||||
|
||||
*** EAT
|
||||
**** EAT
|
||||
Emulate a terminal
|
||||
#+begin_src emacs-lisp
|
||||
(add-hook 'eshell-load-hook #'eat-eshell-mode)
|
||||
#+end_src
|
||||
|
||||
*** Esh-autosuggest
|
||||
**** Esh-autosuggest
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package esh-autosuggest
|
||||
:hook (eshell-mode . esh-autosuggest-mode)
|
||||
:ensure nil)
|
||||
#+end_src
|
||||
|
||||
** Vterm
|
||||
*** Vterm
|
||||
#+begin_src emacs-lisp
|
||||
(setq vterm-buffer-name-string "vterm %s")
|
||||
(defun chris/vterm-setup ()
|
||||
|
@ -3629,7 +3613,7 @@ Emulate a terminal
|
|||
(add-hook 'vterm-mode-hook 'chris/vterm-setup)
|
||||
#+end_src
|
||||
|
||||
** Sly
|
||||
*** Sly
|
||||
Using sly makes a lot better common-lisp interaction within emacs.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package sly
|
||||
|
@ -3643,7 +3627,7 @@ Using sly makes a lot better common-lisp interaction within emacs.
|
|||
(sly-connect "localhost" 4006)))
|
||||
#+end_src
|
||||
|
||||
** PDF-Tools
|
||||
*** PDF-Tools
|
||||
Let's use pdf-tools for a lot better interaction with pdfs.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package pdf-tools
|
||||
|
@ -3658,7 +3642,7 @@ Let's use pdf-tools for a lot better interaction with pdfs.
|
|||
(add-hook 'pdf-view-mode 'pdf-view-fit-page-to-window))
|
||||
#+end_src
|
||||
|
||||
** EPUB
|
||||
*** EPUB
|
||||
#+begin_src emacs-lisp
|
||||
(use-package nov
|
||||
:mode ("\\.epub\\'" . nov-mode)
|
||||
|
@ -3675,7 +3659,7 @@ Let's use pdf-tools for a lot better interaction with pdfs.
|
|||
(add-hook 'nov-mode-hook 'chris/setup-nov-mode))
|
||||
#+end_src
|
||||
|
||||
** EAF (Emacs Application Framework)
|
||||
*** EAF (Emacs Application Framework)
|
||||
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package eaf
|
||||
|
@ -3688,7 +3672,7 @@ Let's use pdf-tools for a lot better interaction with pdfs.
|
|||
(eaf-browser-enable-adblocker t))
|
||||
#+end_src
|
||||
|
||||
** Elfeed
|
||||
*** Elfeed
|
||||
#+begin_src emacs-lisp
|
||||
(use-package elfeed
|
||||
:commands (elfeed)
|
||||
|
@ -3822,7 +3806,7 @@ interfere with the default `bongo-playlist-buffer'."
|
|||
(elfeed-update))
|
||||
#+end_src
|
||||
|
||||
** Bongo
|
||||
*** Bongo
|
||||
#+begin_src emacs-lisp
|
||||
(use-package bongo
|
||||
:commands (bongo bongo-playlist-buffer)
|
||||
|
@ -3916,7 +3900,7 @@ interfere with the default `bongo-playlist-buffer'."
|
|||
"q" 'bury-buffer))
|
||||
#+end_src
|
||||
|
||||
** EMMS
|
||||
*** EMMS
|
||||
Since Bongo seems kinda difficult I shall give EMMS another try.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package emms
|
||||
|
@ -3957,7 +3941,7 @@ Since Bongo seems kinda difficult I shall give EMMS another try.
|
|||
"D" 'emms-browser-view-in-dired))
|
||||
#+end_src
|
||||
|
||||
** Transmission
|
||||
*** Transmission
|
||||
I use transmission on a server to manage my torrents
|
||||
#+begin_src emacs-lisp
|
||||
(use-package transmission
|
||||
|
@ -3984,7 +3968,7 @@ I use transmission on a server to manage my torrents
|
|||
"ot" 'transmission))
|
||||
#+end_src
|
||||
|
||||
** HASS
|
||||
*** HASS
|
||||
Hass is a package to control Home Assistant. I use HA so... I like HASS.
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package hass
|
||||
|
@ -3998,7 +3982,7 @@ Hass is a package to control Home Assistant. I use HA so... I like HASS.
|
|||
"oh" 'hass-dash-open))
|
||||
#+end_src
|
||||
|
||||
** Pass
|
||||
*** Pass
|
||||
I like to keep my passwords in password-store for a very unixy way of doing things.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package auth-source-pass
|
||||
|
@ -4027,7 +4011,7 @@ I like to keep my passwords in password-store for a very unixy way of doing thin
|
|||
"st" 'password-store-otp-token-copy))
|
||||
#+end_src
|
||||
|
||||
** Matrix/Ement
|
||||
*** Matrix/Ement
|
||||
Matrix.el is a decent enough matrix client built in emacs. Like it.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package plz
|
||||
|
@ -4049,7 +4033,7 @@ Matrix.el is a decent enough matrix client built in emacs. Like it.
|
|||
"oM" 'ement-list-rooms))
|
||||
#+end_src
|
||||
|
||||
** Mastodon
|
||||
*** Mastodon
|
||||
I'd like to access the mastodon world through emacs too.
|
||||
#+begin_src emacs-lisp
|
||||
(use-package mastodon
|
||||
|
@ -4071,7 +4055,7 @@ I'd like to access the mastodon world through emacs too.
|
|||
"N" 'mastodon-notifications--timeline))
|
||||
#+end_src
|
||||
|
||||
** ActivityWatch
|
||||
*** ActivityWatch
|
||||
I like to track my time with ActivityWatch so I can notice and kill bad habits. At least I used to but it is pretty heavy on resources and doesn't work on Wayland.
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(use-package activity-watch-mode
|
||||
|
@ -4081,7 +4065,7 @@ I like to track my time with ActivityWatch so I can notice and kill bad habits.
|
|||
(global-activity-watch-mode -1)))
|
||||
#+end_src
|
||||
|
||||
** LanguageTool
|
||||
*** LanguageTool
|
||||
I am going to try and use LanguageTool to fix grammatical issues.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -4102,12 +4086,12 @@ I am going to try and use LanguageTool to fix grammatical issues.
|
|||
languagetool-server-command "/home/chris/.emacs.d/languagetool/languagetool-server.jar"))
|
||||
#+end_src
|
||||
|
||||
** qrencode
|
||||
*** qrencode
|
||||
#+begin_src emacs-lisp
|
||||
(use-package qrencode)
|
||||
#+end_src
|
||||
|
||||
** MyBible
|
||||
*** MyBible
|
||||
MyBible is going to be set of functions for creating and using a bible app within Emacs. Let's see if we can't make it work.
|
||||
#+begin_src emacs-lisp :tangle no
|
||||
(defun chris/find-verse ()
|
||||
|
@ -4118,7 +4102,7 @@ MyBible is going to be set of functions for creating and using a bible app withi
|
|||
)
|
||||
#+end_src
|
||||
|
||||
** Performance
|
||||
*** Performance
|
||||
Here we have a bunch of performance tweaks
|
||||
#+begin_src emacs-lisp
|
||||
;; Reduce rendering/line scan work for Emacs by not rendering cursors or regions
|
||||
|
@ -4149,7 +4133,7 @@ Here we have a bunch of performance tweaks
|
|||
(setq redisplay-skip-fontification-on-input t)
|
||||
#+end_src
|
||||
|
||||
*** Garbage Collection
|
||||
**** Garbage Collection
|
||||
|
||||
We set the =gc-cons-threshold= variable to really high, now lets set it back low to make sure emacs performs properly.
|
||||
#+begin_src emacs-lisp
|
||||
|
@ -4169,7 +4153,7 @@ Let's also use an automatic garbage collector while idle to make better input.
|
|||
gcmh-verbose nil))
|
||||
#+end_src
|
||||
|
||||
** Logging
|
||||
*** Logging
|
||||
Using Emacs 28 there are a lot of comp warnings so I am suppressing those for a quieter compilation.
|
||||
#+begin_src emacs-lisp
|
||||
(setq warning-suppress-types '((comp)))
|
||||
|
|
23
init.el
23
init.el
|
@ -159,7 +159,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)
|
||||
(add-hook 'org-mode-hook 'chris/org-mode-setup)
|
||||
|
||||
(use-package no-littering)
|
||||
|
||||
|
@ -168,6 +168,14 @@
|
|||
(setq auto-save-file-name-transforms
|
||||
`((".*" ,(no-littering-expand-var-file-name "auto-save/") t)))
|
||||
|
||||
(setq backup-directory-alist '(("." . "~/.emacs.d/backup"))
|
||||
backup-by-copying t ; Don't delink hardlinks
|
||||
version-control t ; Use version numbers on backups
|
||||
delete-old-versions t ; Automatically delete excess backups
|
||||
kept-new-versions 20 ; how many of the newest versions to keep
|
||||
kept-old-versions 5 ; and how many of the old
|
||||
)
|
||||
|
||||
(let ((alist '((?! . "\\(?:!\\(?:==\\|[!=]\\)\\)")
|
||||
(?# . "\\(?:#\\(?:###?\\|_(\\|[!#(:=?[_{]\\)\\)")
|
||||
(?$ . "\\(?:\\$>\\)")
|
||||
|
@ -339,7 +347,8 @@
|
|||
(visual-fill-column-mode +1)
|
||||
(display-line-numbers-mode -1)
|
||||
(variable-pitch-mode +1)
|
||||
(flyspell-mode +1)
|
||||
(languagetool-server-start)
|
||||
(languagetool-server-mode +1)
|
||||
(setq visual-fill-column-width 100
|
||||
visual-fill-column-center-text t)
|
||||
|
||||
|
@ -1336,6 +1345,13 @@ All my (performant) foldings needs are met between this and `org-show-subtree'
|
|||
(setq gptel-default-mode 'org-mode
|
||||
gptel-api-key "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"))
|
||||
|
||||
(use-package jinx
|
||||
:hook (emacs-startup . global-jinx-mode)
|
||||
:init (flyspell-mode -1)
|
||||
:config (flyspell-mode -1)
|
||||
:bind (("M-c" . jinx-correct)
|
||||
("C-M-$" . Jinx-Languages)))
|
||||
|
||||
(use-package unicode-fonts
|
||||
:ensure t
|
||||
:config
|
||||
|
@ -2146,6 +2162,9 @@ targets."
|
|||
|
||||
(add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin")
|
||||
|
||||
(use-package php-mode
|
||||
:mode ("\\.php\\'" . php-mode))
|
||||
|
||||
(use-package direnv
|
||||
:config
|
||||
(direnv-mode))
|
||||
|
|
Loading…
Reference in a new issue