#!/bin/sh set -eu repo_url="https://github.com/yo-chanan/gmail-imapfilter.git" imapfilter_dir="${HOME}/.imapfilter" systemd_user_dir="${HOME}/.config/systemd/user" state_dir="${HOME}/.local/state" echo "Please enable 2FA and generate an alphabet code." if command -v xdg-open >/dev/null 2>&1; then # Enable 2FA and generate an app password. xdg-open https://myaccount.google.com/security >/dev/null 2>&1 || true xdg-open https://myaccount.google.com/apppasswords >/dev/null 2>&1 || true fi sudo apt install git imapfilter libnotify-bin pulseaudio-utils mkdir -p "$imapfilter_dir" "$systemd_user_dir" "$state_dir" printf "Email: " read -r email printf "%s\n" "$email" > "$imapfilter_dir/gmail-app-email" chmod 600 "$imapfilter_dir/gmail-app-email" printf "Alphabet Code (from Google): " read -r alphabetcode printf "%s\n" "$alphabetcode" | tr -d ' ' > "$imapfilter_dir/gmail-app-password" chmod 600 "$imapfilter_dir/gmail-app-password" if [ -f "config.lua" ] && [ -f "imapfilter.service" ]; then source_dir="." tmp_dir="" else tmp_dir="$(mktemp -d)" git clone "$repo_url" "$tmp_dir" source_dir="$tmp_dir" fi cp "$source_dir/config.lua" "$imapfilter_dir/config.lua" cp "$source_dir/imapfilter.service" "$systemd_user_dir/imapfilter.service" if [ -n "$tmp_dir" ]; then rm -rf "$tmp_dir" fi systemctl --user daemon-reload systemctl --user enable --now imapfilter.service echo "Installation finished successfully. As long as the service logs look correct, use Ctrl+C to quit:" journalctl --user -u imapfilter.service -f