nixos/modules/desktop/book.nix
2025-12-20 13:37:40 -05:00

40 lines
1 KiB
Nix

{ pkgs, ... }:
{
environment.systemPackages = [
(pkgs.writeShellApplication {
name = "book";
runtimeInputs = with pkgs; [
libgourou
calibre
];
text = ''
input="$1"
if [ -f "$input" ] && echo "$input" | grep -qi "\.epub$"; then
fullpath="$input"
else
if [ ! -d "$HOME/.config/adept" ]; then
adept_activate --anonymous
fi
fullpath=$(acsmdownloader --output-dir /tmp "$input" \
| tee /dev/tty \
| grep "^Created " \
| sed "s/^Created //")
adept_remove "$fullpath"
fi
name=$(basename "$fullpath" | rev | cut -d. -f2- | rev)
ext=$(echo "$fullpath" | rev | cut -d. -f1 | rev)
if [ "$ext" = "epub" ]; then
ebook-convert "$fullpath" "/run/media/quadradical/Kindle/documents/$name.mobi"
rm $fullpath"
else
mv "$fullpath" "/run/media/quadradical/Kindle/documents/$name.pdf"
fi
'';
})
];
}