From 83433a56af75ec9ae7e0b3e3c54536ba6caed410 Mon Sep 17 00:00:00 2001 From: SqrtMinusOne Date: Thu, 4 Jan 2024 22:13:20 +0300 Subject: [PATCH] emacs-packages: resurrect emacs-packages.org --- content/emacs-packages.md | 149 ++++++++++++++++++++++++++++++++++- org/pages/emacs-packages.org | 123 ++++++++++++++++++++++++++++- 2 files changed, 270 insertions(+), 2 deletions(-) diff --git a/content/emacs-packages.md b/content/emacs-packages.md index 221fd57..a4dfb4a 100644 --- a/content/emacs-packages.md +++ b/content/emacs-packages.md @@ -5,4 +5,151 @@ draft = false norss = true +++ -- [Lyrics Fetcher](/packages/lyrics-fetcher) +Following is the list of Emacs packages I authored. + +See also [the same list with timestamps](/packages/), and the corresponding [RSS feed](/packages/index.xml). This page is somewhat inspired by , thanks Prot. + + +## org-clock-agg {#org-clock-agg} + +Aggregate [org-clock](https://orgmode.org/manual/Clocking-Work-Time.html) records and display the results in a tree form. + +- Package name: `org-clock-agg` +- Homepage: +- Git repo: + + +## BIOME {#biome} + +Emacs client for [Open Meteo](https://open-meteo.com/), an open-source weather API. + +The package provides a bunch of [transients](https://github.com/magit/transient/) to query the service and displays the results with formatted tables. + +- Package name: `biome` +- Homepage: +- Git repo: +- Package at MELPA: +- Backronym: Boutiful Interface to Open Meteo for Emacs + + +## micromamba.el {#micromamba-dot-el} + +Emacs package for working with [micromamba](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html) environments. + +Essentially, it provides a subset of the functionality of [conda.el](https://github.com/necaris/conda.el), adapted for `micromamba` because interfaces of the two aren't quite compatible. + +- Package name: `micromamba` +- Homepage: +- Git repo: +- Package at MELPA: + + +## reverso.el {#reverso-dot-el} + +A client for a service called [Reverso](https://www.reverso.net/); supports translation, grammar check, context and synonyms search. + +The package uses a reverse-engineered API, but it's been surprisingly stable. + +- Package name: `reverso` +- Homepage: +- Git repo: + + +## Elfeed Sync {#elfeed-sync} + +Sync [elfeed](https://github.com/skeeto/elfeed) and [elfeed-summary](https://github.com/SqrtMinusOne/elfeed-summary) with [Tiny Tiny RSS](https://tt-rss.org/). + +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](https://github.com/fasheng/elfeed-protocol). + +- Package name: `elfeed-sync` +- Homepage: +- Git repo: + + +## avy-dired {#avy-dired} + +My experiment with reducing the number of keystrokes required for filesystem navigation to an absolute minimum, with [avy](https://github.com/abo-abo/avy) and [dired](https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html). + +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](https://github.com/Fuco1/dired-hacks/blob/master/dired-narrow.el). But it works. + +- Status: _experimental_ +- Package name: `avy-dired` +- Homepage: +- Git repo: + + +## Elfeed Summary {#elfeed-summary} + +An alternative tree-based interface for [elfeed](https://github.com/skeeto/elfeed). + +- Package name: `elfeed-summary` +- Homepage: +- Git repo: +- Package at MELPA: + + +## password-store-ivy {#password-store-ivy} + +Auto-type fields from [pass](https://www.passwordstore.org/) entries. Essentially, this is a reimplementation of [rofi-pass](https://github.com/carnager/rofi-pass) with [Ivy](https://github.com/abo-abo/swiper) which I made after migrating to [EXWM](https://github.com/ch11ng/exwm). I used to use the package with [ivy-posframe](https://github.com/tumashu/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. + +- Package name: `password-store-ivy` +- Homepage: +- Git repo: + + +## Org Journal Tags {#org-journal-tags} + +The package extends [org-journal](https://github.com/bastibe/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. + +- Package name: `org-journal-tags` +- Homepage: +- Git repo: +- Package at MELPA: + + +## EXWM Modeline {#exwm-modeline} + +Display EXWM workspaces in the modeline. Supports multiple monitors. + +- Package name: `exwm-modeline` +- Homepage: +- Git repo: +- Package at MELPA: + + +## perspective-exwm {#perspective-exwm} + +A bunch of hacks & functions that make [perspective.el](https://github.com/nex3/perspective-el) play better with [EXWM](https://github.com/ch11ng/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. + +- Homepage: +- Git repo: +- Package at MELPA: + + +## pomm {#pomm} + +Implementation of [Pomodoro](https://en.wikipedia.org/wiki/Pomodoro_Technique) and [Third Time](https://www.lesswrong.com/posts/RWu8eZqbwgB9zaerh/third-time-a-better-way-to-work) methods for Emacs. + +- Package name: `pomm` +- Homepage: +- Git repo: +- Package at MELPA: +- Backronym: Perfectly Optimized Management Methods + + +## Lyrics Fetcher {#lyrics-fetcher} + +Retrieve and display song lyrics from [genius.com](https://genius.com/) and [music.163.com](https://music.163.com/) (thanks [Eli](https://github.com/Elilif) for the latter). The package is primarily designed for use with [EMMS](https://www.gnu.org/software/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. + +- Package name: `lyrics-fetcher` +- Homepage: +- Git repo: +- Package at MELPA: diff --git a/org/pages/emacs-packages.org b/org/pages/emacs-packages.org index 1fbd1c2..980f2f6 100644 --- a/org/pages/emacs-packages.org +++ b/org/pages/emacs-packages.org @@ -3,4 +3,125 @@ #+TITLE: My Emacs packages #+HUGO_CUSTOM_FRONT_MATTER: :norss true -- [[/packages/lyrics-fetcher][Lyrics Fetcher]] +Following is the list of Emacs packages I authored. + +See also [[/packages/][the same list with timestamps]], and the corresponding [[/packages/index.xml][RSS feed]]. This page is somewhat inspired by https://protesilaos.com/emacs/, thanks Prot. + +* org-clock-agg +Aggregate [[https://orgmode.org/manual/Clocking-Work-Time.html][org-clock]] records and display the results in a tree form. + +- Package name: =org-clock-agg= +- Homepage: https://sqrtminusone.xyz/packages/org-clock-agg +- Git repo: https://github.com/SqrtMinusOne/org-clock-agg + +* BIOME +Emacs client for [[https://open-meteo.com/][Open Meteo]], an open-source weather API. + +The package provides a bunch of [[https://github.com/magit/transient/][transients]] to query the service and displays the results with formatted tables. + +- Package name: =biome= +- Homepage: https://sqrtminusone.xyz/packages/biome +- Git repo: https://github.com/SqrtMinusOne/biome +- Package at MELPA: https://melpa.org/#/biome +- Backronym: Boutiful Interface to Open Meteo for Emacs + +* micromamba.el +Emacs package for working with [[https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html][micromamba]] environments. + +Essentially, it provides a subset of the functionality of [[https://github.com/necaris/conda.el][conda.el]], adapted for =micromamba= because interfaces of the two aren't quite compatible. + +- Package name: =micromamba= +- Homepage: https://sqrtminusone.xyz/packages/micromamba +- Git repo: https://github.com/SqrtMinusOne/micromamba.el +- Package at MELPA: https://melpa.org/#/micromamba + +* reverso.el +A client for a service called [[https://www.reverso.net/][Reverso]]; supports translation, grammar check, context and synonyms search. + +The package uses a reverse-engineered API, but it's been surprisingly stable. + +- Package name: =reverso= +- Homepage: https://sqrtminusone.xyz/packages/reverso +- Git repo: https://github.com/SqrtMinusOne/reverso.el + +* Elfeed Sync +Sync [[https://github.com/skeeto/elfeed][elfeed]] and [[https://github.com/SqrtMinusOne/elfeed-summary][elfeed-summary]] with [[https://tt-rss.org/][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 [[https://github.com/fasheng/elfeed-protocol][elfeed-protocol]]. + +- Package name: =elfeed-sync= +- Homepage: https://sqrtminusone.xyz/packages/elfeed-sync +- Git repo: https://github.com/SqrtMinusOne/elfeed-sync + +* avy-dired +My experiment with reducing the number of keystrokes required for filesystem navigation to an absolute minimum, with [[https://github.com/abo-abo/avy][avy]] and [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html][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 [[https://github.com/Fuco1/dired-hacks/blob/master/dired-narrow.el][dired-narrow]]. But it works. + +- Status: /experimental/ +- Package name: =avy-dired= +- Homepage: https://sqrtminusone.xyz/packages/avy-dired +- Git repo: https://github.com/SqrtMinusOne/avy-dired + +* Elfeed Summary +An alternative tree-based interface for [[https://github.com/skeeto/elfeed][elfeed]]. + +- Package name: =elfeed-summary= +- Homepage: https://sqrtminusone.xyz/packages/elfeed-summary +- Git repo: https://github.com/SqrtMinusOne/elfeed-summary +- Package at MELPA: https://melpa.org/#/elfeed-summary + +* password-store-ivy +Auto-type fields from [[https://www.passwordstore.org/][pass]] entries. Essentially, this is a reimplementation of [[https://github.com/carnager/rofi-pass][rofi-pass]] with [[https://github.com/abo-abo/swiper][Ivy]] which I made after migrating to [[https://github.com/ch11ng/exwm][EXWM]]. I used to use the package with [[https://github.com/tumashu/ivy-posframe][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. + +- Package name: =password-store-ivy= +- Homepage: https://sqrtminusone.xyz/packages/password-store-ivy +- Git repo: https://github.com/SqrtMinusOne/password-store-ivy + +* Org Journal Tags +The package extends [[https://github.com/bastibe/org-journal][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. + +- Package name: =org-journal-tags= +- Homepage: https://sqrtminusone.xyz/packages/org-journal-tags +- Git repo: https://github.com/SqrtMinusOne/org-journal-tags +- Package at MELPA: https://melpa.org/#/org-journal-tags + +* EXWM Modeline +Display EXWM workspaces in the modeline. Supports multiple monitors. + +- Package name: =exwm-modeline= +- Homepage: https://sqrtminusone.xyz/packages/exwm-modeline +- Git repo: https://github.com/SqrtMinusOne/exwm-modeline +- Package at MELPA: https://melpa.org/#/exwm-modeline + +* perspective-exwm +A bunch of hacks & functions that make [[https://github.com/nex3/perspective-el][perspective.el]] play better with [[https://github.com/ch11ng/exwm][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. + +- Homepage: https://sqrtminusone.xyz/packages/perspective-exwm +- Git repo: https://github.com/SqrtMinusOne/perspective-exwm.el +- Package at MELPA: https://melpa.org/#/perspective-exwm + +* pomm +Implementation of [[https://en.wikipedia.org/wiki/Pomodoro_Technique][Pomodoro]] and [[https://www.lesswrong.com/posts/RWu8eZqbwgB9zaerh/third-time-a-better-way-to-work][Third Time]] methods for Emacs. + +- Package name: =pomm= +- Homepage: https://sqrtminusone.xyz/packages/pomm +- Git repo: https://github.com/SqrtMinusOne/pomm.el +- Package at MELPA: https://melpa.org/#/pomm +- Backronym: Perfectly Optimized Management Methods + +* Lyrics Fetcher +Retrieve and display song lyrics from [[https://genius.com/][genius.com]] and [[https://music.163.com/][music.163.com]] (thanks [[https://github.com/Elilif][Eli]] for the latter). The package is primarily designed for use with [[https://www.gnu.org/software/emms/][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. + +- Package name: =lyrics-fetcher= +- Homepage: https://sqrtminusone.xyz/packages/lyrics-fetcher +- Git repo: https://github.com/SqrtMinusOne/lyrics-fetcher.el +- Package at MELPA: https://melpa.org/#/lyrics-fetcher