nyxuri-git

LOW
maintainer Yulliil 0 votes scanned 2026-10-18 05:21:06.030191
View on AUR
Why flagged

The package builds from a legitimate Git repository with a SKIP'd checksum, which is common for git-based AUR packages; it installs only source files and scripts from the project's own repository without executing remote code or introducing untrusted binaries.

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 a legitimate Git repository with a SKIP'd checksum, which is common for git-based AUR packages; it installs only source files and scripts from the project's own repository without executing remote code or introducing untrusted binaries.

PKGBUILD

1# Maintainer: Yulliil <yulliil@qq.com>
2# Maintainer: Echoes678 <echoes678@example.com>
3# nyxuri-git — rolling AUR package: engine + unit blueprints + Nyxuri Shell
4# in one ship. Dependency policy (T1): `depends` is the engine runtime only;
5# every unit's packages are `optdepends` — `nyxuri on <unit>` discloses and
6# installs what it needs. catalog.toml never reaches this file (menu-only).
7# Regenerate the generated blocks: python3 packaging/gen-deps.py --update
8
9pkgname=nyxuri-git
10pkgver=4.0.0.alpha.2.r1.g7adf8ba
11pkgrel=1
12pkgdesc="Material You desktop suite — atomic deploy engine, unit blueprints and Nyxuri Shell"
13arch=('any')
14url="https://github.com/ech678/Nyxuri"
15license=('GPL-3.0-only')
16install=nyxuri-git.install
17makedepends=('git')
18provides=('nyxuri')
19conflicts=('nyxuri')
20# pkgname:: prefix pins the clone dir to $srcdir/$pkgname — pkgver() and
21# package() both cd there (a plain git+ URL would land in src/Nyxuri).
22source=("${pkgname}::git+https://github.com/ech678/Nyxuri.git#branch=main")
23sha256sums=('SKIP')
24
25# >>> depends (auto-generated by packaging/gen-deps.py) >>>
26depends=(
27 'python'
28)
29# <<< depends <<<
30# >>> optdepends (auto-generated by packaging/gen-deps.py) >>>
31optdepends=(
32 'fastfetch: fastfetch'
33 'fcitx5: Fcitx5 Rime'
34 'fcitx5-gtk: Fcitx5 Rime'
35 'fcitx5-qt: Fcitx5 Rime'
36 'fcitx5-configtool: Fcitx5 Rime'
37 'fcitx5-rime: Fcitx5 Rime'
38 'rime-ice-git: Fcitx5 Rime'
39 'fish: fish'
40 'greetd: Noctalia Greeter'
41 'noctalia-greeter: Noctalia Greeter'
42 'kitty: kitty'
43 'mangowm: Mango WM'
44 'niri: niri'
45 'noctalia: noctalia'
46 'python-gobject: noctalia'
47 'gtk-layer-shell: noctalia'
48 'wl-clipboard: noctalia'
49 'python-cairo: noctalia'
50 'starship: starship'
51 'xdg-desktop-portal: XDG Portals'
52 'zed: Zed'
53 'wlsunset: session toolchain'
54 'eza: session toolchain'
55 'mpvpaper: session toolchain'
56 'ffmpeg: session toolchain'
57 'jq: session toolchain'
58 'tmux: session toolchain'
59 'inotify-tools: session toolchain'
60 'fzf: session toolchain'
61 'ttf-jetbrains-mono: session toolchain'
62 'ttf-jetbrains-mono-nerd: session toolchain'
63 'noto-fonts-cjk: session toolchain'
64 'qt6-imageformats: session toolchain'
65 'cliphist: session toolchain'
66 'quickshell: Nyxuri Shell runtime'
67 'qt6-5compat: Nyxuri Shell visual effects'
68)
69# <<< optdepends <<<
70
71pkgver() {
72 cd "$srcdir/$pkgname"
73 # v3.0.2 → 3.0.2 ; or r<count>.<short> when no tag reachable
74 local desc
75 if desc=$(git describe --long --tags 2>/dev/null); then
76 printf '%s' "$desc" | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
77 else
78 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
79 fi
80}
81
82package() {
83 cd "$srcdir/$pkgname"
84
85 # Ship the engine (incl. nyxuri/launcher.sh), unit blueprints, the catalog
86 # and the changelog (engine get_version() reads it in system mode) — plus
87 # the full Nyxuri Shell tree so shell.* units are alive in package mode.
88 install -d "$pkgdir/usr/share/nyxuri"
89 cp -a nyxuri units catalog.toml CHANGELOG.md shell "$pkgdir/usr/share/nyxuri/"
90
91 # Prune tracked-but-non-runtime Shell material: dev tooling, tests and
92 # process docs never execute from /usr/share (references/ is gitignored
93 # and never reaches the build environment).
94 rm -rf "$pkgdir/usr/share/nyxuri/shell/tests" \
95 "$pkgdir/usr/share/nyxuri/shell/scripts/dev" \
96 "$pkgdir/usr/share/nyxuri/shell/AGENTS.md" \
97 "$pkgdir/usr/share/nyxuri/shell/ROADMAP.md" \
98 "$pkgdir/usr/share/nyxuri/shell/KNOWN-ISSUES.md" \
99 "$pkgdir/usr/share/nyxuri/shell/README.md"
100
101 # .system-install marker → run_mode="system" (§5.2). Must exist before the
102 # units/ dir probe so the package isn't mis-detected as 'repo'.
103 touch "$pkgdir/usr/share/nyxuri/.system-install"
104
105 # CLI + shell entries → the dedicated launchers (the marker + these links
106 # make both commands work system-wide; the engine never touches the user's
107 # ~/.local/bin in system mode).
108 install -d "$pkgdir/usr/bin"
109 ln -s ../share/nyxuri/nyxuri/launcher.sh "$pkgdir/usr/bin/nyxuri"
110 ln -s ../share/nyxuri/shell/nyxuri-shell "$pkgdir/usr/bin/nyxuri-shell"
111
112 # Licenses: repo GPL-3.0 plus the Shell license with its third-party appendix.
113 install -d "$pkgdir/usr/share/licenses/$pkgname"
114 install -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
115 install -m644 shell/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE-shell"
116
117 # Strip Python bytecode caches (local-build residue; a git clone carries none).
118 find "$pkgdir/usr/share/nyxuri" -type d -name '__pycache__' -prune -exec rm -rf {} +
119}
120

Scan history

Scanned at (UTC)SeverityRules
2026-10-18 05:21:06 Low 2

Report a package

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

0 / 4000
Your suggestion