# Maintainer: Michael Nedjam <contact@chink.fr>
pkgname=alto-dictation
pkgver=0.1.0
pkgrel=1
pkgdesc="System-wide push-to-talk speech-to-text service for Linux"
arch=('any')
url="https://codeberg.org/michael-nedjam/Alto"
license=('MIT')
depends=(
    'python>=3.11'
    'ydotool'
    'portaudio'
    'libappindicator-gtk3'
    'python-mistralai>=1.0.0'
    'python-sounddevice>=0.4.6'
    'python-numpy>=1.24.0'
    'python-evdev>=1.7.0'
    'python-pystray>=0.19.5'
    'python-pillow>=10.0.0'
)
makedepends=(
    'python-setuptools'
    'python-pip'
    'python-wheel'
)
source=("$pkgname-$pkgver.tar.gz::https://codeberg.org/michael-nedjam/Alto/archive/v$pkgver.tar.gz")
sha256sums=('SKIP')

build() {
    cd "$srcdir/Alto-$pkgver"
    python -m build --wheel --no-isolation
}

package() {
    cd "$srcdir/Alto-$pkgver"

    # Install Python package
    python -m installer --destdir="$pkgdir" dist/*.whl

    # Install systemd user service template
    install -Dm644 alto.service.template "$pkgdir/usr/share/alto/alto.service.template"

    # Install config template
    install -Dm644 config.json "$pkgdir/etc/alto/config.json"

    # Install icons
    mkdir -p "$pkgdir/usr/share/alto/icons"
    install -Dm644 icons/*.png "$pkgdir/usr/share/alto/icons/"

    # Install license
    install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

    # Install documentation
    install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
}

post_install() {
    echo ""
    echo "Alto has been installed successfully!"
    echo ""
    echo "Next steps:"
    echo "  1. Add your user to the input group:"
    echo "     sudo usermod -a -G input \$USER"
    echo "     (then log out and log back in)"
    echo ""
    echo "  2. Enable and start ydotool service:"
    echo "     sudo systemctl enable --now ydotool"
    echo ""
    echo "  3. Set your MISTRAL_API_KEY environment variable:"
    echo "     export MISTRAL_API_KEY=\"your-api-key\""
    echo ""
    echo "  4. Configure your push-to-talk key:"
    echo "     alto --detect-key"
    echo "     Edit /etc/alto/config.json with your key"
    echo ""
    echo "  5. Start Alto:"
    echo "     alto"
    echo ""
}
