nyxuri-git
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
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
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
# Maintainer: Yulliil <yulliil@qq.com>
# Maintainer: Echoes678 <echoes678@example.com>
# nyxuri-git — rolling AUR package: engine + unit blueprints + Nyxuri Shell
# in one ship. Dependency policy (T1): `depends` is the engine runtime only;
# every unit's packages are `optdepends` — `nyxuri on <unit>` discloses and
# installs what it needs. catalog.toml never reaches this file (menu-only).
# Regenerate the generated blocks: python3 packaging/gen-deps.py --update
pkgname=nyxuri-git
pkgver=4.0.0.alpha.2.r1.g7adf8ba
pkgrel=1
pkgdesc="Material You desktop suite — atomic deploy engine, unit blueprints and Nyxuri Shell"
arch=('any')
url="https://github.com/ech678/Nyxuri"
license=('GPL-3.0-only')
install=nyxuri-git.install
makedepends=('git')
provides=('nyxuri')
conflicts=('nyxuri')
# pkgname:: prefix pins the clone dir to $srcdir/$pkgname — pkgver() and
# package() both cd there (a plain git+ URL would land in src/Nyxuri).
source=("${pkgname}::git+https://github.com/ech678/Nyxuri.git#branch=main")
sha256sums=('SKIP')
# >>> depends (auto-generated by packaging/gen-deps.py) >>>
depends=(
'python'
)
# <<< depends <<<
# >>> optdepends (auto-generated by packaging/gen-deps.py) >>>
optdepends=(
'fastfetch: fastfetch'
'fcitx5: Fcitx5 Rime'
'fcitx5-gtk: Fcitx5 Rime'
'fcitx5-qt: Fcitx5 Rime'
'fcitx5-configtool: Fcitx5 Rime'
'fcitx5-rime: Fcitx5 Rime'
'rime-ice-git: Fcitx5 Rime'
'fish: fish'
'greetd: Noctalia Greeter'
'noctalia-greeter: Noctalia Greeter'
'kitty: kitty'
'mangowm: Mango WM'
'niri: niri'
'noctalia: noctalia'
'python-gobject: noctalia'
'gtk-layer-shell: noctalia'
'wl-clipboard: noctalia'
'python-cairo: noctalia'
'starship: starship'
'xdg-desktop-portal: XDG Portals'
'zed: Zed'
'wlsunset: session toolchain'
'eza: session toolchain'
'mpvpaper: session toolchain'
'ffmpeg: session toolchain'
'jq: session toolchain'
'tmux: session toolchain'
'inotify-tools: session toolchain'
'fzf: session toolchain'
'ttf-jetbrains-mono: session toolchain'
'ttf-jetbrains-mono-nerd: session toolchain'
'noto-fonts-cjk: session toolchain'
'qt6-imageformats: session toolchain'
'cliphist: session toolchain'
'quickshell: Nyxuri Shell runtime'
'qt6-5compat: Nyxuri Shell visual effects'
)
# <<< optdepends <<<
pkgver() {
cd "$srcdir/$pkgname"
# v3.0.2 → 3.0.2 ; or r<count>.<short> when no tag reachable
local desc
if desc=$(git describe --long --tags 2>/dev/null); then
printf '%s' "$desc" | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
else
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
fi
}
package() {
cd "$srcdir/$pkgname"
# Ship the engine (incl. nyxuri/launcher.sh), unit blueprints, the catalog
# and the changelog (engine get_version() reads it in system mode) — plus
# the full Nyxuri Shell tree so shell.* units are alive in package mode.
install -d "$pkgdir/usr/share/nyxuri"
cp -a nyxuri units catalog.toml CHANGELOG.md shell "$pkgdir/usr/share/nyxuri/"
# Prune tracked-but-non-runtime Shell material: dev tooling, tests and
# process docs never execute from /usr/share (references/ is gitignored
# and never reaches the build environment).
rm -rf "$pkgdir/usr/share/nyxuri/shell/tests" \
"$pkgdir/usr/share/nyxuri/shell/scripts/dev" \
"$pkgdir/usr/share/nyxuri/shell/AGENTS.md" \
"$pkgdir/usr/share/nyxuri/shell/ROADMAP.md" \
"$pkgdir/usr/share/nyxuri/shell/KNOWN-ISSUES.md" \
"$pkgdir/usr/share/nyxuri/shell/README.md"
# .system-install marker → run_mode="system" (§5.2). Must exist before the
# units/ dir probe so the package isn't mis-detected as 'repo'.
touch "$pkgdir/usr/share/nyxuri/.system-install"
# CLI + shell entries → the dedicated launchers (the marker + these links
# make both commands work system-wide; the engine never touches the user's
# ~/.local/bin in system mode).
install -d "$pkgdir/usr/bin"
ln -s ../share/nyxuri/nyxuri/launcher.sh "$pkgdir/usr/bin/nyxuri"
ln -s ../share/nyxuri/shell/nyxuri-shell "$pkgdir/usr/bin/nyxuri-shell"
# Licenses: repo GPL-3.0 plus the Shell license with its third-party appendix.
install -d "$pkgdir/usr/share/licenses/$pkgname"
install -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -m644 shell/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE-shell"
# Strip Python bytecode caches (local-build residue; a git clone carries none).
find "$pkgdir/usr/share/nyxuri" -type d -name '__pycache__' -prune -exec rm -rf {} +
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-18 05:21:06 | Low | 2 |