#!/usr/bin/env bash # universal/common-dependencies hash: {{ include (joinPath ".chezmoitemplates" "universal" "common-dependencies") | sha256sum }} # archlinux/common-dependencies hash: {{ include (joinPath ".chezmoitemplates" "archlinux" "common-dependencies") | sha256sum }} {{ includeTemplate "universal/logg-before" }} {{- $packages := splitList " " (includeTemplate "universal/common-dependencies" .) -}} {{- $additionalPackages := splitList " " (includeTemplate "archlinux/common-dependencies" .) -}} {{- $packages = concat $packages $additionalPackages -}} ### Print dependency list logg 'Installing common dependencies using `pacman`' logg info 'Dependencies: {{ $packages | sortAlpha | uniq | join " " -}}' ### Install packages if they are not already present for PACKAGE in {{ $packages | sortAlpha | uniq | join " " -}}; do logg info 'Checking for presence of `'"$PACKAGE"'`' if pacman -Qs "$PACKAGE" > /dev/null; then logg info 'The '"$PACKAGE"' package is already installed' else logg info 'Installing `'"$PACKAGE"'`' sudo pacman -Sy --noconfirm --needed "$PACKAGE" || EXIT_CODE=$? if [ -n "$EXIT_CODE" ]; then logg error 'Error installing `'"$PACKAGE"'` via pacman' logg info 'Proceeding with installation..' unset EXIT_CODE fi fi done ### Install yay if ! command -v yay > /dev/null; then logg info 'Cloning yay from `https://aur.archlinux.org/yay.git` to `/usr/local/src/yay`' sudo git clone https://aur.archlinux.org/yay.git /usr/local/src/yay cd /usr/local/src/yay logg info 'Installing yay via `sudo makepkg -si`' sudo makepkg -si fi