vgshell-git
LOW
maintainer vanillagreen
0 votes
scanned 2026-10-17 00:21:55.226236
Why flagged
The package builds from the project's own Git repository, has no unverifiable binaries or remote code execution, and the flagged low votes/recent upload relate to popularity, not security risk.
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.
Low
AI review
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package builds from the project's own Git repository, has no unverifiable binaries or remote code execution, and the flagged low votes/recent upload relate to popularity, not security risk.
PKGBUILD
1
# Maintainer: VanillaGreen <brad@vanillagreen.com>
2
#
3
# The development package, built from main. docs/architecture/distribution.md
4
# states the rules scripts/check-packaging.js enforces on
5
# this file and on ../vgshell/PKGBUILD. makepkg rewrites pkgver from pkgver().
6
7
pkgname=vgshell-git
8
pkgver=0.1.0
9
pkgrel=1
10
pkgdesc='Desktop shell for Hyprland, built on Quickshell (development version)'
11
arch=('any')
12
url='https://github.com/vanillagreencom/vgshell'
13
license=('MIT AND OFL-1.1 AND ISC AND Apache-2.0 AND CC-BY-SA-4.0')
14
depends=(
15
'quickshell>=0.3.1'
16
'hyprland>=0.56'
17
'bash'
18
'coreutils'
19
'util-linux'
20
'nodejs>=18'
21
'python'
22
'libxkbcommon'
23
'xkeyboard-config'
24
'git'
25
'agent-browser-bin'
26
'bubblewrap'
27
'chromium'
28
'curl'
29
'dbus'
30
'fd'
31
'ffmpeg'
32
'file'
33
'fontconfig'
34
'fzf'
35
'gawk'
36
'glib2'
37
'gpu-screen-recorder'
38
'grim'
39
'gum'
40
'hyprpicker'
41
'imagemagick'
42
'iproute2'
43
'less'
44
'libnotify'
45
'power-profiles-daemon'
46
'libpulse'
47
'libsecret'
48
'mise'
49
'networkmanager'
50
'pacman-contrib'
51
'pipewire'
52
'pipewire-audio'
53
'playerctl'
54
'qrencode'
55
'rclone'
56
'sed'
57
'slurp'
58
'systemd'
59
'tesseract'
60
'tesseract-data-eng'
61
'uv'
62
'vsys'
63
'wireplumber'
64
'wl-clipboard'
65
'wlrctl'
66
'wtype'
67
'xdg-desktop-portal-gnome'
68
'xdg-desktop-portal-gtk'
69
'xdg-desktop-portal-hyprland'
70
'xdg-terminal-exec'
71
'xdg-utils'
72
)
73
optdepends=(
74
'ttfx: animates the Screensaver text art'
75
'bandwhich: See all network traffic in the Network Traffic plugin'
76
'libcap: check and allow traffic capture in the Network Traffic plugin'
77
'btop: all processes and system readings from the System monitor panel'
78
'claude-code: sign in to Claude Code and use its account as the Jarvis AI model'
79
'openai-codex: sign in to Codex and use its account as the Jarvis AI model'
80
'voxtype-bin: Voice dictation engine'
81
'tmux: several Jarvis coding tasks at once'
82
'kendex-bin: the mail tool Jarvis hands a request for your agent fleet with'
83
'ydotool: Jarvis pointer fallback with an already running input service'
84
'bluez-utils: bluetoothctl, the Bluetooth pairing agent that answers pairing prompts'
85
'snapper: a snapshot before the update pipeline changes packages'
86
'timeshift: a snapshot before the update pipeline changes packages, without snapper'
87
'sudo: package installs and the browser policy writer in floating TUIs'
88
'nvidia-utils: verifies a selected Jarvis CUDA local voice tier'
89
'ddcutil: brightness of external displays in the Displays plugin'
90
'brightnessctl: brightness of a laptop built-in display in the Displays plugin'
91
'cronie: crontab, which schedules automations where no systemd user manager answers'
92
'greetd: the login screen at boot'
93
'uwsm: the Hyprland (uwsm-managed) session the login screen starts first'
94
'xorg-xinit: startx, for X11 sessions on the login screen'
95
'glibc: getent, the accounts on the login screen'
96
'polkit: pkexec, so applications can ask for administrator access'
97
'tailscale: the Tailscale connection in the VPN plugin'
98
'cups: lpstat and ipptool, which list your printers and their changes in the Printers plugin'
99
'cups-pk-helper: adds, removes and sets the default printer in the Printers plugin'
100
'system-config-printer: Print Settings, for drivers, paper size and quality in the Printers plugin'
101
'imv: opens a saved screenshot from its Capture notification'
102
'satty: edits a saved screenshot from its Capture notification'
103
'mpv: plays a saved recording from its Capture notification'
104
'google-chrome: opens a calendar day in a Google Chrome profile'
105
'brave-bin: opens a calendar day in a Brave profile'
106
'vivaldi: opens a calendar day in a Vivaldi profile'
107
'microsoft-edge-stable-bin: opens a calendar day in a Microsoft Edge profile'
108
)
109
makedepends=('git')
110
install=vgshell-git.install
111
112
# No git+ source: makepkg clones one as a mirror of every ref the remote
113
# advertises, and GitHub's refs/pull/* still reach the history main no
114
# longer holds. This clone takes main alone, with every commit and tree but
115
# only the file contents its checkout needs, so pkgver() counts the commits
116
# a full clone counts. Tags pointing into main come with it, for the
117
# release version pkgver() names.
118
prepare() {
119
rm -rf -- "$srcdir/vgshell"
120
git clone --filter=blob:none --single-branch --branch main -- "$url.git" "$srcdir/vgshell"
121
}
122
123
# The tree's own version judge names the version, so the package and
124
# `vgshell --version` in the checkout print the same X.Y.Z.r<N>.g<hash>.
125
pkgver() {
126
local out
127
cd "$srcdir/vgshell"
128
out="$(./bin/vgshell --version)" || return 1
129
out="${out#vgshell }"
130
if [[ ! $out =~ ^[0-9]+\.[0-9]+\.[0-9]+\.r[0-9]+\.g[0-9a-f]+$ ]]; then
131
printf 'vgshell-git: refused: pkgver=%s\n' "$out" >&2
132
return 1
133
fi
134
printf '%s\n' "$out"
135
}
136
137
package() {
138
cd "$srcdir/vgshell"
139
DESTDIR="$pkgdir" PREFIX=/usr SYSCONFDIR=/etc ./packaging/install-system.sh
140
}
141
Changes since previous scan
--- PKGBUILD @ 2026-10-14 05:19+++ PKGBUILD @ 2026-10-17 00:21@@ -58,7 +58,6 @@ 'systemd' 'tesseract' 'tesseract-data-eng'- 'ttfx' 'uv' 'vsys' 'wireplumber'@@ -72,6 +71,7 @@ 'xdg-utils' ) optdepends=(+ 'ttfx: animates the Screensaver text art' 'bandwhich: See all network traffic in the Network Traffic plugin' 'libcap: check and allow traffic capture in the Network Traffic plugin' 'btop: all processes and system readings from the System monitor panel'Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 13:20:15 | Low | 2 |
| 2026-10-14 05:19:21 | Low | 1 |
| 2026-10-06 00:13:36 | Clean | 2 |
| 2026-10-05 23:40:58 | Low | 1 |