(Video) Contributing to Git Projects with Magit: PRs, Patches & Agit workflow

Contributing to Git Projects with Magit: PRs, Patches & Agit workflow Quick video guide on contributing to git projects using Magit. Showing an overview of the 3 most commonly used workflows Pull Requests Agit Workflow Git patches ...

2026/02/06

Cgit with GNU Guix

Recently I switched my home server to GNU Guix, this is a quick guide on how I setup cgit. Hope this helps some of you. ...

2026/02/01

(Video) Emacs Notmuch with Multiple Addresses & Auto Encryption

This guide provides a quick setup for configuring Notmuch with GNU Emacs to handle multiple email addresses and enable automatic encryption. Notmuch has been incredibly useful for me over the past year, and I hope this guide helps new users overcome initial challenges. ...

2025/12/18

Daily Driving a Raspberry Pi 5

After switching from Apple devices to GNU/Linux, I’ve enjoyed numerous advantages. However, there’s always been one thing that used to make me look back: battery life, or the lack thereof. Not anymore :) ...

2025/10/31

Emacs Everywhere, even in Wayland

If you are anything like me, you probably feel something is wrong whenever you have to input text outside of Emacs. Fear not, there’s a solution. Here’s a simple code snippet to launch an emacs temp frame for input instead. (defun thanos/wtype-text (text) "Process TEXT for wtype, handling newlines properly." (let* ((has-final-newline (string-match-p "\n$" text)) (lines (split-string text "\n")) (last-idx (1- (length lines)))) (string-join (cl-loop for line in lines for i from 0 collect (cond ;; Last line without final newline ((and (= i last-idx) (not has-final-newline)) (format "wtype -s 350 \"%s\"" (replace-regexp-in-string "\"" "\\\\\"" line))) ;; Any other line (t (format "wtype -s 350 \"%s\" && wtype -k Return" (replace-regexp-in-string "\"" "\\\\\"" line))))) " && "))) (defun thanos/type () "Launch a temporary frame with a clean buffer for typing." (interactive) (let ((frame (make-frame '((name . "emacs-float") (fullscreen . 0) (undecorated . t) (width . 70) (height . 20)))) (buf (get-buffer-create "emacs-float"))) (select-frame frame) (switch-to-buffer buf) (erase-buffer) (org-mode) (setq-local header-line-format (format " %s to insert text or %s to cancel." (propertize "C-c C-c" 'face 'help-key-binding) (propertize "C-c C-k" 'face 'help-key-binding))) (local-set-key (kbd "C-c C-k") (lambda () (interactive) (kill-new (buffer-string)) (delete-frame))) (local-set-key (kbd "C-c C-c") (lambda () (interactive) (start-process-shell-command "wtype" nil (thanos/wtype-text (buffer-string))) (delete-frame))))) Make sure wtype is installed in your system for the above snippet to work. ...

2025/07/19

Major update for Gnosis: 0.5.0 release

Gnosis just got a major update with this new release. With the long promised support of org-mode being added along with support for linking notes to org-gnosis nodes. Org Mode Support After hacking on org-gnosis and gaining a better understanding of how org-mode works, I decided to use org-mode for creating and exporting gnosis notes. Notes, no matter their note type, will now be as follows: Cloze type example. * Thema :pharmacology:antimicrobials:penicillin: :PROPERTIES: :GNOSIS_ID: NEW :GNOSIS_TYPE: cloze :END: ** Keimenon What is the treatment for Actinomyces infection? Penicillin ** Hypothesis - drug type ** Answer - Penicillin ** Parathema Sulfonamides → Nocardia Actinomyces → [[id:680ca944-8ee9-4513-92d6-25696ee01f48][Penicillin]] (treatment is a SNAP) Note that anki-like syntax is still supported for clozes. ...

2025/06/17

Emacs Note Taking & Journaling using org-gnosis [Video]

Emacs Note Taking & Journaling with org-gnosis ...

2025/03/03

Emacs As Your Terminal Emulator [Video]

Emacs As Your Terminal Emulator ...

2025/01/25

Progress update on org-gnosis & a graphical interface addition.

I’ve been working on a “roam-like” note taking system, to replace & update my current org-roam workflow. This post is a minor update on the current state of it’s development. ...

2024/12/18

Emacs 30 Built-in Completion UI & Styles [Video]

Emacs 30 Built-in Completion UI & Styles Video notes: When referring to “Emacs Completions”, I refer to Completion Styles & UI I’ve often relied on third-party packages to emulate features from other text editors. For instance, I’ve long used vertico, corfu and orderless. While I still recommend these packages, I became curious about using Emacs without depending on third-party options. My current setup tries to emulate my workflow with the packages mentioned above. The catalyst that pushed me to try the built-in completion is the addition of completion-preview-mode in Emacs 30. Mini-buffer completions Emacs does not enable “vertical” completions for the mini-buffer by default, but you can enable fido-vertical-mode which comes built-in with Emacs. fido-mode is an enhanced icomplete-mode that emulates ido-mode, also referred to as fake ido-mode. Completion Styles Changing completion-styles example: (setf completion-styles '(basic flex)) There is a plethora of completion styles, builtin styles include flex, which provides “fuzzy” completions. Completion UI & Code completions Emacs built-in completions have a distinctive approach. Instead of displaying a popup at point, a new Completions buffer appears when invoking completion-at-point. Example configuration: ...

2024/12/12