My Emacs packages

My Emacs packages

Following is the list of Emacs packages I authored.

See also the same list with timestamps, and the corresponding RSS feed. This page is somewhat inspired by https://protesilaos.com/emacs/, thanks Prot.

eshell-atuin

Integrate eshell with atuin.

atuin stores shell history in a database, which allows for having the same history across multiple shells, sessions, and optionally across different machines. See the project page for the complete list of features.

This package provides functionality to store and browse eshell history in atuin.

org-clock-agg

Aggregate org-clock records and display the results in a tree form.

BIOME

Emacs client for Open Meteo, an open-source weather API.

The package provides a bunch of transients to query the service and displays the results with formatted tables.

micromamba.el

Emacs package for working with micromamba environments.

Essentially, it provides a subset of the functionality of conda.el, adapted for micromamba because interfaces of the two aren’t quite compatible.

reverso.el

A client for a service called Reverso; supports translation, grammar check, context and synonyms search.

The package uses a reverse-engineered API, but it’s been surprisingly stable.

Elfeed Sync

Sync elfeed and elfeed-summary with Tiny Tiny RSS.

This syncs the statuses of entries (read/unread) and, optionally, the feed tree of elfeed-summary. The latter is the key difference from elfeed-protocol.

avy-dired

My experiment with reducing the number of keystrokes required for filesystem navigation to an absolute minimum, with avy and dired.

This is a bit flaky and will probably remain so because somehow I found that way of navigation cognitively harder than evil motions with dired-narrow. But it works.

Elfeed Summary

An alternative tree-based interface for elfeed.

password-store-ivy

Auto-type fields from pass entries. Essentially, this is a reimplementation of rofi-pass with Ivy which I made after migrating to EXWM. I used to use the package with ivy-posframe, but the latter turned out to be unnecessary.

I might archive this if I switch to a different completion framework (or even ditch the WM), which is why I’m not submitting it anywhere. But the package is pretty simple.

Org Journal Tags

The package extends org-journal by introducing “tags” that reference a journal section or subset thereof. These tags can be later queried. The package also provides a UI with statistics about tags and things like records on this day a year ago.

EXWM Modeline

Display EXWM workspaces in the modeline. Supports multiple monitors.

perspective-exwm

A bunch of hacks & functions that make perspective.el play better with EXWM.

The package advices away certain weird interactions between EXWM frames and perspectives, such as a chance to break the current perspective when killing a floating frame. Both EXWM and perspective poke into the same domain of unconventional management of buffers and frames, so such issues arise.

I’m uncertain how many of these issues are reproducible outside my config or workflow, because I saw people using perspective+EXWM before I had written this package. But these were blockers for my adoption of EXWM, at the very least.

pomm

Implementation of Pomodoro and Third Time methods for Emacs.

Lyrics Fetcher

Retrieve and display song lyrics from genius.com and music.163.com (thanks Eli for the latter). The package is primarily designed for use with EMMS, for instance, to display lyrics for the current song or for one at point in the EMMS browser. However, it can be used independently.

Also, this is my first Emacs package.