Useful Utilities
Here’s a small collection of various utilities and recipes I find useful. It’s not organized in a particular way, but more as a long-term memory for me.
JPEG Optimization
jpegoptim is a handy little utility for doing JPEG optimization. I use it to compress files and strip EXIF data. Here’s an example that will process all the files in the current directory and compress them to a reasonable 85.
nix run 'nixpkgs#jpegoptim' -- --max=85 --strip-all *.jpg
The major issue with jpegoptim is that it doesn’t do resizing. Image Magick is the Swiss army knife of image manipulation and can do it all, but it’s a much larger piece of software. This can quickly reduce a full-size camera image (~5MB) to something suitable for web uploads, thumbnails or avatars (50kB).
nix run 'nixpkgs#imagemagick' -- input.jpg -resize 1200x800 -strip -quality 85 output.jpg
There are lots of options that can be passed to the image geometry. The default for pixel sizes is to treat it as a maximum and preserve the aspect ratio. If only a width is given then height is automatically determined from the aspect ratio.