wowana.me

website source; use git clone git://wowana.me/wowana.me.git to clone this repository.


software.md (11477B)


      1 # software I use
      2 
      3 this is not an extensive list of the software I prefer, but it includes
      4 projects that I think deserve a special note, and ones to which I
      5 anticipate contributing upstream (if I had not done so already).
      6 
      7 additionally, I can keep track of support and development communication
      8 channels for the software listed.
      9 
     10 ## desktop environment
     11 
     12 <dl>
     13 
     14 <dt><a href="https://mpv.io/">mpv</a></dt>
     15 <dd><ul>
     16 	<li>upstream: <a href="https://github.com/mpv-player/mpv">git</a></li>
     17 </ul></dd>
     18 
     19 <dt>picom</dt>
     20 <dd><ul>
     21 	<li>upstream: <a href="https://github.com/yshui/picom">git</a></li>
     22 </ul>
     23 </dd>
     24 
     25 <dt><a href="https://st.suckless.org/">st</a></dt>
     26 <dd><ul>
     27 	<li>upstream: <a href="git://git.suckless.org/st">git</a></li>
     28 	<li>discussion ML: <a href="mailto:dev@suckless.org">dev@suckless.org</a> [<a href="https://suckless.org/community/">info</a>]</li>
     29 	<li>patch ML: <a href="mailto:hackers@suckless.org">hackers@suckless.org</a> [<a href="https://suckless.org/community/">info</a>]</li>
     30 </ul></dd>
     31 
     32 <dt>sxiv</dt>
     33 <dd><ul>
     34 	<li>upstream: <a href="https://github.com/muennich/sxiv">git</a></li>
     35 	<li>my fork: <a href="git://wowana.me/forks/sxiv.git">git</a></li>
     36 </ul></dd>
     37 
     38 </dl>
     39 
     40 ## utilities
     41 
     42 <dl>
     43 
     44 <dt><a href="https://www.brain-dump.org/projects/abduco/">abduco</a></dt>
     45 <dd><ul>
     46 	<li>upstream: <a href="https://git.sr.ht/~martanne/abduco">git</a></li>
     47 </ul></dd>
     48 
     49 <dt><a href="https://skarnet.org/software/execline/">execline</a></dt>
     50 <dd><ul>
     51 	<li>upstream: <a href="git://git.skarnet.org/execline">git</a></li>
     52 	<li>ML: <a href="mailto:skaware@list.skarnet.org">skaware@list.skarnet.org</a> [<a href="https://skarnet.org/lists.html#skaware">info</a>]</li>
     53 </ul>
     54 <p>I use <code>execlineb</code> for service run scripts, cron jobs, and other trivial miscellaneous scripts.</p>
     55 </dd>
     56 
     57 <dt>mkp224o</dt>
     58 <dd><ul>
     59 	<li>upstream: <a href="https://github.com/cathugger/mkp224o">git</a></li>
     60 </ul></dd>
     61 
     62 <dt><a href="http://www.mirbsd.org/mksh.htm">mksh</a></dt>
     63 <dd><ul>
     64 	<li>ML: <a href="mailto:miros-mksh@mirbsd.org">miros-mksh@mirbsd.org</a> [<a href="http://www.mirbsd.org/rss.htm#lists">info</a>]</li>
     65 </ul>
     66 <p>I use mksh everywhere I don't want to configure zsh: on servers, alternate user accounts, <i lang="la">et cetera</i>.</p>
     67 </dd>
     68 
     69 <dt><a href="https://neovim.io/">Neovim</a></dt>
     70 <dd><p>it <q>just works</q> with <code>st</code> now, and I have no complaints compared to Vim.</p></dd>
     71 
     72 <dt><a href="https://www.passwordstore.org/">pass</a></dt>
     73 <dd><ul>
     74 	<li>ML: <a href="mailto:password-store@lists.zx2c4.com">password-store@lists.zx2c4.com</a> [<a href="https://lists.zx2c4.com/mailman/listinfo/password-store">info</a>]</li>
     75 </ul>
     76 <p>I was happy with KeePassXC but wanted something simpler, more modular, and easier on resource usage when I was not using it. I have had KPXC running in background idling a bit under 100mb memory usage. while not as big as some graphical (or even commandline) applications, it's still memory put to better use for other things. and besides, pass has just about everything KPXC has, thanks to third-party efforts.</p>
     77 <p>I do want to cut the bash dependency out of <code>pass</code>, either switching to POSIX shell, or using a compiled language, or a combination of the two.</p>
     78 </dd>
     79 
     80 <dt><a href="https://rsync.samba.org/">rsync</a></dt>
     81 <dd><ul>
     82 	<li>ML: <a href="mailto:rsync@lists.samba.org">rsync@lists.samba.org</a> [<a href="https://lists.samba.org/mailman/listinfo/rsync">info</a>]</li>
     83 </ul></dd>
     84 
     85 <dt>scdoc</dt>
     86 <dd><ul>
     87 	<li>upstream: <a href="https://git.sr.ht/~sircmpwn/scdoc">git</a></li>
     88 	<li>ML: <a href="mailto:~sircmpwn/public-inbox@lists.sr.ht">~sircmpwn/public-inbox@lists.sr.ht</a> [<a href="https://lists.sr.ht/~sircmpwn/public-inbox">info</a>]</li>
     89 </ul></dd>
     90 
     91 <dt><a href="https://www.zsh.org/">zsh</a></dt>
     92 <dd><ul>
     93 	<li>ML: <a href="mailto:zsh-users@zsh.org">zsh-users@zsh.org</a> [<a href="https://www.zsh.org/mla/">info</a>]</li>
     94 </ul>
     95 <p>my primary at-home interactive shell</p>
     96 </dd>
     97 
     98 </dl>
     99 
    100 ## mail
    101 
    102 I have finally made progress migrating away from [claws-mail][] to a CLI
    103 setup. the rest of my effort involves converting over 500 thousand
    104 messages from mailing lists to maildir format and consider setting up
    105 [notmuch][] again for searching and indexing mail. I'm also using
    106 [mbsync][] but I want a daemon that supports IMAP IDLE and a persistent
    107 connection, rather than having to sync under a cron job. this would also
    108 allow for me to script instant new mail notifications if I wish.
    109 
    110 as for the MTA/MDA, I still use Postfix and Dovecot for the time being.
    111 
    112 <dl>
    113 
    114 <dt>mblaze</dt>
    115 <dd><ul>
    116     <li>upstream: <a href="https://github.com/leahneukirchen/mblaze">git</a></li>
    117     <li>ML: <a href="mailto:mblaze@googlegroups.com">mblaze@googlegroups.com</a> [<a href="https://inbox.vuxu.org/mblaze/">archives</a>]</li>
    118 </ul></dd>
    119 
    120 <dt><a href="https://marlam.de/msmtp/">msmtp</a></dt>
    121 <dd><ul>
    122     <li>upstream: <a href="https://git.marlam.de/gitweb/?p=msmtp.git">git</a></li>
    123 </ul></dd>
    124 
    125 </dl>
    126 
    127 [claws-mail]: <https://www.claws-mail.org/>
    128 [notmuch]: <https://notmuchmail.org/>
    129 [mbsync]: <https://isync.sourceforge.io/>
    130 
    131 ## daemons &amp; system components
    132 
    133 <dl>
    134 
    135 <dt>btpd</dt>
    136 <dd><ul>
    137 	<li>upstream: <a href="https://github.com/btpd/btpd">git</a></li>
    138 </ul>
    139 <p>I use this alongside deluge where I need DHT and HTTPS tracker
    140 support.</p>
    141 </dd>
    142 <dt><a href="https://jjacky.com/pam_rundir">pam_rundir</a></dt>
    143 <dd><ul>
    144 	<li>upstream: <a href="https://github.com/jjk-jacky/pam_rundir">git</a></li>
    145 </ul>
    146 <p>implements XDG_RUNTIME_DIR support with pam module, eliminating the need for a session manager such as (e)logind</p>
    147 </dd>
    148 
    149 <dt><a href="https://prosody.im/">Prosody</a></dt>
    150 <dd><ul>
    151 	<li>upstream: <a href="https://hg.prosody.im/trunk/">hg</a></li>
    152 	<li>user ML: <a href="mailto:prosody-users@googlegroups.com">prosody-users@googlegroups.com</a> [<a href="https://prosody.im/discuss#support">info</a>, <a href="https://groups.google.com/group/prosody-users">archives</a>]</li>
    153 	<li>dev ML: <a href="mailto:prosody-dev@googlegroups.com">prosody-dev@googlegroups.com</a> [<a href="https://prosody.im/discuss#development">info</a>, <a href="https://groups.google.com/group/prosody-dev">archives</a>]</li>
    154 	<li>XMPP: <a href="xmpp:prosody@conference.prosody.im?join">prosody@conference.prosody.im</a></li>
    155 </ul></dd>
    156 
    157 <dt><a href="https://skarnet.org/software/s6/">s6</a></dt>
    158 <dd><ul>
    159 	<li>upstream: <a href="git://git.skarnet.org/s6">git</a></li>
    160 	<li>ML: <a href="mailto:supervision@list.skarnet.org">supervision@list.skarnet.org</a> [<a href="https://skarnet.org/lists.html#supervision">info</a>]</li>
    161 </ul></dd>
    162 
    163 <dt><a href="https://www.torproject.org/">tor</a></dt>
    164 <dd><ul>
    165 	<li>upstream: <a href="https://git.torproject.org/tor.git">git</a></li>
    166 	<li>user ML: <a href="mailto:tor-talk@lists.torproject.org">tor-talk@lists.torproject.org</a> [<a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-talk">info</a>]</li>
    167 	<li>dev ML: <a href="mailto:tor-dev@lists.torproject.org">tor-dev@lists.torproject.org</a> [<a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev">info</a>]</li>
    168 </ul></dd>
    169 
    170 </dl>
    171 
    172 ## fun
    173 
    174 <dl>
    175 
    176 <dt><a href="https://dolphin-emu.org/">Dolphin Emulator</a></dt>
    177 <dd><ul>
    178 	<li>upstream: <a href="https://github.com/dolphin-emu/dolphin">git</a></li>
    179 </ul></dd>
    180 
    181 <dt><a href="https://mednafen.github.io/">Mednafen</a></dt>
    182 
    183 </dl>
    184 
    185 ## Android
    186 
    187 <dl>
    188 
    189 <dt>andOTP</dt>
    190 <dd><ul>
    191 	<li>upstream: <a href="https://github.com/andOTP/andOTP">git</a></li>
    192 	<li><a href="https://matrix.to/#/#andOTP:privacytools.io">Matrix #andOTP:privacytools.io</a></li>
    193 </ul>
    194 <p>I use this for TOTP keys I do not store on my YubiKey.</p>
    195 </dd>
    196 
    197 <dt><a href="https://conversations.im/">Conversations</a></dt>
    198 <dd><ul>
    199 	<li>XMPP: <a href="xmpp:conversations@conference.siacs.eu?join">conversations@conference.siacs.eu</a></li>
    200 </ul></dd>
    201 
    202 <dt><a href="https://kisslauncher.com/">KISS Launcher</a></dt>
    203 
    204 <dt><a href="https://www.openkeychain.org/">OpenKeychain</a></dt>
    205 
    206 <dt>Android Password Store</dt>
    207 <dd><ul>
    208 	<li>upstream: <a href="https://github.com/android-password-store/Android-Password-Store">git</a></li>
    209 </ul>
    210 <p>complements my <code>pass</code> usage on PC devices; database is synchronised over a private, self-hosted git repository.</p>
    211 </dd>
    212 
    213 </dl>
    214 
    215 ## planned
    216 
    217 I'm planning to make various software switches in my setups, but
    218 switching takes time. my goal is to try switching all these out and
    219 hopefully add the replacement tools to the lists above.
    220 
    221 * **ssh**: I plan to migrate from [openssh][] to [tinyssh][] but I need
    222   to add some (deliberately?) missing functionality to tinyssh first:
    223   namely support for multiple ssh channels (which is an RFC feature and
    224   not an openssh extension).
    225 * **httpd**: I want to drop [nginx][] in favour of solutions such as
    226   [publicfile][] especially for static-served content. CGI is another
    227   thing I want to investigate.
    228 * **ActivityPub**: I plan to write a server implementation to replace
    229   (and eventually be a near drop-in replacement for) [Pleroma][] based
    230   around UNIX/djb principles of strictly-designed programs and IPC
    231   interfaces. the goal is to be simple yet flexible enough to meet
    232   unique, individual needs.
    233 * **OpenPGP**: unfortunately, [GnuPG][] for desktop is the
    234   <i lang="la">de facto</i> OpenPGP implementation. I am keeping my eye
    235   on [sequoia][] OpenPGP library and will probably write a frontend
    236   utility for it. currently, the main caveat is that sequoia does not
    237   support smartcards—which is actually a serious usability concern for
    238   me, since I extensively use my YubiKey.
    239 * **logging**: I switched three of my systems away from [rsyslog][] to a
    240   combination of [ucspilogd][] (for local syslog) and [socklog][] (for
    241   remote syslog collection). both of these work together with s6 and
    242   s6-log to write to directories on disk as specified by line-matching
    243   rules; the architecture allows for most of the components to run as a
    244   non-root user, unlike rsyslog which essentially has to run as root.
    245   ultimately I want to remove syslog from the equation entirely, but
    246   some software seems to support *only* logging to syslog, so it will be
    247   a while before I can reach this ideal situation.
    248 * **cron**: I want to switch away from conventional cronds such as
    249   [cronie][] by writing my own daemon.
    250 * **clocksetting**: I use [OpenNTPD][] for client-server and [chrony][]
    251   on client-only devices. I would like to experiment with replacing
    252   them with the time management utilities found in [s6-networking][].
    253 * **image organisation**: I want to re-implement [hydrus][] as a suite
    254   of commandline utilities. in addition, I'd like to have a companion
    255   app for Android so I can access my media library from my phone.
    256 
    257 [transmission]: <https://transmissionbt.com/>
    258 [openssh]: <https://www.openssh.com/>
    259 [tinyssh]: <https://tinyssh.org/>
    260 [nginx]: <https://nginx.org/>
    261 [publicfile]: <https://cr.yp.to/publicfile.html>
    262 [Pleroma]: <https://pleroma.social/>
    263 [GnuPG]: <https://www.gnupg.org/>
    264 [sequoia]: <https://gitlab.com/sequoia-pgp/sequoia>
    265 [rsyslog]: <https://www.rsyslog.com/>
    266 [ucspilogd]: <https://skarnet.org/software/s6/ucspilogd.html>
    267 [socklog]: <http://smarden.org/socklog/>
    268 [cronie]: <https://github.com/cronie-crond/cronie/>
    269 [uschedule]: <https://www.ohse.de/uwe/uschedule.html>
    270 [OpenNTPD]: <https://openntpd.org/>
    271 [chrony]: <https://chrony.tuxfamily.org/>
    272 [s6-networking]: <https://skarnet.org/software/s6-networking/>
    273 [hydrus]: <https://hydrusnetwork.github.io/hydrus/>