{ writeShellApplication, curl, openssh, sshpass, rsync, sshPassword, sshPort, httpPort, }: writeShellApplication { name = "reMder-client"; runtimeInputs = [ curl openssh sshpass rsync ]; text = let ssh = "sshpass -p ${sshPassword} ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${toString sshPort}"; guest = "root@127.0.0.1"; documentDir = "/home/root/.local/share/remarkable/xochitl"; in '' in="$1" out="$2" in_basename="$(basename "$in")" ${ssh} ${guest} rm -rf ${documentDir} ${ssh} ${guest} mkdir ${documentDir} rsync --rsh="${ssh}" "$in" ${guest}:${documentDir} ${ssh} ${guest} "unzip '${documentDir}/$in_basename' -d ${documentDir}" doc_id="$(${ssh} ${guest} find ${documentDir} -name '\*.metadata' -exec basename {} .metadata '\;')" curl -f -o "$out" "http://127.0.0.1:${toString httpPort}/download/$doc_id/placeholder" ''; }