bioma-shell
LOW
maintainer Akusen
0 votes
scanned 2026-09-28 13:20:45.422575
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
3
pkgname=bioma-shell
4
_tag=v1.0.0-beta.2
5
pkgver=1.0.0beta2
6
pkgrel=1
7
pkgdesc="A desktop shell for niri, built with Quickshell: living surfaces rather than a bar"
8
arch=('x86_64' 'aarch64')
9
url="https://github.com/AkusenArcade/Bioma"
10
license=('GPL-3.0-or-later')
11
depends=(
12
'niri'
13
'quickshell'
14
'qt6-5compat'
15
'python'
16
'glib2'
17
'wl-clipboard'
18
'imagemagick'
19
'libpipewire'
20
'gcc-libs'
21
'glibc'
22
)
23
makedepends=('cargo' 'clang' 'pipewire')
24
optdepends=(
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).
48
options=('!lto')
49
install=bioma-shell.install
50
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$_tag.tar.gz")
51
sha256sums=('22733e520fcd638c9725ab2239176c4666323c78f8768a5740e0c554e4053a76')
52
53
_srcdir() {
54
printf '%s/Bioma-%s' "$srcdir" "${_tag#v}"
55
}
56
57
prepare() {
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
63
build() {
64
cd "$(_srcdir)/tools/sinestesia-bands"
65
export RUSTUP_TOOLCHAIN=stable
66
export CARGO_TARGET_DIR=target
67
cargo build --frozen --release
68
}
69
70
package() {
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) | Severity | Rules |
|---|---|---|
| 2026-09-28 13:20:45 | Low | 1 |