zenworks
LOW
maintainer buckley
0 votes
scanned 2026-10-25 05:41:54.731109
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: Buck <kbuck at tuta dot io>
2
#
3
# ZENWORKS: a desktop environment built on Quickshell and Hyprland.
4
# Nothing is compiled: the shell, its Hyprland and kitty configs and the
5
# suite's helpers are copied to /usr/share/zenworks, the session's launcher
6
# to /usr/bin, and the login-screen entry, portal choice and app launchers
7
# to /usr/share. What a user changes lives in ~/.config/zenworks.
8
9
pkgname=zenworks
10
pkgver=0.0.2
11
pkgrel=1
12
pkgdesc="A desktop environment built on Quickshell and Hyprland"
13
arch=('any')
14
url="https://github.com/kbuckleys/ZENWORKS"
15
license=('GPL-3.0-or-later')
16
depends=(
17
# compositor & session
18
hyprland hyprshutdown hyprpolkitagent polkit xcursor-pro-hyprcursor
19
xdg-desktop-portal-hyprland xdg-desktop-portal-gtk xdg-desktop-portal-termfilechooser
20
xdg-utils xdg-terminal-exec xdg-user-dirs
21
# the shell
22
quickshell qt6-declarative qt6-imageformats qt6-multimedia qt6-multimedia-ffmpeg
23
kimageformats libqalculate
24
# the suite's Python side (delphi, calypso, clio, terminus' network places,
25
# picasso's cut-out)
26
python python-gobject python-numpy python-pillow python-scipy python-onnxruntime-cpu
27
# audio, media & documents
28
pipewire pipewire-pulse wireplumber libpulse alsa-utils pamixer playerctl
29
gst-plugins-good gst-plugins-bad gst-plugins-ugly
30
ffmpeg mpv imagemagick perl-image-exiftool poppler ghostscript djvulibre
31
hunspell hunspell-en_us
32
# a laptop's screen brightness (Control Hub; monitors go through ddcutil)
33
brightnessctl
34
# wayland utilities
35
wl-clipboard wl-clip-persist cliphist grim slurp wf-recorder wtype libnotify
36
# files, archives & disks
37
fd fzf ripgrep bat jq file attr inotify-tools rsync diffutils
38
7zip zip unzip libarchive fuse3 udisks2 ntfs-3g exfatprogs dosfstools
39
# terminal, editor, git
40
kitty neovim git curl
41
# packages & system
42
paru pacman-contrib expac gawk glib2 gtk3
43
# other apps in the shell's colors
44
adw-gtk-theme qt6ct
45
# fonts
46
fontconfig noto-fonts noto-fonts-emoji ttf-jetbrains-mono-nerd ttf-dseg unicode-emoji
47
otf-san-francisco otf-san-francisco-mono
48
)
49
optdepends=(
50
'zsh: the terminal setup ZENWORKS offers (installed when you accept it)'
51
'zoxide: the terminal setup ZENWORKS offers (installed when you accept it)'
52
'noto-fonts-cjk: Chinese, Japanese and Korean text'
53
'noto-fonts-extra: more weights and rare scripts'
54
'tesseract: copying text out of a picture (Picasso)'
55
'tesseract-data-eng: copying English text out of a picture'
56
'unrar: opening RAR archives in Terminus'
57
'ratarmount: browsing big archives without unpacking them'
58
'ntfsprogs: repairing and formatting NTFS drives'
59
'btrfs-progs: formatting Btrfs drives'
60
'xfsprogs: formatting XFS drives'
61
'f2fs-tools: formatting F2FS drives'
62
'solaar: Logitech mice and keyboards'
63
'bandwhich: network use per app in Zeus'
64
'iotop: disk use per process in Zeus'
65
'flatpak: the App Store in Ceres, once you opt in'
66
'github-cli: signing in to GitHub in Delphi'
67
'nodejs: the test suite (Oracle > Health > Tests)'
68
'openssh: SSH keys and SSH remotes in Delphi (installed when first needed)'
69
'ddcutil: monitor brightness in Control Hub (installed when first needed)'
70
'hyprsunset: night light in Control Hub (installed when first needed)'
71
'fwupd: firmware updates in Hestia (installed when first needed)'
72
'qt6-webengine: PDFs in Minerva (installed when the first PDF is opened)'
73
'python-pykeepass: KeePassXC vaults in Calypso (installed when first needed)'
74
)
75
backup=('etc/xdg/xdg-desktop-portal-termfilechooser/ZENWORKS')
76
install=zenworks.install
77
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz")
78
sha256sums=('8fd2b7d88b1d93715d7c2fbc57aa96bad4b8c481ee1a24a56102ca9ff7f79ba0')
79
80
package() {
81
cd "ZENWORKS-$pkgver"
82
local share="$pkgdir/usr/share/zenworks"
83
84
install -dm755 "$share"
85
cp -r --no-preserve=ownership,mode config/. "$share/"
86
find "$share" -name __pycache__ -prune -exec rm -rf {} +
87
88
# Modes from what each file is, not from the tarball: a repository
89
# uploaded through a forge's web page loses its executable bits. Scripts,
90
# the apps' launchers and anything starting with #! (scripts/tether) run;
91
# everything else is read.
92
find "$share" -type d -exec chmod 755 {} +
93
find "$share" -type f -exec chmod 644 {} +
94
find "$share" -type f \( -name '*.sh' -o -name '*.py' -o -path '*/bin/*' \) -exec chmod 755 {} +
95
find "$share" -type f -exec sh -c '
96
for f; do [ "$(head -c2 "$f")" = "#!" ] && chmod 755 "$f"; done; exit 0' sh {} +
97
98
# Python cannot write its cache into a read-only /usr, so it is made here
99
python -m compileall -q -s "$pkgdir" -p / "$share"
100
101
install -Dm755 bin/zenworks "$pkgdir/usr/bin/zenworks"
102
install -Dm644 share/wayland-sessions/zenworks.desktop -t "$pkgdir/usr/share/wayland-sessions"
103
install -Dm644 share/xdg-desktop-portal/zenworks-portals.conf -t "$pkgdir/usr/share/xdg-desktop-portal"
104
install -Dm644 share/applications/*.desktop -t "$pkgdir/usr/share/applications"
105
install -Dm644 etc/xdg/xdg-desktop-portal-termfilechooser/ZENWORKS \
106
-t "$pkgdir/etc/xdg/xdg-desktop-portal-termfilechooser"
107
install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
108
}
109
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-25 05:41:54 | Low | 1 |