mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-08 04:57:36 +00:00
feat(scripts): automate tool and AUR package installation setup
This commit is contained in:
1 parent
fd1fd0cc16
commit
58b6c10779
4 files changed
+99
-20
No files matched your search
@@ -28,15 +28,32 @@ aur_pkgs="{{ range .packages.arch.desktop.aur }}{{ . }} {{ end }}{{ range .packa
|
||||
{{ else -}}
|
||||
aur_pkgs="{{ range .packages.arch.aur }}{{ . }} {{ end }}"
|
||||
{{ end -}}
|
||||
if [ -n "$(echo "$aur_pkgs" | tr -d ' ')" ]; then
|
||||
# AUR names no installed package provides yet; ones already installed from a
|
||||
# sync repo (cachyos, [omarchy]) are neither rebuilt nor replaced.
|
||||
# shellcheck disable=SC2086
|
||||
aur_missing=$(pacman -T $aur_pkgs || true)
|
||||
if [ -n "$aur_missing" ]; then
|
||||
# No AUR helper yet: take yay from a sync repo that ships it (cachyos,
|
||||
# chaotic-aur), else build yay-bin from the AUR (makepkg refuses root).
|
||||
if ! command -v yay >/dev/null 2>&1 && ! command -v paru >/dev/null 2>&1; then
|
||||
if pacman -Si yay >/dev/null 2>&1; then
|
||||
$PACMAN -S --needed --noconfirm yay
|
||||
elif [ "$(id -u)" -ne 0 ]; then
|
||||
install_missing git base-devel
|
||||
yay_build=$(mktemp -d)
|
||||
git clone --depth 1 https://aur.archlinux.org/yay-bin.git "$yay_build"
|
||||
(cd "$yay_build" && makepkg -si --noconfirm)
|
||||
rm -rf "$yay_build"
|
||||
fi
|
||||
fi
|
||||
if command -v yay >/dev/null 2>&1; then AUR="yay"
|
||||
elif command -v paru >/dev/null 2>&1; then AUR="paru"
|
||||
else AUR=""; fi
|
||||
if [ -n "$AUR" ]; then
|
||||
# shellcheck disable=SC2086
|
||||
$AUR -S --needed --noconfirm $aur_pkgs
|
||||
$AUR -S --needed --noconfirm $aur_missing
|
||||
else
|
||||
echo "warning: yay/paru not found — skipping AUR packages: $aur_pkgs" >&2
|
||||
echo "warning: no yay/paru and none could be bootstrapped — skipping AUR packages:" $aur_missing >&2
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
Reference in new issue
Block a user