#!/bin/bash set -aeo pipefail filename="$1" url="$2" tmpfile=$(mktemp /tmp/install_firefox_addon.XXXXXX.xpi) {% for name, args in pillar['firefox']['addons'].items() %} if [[ $(grep -oP '(?<=\},\"name\":\"){{ name }}' {{ salt['user.info']( pillar['username'] ).home }}/.mozilla/firefox/*.default*/addons.json) ]]; then printf "{{ name }} is already installed\n" else printf "installing {{ name }}\n" curl -sLo "$tmpfile" "$url" firefox "$tmpfile" fi {% endfor %} rm "$tmpfile"