at1ass-shell-plugins-git
CLEAN
maintainer At1ass
0 votes
base
at1ass-shell-git
scanned 2026-10-29 00:13:55.229276
Triggered rules
Clean
AI review downgraded a static finding
llm_review
The static rules flagged this LOW, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it CLEAN (confidence 95%): The package builds from a public Git repository, uses SKIP only for development snapshots which is common in -git packages, and the build process is transparent and follows standard practices without executing untrusted remote code.
1 higher static finding superseded - not the current verdict (shown for transparency)
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: At1ass <nikolatesla199620@gmail.com>
2
# Public source by default. tools/build-arch.sh builds a committed local checkout.
3
pkgbase=at1ass-shell-git
4
pkgname=(at1ass-shell-git at1ass-shell-plugins-git at1ass-shell-greeter-git)
5
pkgver=r297.91abb810
6
pkgrel=1
7
pkgdesc='Config-first Quickshell desktop shell for Hyprland'
8
arch=(x86_64)
9
url='https://github.com/At1ass/shell'
10
license=('GPL-3.0-or-later')
11
# All split-package runtime libraries are also needed when building from scratch.
12
makedepends=(git cmake ninja pkgconf python 'qt6-base>=6.8' 'qt6-declarative>=6.8'
13
'libical>=4.0' libqalculate lm_sensors rapidfuzz-cpp glib2 libsecret)
14
_submodule=src/plugins/external/material-color-utilities
15
_mcu_commit=07b2c68508039e178bcf1317ad0cf0af4c36be0f
16
source=("shell::git+https://github.com/At1ass/shell.git"
17
"mcu::git+https://github.com/material-foundation/material-color-utilities.git#commit=${_mcu_commit}")
18
sha256sums=('SKIP' 'SKIP')
19
20
pkgver() {
21
cd shell
22
printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
23
}
24
25
prepare() {
26
cd shell
27
git submodule init "$_submodule"
28
git config "submodule.$_submodule.url" "$srcdir/mcu"
29
git -c protocol.file.allow=always submodule update "$_submodule"
30
git -C "$_submodule" apply --check "$srcdir/shell/src/plugins/patches/0001-drop-abseil-keep-double-abs.patch"
31
git -C "$_submodule" apply "$srcdir/shell/src/plugins/patches/0001-drop-abseil-keep-double-abs.patch"
32
}
33
34
build() {
35
cmake -S shell/src/plugins -B build -G Ninja \
36
-DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \
37
-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS \
38
-DFETCHCONTENT_FULLY_DISCONNECTED=ON -Wno-dev
39
cmake --build build
40
}
41
42
package_at1ass-shell-git() {
43
pkgdesc='Config-first desktop shell for Hyprland'
44
arch=(any)
45
depends=("at1ass-shell-plugins-git=${pkgver}" 'quickshell>=0.3.2' 'hyprland>=0.56'
46
'qt6-base>=6.8' 'qt6-declarative>=6.8' qt6-wayland qt6-svg app2unit xdg-terminal-exec
47
bash coreutils findutils gawk grep sed glib2 systemd pam util-linux which hicolor-icon-theme
48
ttf-roboto ttf-dejavu ttf-material-symbols-variable)
49
optdepends=(
50
'ca-certificates: HTTPS trust for weather and remote wallpaper sources'
51
'xdg-utils: external URL opening from calendar links'
52
'pipewire-pulse: PulseAudio applications on the optional PipeWire audio graph'
53
'xdg-desktop-portal: source picker and portal-based recording'
54
'xdg-desktop-portal-hyprland: Hyprland screencast portal backend'
55
'pipewire: audio graph and volume controls (running service required)'
56
'wireplumber: PipeWire device and stream policy'
57
'networkmanager: Wi-Fi, Ethernet and VPN control (running service required)'
58
'bluez: Bluetooth control (running bluetooth service required)'
59
'upower: battery and power-device status through the UPower service'
60
'gnome-keyring: Secret Service provider for persistent network credentials; alternatives supported'
61
'networkmanager-openvpn: OpenVPN authentication helper'
62
'nm-connection-editor: external network profile editor'
63
'blueman: external Bluetooth manager'
64
'pwvucontrol: advanced audio controls'
65
'grim: screenshot capture'
66
'wl-clipboard: screenshot and clipboard copying; cliphist ingestion'
67
'swappy: screenshot annotation'
68
'cliphist: clipboard history (external wl-paste watcher required)'
69
'gpu-screen-recorder: recording and gsr-cli control; gsr-cli must be available'
70
'procps-ng: recording process detection (pgrep)'
71
'ddcutil: DDC/CI monitor brightness (device permissions required)'
72
'hyprsunset: night-light temperature control'
73
'curl: remote wallpaper downloads'
74
'qt6-imageformats: additional wallpaper and image codecs'
75
'hypridle: idle locking and suspend integration'
76
'vdirsyncer: external CalDAV synchronization'
77
'uwsm: optional graphical-session and environment management'
78
)
79
provides=("at1ass-shell=${pkgver}")
80
conflicts=(at1ass-shell)
81
python shell/tools/install-runtime.py --source shell --destdir "$pkgdir"
82
install -Dm755 shell/packaging/arch/at1ass-shell "$pkgdir/usr/bin/at1ass-shell"
83
install -d "$pkgdir/usr/bin"
84
ln -s ../share/at1ass-shell/tools/shell-ctl "$pkgdir/usr/bin/shell-ctl"
85
install -Dm644 shell/packaging/arch/at1ass-shell.service \
86
"$pkgdir/usr/lib/systemd/user/at1ass-shell.service"
87
install -Dm644 shell/README.md "$pkgdir/usr/share/doc/at1ass-shell/README.md"
88
install -Dm644 shell/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
89
}
90
91
package_at1ass-shell-plugins-git() {
92
pkgdesc='Native QML modules for the at1ass desktop shell'
93
depends=(glibc libgcc libstdc++ qt6-base qt6-declarative
94
'libical>=4.0' libqalculate lm_sensors glib2 libsecret)
95
license=('GPL-3.0-or-later' 'Apache-2.0' 'MIT')
96
optdepends=('nvidia-utils: NVIDIA GPU statistics through optional dynamically loaded NVML')
97
provides=("at1ass-shell-plugins=${pkgver}")
98
conflicts=(at1ass-shell-plugins)
99
DESTDIR="$pkgdir" cmake --install build
100
install -Dm644 shell/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
101
install -Dm644 "shell/$_submodule/LICENSE" \
102
"$pkgdir/usr/share/licenses/$pkgname/material-color-utilities.LICENSE"
103
install -Dm644 /usr/share/licenses/rapidfuzz-cpp/LICENSE \
104
"$pkgdir/usr/share/licenses/$pkgname/rapidfuzz.LICENSE"
105
}
106
107
package_at1ass-shell-greeter-git() {
108
arch=(any)
109
pkgdesc='Optional greetd greeter for the at1ass desktop shell'
110
depends=("at1ass-shell-plugins-git=${pkgver}" 'quickshell>=0.3.2' 'hyprland>=0.56'
111
greetd bash 'qt6-base>=6.8' 'qt6-declarative>=6.8' qt6-wayland qt6-svg systemd
112
ttf-roboto ttf-dejavu ttf-material-symbols-variable)
113
optdepends=('greetd-regreet: fallback if the Quickshell greeter fails'
114
'upower: optional battery status in the greeter')
115
provides=("at1ass-shell-greeter=${pkgver}")
116
conflicts=(at1ass-shell-greeter)
117
backup=(etc/greetd/greeter.json etc/greetd/hyprland-greeter.conf)
118
local src=shell/src/features/greeter
119
local dest="$pkgdir/usr/share/at1ass-shell/greeter"
120
install -d "$dest"
121
cp -r --no-preserve=ownership \
122
"$src"/{shell.qml,GreeterSurface.qml,qmldir,components,config,ui} "$dest/"
123
install -Dm644 "$src/README.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
124
install -Dm644 shell/packaging/arch/greeter.json "$pkgdir/etc/greetd/greeter.json"
125
install -Dm644 shell/packaging/arch/hyprland-greeter.conf "$pkgdir/etc/greetd/hyprland-greeter.conf"
126
install -Dm644 shell/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
127
}
128
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-29 00:13:55 | Clean | 2 |
| 2026-10-28 21:50:44 | Low | 1 |