I was compiling zathura and the mupdf backend the other day. I've been reading
more ebooks and I thought it would be nice to tweak the css. The mupdf backend,
despite the name, supports ebooks and even applying custom css files. Zathura
doesn't have a way to load these files and pass them to mupdf. I don't think
this is a widely known or used feature and the default css looks pretty good so
I understand why it isn't implemented. I dove into the codebase to see if I
could figure it out... I haven't, but along the way I installed a dozen or so
dependencies to build these programs. This happens to me all the time. I
probably have hundreds of *-dev
packages installed that'll stay there until
this harddrive dies. I'm fortunate to have a large harddrive so this isn't a
huge issue, but whenever I run updates my system finds and updates packages I'm
not even using. Package downloads Europe to Aotearoa are slow and I'm putting
extra strain on void's servers for no reason.
I told my friend Henry about this and we came up with a neat idea. Create a
shell script, which wraps your package manager, and allows adding a "reason" for
installing certain packages. This way you could run xi alib-dev blib-dev -m "compiling zathura"
and it would store those packages and a description in a
file. Later, when you're all done working on that project you can remove the
libraries and tools you needed for it. While I was eating lunch Henry threw
together a script to do just this. It's specific to Void Linux, but it should be
easy to change to your favorite distro.