#!/usr/bin/env bash {{ includeTemplate "universal/profile" }} {{ includeTemplate "universal/logg" }} {{- $softwareGroup := nospace (cat "_" .host.softwareGroup) }} {{- $softwareList := list (index .softwareGroups $softwareGroup | toString | replace "[" "" | replace "]" "") | uniq | join " " }} # software: {{ $softwareList }} # software map: {{ include (joinPath .chezmoi.homeDir ".local" "share" "chezmoi" "software.yml") | sha256sum }} if command -v install-program > /dev/null; then if command -v zx > /dev/null; then logg info 'Installing packages defined in .chezmoidata.yaml under the .softwareGroups key' logg info 'Installing: {{ $softwareList }}' # Ask for the administrator password upfront logg info 'A sudo password may be required for some of the installations' sudo echo "Sudo access granted." export DEBIAN_FRONTEND=noninteractive export HOMEBREW_NO_ENV_HINTS=true if ! command -v gcc-11; then if command -v gcc; then log info 'gcc-11 command missing. Symlinking to gcc' sudo ln -s "$(which gcc)" /usr/local/bin/gcc-11 else log warn 'gcc either needs to be added to the PATH or it is missing' fi fi export LC_ALL="en_US.UTF-8" install-program {{ $softwareList }} else logg error '`zx` is not available' fi else logg error '`install-program` is not in the PATH. It should be located in ~/.local/bin.' fi