diff --git a/README.org b/README.org index 9c88b321..bfb4276b 100644 --- a/README.org +++ b/README.org @@ -24,6 +24,37 @@ - [[#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]] + - [[#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 @@ -78,9 +109,9 @@ In order to have this config work on both my desktop with regular joe-schmoe mon (defun chris/set-font-faces () "Set the faces for our fonts" (message "Setting faces!") - (set-face-attribute 'default nil :font "VictorMono Nerd Font" + (set-face-attribute 'default nil :font "VictorMono Nerd Font Propo" :height chris/default-font-size) - (set-face-attribute 'fixed-pitch nil :font "VictorMono Nerd Font" + (set-face-attribute 'fixed-pitch nil :font "VictorMono Nerd Font Propo" :height chris/default-font-size) (set-face-attribute 'variable-pitch nil :font "Noto Sans" :height (+ chris/default-font-size (/ chris/default-font-size 12)) @@ -2432,7 +2463,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") @@ -2535,7 +2566,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) @@ -2546,7 +2577,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 @@ -2576,7 +2607,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 @@ -2585,7 +2616,7 @@ Since I like to make my window manager handle a lot of the window management, I :defer t) #+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 @@ -2607,7 +2638,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 @@ -2620,7 +2651,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 () @@ -2655,7 +2686,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 @@ -2674,7 +2705,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 @@ -2702,21 +2733,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 @@ -2760,7 +2791,7 @@ LSP is useful... :after lsp) #+end_src -**** Eglot +*** Eglot Let's give eglot a try. #+begin_src emacs-lisp (use-package eglot @@ -2783,20 +2814,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 @@ -2805,7 +2836,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 @@ -2829,14 +2860,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 @@ -2853,7 +2884,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 @@ -2874,14 +2905,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 @@ -2894,7 +2925,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 @@ -2918,22 +2949,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 +*** 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 @@ -3062,7 +3093,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 @@ -3112,7 +3143,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 @@ -3121,13 +3152,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/" @@ -3398,7 +3429,7 @@ Here we setup an easy way to use ical as a source for calendar views. :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 @@ -3414,7 +3445,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 @@ -3431,7 +3462,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 @@ -3446,7 +3477,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 @@ -3511,7 +3542,7 @@ Let's add our own eshell prompt. and set the password cache to a significantly h (propertize path 'face `(:inherit org-level-1)))) (when chris/eshell-status-p (propertize (or (chris/eshell-status-display) "") 'face font-lock-comment-face)) - (propertize "\n" 'face '(:inherit org-todo :weight ultra-bold)) + (propertize "\n󰄾" 'face '(:inherit org-todo :weight ultra-bold)) " ")))) ;;; If the prompt spans over multiple lines, the regexp should match @@ -3598,20 +3629,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 () @@ -3620,7 +3651,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 @@ -3634,7 +3665,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 @@ -3649,7 +3680,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) @@ -3666,7 +3697,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 @@ -3679,7 +3710,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) @@ -3813,7 +3844,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) @@ -3907,7 +3938,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 @@ -3948,7 +3979,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 @@ -3975,7 +4006,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 @@ -3989,7 +4020,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 @@ -4018,7 +4049,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 @@ -4040,7 +4071,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 @@ -4062,7 +4093,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 @@ -4072,10 +4103,10 @@ 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 +#+begin_src emacs-lisp :tangle no (use-package languagetool :ensure t :defer t @@ -4093,12 +4124,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 () @@ -4109,7 +4140,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 @@ -4140,7 +4171,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 @@ -4160,7 +4191,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))) diff --git a/init.el b/init.el index 974767f1..f8c66aaa 100644 --- a/init.el +++ b/init.el @@ -29,9 +29,9 @@ (defun chris/set-font-faces () "Set the faces for our fonts" (message "Setting faces!") - (set-face-attribute 'default nil :font "VictorMono Nerd Font" + (set-face-attribute 'default nil :font "VictorMono Nerd Font Propo" :height chris/default-font-size) - (set-face-attribute 'fixed-pitch nil :font "VictorMono Nerd Font" + (set-face-attribute 'fixed-pitch nil :font "VictorMono Nerd Font Propo" :height chris/default-font-size) (set-face-attribute 'variable-pitch nil :font "Noto Sans" :height (+ chris/default-font-size (/ chris/default-font-size 12)) @@ -2623,7 +2623,7 @@ targets." (propertize path 'face `(:inherit org-level-1)))) (when chris/eshell-status-p (propertize (or (chris/eshell-status-display) "") 'face font-lock-comment-face)) - (propertize "\n" 'face '(:inherit org-todo :weight ultra-bold)) + (propertize "\n󰄾" 'face '(:inherit org-todo :weight ultra-bold)) " ")))) ;;; If the prompt spans over multiple lines, the regexp should match @@ -3087,22 +3087,6 @@ interfere with the default `bongo-playlist-buffer'." "v" 'chris/elfeed-bongo-insert-item "N" 'mastodon-notifications--timeline)) -(use-package languagetool - :ensure t - :defer t - :commands (languagetool-check - languagetool-clear-suggestions - languagetool-correct-at-point - languagetool-correct-buffer - languagetool-set-language - languagetool-server-mode - languagetool-server-start - languagetool-server-stop) - :config - (setq languagetool-java-arguments '("-Dfile.encoding=UTF-8") - languagetool-console-command "/home/chris/.emacs.d/languagetool/languagetool-commandline.jar" - languagetool-server-command "/home/chris/.emacs.d/languagetool/languagetool-server.jar")) - (use-package qrencode) ;; Reduce rendering/line scan work for Emacs by not rendering cursors or regions diff --git a/recentf b/recentf index 6311c62e..9808dfcf 100644 --- a/recentf +++ b/recentf @@ -1,4 +1,4 @@ -;;; Automatically generated by ‘recentf’ on Mon Apr 24 15:00:07 2023. +;;; Automatically generated by ‘recentf’ on Fri May 19 05:38:43 2023. (setq recentf-list 'nil)