talkey-git

LOW
maintainer yogh-io 0 votes scanned 2026-08-26 11:30:20.136903
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: yogh-io <info@yogh.nl>
2pkgname=talkey-git
3# The scripts probe /usr/share/talkey for their data dir, so the share tree is
4# named after the project, not the package. Only pkgname carries the -git.
5_name=talkey
6# A placeholder. makepkg runs pkgver() against the clone and rewrites this line
7# in place, so whatever is committed here is only what the AUR page shows until
8# the next build.
9pkgver=0.1.0.r25.g4a6d40f
10pkgrel=1
11pkgdesc="Push-to-talk voice input for X11/i3 - hold a key, speak, the text is typed. Offline, no API key."
12arch=('any')
13url="https://github.com/yogh-io/talkey"
14license=('MIT')
15depends=(
16 'bash'
17 'whisper-cpp'
18 'ffmpeg'
19 'xdotool'
20 'xorg-xset'
21 'libpulse'
22 'curl'
23 # The HUD. Nominally talkey only writes state files and any renderer could
24 # read them, but eww is the only renderer there is - without it you dictate
25 # blind, with tones and notifications for feedback. That is not the program
26 # this is, so it is a dependency rather than a nice-to-have. eww is AUR-only,
27 # and it needs both of these to render a tick.
28 'eww'
29 'inotify-tools'
30 'jq'
31 # talkey-setup reads your keycodes off the keyboard with this. 37KB, and
32 # without it the one step that cannot be done from documentation - turning a
33 # key you press into a number - falls back to typing numbers by hand.
34 'xorg-xev'
35)
36optdepends=(
37 'whisper.cpp-model-large-v3-turbo: the default speech model (AUR) - talkey needs some model'
38 'whisper.cpp-model-small: translate-to-English support (AUR)'
39 'python: live word-by-word text in the HUD as you speak - dictation itself does not need it'
40 'libnotify: desktop notifications alongside the HUD, and the only feedback if you disable it'
41 'ollama: names archived recordings after what you said - needs a model pulled too (default qwen2.5:3b)'
42 'xclip: paste mode (TALKEY_PASTE=1) instead of typing'
43 'sxhkd: key bindings without i3'
44 'xbindkeys: key bindings without i3'
45)
46makedepends=('git')
47provides=("$_name")
48conflicts=("$_name")
49install="$pkgname.install"
50source=("$pkgname::git+$url.git")
51sha256sums=('SKIP')
52
53# Tagged: 0.1.0.r12.gabc1234. Untagged: the same shape from the commit count, so
54# an untagged repo still produces an increasing version. Testing the captured
55# string rather than the pipeline's exit status is deliberate - sed succeeds on
56# empty input, so `git describe || fallback` would leave pkgver empty until the
57# first tag exists.
58pkgver() {
59 cd "$pkgname"
60 local v
61 v="$(git describe --long --tags --abbrev=7 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g')"
62 [[ -n "$v" ]] || v="0.1.0.r$(git rev-list --count HEAD).g$(git rev-parse --short=7 HEAD)"
63 printf '%s' "$v"
64}
65
66package() {
67 cd "$pkgname"
68
69 # Executables. Sibling scripts are found via $SCRIPT_DIR, so they must all
70 # land in the same bindir.
71 install -Dm755 -t "$pkgdir/usr/bin" \
72 bin/talkey \
73 bin/talkey-setup \
74 bin/talkey-doctor \
75 bin/talkey-diag \
76 bin/talkey-mic-check \
77 bin/talkey-replay \
78 bin/talkey-live-pump \
79 bin/talkey-norepeat \
80 bin/talkey-whisper-server \
81 integrations/eww/talkey-hud
82
83 # Read-only data. The layout under this root matches a git checkout exactly,
84 # so the scripts resolve it with one probe and behave identically either way.
85 install -Dm644 -t "$pkgdir/usr/share/$_name" vocabulary.txt
86 install -Dm644 -t "$pkgdir/usr/share/$_name/lib" lib/common.sh
87 install -Dm644 -t "$pkgdir/usr/share/$_name/sounds" sounds/*.wav
88 install -Dm644 -t "$pkgdir/usr/share/$_name/bindings" \
89 bindings/i3.conf bindings/sxhkdrc bindings/xbindkeysrc bindings/README.md
90 install -Dm644 -t "$pkgdir/usr/share/$_name/config" config/talkey.env.example
91 install -Dm644 -t "$pkgdir/usr/share/$_name/integrations/eww" \
92 integrations/eww/eww.yuck integrations/eww/eww.scss integrations/eww/blank.svg \
93 integrations/eww/README.md
94 install -Dm755 -t "$pkgdir/usr/share/$_name/integrations/eww" integrations/eww/eww-feed
95
96 # User units, with the installed path baked in. talkey-hud and talkey-norepeat
97 # are optional - a window manager can start them instead - but a service is the
98 # only WM-independent way, so ship them.
99 local u
100 for u in talkey-whisper talkey-hud talkey-norepeat; do
101 sed 's|@BINDIR@|/usr/bin|g' "systemd/$u.service.in" > "$srcdir/$u.service"
102 install -Dm644 "$srcdir/$u.service" "$pkgdir/usr/lib/systemd/user/$u.service"
103 done
104
105 install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md
106 install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
107}
108

Scan history

Scanned at (UTC)SeverityRules
2026-08-26 11:30:20 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion