Plain text email delivered via mu, mu4e and mbsync. I run my own email server, so your configuration may differ from mine. This is the ~mbsyncrc~ file I use to synchronize my local mail with my server. This is required for mu4e in Emacs.
Plain text email delivered via mu, mu4e and mbsync. I run my own email server, so your configuration may differ from mine. This is the ~mbsyncrc~ file I use to synchronize my local mail with my server.
#+begin_src conf :tangle config/mbsyncrc
IMAPStore xyz-remote
@ -628,7 +628,7 @@ mbsync -a
mu index --maildir="~/.cache/mail"
#+end_src
Once the mail is being synchronized, and the mail has been indexed with =mu=, it's time to install the required packages for Emacs.
Once the mail's synchronized, and has indexed with =mu=, it's time to install the required packages for Emacs.
+ Update every 5 minutes
+ Scale text for all devices
@ -694,7 +694,7 @@ Write out the ~$BROWSER~ environment variable.
*** Startup
When launching into a session, if the display server is not running then =startx=should be invoked, to run the window manager.
When launching into a session, if the display server is not running then =startx=executes to run the window manager.
#+begin_src sh :tangle config/profile
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
@ -713,7 +713,7 @@ Define a method to run an external process, allowing us to launch any applicatio
Some methods must be called and applied to the current call process in order to function correctly with Emacs hooks.
Apply methods to the current call process to avoid issues with hooks.
#+begin_src emacs-lisp
(defun dotfiles/run-in-background (command)
@ -735,7 +735,7 @@ Place keybindings for executing shell commands behind =SPC x=.
*** Displays
When the window manager first launches the ~init-hook~will be called, this allows us to define some custom logic when it's initialized.
When the window manager first launches the ~init-hook~executes, allowing us to define some custom logic.
+ Display time and date
+ Display battery info (if available)
@ -759,7 +759,7 @@ Using =autorandr= with pre configured profiles, switching screens (AKA hot plugg
*** Configuration
Connect our custom hooks and configure the input keys, a custom layer for defining which keys are captured by Emacs, and which are passed through to =X= applications.
Connect our custom hooks and configure the input keys, a custom layer for key capture layers.
+ Enable =randr= support
+ Pass through to Emacs
@ -773,7 +773,6 @@ Using =autorandr= with pre configured profiles, switching screens (AKA hot plugg
#+begin_src emacs-lisp
(use-package exwm
:demand t
:custom (exwm-workspace-show-all-buffers t)
(exwm-input-prefix-keys
'(?\M-x
@ -816,74 +815,14 @@ I am using [[https://orgmode.org][org-mode]] extensively for writing projects fo
#+ATTR_LATEX: :width 420px
[[./docs/images/2021-02-13-example-roam.png]]
Download and install [[https://orgroam.com][org-roam]], a plain text knowledge management system for Emacs. Organize the capture templates, this allows me to quickly dictate where each new item should be placed.
+ ~posts/~ contains blog posts
+ ~notes/~ contains cited notes on others' work
+ ~slides/~ contains presentations / screencasts
Download and install [[https://orgroam.com][org-roam]], a plain text knowledge management system for Emacs.
@ -926,23 +865,94 @@ Visualize the org-roam database with the server, available when the editor is ru
*** Hugo
I use [[https://gohugo.io][Hugo]] for my personal [[https://chrishayward.xyz][website]], which I write in =Org-mode= before compiling to =hugo-markdown=. [[https://github.com/kaushalmodi/ox-hugo][Ox-hugo]], configured for =one-post-per-file= is my technique for managing my blog.
I use [[https://gohugo.io][Hugo]] for my personal [[https://chrishayward.xyz][website]], which I write in =org-mode= before compiling to =hugo-markdown=. [[https://github.com/kaushalmodi/ox-hugo][ox-hugo]], configured for =one-post-per-file= is my technique for managing my content.
#+begin_src emacs-lisp
(use-package ox-hugo
:after ox)
#+end_src
*** Posts
Add a capture template for creatinhg new blog posts.
Produce high quality presentations that work anywhere with =HTML/JS= and the [[https://revealjs.com][Reveal.js]] package. [[https://github.com/hexmode/ox-reveal][Ox-reveal]], configured to use a =cdn= allows us to produce ones that are not dependent on a local version of =Reveal.js=.
Produce high quality presentations that work anywhere with =HTML/JS= and the [[https://revealjs.com][reveal.js]] package. [[https://github.com/hexmode/ox-reveal][ox-reveal]], configured to use a =cdn= allows us to produce ones that are not dependent on a local version of =reveal.js=.