talkey-git
LOW
maintainer yogh-io
0 votes
scanned 2026-08-26 11:30:20.136903
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>
2
pkgname=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.
9
pkgver=0.1.0.r25.g4a6d40f
10
pkgrel=1
11
pkgdesc="Push-to-talk voice input for X11/i3 - hold a key, speak, the text is typed. Offline, no API key."
12
arch=('any')
13
url="https://github.com/yogh-io/talkey"
14
license=('MIT')
15
depends=(
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
)
36
optdepends=(
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
)
46
makedepends=('git')
47
provides=("$_name")
48
conflicts=("$_name")
49
install="$pkgname.install"
50
source=("$pkgname::git+$url.git")
51
sha256sums=('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.
58
pkgver() {
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
66
package() {
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) | Severity | Rules |
|---|---|---|
| 2026-08-26 11:30:20 | Low | 1 |