Compare commits

..

2 Commits

Author SHA1 Message Date
110ae9e4eb fix is_package_installed to check provides (virtual packages)
aylurs-gtk-shell-git provides aylurs-gtk-shell, but pacman -Qi
only matches exact package names. This caused the installer to
think ags was missing and try to install aylurs-gtk-shell from
AUR, which conflicts with the already-installed -git variant.

Now uses expac (fast) or pacman loop (fallback) to check if any
installed package provides the requested virtual package name.
2026-05-28 18:27:22 +02:00
832cad605a add awww (wallpaper daemon) to hyprland group, add opencode to optional software 2026-05-28 18:09:01 +02:00
3 changed files with 17 additions and 5 deletions

View File

@@ -91,8 +91,19 @@ is_package_installed() {
local pkg="$1"
if command -v pacman >/dev/null 2>&1; then
pacman -Qi "$pkg" >/dev/null 2>&1
return $?
pacman -Qi "$pkg" >/dev/null 2>&1 && return 0
if command -v expac >/dev/null 2>&1; then
expac -Q '%n %P' 2>/dev/null | awk -v pkg="$pkg" '
{ for (i=2; i<=NF; i++) if ($i == pkg) {found=1; exit} }
END {exit !found}
' && return 0
else
while IFS= read -r installed; do
[[ -z "$installed" ]] && continue
pacman -Qi "$installed" 2>/dev/null | grep -qP "Provides\s*:\s*.*\b${pkg}\b" && return 0
done < <(pacman -Qq 2>/dev/null)
fi
return 1
fi
return 1

View File

@@ -134,7 +134,7 @@ get_group_packages() {
brightnessctl playerctl \
grim slurp swappy hyprshot \
wl-clipboard libnotify sshpass \
hyprpolkitagent aylurs-gtk-shell
hyprpolkitagent aylurs-gtk-shell awww
;;
gpu)

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash
module_description() {
printf "Additional Software (Obsidian, Neovim, VS Code, Spotify, Brave, Chromium, VLC, PipeWire, Docker, Blender)\n"
printf "Additional Software (Obsidian, Neovim, VS Code, Spotify, Brave, Chromium, VLC, PipeWire, Docker, Blender, opencode)\n"
}
module_required() { return 1; }
@@ -30,7 +30,8 @@ module_main() {
"VLC" \
"PipeWire Tools" \
"Docker" \
"Blender"
"Blender" \
"opencode"
)"
if [[ -z "$choices" ]]; then