#!/usr/bin/env bash # universal/common-dependencies hash: {{ include (joinPath ".chezmoitemplates" "universal" "common-dependencies") | sha256sum }} # opensuse/common-dependencies hash: {{ include (joinPath ".chezmoitemplates" "opensuse" "common-dependencies") | sha256sum }} {{ includeTemplate "universal/logg" }} {{- $packages := splitList " " (includeTemplate "universal/common-dependencies" .) -}} {{- $additionalPackages := splitList " " (includeTemplate "opensuse/common-dependencies" .) -}} {{- $packages = concat $packages $additionalPackages -}} ### Print dependency list logg 'Installing common dependencies using `zypper`' logg info 'Dependencies: {{ $packages | sortAlpha | uniq | join " " -}}' ### Install base_devel logg info 'Installing base_devel pattern with `sudo zypper install -t pattern devel_basis`' sudo zypper install -t pattern devel_basis ### Install packages if they are not already present for PACKAGE in {{ $packages | sortAlpha | uniq | join " " -}}; do logg info 'Checking for presence of `'"$PACKAGE"'`' if rpm -qa | grep "$PACKAGE" > /dev/null; then logg info 'The '"$PACKAGE"' package is already installed' else logg info 'Installing `'"$PACKAGE"'`' sudo zypper install -y "$PACKAGE" || EXIT_CODE=$? if [ -n "$EXIT_CODE" ]; then logg error 'Error installing `'"$PACKAGE"'` via zypper' logg info 'Proceeding with installation..' unset EXIT_CODE fi fi done