Project page: https://github.com/brianch/offline-chess-puzzles
Installation steps tested (mentioned since it wasn't obvious from link):
One way is to download and unzip a release for Linux or Windows here (~13MB zipped?): https://github.com/brianch/offline-chess-puzzles/releases/tag/v2.1.0
Then to download the Lichess puzzles database from here (~140MB zipped, ~600MB unzipped): https://database.lichess.org/#puzzles
Unzip .csv database file and put in puzzles folder / directory
Run one of the "offline-chess-puzzles" files.
Or, if you don't want to do the above you can compile from source, you'll need the Rust programming language and maybe a few more things (see readme?).
I've been wanting to see something like this for a while so it's a step in the right direction for me.
https://www.puzzle-tents.com/