fixing layout and adding back VictorMono the best

This commit is contained in:
Chris Cochrun 2023-05-19 09:55:10 -05:00
parent e904ff92fe
commit 8fde6128fb
3 changed files with 96 additions and 81 deletions

View file

@ -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)))

22
init.el
View file

@ -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

View file

@ -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)