{ config, pkgs, ... }: let unpaper = pkgs.callPackage ../../../pkgs/unpaper { }; scan2pdf = pkgs.writeShellApplication { name = "scan2pdf"; runtimeInputs = with pkgs; [ imagemagick nsxiv (tesseract.override { enableLanguages = [ "ita" "eng" ]; }) ] ++ [ unpaper unpaper.man ]; text = builtins.readFile ./config/office/scan2pdf.bash; }; xdg-dirs = config.xdg.userDirs; in { home.packages = with pkgs; [ # Image viewer nsxiv # PDF management zathura # PDF reader inkscape poppler_utils scan2pdf # PDF editing, SVG images # eBook management calibre # Office suite libreoffice # Spell checking hunspell hunspellDicts.it_IT hunspellDicts.en_GB-large hunspellDicts.en_US-large ]; xdg.userDirs.extraConfig.XDG_BOOKS_DIR = "${xdg-dirs.documents}/library"; home.sessionVariables.LIBRARY = xdg-dirs.extraConfig.XDG_BOOKS_DIR; services.backup.paths = [ xdg-dirs.extraConfig.XDG_BOOKS_DIR ]; xdg.mimeApps = let nsxiv = "calc.desktop"; zathura = "org.pwmt.zathura.desktop"; inkscape = "org.inkscape.Inkscape"; lowriter = "writer.desktop"; loimpress = "impress.desktop"; localc = "calc.desktop"; in { associations.added = { "application/pdf" = [ zathura ]; "application/postscript" = [ zathura ]; "image/vnd.djvu" = [ zathura ]; "application/vnd.comicbook+zip" = [ zathura ]; "application/vnd.comicbook-rar" = [ zathura ]; }; defaultApplications = { "image/bmp" = [ nsxiv ]; "image/gif" = [ nsxiv ]; "image/jpeg" = [ nsxiv ]; "image/jpg" = [ nsxiv ]; "image/png" = [ nsxiv ]; "image/tiff" = [ nsxiv ]; "image/webp" = [ nsxiv ]; "image/heic" = [ nsxiv ]; "image/heif" = [ nsxiv ]; "image/svg+xml" = [ nsxiv inkscape ]; "image/svg+xml-compressed" = [ nsxiv inkscape ]; "application/pdf" = [ zathura inkscape ]; "application/postscript" = [ zathura nsxiv inkscape ]; "image/vnd.djvu" = [ zathura ]; "application/vnd.comicbook+zip" = [ zathura ]; "application/vnd.comicbook-rar" = [ zathura ]; "application/vnd.oasis.opendocument.text" = [ lowriter ]; "application/vnd.oasis.opendocument.text-template" = [ lowriter ]; "application/vnd.oasis.opendocument.text-web" = [ lowriter ]; "application/vnd.oasis.opendocument.text-master" = [ lowriter ]; "application/vnd.oasis.opendocument.text-master-template" = [ lowriter ]; "application/vnd.oasis.opendocument.text-flat-xml" = [ lowriter ]; "application/msword" = [ lowriter ]; "application/vnd.ms-word" = [ lowriter ]; "application/rtf" = [ lowriter ]; "text/rtf" = [ lowriter ]; "application/vnd.openxmlformats-officedocument.wordprocessingml.document" = [ lowriter ]; "application/vnd.openxmlformats-officedocument.wordprocessingml.template" = [ lowriter ]; "application/x-abiword" = [ lowriter ]; "application/vnd.openxmlformats-officedocument.presentationml.presentation" = [ loimpress ]; "application/vnd.ms-excel" = [ localc ]; "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = [ localc ]; }; # Other MIME type associations defined by nsxiv # image/x-bmp # image/x-portable-anymap # image/x-portable-bitmap # image/x-portable-graymap # image/x-tga # image/x-xpixmap # image/jp2 # image/jxl # image/avif # Other MIME types associations defined by LibreOffice # application/vnd.sun.xml.writer # application/vnd.sun.xml.writer.template # application/vnd.sun.xml.writer.global # application/x-doc # application/x-hwp # application/vnd.wordperfect # application/wordperfect # application/vnd.lotus-wordpro # application/vnd.ms-word.document.macroEnabled.12 # application/vnd.ms-word.template.macroEnabled.12 # application/vnd.ms-works # application/vnd.stardivision.writer-global # application/x-extension-txt # application/x-t602 # application/x-mswrite }; xdg.configFile."mailcap/mailcap".text = '' image/*; ${pkgs.nsxiv}/bin/nsxiv -qp %s >/dev/null 2>&1 &; application/pdf; ${pkgs.zathura}/bin/zathura %s >/dev/null 2>&1 &; application/octet-stream; ${pkgs.zathura}/bin/zathura %s >/dev/null 2>&1 &; application/postscript; ${pkgs.zathura}/bin/zathura %s >/dev/null 2>&1 &; application/msword; ${pkgs.libreoffice}/bin/libreoffice %s >/dev/null 2>&1 &; application/vnd.openxmlformats-officedocument.wordprocessingml.document; ${pkgs.libreoffice}/bin/libreoffice %s >/dev/null 2>&1 &; application/vnd.openxmlformats-officedocument.presentationml.presentation; MUTT=$TMPDIR/mutt \; mkdir -p $MUTT \; cp %s $MUTT \; soffice --impress $MUTT/$(basename %s) 2>/dev/null & application/vnd.ms-excel; ${pkgs.libreoffice}/bin/libreoffice %s >/dev/null 2>&1 &; application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; ${pkgs.libreoffice}/bin/libreoffice %s >/dev/null 2>&1 &; ''; }