bioma-shell

LOW
maintainer Akusen 0 votes scanned 2026-09-28 13:20:45.422575
View on AUR
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: AkusenArcade <akudesyn@gmail.com>
2
3pkgname=bioma-shell
4_tag=v1.0.0-beta.2
5pkgver=1.0.0beta2
6pkgrel=1
7pkgdesc="A desktop shell for niri, built with Quickshell: living surfaces rather than a bar"
8arch=('x86_64' 'aarch64')
9url="https://github.com/AkusenArcade/Bioma"
10license=('GPL-3.0-or-later')
11depends=(
12 'niri'
13 'quickshell'
14 'qt6-5compat'
15 'python'
16 'glib2'
17 'wl-clipboard'
18 'imagemagick'
19 'libpipewire'
20 'gcc-libs'
21 'glibc'
22)
23makedepends=('cargo' 'clang' 'pipewire')
24optdepends=(
25 'matugen: palettes computed from the wallpaper'
26 'grim: screenshots'
27 'tesseract: text recognition from a region'
28 'wl-screenrec: screen recording (VAAPI)'
29 'wf-recorder: screen recording, fallback'
30 'networkmanager: Wi-Fi, wired, VPN profiles and proxy triggers'
31 'bluez-utils: Bluetooth'
32 'cups: printers in the connectivity cell'
33 'avahi: network printers found and added driverless'
34 'ddcutil: the brightness of external monitors'
35 'pipewire: audio and the alarm sound'
36 'upower: the battery, on a laptop'
37 'pciutils: the graphics card in the System cell'
38 'libnotify: timer and alarm notifications'
39 'hyprlock: the fallback lock screen'
40 'swaylock: the fallback lock screen, if hyprlock is not installed'
41 'greetd: the Bioma greeter'
42 'xdg-desktop-portal: the desktop file picker for the avatar'
43 'ttf-spectral: the expressive typeface'
44 'ttf-orbitron: the technical typeface'
45)
46# libspa builds a small C shim that makepkg's LTO turns into bitcode, which
47# Rust's linker cannot resolve (undefined spa_format_parse_libspa_rs).
48options=('!lto')
49install=bioma-shell.install
50source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$_tag.tar.gz")
51sha256sums=('22733e520fcd638c9725ab2239176c4666323c78f8768a5740e0c554e4053a76')
52
53_srcdir() {
54 printf '%s/Bioma-%s' "$srcdir" "${_tag#v}"
55}
56
57prepare() {
58 cd "$(_srcdir)/tools/sinestesia-bands"
59 export RUSTUP_TOOLCHAIN=stable
60 cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
61}
62
63build() {
64 cd "$(_srcdir)/tools/sinestesia-bands"
65 export RUSTUP_TOOLCHAIN=stable
66 export CARGO_TARGET_DIR=target
67 cargo build --frozen --release
68}
69
70package() {
71 cd "$(_srcdir)"
72
73 local share="$pkgdir/usr/share/bioma"
74 install -d "$share"
75
76 # What the shell, the lock screen and the greeter read at runtime. The
77 # design documents and their media stay in the repository.
78 cp -r --no-preserve=ownership \
79 assets cells components config core greeter lock services structure scripts \
80 "$share/"
81 install -m644 shell.qml lock.qml greeter.qml "$share/"
82
83 # The spectrum tool is architecture-dependent, so it lives in /usr/lib;
84 # the shell looks for it where a build in the repository puts it.
85 install -Dm755 tools/sinestesia-bands/target/release/sinestesia-bands \
86 "$pkgdir/usr/lib/bioma/sinestesia-bands"
87 install -d "$share/tools/sinestesia-bands/target/release"
88 ln -s /usr/lib/bioma/sinestesia-bands \
89 "$share/tools/sinestesia-bands/target/release/sinestesia-bands"
90
91 # The scripts find the shell through their own path, links resolved.
92 install -d "$pkgdir/usr/bin"
93 ln -s /usr/share/bioma/scripts/bioma "$pkgdir/usr/bin/bioma"
94 ln -s /usr/share/bioma/scripts/install "$pkgdir/usr/bin/bioma-install"
95
96 install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
97 install -Dm644 docs/configuration.md "$pkgdir/usr/share/doc/$pkgname/configuration.md"
98 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
99}
100

Scan history

Scanned at (UTC)SeverityRules
2026-09-28 13:20:45 Low 1

Report a package

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

0 / 4000
Your suggestion